RoboFly是小馬哥團(tuán)隊在2018年8月推出的一款完全開源的小四軸。 下面是RoboFly四軸飛行器的整體框圖、原理圖、pcb、實物圖源代碼的截圖,先一睹為快,后面詳細(xì)介紹。 圖1:RoboFly四軸飛行器整體框圖 圖2:RoboFly四軸飛行器原理圖 圖3:RoboFly四軸飛行器PCB圖 圖4:RoboFly四軸飛行器PCB 3D俯圖 圖5:RoboFly四軸飛行器PCB 3D側(cè)視圖 圖6:RoboFly四軸飛行器實物圖 圖7:RoboFly四軸飛行器源代碼截圖 制作并開源這套小四軸的初衷有如下幾點; 1、 初學(xué)者需要一款價格低廉、軟硬件資料完備、有技術(shù)支持的四軸學(xué)習(xí)平臺; 2、 以散件形式發(fā)售,電路板布局、元器件封裝選型要方便焊接組裝; 3、 四軸所需元器件采購方便、靠譜,最好能提供一站式采購,避免過多郵費、采購周期長、采購到不合格元器件導(dǎo)致學(xué)習(xí)難以進(jìn)展。 4、 源代碼要極其精簡、方便入門者能夠方便的學(xué)習(xí),實現(xiàn)自己的代碼; 5、 保留一定擴(kuò)展接口、方便用戶自己進(jìn)行擴(kuò)展如定高、航跡、巡線等飛行功能。在學(xué)習(xí)完四軸飛行器之后,這個開源的四軸板子仍然可以作為一個STM32開發(fā)學(xué)習(xí)板使用; RoboFly四軸的基本配置如下: 主控芯片:STM32F103C8T6 姿態(tài)檢測:MPU6050 氣壓計: FBM320 無線芯片:SI24R1 供電方案:HT7750SA升壓+XC6206穩(wěn)壓 燈光指示:1個電源指示LED、1個用戶編程LED、4個單總線全彩RGB燈 電池:600mAh 20C 1S鋰離子電池 電機(jī):720空心杯 槳葉:55mm槳葉 槳葉保護(hù)罩:相鄰軸距65mm 機(jī)架:PCB一體化機(jī)架 續(xù)航時間:10分鐘 遙控距離:空曠50m RoboFly四軸原理圖各模塊簡單說明: STM32F103C8T6是ST在2007年發(fā)布的一款MCU,截止目前ST已經(jīng)發(fā)布了速度高達(dá)400MHz的STM32H7 (這時候一定有人會說600MHz的事,我知道,不用提醒),我自己也是用STM32F1,STM32F4,STN32F7都做過各種各樣的四軸,但是這個開源的四軸我還是選擇了STM32F103C8T6,主要從三點考慮,一是封裝比較大,方便初學(xué)者焊接,二是價格低廉,學(xué)習(xí)成本比較低,三是網(wǎng)上有大量的資料供初學(xué)者學(xué)習(xí)使用。 姿態(tài)傳感器選擇MPU6050,主要考慮的也是封裝比較大,可以直接使用烙鐵焊接,而且價格比較低,資料也很豐富。而且還自帶DMP庫,可以完成姿態(tài)結(jié)算后直接把姿態(tài)角輸出給主控芯片。2016年我們的第一款四軸就是采用DMP庫輸出姿態(tài)角的。 氣壓計使用的是FBM320,對于這款氣壓計,個人認(rèn)為性能一般。但是優(yōu)點就是這個封裝和BMP280、SPL06的引腳都是兼容的,方便更換。但是小四軸上放氣壓計,有一個比較麻煩的地方就是要想辦法排除槳葉的風(fēng)對它的干擾??梢允褂煤>d等其他東西進(jìn)行隔離。 無線芯片用的是SI24R1,國產(chǎn)的,之所以用這個而不用NRF2401,是因為這個經(jīng)過我測試,性能也是可以的,引腳完全兼容NRF2401,無線發(fā)射可以做到7dB,在發(fā)射和接收端都采用陶瓷天線的前提下,可以達(dá)到50m的通訊距離。如果加上AP,那達(dá)到100米應(yīng)該沒有問題。通過兩個低成本的0歐姆電阻對電源進(jìn)行了單點接地,防止電機(jī)回路的電流波動串進(jìn)射頻回路對射頻造成干擾。 對于供電方案中的先升壓再降壓的方案,這是我做第一款四軸飛行器的時候發(fā)現(xiàn)的,這種1S的鋰離子電池,在四個空心杯進(jìn)行供電的時候,如果四個空心杯電機(jī)不帶槳葉,也就是說沒有負(fù)載,那啟動是沒有問題的。但是如果四個空心杯都帶上負(fù)載,瞬間提速到滿速,就會瞬間把電池輸出電壓拉低到3V以下,經(jīng)過我測試甚至低到了2.8V,這時候如果不升壓,直接用電池給LDO供電,那LDO就會失效。所以通過升壓再降壓后給單片機(jī)系統(tǒng)供電是一個可行的方案。另一個方案就是在電機(jī)啟動的時候采用緩慢啟動的方式,這樣電池的電壓就不會瞬間被拉低,但是這樣的一個不足之處就是無法讓這個小四軸非常暴力,飛起來不夠爽快。 四個機(jī)臂上采用的RGBLED是串行單總線全彩燈,也就意味著只需要占用單片機(jī)的一個IO端口,就可以控制這四個燈發(fā)出各種各樣的顏色。這個燈類似與WS2811,也是通過零一碼來實現(xiàn)數(shù)據(jù)通訊,進(jìn)而控制燈的顏色的。對于初學(xué)者而言,時序往往難以理解,而這個燈可以作為學(xué)習(xí)時序最簡單的一個例程,雖然簡單,但是卻非常有趣。 因為小四軸的尺寸、重量等限制,這版四軸飛行器的電池最好不要超過600mAh,否則電池自身的重量就會成為最大的包袱。而太小的電池則不能提供較長時間的續(xù)航??傊医?jīng)過測試認(rèn)為600 mAh容量應(yīng)該是一個拐點。電池最好帶保護(hù)板、有一定的安全性能。否則脹飽、失效事小,嚴(yán)重點在炸機(jī)的時候可能會爆炸。 對于這個四軸最關(guān)鍵的一個組建—空心杯,說出來都是淚啊,做四軸兩年,有一年的時間都在尋找合格的空心杯電機(jī)。2017年有一款四軸飛行器因為采購的電機(jī)側(cè)向震動太大,導(dǎo)致槳葉轉(zhuǎn)動之后產(chǎn)生很大的側(cè)向震動、嚴(yán)重干擾了加速度計,使角度偏差很大,基本不能垂直飛行。一開始把問題鎖定在MOS管上、陀螺儀上、原理圖與PCB設(shè)計上都未能解決問題,后來對原始數(shù)據(jù)進(jìn)行FFT變換后發(fā)現(xiàn)了干擾的頻率點,這才確定是電機(jī)的側(cè)向震動引起的。還有一種情況就是同一批次的電機(jī)性能差異很大,導(dǎo)致PID調(diào)節(jié)的輸出差異很大,最終會影響MOS管的壽命、電機(jī)壽命。空心杯電機(jī)使用SI2302這款MOS管進(jìn)行驅(qū)動,這是非常常見的一款MOS管,便宜又好用。但是市面上這個管子假貨也比較多。很多人在電機(jī)驅(qū)動電路上加不加電容、加不加二極管有很大的爭議,我經(jīng)過測試發(fā)現(xiàn),加上電容之后效果很好,而加上二極管的效果則一般。也可能是測試方式不夠嚴(yán)謹(jǐn),回頭可以一起討論這個問題。 槳葉選型一定要注意選擇平衡性好的槳葉、做工有瑕疵的可能會影響平衡性,在飛行的時候,如果不平衡就會導(dǎo)致側(cè)向震動。 初學(xué)者在調(diào)試四軸的時候,摔下來、失控是很常見的,所以加上槳葉保護(hù)罩之后,可以很大程度上減小槳葉、電機(jī)報廢的概率。 如果采用飛控板和機(jī)架隔離的方式,就能從一定程度上降低震動的影響,但是這樣或許會增加重量及成本,所以我選擇了PCB機(jī)架,這也是初學(xué)者最容易實現(xiàn)的一個方案,但不是唯一的方案。 四軸源碼采用Keil MDK V5.20 STM32庫使用的是標(biāo)準(zhǔn)庫 四軸源代碼工程創(chuàng)建方法可以參考我們最小系統(tǒng)板的課程,課程視頻可以在公眾號觀看,下面分享的資料中也提供了工程創(chuàng)建的PDF文件。 鏈接中包括以下6個文件(回復(fù)帖子可下載): 1、RoboFly_releaseV1.1.zip(PCB工程,使用AD09創(chuàng)建) 2、RoboFlyDEMO.zip(源代碼工程,使用Keil MDK V5.20創(chuàng)建) 3、RoboFly四軸飛行器元件3D模型.zip(3D模型,使用Solidworks2013創(chuàng)建) 4、Keil中STM32F1工程模板的搭建.pdf 5、RoboFly開源四軸交流群二維碼.jpg 6、電子開發(fā)學(xué)習(xí)公眾號二維碼.jpg |
|