用PID算法差速转弯 |
unsigned char zuo_pwm = 200 unsigned char you_pwm = 200 void timer0() interrupt 1 { pwm++; if(pwm == 255) pwm = ENA = ENB = 0; if(zuo_pwm == pwm) ENA = 1; if(you_pwm == pwm) ENB = 1; } 我以前用的,开一个定时器0出来工作方式1,定时器中断程序控制驱动板使能端A.B的占空比 你给使能端站空比不同的时候他们速度就不同了 255-(zuo_pwm200/pwm255)就是使能A的占空比,初值越接近255就速度就越小。255也可以自己改,驱动的排列喜欢用1个驱动控制左边2个轮子 右边一个程序好写和看 |
mosqu 发表于 2018-12-13 17:29 我知道要用PWM,但就是不知道具体怎么写,在网上看了一些,但还是不懂,大神能按照左转的要求写个差速吗?有个例子的话我可能会懂一点,谢谢大神 |
你这个没编码器,不太好通过走的路程来转特定角度,只能通过测试,让前轮速度不同,后轮速度恒定,来转弯,左快右慢,就左转了,右转同理,PWm控制不同速度 |
差速的话用PWM调速吧 |