語言
我們的高精度IMU(慣性測量單元)姿態感測器搭載了72MHz高效能32位元處理器,可實現即時姿態計算和動態補償。資料更新頻率高達100Hz,兼具快速響應和穩定輸出。支援I2C和序列埠兩種通訊模式,相容微控制器和Linux主控制器,並能與ROS系統無縫整合。
該模組是以下高效能應用場景的理想選擇:
- 機器人運動控制
- 無人機姿態穩定
- 智能導航與定位
- 運動追蹤系統
- 工業自動化
主要特色
多版本選項
| 特點 | 6軸 | 9軸 | 10軸 |
|---|---|---|---|
| 高效能32位元處理器 | ✅ | ✅ | ✅ |
| 三軸陀螺儀 | ✅ | ✅ | ✅ |
| 三軸加速度計 | ✅ | ✅ | ✅ |
| 三軸磁力計 | ❌ | ✅ | ✅ |
| 氣壓計 | ❌ | ❌ | ✅ |
| AHRS姿態數據融合演算法 | ❌ | ✅ | ✅ |
| Mahony濾波演算法 | ✅ | ✅ | ✅ |
| 應用場景描述 | 針對成本敏感的需求而設計,符合高動態響應應用標準。 | 在6軸硬體基礎上整合磁力計和AHRS演算法,顯著提高資料穩定性和測量精度。 | 在9軸基礎上新增氣壓計,提供準確的海拔資料,適用於需要高精度3D姿態和位置感測的應用。 |
技術規格
| 參數 | 數值 |
|---|---|
| 序列埠鮑率 | 115200bps |
| 輸出頻率 | 預設25Hz,支援10Hz至100Hz可調 |
| I2C時鐘頻率 | 100KHz |
| 輸出內容 | 三軸加速度、三軸角速度、三軸歐拉角、四元數、溫度、(9/10軸有磁力計,10軸有氣壓計/高度) |
| 啟動時間 | 5000ms |
| 工作溫度 | -40°C ~ +85°C |
| 儲存溫度 | -40°C ~ +100°C |
| 抗震性 | 20kg (裸板) |
| 支援設備 | Linux主控制器(PC、Raspberry Pi、Jetson系列、RDK系列等)和微控制器(STM32、MSPM0、ESP32、Pico、Arduino等) |
| 工作電壓 | 5V 或 3.3V |
| 工作電流 | 11mA |
| 產品尺寸 | 27.4mm × 22.6mm × 12mm |
| 產品重量 | 3.8g |
| ROS支援 | ROS1 / ROS2 |
感測器效能參數
| 感測器 | 量程 | 解析度 | RMS雜訊 (100Hz頻寬) | 溫度漂移 | 頻寬 |
|---|---|---|---|---|---|
| 加速度計 | ±16g | 0.0005g/LSB | 1.0mg RMS | ±0.15mg/°C | 12.5~1600Hz |
| 陀螺儀 | ±2000°/s | 0.061°/s/LSB | 0.07°/s RMS | 0.015°/s/°C | 12.5~1600Hz |
| 磁力計 | ±8Gauss | 0.244mGauss/LSB | - | - | - |
| 氣壓計 (10軸) | 300~2000hPa | - | 1Pa RMS | - | - |
導航數據效能
| 測量項 | 典型值 |
|---|---|
| 俯仰/橫滾角範圍 (水平放置) | X: ±180°, Y: ±90° |
| 俯仰/橫滾精度 | 0.0055° |
| 航向/偏航角範圍 (水平放置) | Z: ±180° |
| 航向/偏航精度 | 0.0055° |
引腳功能說明
| 引腳 | 功能 |
|---|---|
| SDA | I2C序列資料線 |
| SCL | I2C序列時鐘線 |
| GND | 接地 |
| 3V3 | 3.3V電源輸入 |
| RX | 序列埠接收 |
| TX | 序列埠傳輸 |
| 5V | 5V電源輸入 |
快速入門指南
1. 硬體連接
模組同時支援I2C和序列埠通訊介面,請參考上方引腳說明表進行接線。
注意:請確保電源電壓正確(3.3V或5V),並避免接反,否則可能對模組造成永久性損壞。
2. 軟體安裝
首先,安裝所需的Python庫:
pip install pyserial
pip install smbus2
安裝IMU庫:
# 克隆並進入庫目錄
git clone https://github.com/Juxi-Technology/ICM42670P-High-Precision-IMU-Module.git
cd ../IMU_ROS2/IMU_Library
# 安裝庫
pip install -e .
3. 埠映射配置 (僅限Linux)
為防止設備重新連接後埠號變更,請配置永久埠映射:
# 建立並編輯udev規則檔案
sudo gedit /etc/udev/rules.d/99-serial-imu.rules
# 如果gedit命令未找到,請先安裝
sudo apt install gedit
# 添加以下映射內容
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="imu-serial"
# 保存並退出編輯器,然後運行這些命令以啟用規則
sudo udevadm trigger
sudo service udev reload
sudo service udev restart
# 驗證配置
ll /dev/imu-serial
# 預期輸出範例:
lrwxrwxrwx 1 root root 7 Jan 22 10:00 /dev/imu-serial -> ttyUSB0
基本使用範例
序列埠通訊範例
import serial
import json
# Configure serial port
ser = serial.Serial('/dev/ttyUSB0', 115200, timeout=1)
try:
while True:
line = ser.readline().decode('utf-8').strip()
if line:
# Parse IMU data
data = json.loads(line)
print(f"Acceleration: X={data['acc_x']:.2f}g, Y={data['acc_y']:.2f}g, Z={data['acc_z']:.2f}g")
print(f"Gyroscope: X={data['gyro_x']:.2f}°/s, Y={data['gyro_y']:.2f}°/s, Z={data['gyro_z']:.2f}°/s")
print(f"Euler Angles: Roll={data['roll']:.2f}°, Pitch={data['pitch']:.2f}°, Yaw={data['yaw']:.2f}°")
print("-" * 50)
except KeyboardInterrupt:
ser.close()
print("Serial connection closed")
I2C 通訊範例
import smbus2
import time
# I2C configuration
I2C_BUS = 1
IMU_ADDR = 0x68
bus = smbus2.SMBus(I2C_BUS)
def read_imu_data():
# Read 14 bytes of data from IMU
data = bus.read_i2c_block_data(IMU_ADDR, 0x3B, 14)
# Convert raw data to meaningful values
acc_x = (data[0] << 8 | data[1]) / 16384.0
acc_y = (data[2] << 8 | data[3]) / 16384.0
acc_z = (data[4] << 8 | data[5]) / 16384.0
gyro_x = (data[8] << 8 | data[9]) / 131.0
gyro_y = (data[10] << 8 | data[11]) / 131.0
gyro_z = (data[12] << 8 | data[13]) / 131.0
return acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z
try:
while True:
acc_x, acc_y, acc_z, gyro_x, gyro_y, gyro_z = read_imu_data()
print(f"Acc: X={acc_x:.2f}g, Y={acc_y:.2f}g, Z={acc_z:.2f}g")
print(f"Gyro: X={gyro_x:.2f}°/s, Y={gyro_y:.2f}°/s, Z={gyro_z:.2f}°/s")
time.sleep(0.1)
except KeyboardInterrupt:
bus.close()
print("I2C connection closed")
執行官方函式庫範例
# Serial communication example
python3 IMU_Serial_Library.py --port /dev/ttyUSB0 --rate 50
# I2C communication example
python3 IMU_I2C_Library.py --port 1 --debug
資源與支援
如需更詳細的說明文件、範例程式碼和技術支援,請造訪我們的官方資源:
- 聚熙科技 GitHub - 開源函式庫、範例程式碼和硬體設計檔案
- 飛書 Wiki - 完整的產品文件、使用者指南和常見問題
我們的 IMU 模組由聚熙科技設計和製造,為機器人技術和物聯網應用提供可靠的高性能慣性測量解決方案。

