Mini IMU AHRS 姿態(tài)儀采用主控制芯片STM32F103T8,通過(guò)電路板上的8M晶體和stm32內(nèi)部的PLL,控制器可以運(yùn)行在72M的主頻上,對(duì)于姿態(tài)解算這種需求大量數(shù)學(xué)運(yùn)行的程序,更快的處理速度可以做更多的解算優(yōu)化。Mini IMU AHRS 姿態(tài)儀通過(guò)I2C接口與STM32F連接,同時(shí)傳感器的數(shù)據(jù)中斷引腳與STM32F的IO相連。使得傳感器在完成ADC轉(zhuǎn)換后,STM32F在第一時(shí)間讀取最新的數(shù)據(jù),快速響應(yīng)姿態(tài)的變化。Mini IMU AHRS 姿態(tài)儀預(yù)寫(xiě)了各個(gè)芯片的驅(qū)動(dòng)和姿態(tài)解算程序,該程序有以下功能:
- 讀取MPU-6050輸出的三軸角速度和三軸加速度ADC值
- 讀取HMC5883磁力計(jì)各個(gè)軸所感應(yīng)到的磁力強(qiáng)度ADC值
- 讀取氣壓計(jì)BPM180的溫度和氣壓并經(jīng)過(guò)校正程序得到真實(shí)的氣壓高度
- 運(yùn)行一個(gè)IMU解算程序,得到當(dāng)前模塊的俯仰,橫滾,航向,氣壓高度 和溫度
- 程序?qū)⒏鱾€(gè)傳感器值和解算后的姿態(tài)發(fā)送到主串口TXO輸出給上位機(jī)。連接上位機(jī)將顯示波形和各傳感器值
- 以上功能提供源碼,編譯器為MDK:編譯環(huán)境:MDK-Lite Version: 4.23
Mini IMU AHRS 姿態(tài)儀硬件組成:
- MPU-6050 集成3軸陀螺儀和3軸加速器
- HMC5883L 3軸地磁傳感器
- BPM180 氣壓高度計(jì)
- STM32F103T8 32-bit ARM CortexM3處理器運(yùn)行在72M時(shí)鐘
mini IMU AHRS 姿態(tài)測(cè)量系統(tǒng)硬件框圖:
電源組成:
- 數(shù)字電源與模擬電源使用獨(dú)立的穩(wěn)壓器供電,在靠近各傳感器VCC端都放置有大容量電容保證
- 穩(wěn)定的電源供應(yīng)給傳感器。使數(shù)據(jù)更加穩(wěn)定可靠。
通信接口:
- miniIMUDEMO引出兩個(gè)UART異步串行接口。電路板側(cè)邊的UART將用于主數(shù)據(jù)輸出和命令輸入。
- 而另外一個(gè)UART可以用于連接GPS、數(shù)傳電臺(tái)或者是遙控?cái)?shù)據(jù),使模塊集成更多的功能
- 兩個(gè)UART可以運(yùn)行在115200bps,支持DMA傳送。
- 集成硬件循環(huán)冗余校驗(yàn)(CRC),更快速的數(shù)據(jù)校驗(yàn),提高通信效率。
姿態(tài)數(shù)據(jù)處理:
- miniIMUDEMO集成了一只STM32F103T8,基于ARM Cortex-M3內(nèi)核,通過(guò)板子上的8M晶體和PLL,STM32可以運(yùn)行在最高72M時(shí)鐘,高達(dá)20K字節(jié)的SRAM并且支持7通道的DMA。STM32具有
- 單周期乘法和硬件除法器,運(yùn)行姿態(tài)解算sin cos atan2這些三角函數(shù)更加游刃有余。
STM32調(diào)試接口:
miniIMUDEMO出于體積考慮,只引出了STM32的串行SWD調(diào)試接口,你可以使用STlink或者是Jlink等調(diào)試工具。SWD接口需要4條線連接到仿真器:
1.VCC
2.GND
3.SWCLK
4.SWDIO
輸入電源:
4V - 7V 直流電源輸入,運(yùn)行時(shí)電流約40mA @ 5V
Mini IMU AHRS 姿態(tài)儀接口定義:
可能感興趣的項(xiàng)目設(shè)計(jì):
姿態(tài)傳感器IMU模塊 附源碼和上位機(jī),鏈接:https://www.cirmall.com/circuit/1730/detail?3
上位機(jī)調(diào)試系統(tǒng),如下截圖:
1.顯示加速度、陀螺儀和磁力計(jì)各個(gè)軸的當(dāng)前值,并用波形顯示
2.使用3D顯示當(dāng)前解算的姿態(tài),Pitch Roll 和Yaw
3.溫度計(jì)和當(dāng)前氣壓高度值
4.使用地平儀顯示俯仰和橫滾角