How does it work?
Magneto 6 Click uses the TLI493D-A2B6, low power three dimensional Hall effect sensor with I2C interface, from Infineon. Within its small 6-pin package the sensor provides direct measurement of the X, Y, and Z components of a magnetic field. This sensor offers accurate three dimensional sensing with extremely low power consumption and consists of three main functional units:
- The power mode control system, containing a low-power oscillator, basic biasing, accurate restart, undervoltage detection, and a fast oscillator.
- The sensing unit, which contains the HALL biasing, HALL probes with multiplexers, and successive tracking ADC, as well as a temperature sensor.
- The I2C interface, containing the register files.
Some of the main characteristics of this sensor IC are 3D magnetic flux density sensing of ±160 mT, 12-bit data resolution for each measurement direction plus 10-bit temperature sensor, programmable flux resolution down to 65 μT, and interrupt signal to indicate a valid measurement to the microcontroller. For a good adaptation, this sensor is equipped with different modes and a digital communication interface. I2C interface can be accessed in any power mode. The interrupt function is multiplexed with the I2C SCL pin, and can be used to indicate measurement completion. The use of an interrupt line is optional but highly recommended to ensure proper and efficient readout of the sensor data. Magneto 6 Click is ideally suited for the measurement of 3 dimensional movement within a magnetic field, linear slide movement, or 360° angle rotation. The magnetic measurement values are provided in the two’s complement with 12-bit or 8-bit resolution in the registers with the symbols Bx, By, and Bz. By default, the temperature measurement is activated. The temperature measurement can be disabled if it is not needed and to increase the speed of the repetition of the magnetic values.
This Click Board™ uses I2C communication interface, and it’s designed to be operated only with 3.3V logic level. A proper logic voltage level conversion should be performed before the Click board™ is used with MCUs with logic levels of 5V. More information about the TLI493D-A2B6 can be found in the attached datasheet. The Click board™ comes equipped with a library that contains easy to use functions and a usage example that may be used as a reference for the development.
Specifications
Type
Magnetic
Applications
The TLI493D-A2B6 is designed for all kinds of sensing applications, it can be used for multi function knobs, joystick and gimbals, robotics position sensing.
On-board modules
Magneto 6 Click uses the TLI493DA2B6 IC, a high accuracy magnetic sensor, from Infineon Technologies.
Key Features
Low-power oscillator, basic biasing, accurate restart, undervoltage detection, fast oscillator, HALL biasing, HALL probes with multiplexers, successive tracking ADC, temperature sensor, I2C interface
Interface
GPIO,I2C
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 Magneto 6 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 |
Software Support
We provide a library for the Magneto 6 Click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Library Description
Library provides functions for reading and writing data via I2C module. There are additial functions for reading device ID, device type and hardware version of the device. Library has functions for reading data from sensor data values, temperature data and magnetic data.
Key functions:
void magneto6_generic_write ( uint8_t reg_adr, uint8_t trigger, uint8_t tx_data )
– Function for writing byte data to device.int16_t magneto6_get_temp_value ( void )
– Function for reading temperature value from device and converting it to degrees Celsius.void magneto6_get_axes_value ( magneto6_axes_t *axes )
– Function for reading magnetic data from device for all three axes.
Examples description
The application is composed of three sections :
- sys_init – Initialization of i2c and log modules, and additional pins
- app_cfg – Reading device information and configuring device
- app_task – Reading values from device
void app_task ( void ) { if ( TEMPERATURE == demo_type ) { sens_data = magneto6_get_temp_value( ); IntToStr( sens_data, demo_txt ); Ltrim( demo_txt ); log_text( " Temperature: " ); log_line( demo_txt ); } else { magneto6_get_axes_value( &axes_val ); IntToStr( axes_val.x, demo_txt ); Ltrim( demo_txt ); log_text( " X: " ); log_line( demo_txt ); IntToStr( axes_val.y, demo_txt ); Ltrim( demo_txt ); log_text( " Y: " ); log_line( demo_txt ); IntToStr( axes_val.z, demo_txt ); Ltrim( demo_txt ); log_text( " Z: " ); log_line( demo_txt ); }
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- Conversion
- UART
- I2C
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.