PPM信號可以簡單理解為由多個PWM信號綜合成為一幀信號的形式,即多個PWM信號通過組合成PPM信號串行輸出。 一般一幀的PPM信號里最多包含10個PWM信號,但實際應用中由于同步幀的存在,所以一幀的PPM信號里最多有9個PWM信號數據。 每幀PPM信號的數據總長度固定不變,周期為20ms。 每一幀PPM信號中的PWM信號周期為0~2ms,而其中低電平脈寬固定為0.5ms,高電平的脈寬為0.5ms ~ 1.5ms。 使用STM32讀取PPM的數據 根據PPM信號的格式,可以通過兩種方法讀取到其中每個PWM的信息: 使用STM32的外部中斷,當觸發外部中斷定時器進行計數,讀取定時器的計數值便可以獲得每個PWM的脈寬 使用STM32的定時器,利用定時器的輸入捕獲功能,測量每個PWM的脈沖寬度 其實兩種讀取PPM數據的方法本質上相同,都是通過統計下降沿或上升沿的方法統計脈沖,并利用定時器的計數功能獲得高低電平的脈寬。 注意:若使用定時器的輸入捕獲功能讀取PPM信號數據,則需要留意其他使用同一定時器外設將不能正常工作,例如在控制板上遙控接收器接口使用了定時器3的輸入捕獲功能,則同樣使用到定時器3作為編碼器模式的電機將不能正常讀取編碼器的脈沖值,需選擇使用其他電機接口或改變PPM的讀取方式。 以下展示的配置為使用外部中斷的方式進行讀取PPM數據,使用定時器輸入捕獲方式的代碼可參考例程文件中的注釋內容 STM32CubeMX中的配置:將遙控對應的STM32引腳設置為外部中斷模式,并選擇定時器7作為計數,同時使能定時器的中斷
讀取PPM具體實現代碼:
將程序通過SWD下載到控制板,使用樂迪T8S遙控器配套的接收機,連接到板上的遙控接口,注意使用接收機時使用的是接收機上的PPM輸出接口,然后通過樂迪遙控的配置方式,將接收器配置為PPM模式,然后打開遙控器開關進行對碼,成功連接后打開串口調試助手,就可以看到各個通道的值啦!
|
推薦信息 |
»機器人控制電機串口通信的數據協議 |
»STM32CubeMX配置及測速驅動代碼 |
»兩輪四輪差速及阿克曼移動底盤設計轉向機器人/小車 |
»動手實現一臺阿克曼ROS小車 |
»四輪驅動機器人的轉向方式是什么 |
»全向輪運動模型規律-量化分析三個全向輪轉速與移動平臺中心點運動速度的關系 |
»三輪全向輪移動平臺坐標系說明示意圖 |
»麥克納姆輪運動速度分解-麥輪平臺運動學模型分析 |
版權所有 © 北京創澤智慧機器人科技有限公司 地址:北京 清華科技園C座五樓 電話:4006-937-088 京ICP備20010582號-2 |