四旋翼之路 前篇

2021-07-28 19:24:58 字數 1357 閱讀 8803

本人大一學生,微電子專業,上學期的時候接觸到了微控制器,最開始的時候學習的是51微控制器,也做了一些小東西。最近做了乙個能夠智慧型避障的小車,功能也很簡單,就是在遇到障礙物之後就停下來,然後轉動舵機,控制超聲波探頭對前方、左邊和右邊進行探測,通過演算法根據這些資料控制小車進行相應的轉動,避開障礙物,然後繼續前進,如此迴圈往復。做完這些事後,我就發現51微控制器的一些缺點:定時器、中斷少。這就造成了一些問題,最大的問題就是pwm產生的問題,我原來的想法是對四個輪子進行單獨的控制,每個輪子都用pwm進行單獨控制,以便於在前進過程中對小車進行更加精確的控制。但是這時候問題就來了,我用的這款51只有兩個定時器,超生波測距,舵機控制都需要使用定時器,再產生四路pwm顯然就是比較麻煩了,如果可以的話,程式肯定也是相當的麻煩。雖然有些51系列的微控制器可以做到女對pwm的自帶硬體支援,不過鑑於51較為孱弱的計算效能,我還是打算換一款晶元。

在查閱了一些資料之後,我了解到了stm32這款晶元 。其實在之前,我也買了一塊樹莓派,可我為什麼最後又選擇了stm32呢,這就要涉及到我學習這些晶元的目的了,

這就是本文的重點———做四旋翼。樹莓派搭載的linux系統並不屬於實時系統,這就決定了它並不適合用來做飛控,雖然它也可以搭載在飛機上來實現一些更高階的功能,但現在對我來說還用不到。下面是我對stm32的一些了解,它有豐富的中斷,多級中斷優先順序,並且還可以搭載實時作業系統ucos,功耗低,超過30路的pwm輸出,要知道,樹莓派的功率可是能到10w的,這對於乙個無人機來說也是一筆不小的電源開銷了,並造成續航時間的縮短。

學習一款晶元首先就要買一塊開發板,在x寶逛了一些時間後,我選擇了一款開發板,搭載了stm32f103vet6,基於arm cortex m3核心,72mhz的主頻。在大部分事情都準備好了之後,我就要開始制定自己的階段計畫了。第一階段是設計好系統框架,決定要有那些模組和功能,然後學習stm32,這大概會持續二十幾天。

第二階段

是學習數模電知識,這大概會持續乙個多月時間。

在完成一定的知識積累之後,便進行模型設計,這是第三階段在這裡要說明的是,雖然在x寶有大量的機架能夠買,但是我覺得那些並不適合。如果我買了機架,我就要改變自己的系統框架設計來適應這個機架,這樣的話有些功能就不能實現了。所以在這個階段,我就要學習solidworks的使用,solidworks是一款3d設計軟體,是一款功能豐富的機械設計軟體,我個人覺得要比autocad容易。在學習solidworks的同時,也要學習altium designer———pcb設計軟體,這個階段大概持續兩個月。

第四階段,進行軟體部分設計,持續乙個月。

第五階段,

進行除錯,做最後準備,這個階段大概十天。

至此,四旋翼的初步設計完成,下一步考慮加入更為豐富和炫酷的功能。

這週我的計畫就開始了,以後此此部落格每週更新一次,以分享的我的學習成果,並接受大家的批評指正,監督我的計畫實施。

四旋翼位置控制之 定高篇

先mark一下,爭取兩周之內寫完 由於快要畢業了,所以一直都很忙,並沒有時間寫完,所以拖到現在,不好意思。現在開始介紹四旋翼定高以及除錯過程。首先介紹下四旋翼的模型 圖中為其中,其中x即為z軸位移距離,則推出四旋翼的模型 顯然,系統輸出z軸加速度與系統的輸入u成正比關係,因此採用pid線性控制器來作...

2015 1 17 開始籌畫四旋翼

感覺有必要寫部落格來規劃自己了。以前大一的時候做些東西基本上做完就拆,拆完什麼都沒有留下。自己也感覺收穫寥寥,自己搞得東西又雜,東一點 西一點知識太散,就想網盤的資料亂的不想再翻。前兩天問一學長linux如何不用圖形介面設定 xubuntu沒有 樹莓派命令列也要用 他丟給我他的部落格。我覺得我也可以...

DIY四旋翼筆記二

距離上次記diy筆記已經過去13天了,公司有事,學校有事兩個實習,還有乙個元旦假期。目前為止硬體是全通了,接下來就是軟體和演算法的學習了,算是開發平台搭建好了吧。先發張成果圖,第一版的飛控是手工焊接的,問題是真的多,焊壞了元器件不說,關鍵是主控虛焊的地方很多。上次筆記中,有兩個等不亮的原因就是虛焊,...