0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DIY高大上!用STM32單片機(jī)搞定四旋翼無人機(jī)飛控

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2017-08-09 13:52 ? 次閱讀

嘗試制作這個(gè)四旋翼飛控的過程,感觸頗多,整理了思緒之后,把重要的點(diǎn)一一記下來;

這個(gè)飛控是基于STM32,整合了MPU6050,即陀螺儀和重力加速計(jì),但沒有融合電子羅盤;

另外,四旋翼飛行器的運(yùn)動方式請百度百科,不太復(fù)雜,具體不再贅述;

這是飛控程序的控制流程(一個(gè)執(zhí)行周期):

比較重要的地方:

1.i2c通信方式;

因?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.mpu6050;

然后用寫好的模擬i2c函數(shù)讀取mpu6050,根據(jù)mpu6050手冊的各寄存器地址,讀取到了重力加速計(jì)和陀螺儀的各分量;

傳感器采樣率設(shè)置為200Hz,這個(gè)值是因?yàn)槲译娬{(diào)頻率為200Hz,也就是說,我的程序循環(huán)一次0.005s,一般來說,采樣率高點(diǎn)沒問題,別比執(zhí)行一次閉環(huán)控制的周期長就行了;

陀螺儀量程±2000°/s,加速計(jì)量程±2g, 量程越大,取值越不精確;

這里注意,由于我們沒有采用磁力計(jì),而陀螺儀存在零偏,所以最終在yaw方向上沒有絕對的參考系,不能建立絕對的地理坐標(biāo)系,這樣最好的結(jié)果也僅僅是在yaw上存在緩慢漂移。

3.互補(bǔ)濾波;

融合時(shí),陀螺儀的積分運(yùn)算很大程度上決定了飛行器的瞬時(shí)運(yùn)動情況,而重力加速計(jì)通過長時(shí)間的累積不斷矯正陀螺儀產(chǎn)生的誤差,最終得到準(zhǔn)確的機(jī)體姿態(tài)。

這里我們采用Madgwick提供的UpdateIMU算法來得到姿態(tài)角所對應(yīng)的四元數(shù),之后只需要經(jīng)過簡單運(yùn)算便可轉(zhuǎn)換為實(shí)時(shí)歐拉角。感謝Madgwick大大為開源做出的貢獻(xiàn)。





4.獲取期望姿態(tài);

也就是遙控部分了,讓用戶介入控制。

本著拿來主義的原則,用上”圓點(diǎn)博士開源項(xiàng)目”提供的安卓的開源藍(lán)牙控制端。

圓點(diǎn)博士給出了數(shù)據(jù)包格式,同過HC-06藍(lán)牙模塊接連到STM32串口1,再無線連接到控制端,這樣我們就可以獲得控制端不斷發(fā)送的數(shù)據(jù)包了,并實(shí)時(shí)更新期望姿態(tài)角,這里只需要注意輸出的姿態(tài)角和實(shí)時(shí)姿態(tài)角方向一致以及數(shù)據(jù)包的校驗(yàn)就行了。

5.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)了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6050

    文章

    44701

    瀏覽量

    641288
  • STM32
    +關(guān)注

    關(guān)注

    2277

    文章

    10951

    瀏覽量

    359233
  • DIY
    DIY
    +關(guān)注

    關(guān)注

    176

    文章

    889

    瀏覽量

    349996
  • 無人機(jī)
    +關(guān)注

    關(guān)注

    230

    文章

    10592

    瀏覽量

    183633
  • 四旋翼
    +關(guān)注

    關(guān)注

    8

    文章

    60

    瀏覽量

    28343
收藏 人收藏

    評論

    相關(guān)推薦

    STM32單片機(jī)無人機(jī)設(shè)計(jì)

    小型無人機(jī)設(shè)計(jì)
    發(fā)表于 03-10 17:50 ?2次下載

    科達(dá)嘉電感在無人機(jī)系統(tǒng)中的應(yīng)用

    對電感器的電氣特性、產(chǎn)品尺寸、EMI設(shè)計(jì)、可靠性等有不同的需求,通過合理選型可以實(shí)現(xiàn)無人機(jī)高效率、長續(xù)航及系統(tǒng)穩(wěn)定性。 ? ? 一、無人機(jī)系統(tǒng)對電感器的需求 電感器在無人機(jī)系統(tǒng)中主要應(yīng)用在動力系統(tǒng)、
    的頭像 發(fā)表于 03-08 10:00 ?370次閱讀

    連接器如何支撐無人機(jī)復(fù)雜系統(tǒng)運(yùn)作?

    ,無人機(jī)通常由機(jī)架、控系統(tǒng)、動力系統(tǒng)以及通信系統(tǒng)等多個(gè)關(guān)鍵組件構(gòu)成,這些組件通過各類連接器實(shí)現(xiàn)電力傳輸、信號通信和功能模塊的緊密配合,從而確保無人機(jī)的穩(wěn)定飛行和高效運(yùn)作。 一、控(
    的頭像 發(fā)表于 02-18 15:42 ?139次閱讀
    連接器如何支撐<b class='flag-5'>無人機(jī)</b>復(fù)雜系統(tǒng)運(yùn)作?

    智能榮獲雙重殊榮,持續(xù)領(lǐng)航無人機(jī)領(lǐng)域

    成長為無人機(jī)行業(yè)的中堅(jiān)力量。從技術(shù)創(chuàng)新到市場布局,卓智能的成功密碼自2015年成立以來,卓智能始終聚焦無人機(jī)智能平臺的研發(fā)與應(yīng)用,秉持“技術(shù)驅(qū)動發(fā)展”的理念。其
    的頭像 發(fā)表于 01-23 11:56 ?166次閱讀
    卓<b class='flag-5'>翼</b>智能榮獲雙重殊榮,持續(xù)領(lǐng)航<b class='flag-5'>無人機(jī)</b>領(lǐng)域

    DIY了一臺無人機(jī),全志T113芯片

    SBUS接收機(jī),來實(shí)現(xiàn)本地的數(shù)據(jù)傳輸與遠(yuǎn)程控制。 如下圖中的畫面所示,左側(cè)是控通過WiFi與QGC連接后將無人機(jī)姿態(tài)數(shù)據(jù)返回的顯示界面,右側(cè)的畫面則是T113芯片的負(fù)載情況顯示,T113是雙核處理器
    發(fā)表于 11-13 09:43

    為何無人機(jī)領(lǐng)域廣泛采用PX4作為核心控制平臺

    在眾多無人機(jī)類型中,因其具備垂直起降、穩(wěn)定性強(qiáng)、結(jié)構(gòu)相對簡單等特點(diǎn)而得到廣泛應(yīng)用。目前,無論是學(xué)術(shù)界還是工業(yè)界,關(guān)于
    的頭像 發(fā)表于 11-08 09:41 ?955次閱讀
    為何<b class='flag-5'>無人機(jī)</b>領(lǐng)域廣泛采用PX4作為核心控制平臺

    開源項(xiàng)目!DIY了一臺無人機(jī)全志T113芯片

    Tina Linux 無人機(jī)自穩(wěn)飛行功能測試 無人機(jī)通過控和WiFi模塊結(jié)合,形成一個(gè)SBUS接收機(jī),來實(shí)現(xiàn)本地的數(shù)據(jù)傳輸與遠(yuǎn)程控制。 如下圖中的畫面所示,左側(cè)是
    發(fā)表于 10-22 13:50

    無人機(jī)全波段偵測跟蹤 杜絕類似天津黑事件

    無人機(jī)一方面對航空安全造成影響,一方面威脅著國防安全。前段時(shí)間天津無人機(jī)事件鬧得沸沸揚(yáng)揚(yáng),給我們敲響了警鐘。此次黑,對方采用非常規(guī)
    的頭像 發(fā)表于 10-16 08:08 ?349次閱讀
    <b class='flag-5'>無人機(jī)</b>全波段偵測跟蹤   杜絕類似天津黑<b class='flag-5'>飛</b>事件

    無人機(jī)機(jī)載高光譜成像系統(tǒng)的應(yīng)用及優(yōu)勢

      隨著無人機(jī)技術(shù)的快速發(fā)展,基于無人機(jī)平臺的高光譜成像系統(tǒng)在多個(gè)領(lǐng)域中得到了廣泛應(yīng)用。本文將介紹一款小型多無人機(jī)機(jī)載高光譜成像系統(tǒng),該
    的頭像 發(fā)表于 08-15 15:03 ?998次閱讀
    <b class='flag-5'>無人機(jī)</b>機(jī)載高光譜成像系統(tǒng)的應(yīng)用及優(yōu)勢

    光伏無人機(jī)自動巡檢系統(tǒng)的優(yōu)勢價(jià)值

    系統(tǒng)。無人機(jī)自動巡檢系統(tǒng)硬件部署在固定區(qū)域,無需人員值守,對無人機(jī)航程覆蓋范圍內(nèi)的區(qū)域進(jìn)行自動巡檢,隨時(shí)待命偵察干預(yù)突發(fā)情況。 ?????? 無人機(jī)自動巡檢系統(tǒng)無需專業(yè)手控制,相比傳
    的頭像 發(fā)表于 07-18 16:10 ?471次閱讀

    開源項(xiàng)目!ESP8266 DIY會爬墻的無人機(jī)

    控制器。 MPU6050 MPU6050 IMU,一個(gè)低成本的設(shè)備,包含陀螺儀和加速計(jì)。 我們將使用MPU-6050和ESP8266模塊來做一個(gè)無人機(jī)。 無鐵芯電機(jī) 無鐵芯電機(jī)是用于
    發(fā)表于 07-04 09:22

    SMT32手搓5套無人機(jī)控,最終決定開源……

    工程名稱:無人機(jī)H7控前言他,從2022年起開源【穿越機(jī)/無人機(jī)控】方案。兩年時(shí)間,持續(xù)更新,歷經(jīng)5個(gè)版本迭代,終于……讓小編給發(fā)現(xiàn)了~
    的頭像 發(fā)表于 06-02 08:04 ?638次閱讀
    <b class='flag-5'>用</b>SMT32手搓5套<b class='flag-5'>無人機(jī)</b><b class='flag-5'>飛</b>控,最終決定開源……

    無人機(jī)機(jī)巢散熱解決方案

    無人機(jī)機(jī)巢,也稱無人機(jī)機(jī)庫/機(jī)場,具備無人機(jī)存儲以及放飛/回收、充電等功能。無人機(jī)在機(jī)庫內(nèi)充電時(shí)會產(chǎn)生高溫,且
    的頭像 發(fā)表于 05-30 17:13 ?815次閱讀
    <b class='flag-5'>無人機(jī)</b><b class='flag-5'>機(jī)</b>巢散熱解決方案

    演唱會無人機(jī)亂飛,無人機(jī)反制槍守護(hù)安全|特信無人機(jī)反制

    隨著無人機(jī)技術(shù)的普及,越來越多的無人機(jī)出現(xiàn)在各類大型活動中,如演唱會。然而,無人機(jī)亂飛的現(xiàn)象也帶來了諸多安全隱患,如影響演出秩序、侵犯他人隱私等。為了應(yīng)對這一挑戰(zhàn),無人機(jī)反制槍成為了保
    的頭像 發(fā)表于 05-22 09:11 ?782次閱讀

    高清畫質(zhì)、低時(shí)延,圖傳技術(shù)如何展現(xiàn)FPV穿越機(jī)的“速度與激情”

    Person View),也就是人們常說的穿越機(jī),是一種高速多飛行器。作為無人機(jī)圈的新物種,2018年、2019年國內(nèi)曾掀起FPV小熱潮。 ? FPV與常見的航拍
    的頭像 發(fā)表于 05-15 00:18 ?8996次閱讀
    高清畫質(zhì)、低時(shí)延,圖傳技術(shù)如何展現(xiàn)FPV穿越<b class='flag-5'>機(jī)</b>的“速度與激情”