資料介紹
描述
目標
在我們的最終項目中,我們的團隊正試圖讓四旋翼飛行器圍繞一個中心點進行自我平衡,類似于其前輪上的 segbot 平衡。為此,我們將實施與 segbot 類似的過濾器,其中 MPU 將為我們提供加速度和陀螺儀數據,而電機將使用這些數據來校正俯仰和偏航。使用陀螺儀數據和羅盤讀數的免費過濾器用于查找偏航角。由于 F28027芯片的處理限制,滾動和俯仰的狀態估計是使用輕量級 Madgwick 算法而不是更傳統的卡爾曼濾波器選擇生成的。然后使用這些角度讀數來控制四軸飛行器的三個旋轉軸,然后轉換為電機功率指令。我們還將使用 Raspberry Pi 和 OpenCV 提供兩個彩色斑點的角度跟蹤,然后將其作為俯仰和偏航的角度命令發送到四旋翼飛行器。最后,我們還將嘗試讓 Raspberry Pi 無線工作。這將使用 ESP8266 芯片完成。該芯片應使用 Wi-Fi 與 F28027 板進行無線通信。這將有助于校準,因為我們可以移除一些發送和接收線。盡管這不是很有用,因為四旋翼飛行器不會移動,但這將是一個很好的實踐,并且可以更簡單地設置 Raspberry Pi。
過程
電路板
該項目的物理構成將基于項目 2 的原理圖構建。基本電路由一個 USB COM 端口電路組成,該電路可以將 UART 讀取到 USB 以用于我們的控制輸入。這與我們之前涉及機器人汽車和 seg-bot 的實驗室的協議類似。通過此端口,我們可以將 C 語言的機器代碼從計算機的編譯器上傳到 TMS320F28027 處理器。請注意,該處理器配備了 C2800 處理器中最低的速度和內存,并將決定我們實現三軸控制的過程。
該板還包含公頭和母頭引腳,以允許連接到外部表面貼裝芯片。在我們的案例中,我們將其設計為包含一個 Raspberry Pi。我們曾計劃可能將激光雷達用于距離反饋,將 ESP8266 用于無線通信的可能性。
轉子電路由 4 個連接到 EPWM 引腳的 RC 伺服系統組成,每個都包含一個相應的 MOSFET 以驅動電流到每個電機。將有一個輕質塑料螺釘和螺母將每個伺服器直接固定到印刷電路板上。電路板每個角上的通孔都包含在 PCB 制造中,因此將被使用。手臂將從中間部分的每個角向邊緣延伸 45 度。
樹莓派和OpenCV
Raspberry Pi 的目的是運行 OpenCV 程序并將值發送到四軸飛行器。Raspberry Pi 的第一步只是簡單地更新它并確保目錄全部設置在板上。設置完成后,使用 OpenCV 和攝像頭實施了斑點跟蹤程序。攝像頭拍攝前面的基本圖像,然后OpenCV軟件進行圖像過濾,只取一定的HSV值。HSV 是色調、飽和度和值,它定義了給定環境的顏色和照明。通過定義特定的 HSV 值,相機可以只看到經過圖像過濾的顏色,然后可以看到對應于不同顏色紙片的兩個斑點,其中可以找到斑點的大小和中心。
有了這兩個角度值,就可以將它們發送到四軸飛行器,這樣四軸飛行器就會對相機所看到的做出反應。為了與四軸飛行器通信,使用了 UART。這允許串行端口發送兩個角度值,然后在需要時接收回值。事實證明,Raspberry Pi 非常有用,因為它可以減輕相對較小的四軸飛行器處理器的一些處理重量,該處理器已經加載了 Madgwick 過濾器。
ESP8266芯片
ESP8266 芯片的目標是減少四旋翼飛行器所需的電線。該芯片將使四旋翼飛行器能夠通過 Wi-Fi 網絡與計算機通信。這將使四邊形具有更少的電纜并且是無線的。讓四旋翼飛行器是無線的將使平衡更容易,而不是將其連接到多條電線上。
首先,使用了學期初提供給我們的 LaunchXL-F28379D 板和綠色擴展板。該代碼使用了許多 ESP 命令來連接 Wi-Fi 網絡、IP 地址和芯片。給定的命令在 LaunchXL-F28379D 板上完美運行。然后使用 LabView 程序發送和接收給定數據。這可以在 Terra Term 中打印出來,以確保數據被正確發送。這在綠板上運行良好,能夠 ping 通 IP 地址。
然后,創建了一個新的四旋翼來測試 ESP8266。必須添加幾根電線并將 ESP 焊接到四邊形。這是因為 quad 板沒有一組用于 ESP 的引腳。使用 ESP 芯片上的母頭線和公頭,將 ESP 連接到四板上。然后更改了 LaunchXL-F28379D 板 ESP 代碼,用于四板和 ESP 芯片之間的通信。這是遇到問題的地方,在問題部分有更多解釋。由于通信問題,ESP 最終沒有在四板上工作。
過濾
每次重新啟動代碼時,quad 都必須定義其狀態。當 Madgwick 濾波器在初始校準期間使用重力矢量計算陀螺儀偏移時,就會發生這種情況。在此期間,重要的是四邊形保持水平并朝向所需的方向。校準過程中的不一致會導致偏移計算不正確,從而導致濾波器產生偏移讀數。
Madgwick 濾波器使用由陀螺儀讀數的反正切值定義的四元數。該定義在超過 90 度的某些方向上失效,但對于我們的項目,所有角度都應低于 45 度,因此該限制不被視為問題。
最初嘗試使用免費過濾器,但這會在高旋轉率后產生極高的漂移。即使對穩態測量 - 加速度計 z 非常信任,該濾波器在僅一分鐘的強烈感應振蕩后產生超過 30 度的橫搖和俯仰漂移。這導致使用 M??adgwick 過濾器,這是一種計算量更大的算法。然而,通過最大限度地在 Raspberry Pi 上進行其他計算的離線計算,開發了一個可以由 F28027 芯片運行的輕量級過濾和控制循環。
控制是圍繞 3 個四軸飛行器機身框架軸獨立執行的:x(向前)、y(側向)和 z(向上)。這些軸對應于俯仰角 theta、橫滾角 phi 和偏航角 psi。默認控制設計對每個角度使用 0 的設定值。該控制器確保四邊形在穩定、水平、懸停方面的穩定性。四邊形關于 x 軸和 y 軸近似對稱,因此對這些軸的控制幾乎相同。在實驗后,代表總向上推力的穩態 z 狀態被選擇為大約 quad 全功率的 75%,這代表第四個控制輸入。首先為 3 個旋轉軸實施 PID 控制器。持續嘗試增益調整導致可用的控制器具有較慢的穩定時間,但是嘗試提高控制器的響應能力會導致振蕩行為。鑒于陀螺儀數據本身是一個相對較低的方差測量值,可以將雙導數項添加到控制回路中,以減少傾斜加速度。這個雙微分項與相對較小的增益一起使用,允許一個非常靈敏的控制器,它幾乎瞬間返回到俯仰和滾動的零角度。偏航的控制有點受限。這在很大程度上是因為偏航與橫滾和俯仰具有動態耦合:如果任一角度不精確為 0,則嘗試糾正偏航也會影響橫滾/俯仰。這意味著橫滾/俯仰和偏航的剛性控制器設計可能會產生不穩定,偏航響應導致俯仰/滾動,而俯仰/滾動響應導致進一步偏航。此外,四軸飛行器圍繞偏航軸具有較大的慣性矩,并且由于與螺旋槳推力不對齊而導致驅動能力較低,從而導致控制響應較慢。出于這個原因,選擇了較慢但更穩定的偏航響應,具有適度的比例增益和低微分增益項。偏航在幾秒鐘內恢復平衡,經過幾次輕微的振蕩,這被認為是可接受的性能。
通過計算每個旋轉軸的扭矩,這些扭矩被轉換為 0-3000 之間的電機命令,并發送到 PWM 1 和 2。每個電機的穩態推力為 2300 - 兩對平行螺旋槳之間的力差導致俯仰,垂直集之間的差異作用于滾動。最后,由于四邊形的反向旋轉特性導致相反的空氣動力扭矩,偏航可以通過改變對角螺旋槳對之間的電機命令來影響。扭矩和電機命令之間的關系是通過將電機推力和扭矩以及四極慣量縮放到 PWM 輸入范圍 (0-3000) 來估算的。然后對其進行調整以提供良好的響應。一旦 Raspberry Pi 配置為計算跟蹤器的偏航和俯仰,這些設定點被發送到 F28027 芯片以代替平衡設定點。這允許通過 OpenCV 相機對四軸飛行器方向進行物理控制。
問題
ESP8266
問題之一是 ESP8266 芯片無法與四核板正確通信。代碼符合要求,但與芯片通信時出現問題。這清楚地顯示在 LabView 程序中。LabView 在到達 TCP 時一直超時,這意味著沒有正確的通信。代碼經過多次修改,確保所有部分都能正常工作。通過調試,可以ping通IP地址。這意味著有一些交流。但是,由于板子和芯片不兼容,所以好像無法通信。
圖片
四轉子電路板和原理圖
![poYBAGPXMfOABuvaAAJNSiJkqUI322.png](https://file.elecfans.com/web2/M00/8B/7A/poYBAGPXMfOABuvaAAJNSiJkqUI322.png)
![pYYBAGPXMfaADMa8AAJQZHVNz6w001.png](https://file.elecfans.com/web2/M00/8B/FF/pYYBAGPXMfaADMa8AAJQZHVNz6w001.png)
![poYBAGPXMfiAQFYoAAJTXsul9OM493.png](https://file.elecfans.com/web2/M00/8B/7A/poYBAGPXMfiAQFYoAAJTXsul9OM493.png)
ESP8266
![pYYBAGPXMfuAP9LRAAB8AfUZlnQ571.png](https://file.elecfans.com/web2/M00/8B/FF/pYYBAGPXMfuAP9LRAAB8AfUZlnQ571.png)
![pYYBAGPXMgSAIqztABZCFisn-OA744.jpg](https://file.elecfans.com/web2/M00/8B/FF/pYYBAGPXMgSAIqztABZCFisn-OA744.jpg)
![poYBAGPXMgeAfwmaAAF7mneKaKA554.png](https://file.elecfans.com/web2/M00/8B/7A/poYBAGPXMgeAfwmaAAF7mneKaKA554.png)
![pYYBAGPXMgqABhBpAAC3z_iDRwA308.png](https://file.elecfans.com/web2/M00/8B/FF/pYYBAGPXMgqABhBpAAC3z_iDRwA308.png)
測試
?
- 餅干士兵ME461開源分享
- ME461:通過手部跟蹤控制四軸飛行器
- 四旋翼自主飛行器探測跟蹤系統
- 多旋翼飛行器設計與控制的底層飛行控制 0次下載
- 四旋翼飛行器懸停算法設計與實現 6次下載
- 四旋翼飛行器的發展現狀和飛行控制算法的研究仿真 29次下載
- 關于四旋翼飛行器ppt資料下載 6次下載
- 四旋翼飛行器設計案例分析 9次下載
- 四旋翼飛行器的設計與制作 15次下載
- 四旋翼四軸飛行器設計 11次下載
- 四旋翼飛行器的數學模型 28次下載
- 4 2013年四旋翼飛行器論文 1次下載
- 微型四旋翼飛行器的設計與實現 53次下載
- 四旋翼飛行器資料 80次下載
- 四旋翼飛行器基本知識 0次下載
- 多旋翼無人機是如何構造的有哪些部位詳細說明 1.6w次閱讀
- 多旋翼無人機的飛行原理是什么詳細講解 3.2w次閱讀
- 淺談四旋翼飛行器的設計 7392次閱讀
- 星翼電子:MiniFly開源四軸飛行器信息描述 2467次閱讀
- 淺析多旋翼無人機的傳感器技術 1.1w次閱讀
- 基于STM32四軸飛行器電路設計的詳細圖解資料概述 1.6w次閱讀
- 無人機旋翼個數決定了什么?四、六、八旋翼有什么區別? 2.2w次閱讀
- 四軸飛行器如何對頻_四軸飛行器怎么操作 9.9w次閱讀
- 四軸飛行器什么牌子好_十大四軸飛行器品牌排行版 1.6w次閱讀
- 基于STM32的四旋翼飛行姿態串級控制的設計與實現 7958次閱讀
- 基于STM32的簡易四軸飛行器系統的設計實現 1.7w次閱讀
- 四軸飛行器怎么起飛_四軸飛行器原理 4.9w次閱讀
- 基于STM32的四軸飛行器電路設計—電路精選(53) 4w次閱讀
- 如何設計無人機飛行 3904次閱讀
- 教你DIY一個四軸飛行器 8096次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論