目前發(fā)現(xiàn)國內(nèi)正兒八經(jīng)機(jī)器人、無人機(jī)并且還能活躍地上網(wǎng)關(guān)注行業(yè)前沿動向、熱愛寫科普文章的研究人員原來越少。因此所有的研究回答里都沒有人真正說明白無人機(jī)到底是什么,而理解無人機(jī)到底是什么才是回答這個(gè)問題的先決條件。
什么是無人機(jī)
首先,無人機(jī)就是不載人的飛行器,而說到飛行器,通常我們又可以把飛行器分為三類。
1、固定翼(fixed wing)。平時(shí)坐的波音747空客A380,還有F-16殲-15之類的都是固定翼飛機(jī)。顧名思義就是翅膀形狀固定,靠流過機(jī)翼的風(fēng)提供升力。動力系統(tǒng)包括槳和助推發(fā)動機(jī)。固定翼根據(jù)機(jī)翼尺寸的不同還有很多小的分類,在此不細(xì)說。固定翼飛行器的優(yōu)點(diǎn)是在三類飛行器里續(xù)航時(shí)間最長、飛行效率最高、載荷最大,缺點(diǎn)是起飛的時(shí)候必須要助跑,降落的時(shí)候必須要滑行。
2、直升機(jī)(helicopter)。特點(diǎn)是靠一個(gè)或者兩個(gè)主旋翼提供升力。如果只有一個(gè)主旋翼的話,還必須要有一個(gè)小的尾翼抵消主旋翼產(chǎn)生的自旋力。為了能往前后左右飛,主旋翼有極其復(fù)雜的機(jī)械結(jié)構(gòu),通過控制旋翼槳面的變化來調(diào)整升力的方向。動力系統(tǒng)包括發(fā)動機(jī)、整套復(fù)雜的槳調(diào)節(jié)系統(tǒng)、槳。直升機(jī)的優(yōu)點(diǎn)是可以垂直起降,續(xù)航時(shí)間比較中庸,載荷也比較中庸。缺點(diǎn)是極其復(fù)雜的機(jī)械結(jié)構(gòu)導(dǎo)致了比較高的維護(hù)成本。
3、多旋翼(multi-rotor)。四個(gè)或者更多個(gè)旋翼的直升機(jī),也能垂直起降,但是通常只有直升機(jī)叫直升機(jī),多旋翼就叫多旋翼,而不叫多旋翼直升機(jī)。四旋翼特別叫做quadrotor。多旋翼機(jī)械結(jié)構(gòu)非常簡單,動力系統(tǒng)只需要電機(jī)直接連槳就行。下圖是直升機(jī)的動力系統(tǒng)結(jié)構(gòu),再下圖是多旋翼的動力系統(tǒng)結(jié)構(gòu)。不懂機(jī)械的人也能看出多旋翼簡單得多。多旋翼的優(yōu)點(diǎn)是機(jī)械簡單,能垂直起降,缺點(diǎn)是續(xù)航時(shí)間最短,載荷也最小。
今天來給大家介紹下四旋翼無人機(jī),看看怎么是真正的技術(shù),吼吼吼......
因?yàn)槲也皇菍W(xué)電類專業(yè),最開始對i2c這些是沒有一點(diǎn)概念,最后通過Google了解了一些原理,然后發(fā)現(xiàn)STM32的開發(fā)庫是帶有i2c通信的相關(guān)函數(shù)的,但是我最后還是沒有用這些函數(shù)。
我通過GPIO模擬i2c,這樣也能獲得mpu6050的數(shù)據(jù),雖然代碼多了一些,但是比較好的理解i2c的原理。
STM32庫實(shí)現(xiàn)的模擬i2c代碼(注釋好像因?yàn)榫幋a問題跪了):
2.PID控制算法;
由于簡單的線性控制不可能滿足四軸飛行器這個(gè)靈敏的系統(tǒng),引入PID控制器來更好的糾正系統(tǒng)。
簡介:PID實(shí)指“比例proportional”、“積分integral”、“微分derivative”,這三項(xiàng)構(gòu)成PID基本要素。每一項(xiàng)完成不同任務(wù),對系統(tǒng)功能產(chǎn)生不同的影響。
以Pitch為例:
error為期望角減去實(shí)時(shí)角度得到的誤差;
iState為積分i參數(shù)對應(yīng)累積過去時(shí)間里的誤差總和;
if語句限定iState范圍,繁殖修正過度;
微分d參數(shù)為當(dāng)前姿態(tài)減去上次姿態(tài),估算當(dāng)前速度(瞬間速度);
總調(diào)整量為p,i,d三者之和;
這樣,P代表控制系統(tǒng)的響應(yīng)速度,越大,響應(yīng)越快。
I,用來累積過去時(shí)間內(nèi)的誤差,修正P無法達(dá)到的期望姿態(tài)值(靜差);
D,加強(qiáng)對機(jī)體變化的快速響應(yīng),對P有抑制作用。
PID各參數(shù)的整定需要綜合考慮控制系統(tǒng)的各個(gè)方面,才能達(dá)到最佳效果。
輸出PWM信號:
PID計(jì)算完成之后,便可以通過STM32自帶的定時(shí)資源很容易的調(diào)制出四路pwm信號,采用的電調(diào)pwm格式為50Hz,高電平持續(xù)時(shí)間0.5ms-2.5ms;
我以1.0ms-2.0ms為每個(gè)電機(jī)的油門行程,這樣,1ms的寬度均勻的對應(yīng)電調(diào)的從最低到最高轉(zhuǎn)速。
至此,一個(gè)用stm32和mpu6050搭建的飛控系統(tǒng)就算實(shí)現(xiàn)了。
-
無人機(jī)
+關(guān)注
關(guān)注
230文章
10471瀏覽量
181131 -
無人機(jī)技術(shù)
+關(guān)注
關(guān)注
42文章
189瀏覽量
56281
原文標(biāo)題:DIY高大上!用STM32單片機(jī)搞定四旋翼無人機(jī)飛控
文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論