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