|
NRF24L01模塊無線數(shù)據(jù)通信模塊本人算是比較熟悉的了,兩年前就進(jìn)行過大量的通信測試。最近本人用NRF2401模塊做四軸的遙控器,發(fā)送數(shù)據(jù)去控制飛控板的PWM脈寬,用串口助手和邏輯分析儀測試不帶電機(jī)時數(shù)據(jù)通信都很好很正常,可是電機(jī)一旦運(yùn)轉(zhuǎn)起來,接收的數(shù)據(jù)就有時亂了,造成電機(jī)偶爾劇烈抖動很危險。畢竟是高速運(yùn)轉(zhuǎn)的飛行器,這個問題如果不解決肯定不敢試飛,否則就是燒錢。
個人判斷:可能是電機(jī)運(yùn)轉(zhuǎn)干擾了NRF2401模塊的數(shù)據(jù)通信;造成通信數(shù)據(jù)急劇跳變引起電機(jī)劇烈抖動。怎么辦呢?
問題1:曾經(jīng)嘗試用 NRF24L01模塊將電位器的AD數(shù)據(jù)值直接發(fā)送給飛控板,去控制電機(jī)轉(zhuǎn)速;但是無法做到勻速調(diào)節(jié)電機(jī)的作用。是不是軟件濾波和硬件濾波沒有做呢?還需要繼續(xù)測試。
問題1:現(xiàn)在的思路是通過觸摸屏按鍵直接將數(shù)據(jù)發(fā)送給飛控板,飛控板將接受到的數(shù)據(jù)改變PWM脈寬,實現(xiàn)電機(jī)調(diào)速。
因為NRF24L01模塊只能以字節(jié)為單位發(fā)送,若要發(fā)送大于u8類型(0xff)數(shù)據(jù)就需要“打包”和“拆包”處理了。
明天再試試別的辦法,難不成需要PID算法?
|
|