WiT HWT906 AHRS IMU Sensor User Manual
- June 17, 2024
- WiT
Table of Contents
WiT HWT906 AHRS IMU Sensor User Manual
Tutorial Link
Google
Drive
Link to instructions DEMO: WITMOTION YouTube
Channel
If you have technical problems or cannot find the information that you need in the provided documents, please contact our support team. Our engineering team is committed to providing the required support necessary to ensure that you are successful with the operation of our AHRS sensors.
Contact
Technical Support Contact Info
Application
- AGV Truck
- Platform Stability
- Auto Safety System
- 3D Virtual Reality
- Industrial Control
- Robot
- Car Navigation
- UAV
- Truck-mounted Satellite Antenna Equipment
1 Overview
HWT906’s scientific name is AHRS IMU sensor. A sensor measures 3-axis angle, angular velocity, acceleration and magnetic field. Its strength lies in the algorithm which can calculate three-axis angle accurately. HWT906 is employed where the highest measurement accuracy is required. HWT906 offers several advantages over competing sensor:
- Heated for best data availability: new WITMOTION patented zero-bias automatic detection calibration algorithm outperforms traditional accelerometer sensor · High precision Roll Pitch Yaw (X Y Z axis) Acceleration + Angular Velocity + Angle + Magnetic Field output
- Low cost of ownership: remote diagnostics and lifetime technical support by WITMOTION service team
- Developed tutorial: providing manual, datasheet, Demo video, PC software, mobile phone APP, and 51 serial, STM32, Arduino, and Matlab sample code, communication protocol
- WITMOTION sensors have been praised by thousands of engineers as a recommended attitude measurement solution
HWT906-TTL | Datasheet v23-0721 | www.wit-motion.com
2 Features
- Working voltage 3.3-5V, easy to connect.
- Support three communication interfaces serial port, IIC, SPI
- Internal temperature compensation, suitable for use in variable temperature environments
- The aluminum shell protects the chip against environmental interference, and the size is small and easy to use
- The module consists of a high precision gyroscope, accelerometer, geomagnetic field and barometer sensor.
- The product can solve the current real-time motion posture of the module quickly by using the high-performance microprocessor, advanced dynamic solutions and Kalman filter algorithm. The advanced digital filtering technology of this product can effectively reduce the measurement noise and improve the measurement accuracy. Up to 1000Hz data output rate.
- The input content can be selected arbitrarily, and the output rate can be adjusted from 0.2 to 1000HZ.
- In a dynamic environment, the current attitude of the module is accurately output, and the attitude measurement accuracy is 0.05 degrees static and 0.1 degrees dynamic, with high stability.
3 Specification
3.1 Parameter
Accelerometer Parameters
Gyroscope parameters
Magnetometer parameters
Pitch and roll angle parameters
Heading angle parameter
Module parameters
Basic parameters
Electrical parameters
3.2 Axial Direction
The coordinate system used for attitude angle settlement is the northeast sky coordinate system. Place the module in the positive direction, as shown in the figure below, direction right is the X-axis, the direction forward is the Y-axis, and direction upward is the Z-axis. Euler angle represents the rotation order of the coordinate system when the attitude is defined as Z-Y-X, that is, first turn around the Z-axis, then turn around the Y-axis, and then turn around the X-axis.
4 PIN Definition
5 Communication Protocol
Level: TTL level Baud rate: 48009600192003840057600115200230400460800
921600(default, could be changed )
Link to WITMOTION
protocol.
6. IIC Communicate Protocol
The HWT906 module can be accessed completely through the IIC, the IIC
communication rate supports a maximum of 400khz, the slave address is 7bit,
and the default address is 0x50, which can be changed through serial port
commands or IIC writing address.
Multiple HWT906 modules can be attached to the IIC bus, but the IIC address of
the module needs to be modified to a different address in advance.
The module’s IIC protocol adopts the way of register address access. The data
in each address is 16-bit data, occupying 2 bytes.
6.1 Read IIC
The format of timing data written by IC is as follows:
First, the IIC host sends a Start signal to the HWT906 module. Then write the IIC address IICAdr of the module. After writing the register address RegAddr, the host sends a read signal (IICAddr<<1)|1 to the module. If the default address is 0x51, the data sent is 0xa1. After that, the module will output data in the order of low byte first, then high byte. After receiving each byte, the host needs to pull down the SDA bus and send a response signal to the module. After receiving the specified amount of data, pc no longer returns an acknowledgement signal to the module. The module will no longer output data, and the host will send a stop signal to the module to end the operation.
Take reading the angle data of the module as an example, RedAddr is 0x3d, 0x3e, 0x3f, read 6 bytes continuously, the waveform captured by the logic analyzer is shown in the figure below:
The data read from 0x3d is 0x9C, 0x82, 0x28, 0xFF, 0xE6, 0x24 in sequence.
That is to say, the angle of the X axis is 0x829C, the angle of the Y axis is
0xFF28, and the angle of the Z axis is 0x24E6. According to the formula, the
converted angles can be calculated as: X-axis angle -176.33°, Y-axis angle
-1.19°, Z-axis angle 51.89°.
HWT906-TTL | Datasheet v23-0721 | www.wit-motion.com – 18
6.2 Write IIC
The format of timing data written by IC is as follows:
First, the IIC host sends a Start signal to the HWT906 module.
Then write the IIC address IICAdr of the module, and write the register
address RegAddr.
In order to write the low byte of the first data, the high byte of the first data, if there is still data, you can continue to write in the order of the low byte and then the high byte, when the last data is written. , the host sends a stop signal to the module to give up the IIC bus.
When the high-byte data is passed into the HWT906 module, the internal registers of the module will be updated and the corresponding instructions will be executed. At the same time, the internal register address of the module will be automatically incremented by 1, and the address pointer will point to the next register address to be written, so that enter continuous writing can be realized.
7. SPI Communication Protocol
7.1 Hardware Configuration
The HWT906 module can be accessed completely through SPI. The SPI communication rate supports a maximum of 9MHz. The idle state of the clock line remains high, and data acquisition starts from the second clock edge.
Note: It takes at least 2us to start communication when the chip select pin is pulled low, so as to avoid data misalignment caused by slave identification errors.
7.2 Communication Protocol
The SPI protocol of the module adopts the way of register address access. The data in each address is 16-bit data, occupying 2 bytes. The address and meaning of the register are defined in the following table: For the register address table, please refer to the [Chapter 5] register address table of this article.
7.3 SPI Transmission
The transmitted timing data format is as follows:
Read and write operations:
When the highest bit of the register address is 1, it is the function of reading the register.
Example: When the starting address of the read register is 0x34, then RegAddrH is 0x80 and RegAddrL is 0x34.
When the highest bit of the register address is 0, it is the function of writing to the register.
Example: When the start address of writing is 0x34 register, then RegAddrH is 0x00, RegAddrL is 0x34.
The acquisition waveform with a length of 12 register data starting from reading the 0x34 register is as follows:
The chip select pin is pulled low for at least 2us, and the high and low bits
of the register are 0x80 and 0x34. The data returned by the HWT906 device is
0x75, 0x04… (the data received by MISO in the figure above).
According to the register list, the acceleration X register value is 0x0475,
and the protocol solution is 0.557g.
According to the register list, the acceleration Y register value is 0xFF50,
and the protocol solution is 0.085g.
According to the register list, the acceleration Z register value is 0x069D,
and the protocol solution is 0.826g. According to the register list, the
angular velocity X register value is 0x0000, and the protocol solution is
0.000°/s. According to the register list, the angular velocity Y register
value is 0x0001, and the protocol solution is 0.061°/s According to the
register list, the angular velocity Z register value is 0x0000, and the
protocol solution is 0.000°/s According to the register list, the magnetic
field X register value is 0x0028, and the protocol solution is 40 According to
the register list, the magnetic field Y register value is 0x01E1, and the
protocol solution is 481 According to the register list, the magnetic field Z
register value is 0x0166, and the protocol solution is 358 According to the
register list, the value of the angle X register is 0xFBCC, and the protocol
solution is -5.91° According to the register list, the value of the angle Y
register is 0xE7F0, and the protocol solution is -33.83 ° According to the
register list, the value of the angle Z register is 0xF56D, and the protocol
solution is -16.87 °
HWT906-TTL | Datasheet v23-0721 | www.wit-motion.com