(測試通過)飛控通過SBUS接收FUTABA遙控信號

最近做了一個開發板接收sbus傳出的遙控信號測試,將流程記錄在下:

1)硬件取反,淘寶上買電平取反器,大概3塊多一個;

2)配置串口、管腳、中斷、DMA,中斷可配置傳輸完成中斷和串口空閒中斷,目前使用串口空閒中斷就夠了,注意:如果硬件不取反,串口無法進入空閒中斷;

3)具體的理解可參考這篇博文:http://www.eefocus.com/taogashi/blog/14-05/303577_f140d.html

4)具體實現可以參考以下程序的futaba_sbus.c和futaba_sbus.h文件,https://github.com/godenfreemans/Hawk_A;

5)硬件是stm32f103,使用了pb11作爲sbus接口,遙控器是FUTABA T18SZ,接收機R7008SB;

最終接收到的數據格式爲末尾0x04 ,0x14,0x24,0x34循環,與sbus協議有出入,與博文:http://blog.csdn.net/wsptr/article/details/53795458中提到的數據格式一致。


注意:因爲sbus用的是11位傳輸一個通道,所以傳輸值得範圍在0~2047(2048位)之間,所以還需要轉換到1000~2000之間。轉化方法可以參考該如下:

https://github.com/ArduPilot/PX4Firmware/pull/4/commits/06e67c8e8bb4352559f0a067a6a45a01f658f33b#diff-9ee4d751dec6ae5298de46f46f334d2c

使用滾轉(1通道)、俯仰(2通道)、油門(3通道)、偏航(4通道),對上述過程測試,符合1000~2000的範圍要求。

注意問題:1)收到的上述值還需要經過處理,得到期望的俯仰、偏航、滾裝角或對應的速率才能在飛控程序中使用。

                 2)飛控爲了保障安全,一般要求解鎖,使用遙控信號解鎖過程沒有解決,其他通道用來選擇飛行模式也沒有解決。

——Edited By RobotBrain.M

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章