![]() |
發布時間: 2018-12-13 16:38
正文摘要:我的車是兩個L298N驅動模塊的,四輪 引腳的定義是這樣的: sbit b11 = P1^3; //前輪聲明 左a右b& ... |
用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調速吧 |