在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于MPU6050與COF屏的航空姿態儀表

迪文智能屏 ? 2022-05-31 11:30 ? 次閱讀

——來自迪文開發者論壇用戶

本方案使用COF屏的IO口模擬I2C信號與MPU6050通訊,實現航空姿態儀表可視化顯示。MPU6050采集數據,T5L0芯片進行數據讀取和濾波算法處理,計算出姿態數據,驅動COF屏進行數據實時可視化顯示。可視化界面通過迪文DGUS軟件設置,有效縮減工程開發時間。


方案框圖

7de87d04-dde2-11ec-b80f-dac502259ad0.png

資料下載

方案完整資料下載可前往迪文開發者論壇獲?。?/p>

http://inforum.dwin.com.cn:20080/forum.php?mod=viewthread&tid=5767&extra=page%3D2

方案簡介

硬件連接

COF屏轉接板HDL662S的P32腳連接MPU6050模塊的SDL腳,P33腳連接MPU6050的SDA腳,VCC和GND分別接電源和地。同時,轉接板的UART2連接上位機,其中P21~P26六個IO接入上位機6個LED燈上,方便輸出調試信息,通過LED顯示運行狀態向COF屏輸出命令。

7e3532b6-dde2-11ec-b80f-dac502259ad0.png

1.1 COF屏與MPU6050模塊連接接線圖

7e69fc8a-dde2-11ec-b80f-dac502259ad0.png

1.2 COF屏與MPU6050模塊連接實物圖

數據讀取主要程序代碼

(1)I2C讀取MPU6050數據代碼

COF屏為用戶提供了可使用的IO口,我們可以直接使用IO口模擬I2C信號與MPU600通訊。C51 V6例程中有一個I2C RTC硬件的驅動代碼,基于這個代碼來修改,可以得到MPU6050使用的通訊函數。從I2C RTC硬件的驅動代碼中可移植的主要代碼函數:

7ec6d9be-dde2-11ec-b80f-dac502259ad0.png

編寫針對MPU6050的各個操作命令:

7ef071fc-dde2-11ec-b80f-dac502259ad0.png

結合MPU6050寄存器定義設置,使T5L0成功讀取完整正確數據。MPU主要用到的寄存器如下所示:

7f0d6988-dde2-11ec-b80f-dac502259ad0.png

對應的硬件IO口連接定義端口代碼:

sbit IIC_SCL=P3^2;

sbit IIC_SDA=P3^3;

#define SDA_IN() P3MDOUT=P3MDOUT&0xF7;

#define SDA_OUT() P3MDOUT=P3MDOUT|0x08;

現在,將上述各個部分的代碼整合編譯調試上載到COF屏,就能成功讀取MPU6050的各個寄存器數值。調試中需注意:

  • MPU6050的I2C主頻與原RTC設備的主頻有差別,需適當調整I2C函數操作中的時序,使其適配;
  • T5L處理器速度快,在兩次讀取間要做一定的等待,否則會出現讀取數據為零的情況。經反復測試,設置20ms間隔來讀取傳感器數據,此間隔對本實驗完全適用;
  • I2C、SDA線接觸一定要良好,否則會造成通訊中斷,需要重新初始化才能得到正確數據。

(2)姿態解算編寫響應的函數對MPU6050原始數據進行解算,得到可供幾何顯示和姿態判斷使用的數據。姿態解算通過三軸的重力加速度分量得到以地球切面為參照系的三軸夾角轉換為以設備自身坐標下的飛行夾角。定義如下:橫滾角Roll(Ф)表示繞X軸的旋轉,仰俯角Pitch(θ)表示繞Y軸的旋轉,航向角Yaw (ψ)表示繞Z軸的旋轉,如圖所示。


計算代碼算法如下:

roll = atan2(2* Gy*Gz + 2*G*Gx, -2*Gx*Gx -2*Gy*Gy+ 1)

pitch = asin(-2*Gx*Gz + 2*G* Gy)

yaw = atan2(2*( Gx*Gy +G*Gz),G*G+Gx*Gx-Gy*Gy-Gz*Gz)

(3) DGUS界面設計

設計參考了航空飛機中常見的G530導航儀儀表面板。面板總體布局分左側姿態數據顯示區、中右區為姿態主顯示區,以及下方的操作控制區。

7f6af1c0-dde2-11ec-b80f-dac502259ad0.png

1.4 姿態儀表顯示分區設計

7fa30af6-dde2-11ec-b80f-dac502259ad0.png

1.5 姿態儀表DGUS 界面

(4) 可視化C51軟件開發

C51軟件開發主要有幾部分:

1. 通過I2C接口完成MPU6050的讀寫命令操作,從傳感器里獲得完整正確的數據;

2. 姿態解算:通過前面的算法,編寫響應的函數對原始數據進行解算,獲得姿態顯示所需要的顯示數據;

3.數據可視化:將姿態的各個角度數據轉換成UI組件的控制數據,比如負數和小數的顯示問題、量程的問題等;

4.開發必要調試和跟蹤工具代碼,方便開發調試。

這里面通過數據顯示窗口主要顯示7個數據,分別為三向的姿態角度,三軸的加速度以及溫度。同時根據三項的姿態角度計算可視化的控制數據寫入顯示組件地址里:

7fc9911c-dde2-11ec-b80f-dac502259ad0.png

1.6 姿態可視化C51軟件開發

COF屏的C51主代碼如下,重要部分已做了注釋。此項目使用T5L的C51操作I2C讀取MPU6050數據的代碼已附帶在文件附件中。 mpu6050_i2c.zip用戶開發體驗
“通過此實驗已經完美的獲取了MPU6050六軸陀螺傳感器的數據讀取,姿態解算的方法,同時結合COF屏完美的展示了MPU6050姿態的可視化。在實驗測試中,COF屏在完成負載的儀表界面顯示時,依然完成了I2C數據讀取,復雜的浮點計算,以及內存地址操作。在實際測試中讀取I2C速度可達8KBps,能夠在1ms內讀取完整的MPU7項數據,并且在18ms內完成了原始數據的三角函數計算工作,解算出飛航的各個姿態數據,并且更新到顯示屏上。”

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cof
    cof
    +關注

    關注

    5

    文章

    48

    瀏覽量

    23306
  • MPU6050
    +關注

    關注

    39

    文章

    307

    瀏覽量

    71403
收藏 人收藏

    評論

    相關推薦

    MPU6050讀取數據有問題

    在調試MPU6050時讀取原始數據只有X軸在變化,Y軸和Z軸的數據一直沒有變化,已經調試兩天了,這個是讀取的數據
    發表于 12-09 10:40

    CW32模塊使用 MPU6050六軸傳感器

    MPU6050 是 InvenSense 公司推出的整合性 6 軸運動處理組件,其內部整合了 3 軸陀螺儀和 3 軸加速度傳感器,并且含有一個IIC 接口, 可用于連接外部磁力傳感器,并利用自帶
    的頭像 發表于 11-14 17:54 ?270次閱讀
    CW32模塊使用 <b class='flag-5'>MPU6050</b>六軸傳感器

    機智云開源自動化控制篇-姿態翻轉報警器

    使用STM32F103C8T6單片機、ESP-01S模塊、MPU6050傳感器、蜂鳴器以及0.96寸IIC接口OLED顯示,基于機智云平臺共同開發姿態翻轉報警器,為智能化場景增添強大功能。適用
    的頭像 發表于 08-07 08:11 ?351次閱讀
    機智云開源自動化控制篇-<b class='flag-5'>姿態</b>翻轉報警器

    如何通過I2C將加速度計MPU6050型連接到ESP8266?

    有沒有人通過 I2C 將加速度計MPU6050型連接到ESP8266? 我想讀取寄存器who_am_i,但我無法從從機獲取 ACK 信號
    發表于 07-22 06:18

    硬件i2c讀寫MPU6050

    本資料為MPU6050
    發表于 07-15 11:45 ?3次下載

    如何利用中斷從Mpu6050讀取數據?

    我正在使用延遲從 psoc 5LP CY8C5888LTI-LP097 中的 mpu-6050 imu 讀取數據。 我不想用延時器,我想用帶中斷的定時器代替它。 下面附上我的項目文件。 請幫我創建中斷函數。
    發表于 07-03 06:18

    求助求助,MPU6050模塊用DMP時的自檢問題

    我在mpu6050的DMP自檢始終不通過,我通過debug發現里面的兩個值st_shift_cust,st_shift_var不對,讀出來數值很大。st_shift_var讀出來5.幾
    發表于 05-18 17:27

    請問MPU6050可以做振動探測器使用嗎?

    MPU6050可以做振動探測器使用嗎?
    發表于 05-08 07:54

    mpu6050芯片的INT中斷信號引腳和單片機之間需要接電阻嗎?

    mpu6050芯片的INT中斷信號引腳和單片機之間需要接電阻嗎? 我見有的電路圖里面沒有接,有的卻說需要接,到底是怎樣的?
    發表于 05-07 07:21

    MPU6050休眠后如何配置重力加速度喚醒MPU6050

    MPU6050休眠后如何配置重力加速度喚醒MPU6050自己?
    發表于 05-07 06:19

    MPU6050 dmp庫定時查詢讀取偶爾獲取失敗的原因?

    在玩mpu6050 dmp庫的時候遇到了一些問題,dmp設置fifo頻率20Hz,每50ms程序中讀取一次,但是偶爾會有都不到數據的情況,mpu_read_fifo_stream讀取失敗。主程序
    發表于 04-30 06:37

    MPU6050勻速轉動一段時間后,偏航角不變怎么解決?

    使用MPU6050 檢測機器人的偏航角度。當機器人原地連續旋轉時(朝一個方向),DMP 輸出的偏航角開始正常,之后會出現輸出的偏航角不變,此時機器人速度只要發生一下變化,DMP輸出的偏航角就會開始
    發表于 04-09 08:24

    大彩科技COF系列2.4寸串口發布!

    廣州大彩科技新品發布:大彩科技COF系列2.4寸串口發布!此次發布的是S系列平臺2.4寸COF超薄結構串口,分辨率為240*320,該平臺采用了Cortex-M3內核的處理器,內置
    的頭像 發表于 03-18 14:36 ?920次閱讀
    大彩科技<b class='flag-5'>COF</b>系列2.4寸串口<b class='flag-5'>屏</b>發布!

    什么是姿態傳感器MPU6050

     MPU6050是6軸運動處理傳感器,它集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴展的數字運動處理器DMP。使用它就是為了得到待測物體(如四軸飛行器、平衡小車)x、y、z軸的傾角(俯仰角Pitch、翻滾角Roll、偏航角Yaw)。
    發表于 02-15 10:53 ?3546次閱讀
    什么是<b class='flag-5'>姿態</b>傳感器<b class='flag-5'>MPU6050</b>

    ADXL345和MPU6050的區別

    ADXL345和MPU6050是兩種常見的加速度計和陀螺儀傳感器,用于測量物體的加速度和旋轉速度。它們在設計、性能和應用方面有一些區別。在本文中,我們將對ADXL345和MPU6050的區別進行詳細
    的頭像 發表于 01-04 11:30 ?7660次閱讀
    主站蜘蛛池模板: 黄a免费| 欧美人与z0zoxxxx特| 国产aaaaaa| 俺不色| 77788色淫免费网站视频| 国产午夜精品理论片在线| 日韩操穴| 无夜精品久久久久久| 色狠狠一区二区| 99久久免费精品视频| 天天插日日干| 日本xxxxxxxx69| 天堂69亚洲精品中文字幕| 久久婷婷影院| 久操操操| 久久99热久久精品动漫| 台湾佬自偷自拍情侣在线| 免费艹逼视频| av成人在线播放| 202z欧美成人| 欧美线人一区二区三区| 奇米7777第四色| 69国产成人综合久久精品| 日本在线观看高清不卡免v| 国产精品欧美一区二区三区不卡 | 无限国产资源| www.妖精视频| 8050午夜网| 色噜噜成人综合网站| 天天干在线播放| 在线免费视频一区二区| 特级全黄一级毛片免费| 亚洲人成网站999久久久综合| www.射| 亚洲成人伊人网| 国产三级日本三级在线播放| 午夜影视啪啪免费体验区深夜| 亚洲mv在线观看| 国产精品15p| 中文在线 | 中文| 九九精品久久久久久噜噜|