四軸工程分析

2021-10-19 18:56:39 字數 1043 閱讀 7966

最近在做四旋翼飛行器畢業設計專案,對工程專案的一些經驗和感悟分享出來。

首先說一下,從0到1做出乙個完整的專案是很耗費時間和精力的,因此,四軸專案也是基於本專業學長做過的一些專案的基礎上新增一些自己的想法。剛開始學習嵌入式,或者說做專案只是從底層乙個模組、乙個模組地去寫**,熟悉各種外設的功能、操作方法,以及一些最基本的驅動**。模組化思想是嵌入式開發中很重要的乙個指導思維,嵌入式驅動模組無非就兩種:1.驅動模組 2.功能模組;而這些實現的方式都是 .c + .h,從下向上的方向看過去,並不能對整個專案的架構和不足有很深的理解,有的時候需要從上往下看,對整體架構有了把握之後就懂得了取捨、不足、和重點。

下面是從檔案架構角度看專案:

改寫好的四旋翼工程目錄(使用了rtos):

當乙個專案使用了作業系統後(對於嵌入式來講大多數是rtos),開發方式有了很大的改變,方法、原理並沒有變;不否認使用了作業系統後的工程,更加方便,效率會更高,隨之而來需要考慮的方面也會複雜。我認為使用了作業系統了之後,就要以作業系統的思維去看待工程專案,高度抽象所有的os(不管是rtos還是linux),都可以分為:user mode(使用者態)、kernel mode(核心態)。如以上目錄分析,基於rtos的嵌入式開發會使驅動**和應用**分離開來,這樣對開發人員可以更專注的對不同的模組進行開發,工程效率會得到提高。

總得來說,能使用作業系統更好,這樣使專案開發效率更高,不過也會有很多問題。如:如何對工程專案劃分模組?各個模組如何互動?如何使用rtos充分發揮其潛力?如何減少漏洞提高可靠性?這些都不是一日之功能理解的,我認為還是需要具體的實踐才能對這些問題有個更深入的理解。

總結一下,我認為對待嵌入式產品的專案還是需要深入理解的,因為小的工程方法往往也是大工程中所用的方法。以上的分析都是裸機程式加上乙個rtos,本質是利用rtos的功能提高工程效率,使用了作業系統就要從os的角度看待問題,能分成小的模組就分,用任務/執行緒去解決問題。難點之處,就是如何劃分模組,任務如何設計,任務間通訊,等等一系列的問題。這些問題的解決還是需要不斷的學習、實踐。

四軸電機控制

於網路。今天我們來討論一下如何調整四軸的 4個電機的轉速,來使四軸朝 4個方向運動起來的。多旋翼可能有很多軸,或者對稱或者不對稱。我們以四軸,x形狀為例。為方便說明,我們把電機進行編號,右下為9 號,右上為 10號,左下為 11,左上為 3號電機。1.飛行器保持懸停,4個電機的轉速保持一致,來使飛行...

四軸的問題

問題1 nvic prioritygroupconfig nvic prioritygroup 2 delay init tim3 int init 5000 1,71 uart init 9600 iic init mpu6050 initialize dmp init moto init whi...

小四軸9軸資料融合成功

吐槽下二代買的新槳葉,又硬又醜又效率低,一代的槳葉電機給4成占空比就飛起來了,新槳葉要加到7成 而且震動比舊槳高出n倍,導致姿態解算結果有1度左右的抖動。最重要的是卡在電機上拆不下來了。附所用九軸融合演算法 另有梯度下降法版本 補充 隨後發現高興得太早,當開啟電機之後,由於電機產生的磁場,磁力計根本...