智能车制作
标题:
新手代码求改
[打印本页]
作者:
极冰之焰
时间:
2013-12-18 06:30
标题:
新手代码求改
PWM9_SetRatio16(duty1);
PWM10_SetRatio16(duty2);
AD1_Measure(TRUE);
AD1_GetValue(ad);
ad[0]=ad[0]>>4;
ad[1]=ad[1]>>4;
ad[2]=ad[2]>>4;
ad[3]=ad[3]>>4;
if ((ad[2]>20) && (ad[3]>20) && ((ad[2]-ad[3]>5) || (ad[3]-ad[2]>5)))
{
if (ad[3]>ad[2]+5) {pre_pwm=18350;flag_wan=18350;}
else if (ad[2]>ad[3]+5) {pre_pwm=18650;flag_wan=18650;}
}
else
{
if ((ad[0]<=11) && (ad[1]<=11)) pre_pwm=flag_wan;
else if ((ad[0]>11) && (ad[1]>11))
pre_pwm=18490+kp*(ad[1]-ad[0])+kd*(ad[1]-ad[0]-last_err);
else if (ad[0]<=11) {pre_pwm=18650;flag_wan=18650;}
else if (ad[1]<=11) {pre_pwm=18350;flag_wan=18350;}
}
PWM8_SetDutyUS(pre_pwm);
last_err=ad[1]-ad[0];
弄了一段时间总算让电磁车跑起来了,但是都不能跑完全程。ad0,ad1是左右两端的电感,ad2,ad3是中间竖起来的电感,处理直角弯使用。
现在碰到的问题是,1.直道上不断左右晃动,原理我懂是要区分直道和弯道,但是代码不奏效。
2.直角弯经常是根据之前左右晃动的结果过,运气50%好能过。
3.360度环型弯有的时候会进去跑两轮。
4.十字交叉处本来应该入弯直接拐走了。
5.各种冲出赛道。
求指导
作者:
Jyoun
时间:
2013-12-18 07:45
呵呵,自己动手,丰衣足食。
作者:
吢冇紷蒠
时间:
2013-12-18 09:12
呵呵,自己动手,丰衣足食。
作者:
音之夏萤
时间:
2013-12-18 09:16
呵呵,自己动手,丰衣足食。
作者:
t148
时间:
2013-12-18 23:24
自己动手,丰衣足食。
作者:
wei122
时间:
2013-12-19 14:43
自己动手 丰衣足食
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2