How does it work?
6DOF IMU 17 Click as its foundation uses the IIM-42652, a 6-axis motion tracking device that combines a 3-axis gyroscope and a 3-axis accelerometer from TDK InvenSense. It features a 2K-byte FIFO that can lower the traffic on the selected serial bus interface and reduce power consumption by allowing the system processor to burst read sensor data and then go into a low-power mode. With its 6-axis integration, the IIM-42652 guarantees optimal motion performance for customers. The IIM-42652 supports an extended operating temperature range up to 105°C, allowing customers to design it into a wide range of industrial IoT applications, including navigation and stabilizing industrial machinery and robots.
The gyroscope supports eight programmable full-scale range settings from ±15.625dps to ±2000dps, and the accelerometer supports four programmable full-scale range settings from ±2g to ±16g. Other industry-leading features include on-chip 16-bit ADCs, programmable digital filters, an embedded temperature sensor, and programmable interrupts. The IIM-42652 also provides high robustness by supporting 20,000g shock reliability.
6DOF IMU 17 Click provides the possibility of using both I2C and SPI interfaces with a maximum frequency of 1MHz for I2C and 24MHz for SPI communication. The selection can be made by positioning SMD jumpers labeled as COMM SEL to an appropriate position. Note that all the jumpers’ positions must be on the same side, or the Click board™ may become unresponsive.
Interrupt functionality is configured via the Interrupt Configuration register, which allows for interrupt pin configuration routed to the INT pin of the mikroBUS™ socket (used to signal MCU that an event has been sensed), the interrupt latching and clearing method, and triggers for the interrupt. The interrupt status can be read from the Interrupt Status register.
This Click board™ can be operated only with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before use with MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
Specifications
Type
Motion
Applications
Can be used for applications like tilt sensing, navigation, orientation measurement, platform stabilization, robotics, and many more
On-board modules
IIM-42652 – 6-axis SmartIndustrial™ MotionTracking device that supports an extended operating temperature range for industrial applications from TDK InvenSense
Key Features
Low power consumption, digital-output X-, Y-, and Z-axis angular rate sensors with programmable full-scale range, user-programmable interrupts, 20.000g shock tolerant, and more
Interface
I2C,SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
S (28.6 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on 6DOF IMU 17 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
JP1-JP4 | COMM SEL | Left | Communication Interface Selection SPI/I2C: Left position SPI, Right position I2C |
6DOF IMU 17 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Gyroscope Full-Scale Range | ±2000 | – | ±15.625 | dps |
Accelerometer Full-Scale Range | ±2 | – | ±16 | g |
Operating Temperature Range | -40 | +25 | +105 | °C |
Software Support
We provide a library for the 6DOF IMU 17 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for 6DOF IMU 17 Click driver.
Key functions:
c6dofimu17_cfg_setup
– Config Object Initialization function.c6dofimu17_init
– Initialization function.c6dofimu17_default_cfg
– Click Default Configuration function.
Examples description
This library contains API for 6DOF IMU 17 Click driver. The library initializes and defines the I2C or SPI bus drivers to write and read data from registers. The library also includes a function for reading accelerometer and gyroscope X-axis, Y-axis, and Z-axis data as well as the temperature in degrees Celsius.
void application_task ( void ) { c6dofimu17_axis_t accel_data; c6dofimu17_axis_t gyro_data; float temperature; c6dofimu17_get_accel_data( &c6dofimu17, &accel_data ); c6dofimu17_get_gyro_data( &c6dofimu17, &gyro_data ); c6dofimu17_get_temperature( &c6dofimu17, &temperature ); log_printf( &logger, "t Accel X: %dt|tGyro X: %drn", accel_data.x, gyro_data.x ); log_printf( &logger, "t Accel Y: %dt|tGyro Y: %drn", accel_data.y, gyro_data.y ); log_printf( &logger, "t Accel Z: %dt|tGyro Z: %drn", accel_data.z, gyro_data.z ); log_printf( &logger, "t- - - - - - - - - - - - - - - - - - -rn" ); log_printf( &logger, "tt Temperature: %.2f Crn", temperature ); log_printf( &logger, "t--------------------------------------rn" ); Delay_ms( 1000 ); }
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other mikroE Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.6DOFIMU17
Additional notes and informations
Depending on the development board you are using, you may need USB UART click, USB UART 2 click or RS232 click to connect to your PC, for development systems with no UART to USB interface available on the board. The terminal available in all MikroElektronika compilers, or any other terminal application of your choice, can be used to read the message.
mikroSDK
This Click board™ is supported with mikroSDK – MikroElektronika Software Development Kit. To ensure proper operation of mikroSDK compliant Click board™ demo applications, mikroSDK should be downloaded from the LibStock and installed for the compiler you are using.
For more information about mikroSDK, visit the official page.