<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>基于Arduino的無人機構建

基于Arduino的無人機構建

2023-07-10 | zip | 0.03 MB | 次下載 | 免費

資料介紹

描述

電影“三個白癡”一直是我開始從事這個項目的主要靈感來源。

最后,我要感謝我的家人一直以來對我的支持和信任。

  • 硬件建設:

無人機只不過是一個利用 4 個電機飛行并接收遠距離用戶輸入的物體(即為什么有時它被稱為 UAV – unmanned ariel vehicle)。

給定的 450 毫米框架將使用 1000kv 無刷電機和 8 到 10 英寸長的螺旋槳。如果 450 毫米無人機框架不可用,可以使用下表來確定為特定無人機尺寸購買哪種電機和螺旋槳:

選擇電子速度控制取決于無刷電機的最大輸入電流。為了安全起見,我選擇了 30 安培的電調,因為我的電機消耗的電流遠小于 30 安培。(電子速度控制只是一個小模塊,它允許我們通過簡單地以脈沖形式發送信號來控制電機的速度)。

無人機物理 -> 因為我們有 4 個電機,一組電機將順時針旋轉,另一組逆時針旋轉。發生這種情況是因為如果所有電機都逆時針旋轉以保存角動量,則四軸飛行器將在順時針方向上執行偏航(繞 z 軸旋轉)運動。

繞 x 軸旋轉 -> 俯仰

繞 y 軸旋轉 -> 滾動

繞 z 軸旋轉 -> 偏航

確保在焊接時將 1 對 esc 以 cw 格式焊接,另一對以 ccw 格式焊接到無刷電機。(即一對 esc 應該相同地焊接到無刷電機 -> 黃色到黃色線,黑色到黑色線和紅色到紅色線。在下一對中,只需輕彈任意 2 根線)。esc 的另一端應焊接到框架上已經存在的配電板上。

將 Xt-60 連接器焊接到框架上,稍后將用于將電池連接到配電板。

  • Arduino 連接:

Arduino Uno 是這個四軸飛行器的主要大腦,應該出現在中心,因為那里的振動最小。

MPU 6050 應焊接在 Arduino 原型擴展板上,連接應如下所示 ->

電壓 ->+5v

接地->接地

SCL ->A5

SDA ->A4

Major NOTE-> esc 應盡可能遠離 mpu6050 模塊,因為如果它們保持靠近,由于電磁干擾,esc 會影響 mpu 模塊測量的值并使 quad 不穩定。

esc 的信號線應連接到引腳 D4 到 D7,接收模塊(遠程)應連接到引腳 D6 到 D9。

為了給 Arduino 加電,我們直接從配電板獲取輸入并在它們之間連接一個二極管(這樣做是為了確保當代碼被閃存到 Arduino 時,計算機的串行端口不會因高壓而損壞電池)。

我們連接 2 個 1 和 1.5 千歐姆的電阻來測量電池電壓(這是通過制作簡單的分壓器電路完成的)。輸入電壓將用于在電池電壓低于特定限制時發出警報并向用戶發出警報)。

  • 模塊說明:
  • MPU6050:

該模塊將構成基本的慣性測量單元 (IMU),用于測量所有 3 軸上的四邊形角度。加速度計測量線性加速度,該加速度將用于計算以 g 為單位的作用在四邊形上的力(使用科里奧利力的概念)。g 中的值和反三角函數將使我們能夠計算四邊形的角度。

我們使用陀螺儀的原因是測量角速度,角速度將再次用于測量角度。不能簡單地使用加速度計,因為當四邊形運動時,它給出的值將是隨機且不穩定的。因此,通過測量角速度和數據表中的一些固定值,我們可以確定角度。因此,IMU 使用 2 個模塊測量角度。此外,為了減少來自此類微電子機械傳感器 (MEMS) 的噪聲,我們讓讀數通過濾波器。

  • Arduino:主要代碼由該模塊運行。該代碼初始化所有模塊并確保接收到正確的信號。還添加了一個安全機制,以確保只有當所有遙控桿都處于低位時四輪驅動才啟動。

該代碼的刷新率為 250 HZ,即它每 4000 微秒進行一次更正。

此時,它能夠生成:

  • 讀取陀螺儀角度數據
  • 計算 PID 修正
  • 電壓降補償脈沖
  • 將計算出的脈沖發送到 esc

每個脈沖由 1000 到 2000 微秒組成。

  • 代碼說明:

代碼文件由 3 個代碼組成,即

  • YMFC_設置文件->

該文件用于在飛行前配置整個四軸飛行器并將收集到的數據存儲在 E2PROM 中(這允許我們將數據存儲在 Arduino 上,即使 Arduino 斷電)。此代碼用于檢查遙控器傳輸的中心和端點,即 rc 發送的信號值(以微秒為單位),這是必不可少的,因為它會根據輸入限制四軸飛行器的飛行。它還用于配置無人機的 3 軸并確定哪個部分是四邊形的機頭(這樣做是為了確保不需要軸反轉,即如果四邊形向右轉,IMU 應該以 +ve 度測量角度,因為這是選擇的約定)。所有這些讀數都存儲在 Arduino 的 eeprom 上,隨后由其他模塊使用 庫中的內置函數檢索。

  • YMFC_esc_calibrate ->

此代碼是必不可少的,因為它用于同步四軸飛行器的所有電機,即所有電機應在給油門時同時啟動。與此代碼一起,我們檢查 IMU 測量的角度并估計所需的校正(在四邊形將顯示所有角度 0 度的水平上沒有必要)。檢查接收器信號,最后此代碼用于平衡螺旋槳與電機。完成這種平衡是為了減少電機產生的振動并且不影響 mpu6050 模塊,平衡是通過在支柱上涂上一塊絕緣膠帶來抑制它來完成的。

  • YMFC_flight_controller->

最重要的模塊。在這個模塊中,我們使用了之前從其他模塊收集的所有數據。代碼初始化并獲取大約 2000 個角度讀數,以計算代碼在 void loop() 中執行時需要消除的任何恒定誤差。它還確保電池電壓最佳以及來自遠程的所有信號是否正常工作。

在 void loop 函數中,僅當執行特殊的搖桿序列時才會啟動電機,并且還會使用特殊的搖桿序列來切斷電機。稍后根據 quad 的輸入和方向確定脈沖并將其發送到 esc。需要注意的最重要的一點是,我們直接在代碼中使用了機器級語句,因為通過使用 Arduino ide 提供的內置函數,代碼超過了可用的 4000 微秒時間(即刷新率)。

PID -> 比例積分和微分:

這是軟件最重要的組成部分

比例項:當輸入和當前位置之間的差異(誤差)很高時,該項會產生更高的輸出。

積分項:該項用于消除系統中存在的恒定誤差,比例項無法消除這些誤差,因為它比較四邊形的先前位置和當前位置,并基于此生成輸出。

導數項:稱為積分結束的嚴重問題會增加四邊形的壓力并可能導致嚴重的不平衡,因此我們使用導數項來預測軌跡的未來并在誤差變化率過大時減慢四邊形.

最后,我們利用了自動水平功能,當搖桿處于中心位置時,它會使無人機保持平衡。這完全是因為 IMU 使四邊形與 3 軸對齊。

?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>