![]() |
|
PPM信號可以簡單理解為由多個PWM信號綜合成為一幀信號的形式,即多個PWM信號通過組合成PPM信號串行輸出。 一般一幀的PPM信號里Z多包含10個PWM信號,但實際應(yīng)用中由于同步幀的存在,所以一幀的PPM信號里Z多有9個PWM信號數(shù)據(jù)。 每幀PPM信號的數(shù)據(jù)總長度固定不變,周期為20ms。 每一幀PPM信號中的PWM信號周期為0~2ms,而其中低電平脈寬固定為0.5ms,G電平的脈寬為0.5ms ~ 1.5ms。 使用STM32讀取PPM的數(shù)據(jù) 根據(jù)PPM信號的格式,可以通過兩種方法讀取到其中每個PWM的信息: 使用STM32的外部中斷,當(dāng)觸發(fā)外部中斷定時器進行計數(shù),讀取定時器的計數(shù)值便可以獲得每個PWM的脈寬 使用STM32的定時器,利用定時器的輸入捕獲功能,測量每個PWM的脈沖寬度 其實兩種讀取PPM數(shù)據(jù)的方法本質(zhì)上相同,都是通過統(tǒng)計下降沿或上升沿的方法統(tǒng)計脈沖,并利用定時器的計數(shù)功能獲得G低電平的脈寬。 注意:若使用定時器的輸入捕獲功能讀取PPM信號數(shù)據(jù),則需要留意其他使用同一定時器外設(shè)將不能正常工作,例如在控制板上遙控接收器接口使用了定時器3的輸入捕獲功能,則同樣使用到定時器3作為編碼器模式的電機將不能正常讀取編碼器的脈沖值,需選擇使用其他電機接口或改變PPM的讀取方式。 以下展示的配置為使用外部中斷的方式進行讀取PPM數(shù)據(jù),使用定時器輸入捕獲方式的代碼可參考例程文件中的注釋內(nèi)容 STM32CubeMX中的配置:將遙控對應(yīng)的STM32引腳設(shè)置為外部中斷模式,并選擇定時器7作為計數(shù),同時使能定時器的中斷
讀取PPM具體實現(xiàn)代碼:
將程序通過SWD下載到控制板,使用樂迪T8S遙控器配套的接收機,連接到板上的遙控接口,注意使用接收機時使用的是接收機上的PPM輸出接口,然后通過樂迪遙控的配置方式,將接收器配置為PPM模式,然后打開遙控器開關(guān)進行對碼,成功連接后打開串口調(diào)試助手,就可以看到各個通道的值啦!
|
| 版權(quán)所有 © 北京創(chuàng)澤智慧機器人科技有限公司 地址:北京 清華科技園C座五樓 電話:4006-937-088 京ICP備20010582號-2 |