智能车制作
标题:
谁有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