1. 程式人生 > >樹莓派無人機-資料整理,請做過的大佬,多多指正

樹莓派無人機-資料整理,請做過的大佬,多多指正

樹莓派3B和樹莓派3B+有了,無人機有了,PX4飛控有了,還是一臉懵逼,看過老外的樹莓派無人機+4G圖傳視訊,用到拓展版,一難買,二窮;國內大神也有做出來的了;

參考連結:

樹莓派2手工打造Linux APM飛控

國內首個Linux開源飛控

0.2秒延遲數字圖傳,全開源,成本只需要lightbridge的1/20

硬體上總共用了一下幾個模組,基本都是某寶上買的現成的: 1. MPU6500 陀螺儀+加速度計 2. HMC5883L 電子羅盤 3. MS5611 氣壓計 4. PCA9685 用於擴充套件PWM輸出 5. NPN三極體和電阻,用於S.BUS到串列埠的轉接(我用的是FrSky的X8R接收機,串列埠100k波特率就可以解析S.BUS協議) 6. 轉5V電源模組

在論壇上的看得比較凌亂,我等小白看得也是一臉懵逼,遂整理一下,以供後人參考;

按硬體-接線安裝-軟體安裝-功能除錯;

準備清單

1、樹莓派3B

2、MPU9250 模組(spi模式)

3、MS5611   模組(i2c模式)

4、PCA9685 模組(i2c)

5、12V轉5V  電源模組  

草圖:

更新下草圖: 1. i2c器件的隔離,不建議用光藕,原因是雙向通訊的器件,雖然用光藕也能實現,但是體積不佔便宜,而且手工製作的話,相關的計算相當麻煩。直接用I2C隔離器件就行了,體積少製作簡單 2. GPS的話,有的帶I2C口,可以直接和HMC5883L相連線進行通訊,這樣就可以實現雙羅盤了。 3. 如果不用I2C隔離器件,那麼使用i2c匯流排的各個器件必須和pi共地。

new1.jpeg

nano1.jpg

linux_sbus3.jpeg

第一層:

修改了麵包板上的器件佈局,修改了走線,某些功能使用漆包線引出來

c1.jpg

今天更下關於GPS的選用和PWM的設定 GPS建議選用M8N,買有USB口的,因為樹莓派別的沒啥就是USB口多,這樣就用不到樹莓派的串列埠了,px4的gps預設採用38400速率,5HZ更新速度,pixhawk上,這個組引數已經能保證穩定的原地懸停了。

PWM 輸出需要注意,PWM是根據混合檔案輸出的,如果地面站設定的引數的PWM最大值大於你的遙控器的油門行程,當油門推到頂時,電調會得不到輸出訊號 鎖定用的PWM值,必須大於0,且小於你的遙控器的油門行程的最小值

Linux系統下使用S.Bus驅動

Signal inverter breadboard

APM 飛控 Linux 樹莓派 raspberry pi Ardupilot 超 Pixhawk

板子自行下載gerber打樣,https://github.com/zwb800/RASPMINI 

基於樹莓派的Ardupilot飛控,又叫APM,是目前開源飛控中功能最強大的飛控。

目前市場上支援APM飛控板常見的是Pixhawk和APM 2.6, APM2.6已經過時,韌體也已經停止開發,Pixhawk價格較高,並且基於微控制器的飛控很難支援光流定點,數字圖傳,wifi,更別提雙目避障,而且其採用的STM32F4價格昂貴價效比低。

市面上常見成品無人機都已基於Linux,Parrot公司早在2010年就釋出了支援光流的AR.Drone,Bebop 2也可刷Ardupilot的韌體。大疆的精靈4和御都已支援雙目避障。可以說,成品無人機所用的飛控技術已遠超開源飛控,基於Linux的飛控將成為主流。

空板還需以下配件:

MPU9250模組 MS5611模組 PCA9685模組

18k電阻 33k電阻 220電阻x3

3mm led 紅綠藍各一

20p 雙排母 10p 排母 7p 排母 均為2.54針距

焊接時注意20p的雙排母是插在背面。

安裝PCA9685時注意方向,插反可能會燒燬樹莓派。

板上有處錯誤是串列埠電源是5V,樹莓派GPIO僅支援3.3v,所以串列埠請勿焊接電源針腳。

有能力的可自行編譯韌體,韌體與PXFmini的相似,除了/libraries/AP_HAL_Linux/HAL_Linux_Class.cpp 173行需改為:

static RCOutput_PCA9685 rcoutDriver(i2c_mgr_instance.get_device(1, PCA9685_PRIMARY_ADDRESS), false, 0, RPI_GPIO_27);