前言:
開始之前先要說為什么要采用PID的算法來控制小車。玩過小車的DIY愛好者們都會碰到這樣一種情況:為什么本該直線行駛的小車走著走著軌跡就會發(fā)生偏移,即所謂的“走不直”。
小車走不直的原因有:兩個電機本身的驅(qū)動特性不可能完全相同,兩個電機外形大小不可能是完全一致,組裝時精度也會出現(xiàn)差異,另外輪胎在滾動時打滑、遇到細小的障礙物等因素都會造成左右輪的速度出現(xiàn)差異,從而走不直。開環(huán)控制是無法消除左右輪的速度誤差的,因為上述的擾動是隨機的。
要想小車走一條直線,唯有實現(xiàn)閉環(huán)控制,當小車受到擾動時能對左右輪及時給予反饋,修正兩輪的速度偏差,從而可以走出一條直線。PID算法就是一種閉環(huán)控制算法,實現(xiàn)PID算法需得從硬件上實現(xiàn)閉環(huán)控制,即存在反饋,所以我采用的是帶測速裝置的電機。
項目簡介:
本項目采用的是PID控制算法來修正小車行走時兩輪的速度偏差,實現(xiàn)小車可以走直線。小車是使用一個安卓App來控制小車的行走路徑,App通過App Inventor2來進行編寫。
完成作品圖:
需要用到的材料:
- 1. Arduino Uno
- 2. Arduino Uno的擴展板
- 3. DFRobot L298 雙路2A直流電機驅(qū)動板
- 4. HC-05或HC-06的藍牙模塊
- 5. 坦克小車底盤
- 6. 兩個帶霍爾傳感器的電機
- 7. 鋰電池
- 8. 杜邦線若干
軟件部分:
1. Arduino IDE
2. App Invent
附件內(nèi)容截圖: