本文講述如何通過樹莓派的硬體PWM控制好盈電調來驅動RC車子的前進後退,以及如何驅動伺服電機來控制車子轉向。 1. 好盈電調簡介 車子上的電調型號為:WP-10BLS-A-RTR,在好盈官網並沒有搜到對應手冊,但找到一份通用RC競速車的電調使用說明,不過說明書中並沒有提及信號調製方式,繼續尋找,看到 ...
本文講述如何通過樹莓派的硬體PWM控制好盈電調來驅動RC車子的前進後退,以及如何驅動伺服電機來控制車子轉向。
1. 好盈電調簡介
車子上的電調型號為:WP-10BLS-A-RTR,在好盈官網並沒有搜到對應手冊,但找到一份通用RC競速車的電調使用說明,不過說明書中並沒有提及信號調製方式,繼續尋找,看到一份電調的通用驅動說明。
總結來說,對於PWM格式要求如下:
1. 電調接收50Hz的PWM信號,即一個周期為20ms.
2. 油門對PWM高電平的響應範圍為1ms~2ms,即高電平的占空比為1/20~2/20
3. 預設RC競速車只有前進控制,則1ms為最低速度,2ms為最高速度;若配置RC競速車為前進/後退模式,則1.5ms為油門中點,2ms為正向最高油門,1ms為反向最高油門。
對於第三點,則需要配置電調的相關模式以識別PWM的意圖。
油門校準配置
備註:
1. 由於此處並無遙控器,因此圖中文檔的步驟1 就只需要拔插電池電源即可
2. 高、中、低檔的PWM輸出則需要自己對樹莓派編程進行控制
運行模式配置
備註:
1. 不是所有的電調都有這三種運行模式,恰好本文所驅動的WP-10BLS-A-RTR電調只能選擇“正轉帶剎車”或“正反轉帶剎車”,此處選擇紅燈閃兩次,配置為“正反轉帶剎車”。
2. 油門驅動設計
調試過程中,樹莓派安裝在車上,PC通過SSH區域網訪問樹莓派。因此使用PC鍵盤的W/S/SPACE鍵來模擬遙控器的前進/後退/剎車;同時,考慮到鍵盤只能提供0/1狀態輸入,故選用R/F鍵來模擬“檔位”--限制當前檔位下的W/S的最高油門,以達到換擋加減速的效果。語言表述繁瑣,用流程圖來表達,大概就是如下效果:
備註:計算速度輸出時,可配置相關參數使得油門直接升到最高或經過若幹次迴圈加速後達到當前檔位的最大速度。
3. 方向控制設計
伺服電機的工作原理可參考此文,描述十分詳盡,此處不再贅述。
此處使用A/D鍵來控制轉向,由於無法獲知電機當前的轉向角度,因此很難通過逐步增大/減小PWM占空比的方式來控制電機的轉向。為簡化控制,每次按下按鍵時觸發電機偏轉一定的角度,角度值受KEEP_TICK_LIMIT控制,若按住按鍵不鬆開,便左或右轉向打到底。
邏輯較為簡單,直接看代碼:
工程源碼請參考 github 倉 rc_car.