智能车制作

标题: 谁有K60的现成的PID舵机控制程序啊 [打印本页]

作者: shenyilei666    时间: 2013-3-24 10:14
标题: 谁有K60的现成的PID舵机控制程序啊
谁有K60的现成的PID舵机控制程序啊,借来参考一下。

作者: newfish    时间: 2013-3-24 10:15
哈哈,这个我没有
作者: 若苦似甜    时间: 2013-3-24 14:04
这个不好吧,核心部分啊
作者: skywolf    时间: 2013-3-24 16:43
这个估计没人会有的。
作者: shenyilei666    时间: 2013-3-24 18:37
只是想弄点思路,大家交流下吗,
作者: 张涛B    时间: 2013-4-12 20:36
难啊、、、
作者: shenyilei666    时间: 2013-4-13 09:08
已经搞到了   呵呵     等调好了,给大家分享一下
作者: orthodox    时间: 2013-4-13 09:19
shenyilei666 发表于 2013-4-13 09:08
已经搞到了   呵呵     等调好了,给大家分享一下

给个思路呗,贴个代码看看

作者: 时光茶居    时间: 2013-4-15 14:03
分享呗
作者: tcxz111    时间: 2013-4-15 16:24
也在纠结,求分享
作者: 1987216696    时间: 2013-4-20 23:07
求分享!!1987216696@qq.com
作者: 张艾雄    时间: 2013-5-27 20:24
shenyilei666 发表于 2013-4-13 09:08
已经搞到了   呵呵     等调好了,给大家分享一下

是啊,,给点思路啊!!能分享不??

作者: shenyilei666    时间: 2013-5-28 16:23
没搞好,现在一直在调图像,
作者: 1904824298    时间: 2013-5-30 00:05
shenyilei666 发表于 2013-4-13 09:08
已经搞到了   呵呵     等调好了,给大家分享一下

不如先和你左手边的同志讲一下思路吧-_-!呵呵!
作者: 客流量    时间: 2013-5-31 09:39
shenyilei666 发表于 2013-4-13 09:08
已经搞到了   呵呵     等调好了,给大家分享一下

纠结中,求想法,求代码

作者: shenyilei666    时间: 2013-6-2 10:37
/***********************舵机PD变量定义**********************/
static float SteerMinValue;     //最大值限制
static float SteerMaxValue;     //最小值限制
static float SteerCurrentValue; //当前采样值
static struct PD
{
        float Ki;                   //定义积分常数
        float Kp;                   //定义比例常数
        float Kd;                   //定义微分常数
        float E_2;                  //存储前前次误差
        float E_1;                  //存诸前次误差
        float E;                    //存储本次误差
        float OutPut;                         //本次输出量
        float ValueSet;                      //设定值或期望值
}SteerControl;
float SteerUp,SteerUd;                        //舵机P D 增量值
oid steerPdInit()
{
        SteerMinValue=524;
        SteerMaxValue=720;
        SteerCurrentValue=0;
        SteerControl.Kp=0.3;
        SteerControl.Kd=-0.1;
        SteerControl.E=0;
        SteerControl.E_2=0;
        SteerControl.E_1=0;
        SteerControl.ValueSet=80;
        SteerControl.OutPut=620;
}
/******************确定完P 值和D 值再运算可能更好*********************/
//        for(u8 i=50; i>PDpoint; i=i-5)        //从50行到提取出中线的最高点
//        {
   
                 SteerControl.Kp = 2.0;        // 可调
                SteerControl.Kd = 0.6;
//                u8 i=30;
                        for(u8 j=0; j<2; j++)        //运行两次就能达到想要的值
                        {
                         SteerCurrentValue = Center2;
                         SteerControl.E=SteerControl.ValueSet-SteerCurrentValue;                         //得到本次误差
                         SteerUp =SteerControl.Kp*(SteerControl.E-SteerControl.E_1);                            //得到比例项
                         SteerUd=SteerControl.Kd*(SteerControl.E-2*SteerControl.E_1+SteerControl.E_2);     //得到微分项                                                     //得到积分项
                         SteerControl.E_2=SteerControl.E_1;                                                   //历史存储
                         SteerControl.E_1=SteerControl.E;
                         SteerControl.OutPut += SteerUp+SteerUd;                                               //计算增量和
                         if(SteerControl.OutPut<SteerMinValue)
                           SteerControl.OutPut=SteerMinValue;      //值域限制
                         else if(SteerControl.OutPut>SteerMaxValue)
                           SteerControl.OutPut=SteerMaxValue;
                        }
                                dajiao((u16)SteerControl.OutPut);       
//                }

}  

舵机代码

作者: 壹句壹傷    时间: 2013-6-3 11:54
楼主qq号多少?技术急事找你讨论
作者: shenyilei666    时间: 2013-6-4 13:40
壹句壹傷 发表于 2013-6-3 11:54
楼主qq号多少?技术急事找你讨论

我也是以菜鸟        183696433
作者: xqw车    时间: 2016-3-1 15:25
6666




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2