The features such as the Triaxis® Hall Technology, Output Refresh Rate (4µs typical) Selectable Magnetic Field Axis (X/Y – X/Z – Z/Y) and wide measurement range all make this sensor a perfect choice for various IoT applications, and because of very good accuracy of the spatial magnetic sensor, perfectly suited for the development of various position sensing applications, contactless knobs, encoders, switches, and potentiometers, or some other type of magnetic field measuring application, based on an accurate spatial sensing.
How does it work?
3D Hall 6 click carries the MLX90380, a monolithic contactless sensor IC sensitive to the flux density applied orthogonally and parallel to the IC surface, from Melexis. This sensor relies on a Hall effect to accurately sense magnetic field changes on three perpendicular axes. The internal magnetic field sensing elements are multiplexed and connected to a pre-amplifier and then to a sine and cosine analog outputs. All of the analog outptts are routed to the MCP3204 – onboard 4-channel 12-Bit A/D converter with SPI interface, from Microchip.
The magnetic sensor has a very low pin count. However, in order to allow reading of the 4 analog inputs on the single Click board™, 3D Hall 6 click have onboard 4-channel, 12-Bit A/D converter, with SPI interface. Thus, the communication interface procedure relies on reading the appropriate registers of the MCP3204.
The MLX90380 contactless sensor also features a powerful programming engine, which allows the sensitivity and filter bandwidth to be programmed to optimally use the ADC input range of the ADC. However, because 3D Hall 6 click have onboard A/D converter, the output voltage of the MLX90380 is matched with the input range of the MCP3204, so the user don’t need to do any additional setting.
High-speed dual analog outputs allow the MLX90380 to deliver accurate sine/cosine signals when used with a rotating permanent magnet. The sensor provides raw data output, based on a strength of the magnetic field. The measurement is affected by many factors: slight manufacturing differences between ICs affect the readings, even the slight differences between Hall plates within the same IC might affect the accuracy, although the IC contains highly matched sensing elements. Also, the altitude might affect the readings, as well as temperature changes.
The 3D Hall 6 software library contains simplified functions that allow straight-forward readings to be performed, reducing the steps needed for a proper initialization and configuration of the device.
The Click board™ can operate with 3.3V MCUs only, it is set to work over the I2C by default, and it is already equipped with the pull-up resistors. It is ready to be used as soon as it is inserted into a mikroBUS™ socket of the development system.
Specifications
Type
Magnetic
Applications
It is perfectly suited for the development of various position sensing applications, contactless knobs, encoders, switches, and potentiometers, or some other type of magnetic field measuring application, based on an accurate spatial sensing.
On-board modules
MLX90380, a monolithic contactless sensor IC from Melexis
Key Features
The three independent Hall sensor channels allow high accuracy, additional thermal sensor for compensation. The small package case allows a very compact design while offering plenty of features, a programmable interrupt engine, extremely low power consumption, and more
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on 3D Hall 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 3D Hall 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 contains function for setting CS pin state Library contains functions for setting reference values, reading raw data, reading adc data Library contains functions for performing voltage, angle(degrees) and angle(radians) calculations.
Key functions:
void c3dhall6_set_referenceValues( float reference_voltage, float ref_adc_ch0, float ref_adc_ch1, float ref_adc_ch2, float ref_adc_ch3 )
– sets reference values for voltage and angle calculationsvoid c3dhall6_get_Volt( uint8_t channel_no, float * channel_voltage )
– reads ADC value on selected channel and converts that value to Volts or miliVolts – depending on reference voltage settingvoid c3dhall6_get_angle_deg( uint8_t die, float * angle_value )
– reads ADC values for selected die and calculates angle value in degrees
Examples description
The application is composed of three sections :
- System Initialization – Initializes SPI, LOG and CS pin
- Application Initialization – Initializes SPI driver and sets reference values
- Application Task – Executes one or more ‘c3dhall6_log_xxx_task’ functions
void applicationTask( ) { c3dhall6_log_angleDeg_task( ); Delay_ms(100); }
Additional Functions
- c3dhall6_log_adc_task() – performs and logs adc measurements on all channels
- c3dhall6_log_volt_task() – performs and logs voltage measurements on all channels
- c3dhall6_log_angleRad_task() – performs and logs angle measurements in radians on each die
- c3dhall6_log_angleDeg_task() – performs and logs angle measurements in degrees on each die
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
- SPI
- UART
- Conversions
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.