How does it work?
Magneto 13 Click is based on the MA736, a contactless digital angle sensor from Monolithic Power Systems. Its angle encoder has a configurable 8-bit to 12.5-bit absolute resolution and low latency at a constant rotation speed, allowing rotation measurements from 0 to 60.000 RPM. If used in servo motor applications, it is worth knowing that digital filtering is adjustable to optimize the control loop performance. For the best performance, the best mounting method would be to place the sensor on the rotation axis of a permanent magnet, such as a diametrically magnetized cylinder.
The Magneto 13 Click detects the strength of the magnetic field, and for diagnostic purposes, it uses configurable thresholds. The configuration parameters, such as the reference zero-angle and magnetic field detection threshold, are stored in on-chip non-volatile memory (NVM). The values from the NVM are loaded automatically during the Start-up condition and can be restored through the SPI interface. The sensor detects the magnetic field with the integrated Hall devices, with the angle measured with the SpinAxis method, which digitizes the direction of the field. Doing so, it does not need feedback loop-based circuits or complex arctangent computations. This method generates a sinusoidal signal with a phase representing the magnetic field’s angle. The angle is obtained by a time-to-digital converter that measures the time between the zero crossing of the sinusoidal signal and the edge of a constant waveform.
To communicate with the host MCU, this Click board™ uses the standard 4-Wire SPI serial interface, supporting SPI mode 0 and mode 3. Modes are detected automatically by the sensor. In addition, error flags with active HIGH are available on ERR pin. The angle changes exceeding the defined threshold are indicated as output interruptions over the IRQ pin. The NVM pin is the output that MA736 uses to indicate whether it is busy accessing the non-volatile memory. Also, two LEDs, MGH and MGL, make a visual presentation if the field strength is above or below the selected threshold.
This Click board™ can only be operated with a 3.3V logic voltage level. The board must perform appropriate logic voltage level conversion before using 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
Magnetic
Applications
Can be used for general-purpose angle measurement, high-resolution angle encoders, automotive positioning sensing, robotics, and more.
On-board modules
MA736 – contactless digital angle sensor from Monolithic Power Systems
Key Features
Low power consumption, highest reliability and durability, high-resolution output, operates with wide magnetic range, programmable threshold, non-volatile memory, and more
Interface
SPI
Feature
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 13 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 |
LD2 | MGL | – | Low Magnetic Field LED Indicator |
LD3 | MGH | – | High Magnetic Field LED Indicator |
Magneto 13 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Rotation Speed Measurement | 0 | – | 60.000 | RPM |
Magnetic Field Accuracy | – | 5 | – | mT |
Resolution | 8 | – | 12.5 | bit |
Software Support
We provide a library for the Magneto 13 Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for Magneto 13 Click driver.
Key functions
-
magneto13_get_angle
Magneto 13 gets the angular position function. -
magneto13_get_field_strength
Magneto 13 gets the magnetic field strength function. -
magneto13_set_mag_field_thd
Magneto 13 sets the magnetic field threshold function.
Example Description
This library contains API for the Magneto 13 Click driver. The demo application reads and displays the magnet’s angular position in degrees.
void application_task ( void )
{
static uint8_t field_strength = 0;
static float angle = 0;
if ( MAGNETO13_OK == magneto13_get_field_strength( &magneto13, &field_strength ) )
{
if ( ( MAGNETO13_FLD_ST_OK == field_strength ) && ( MAGNETO13_OK == magneto13_get_angle( &magneto13, &angle ) ) )
{
log_printf( &logger, " Angle: %.2f [deg]rn", angle );
log_printf( &logger, " -------------------- rn" );
Delay_ms( 1000 );
}
}
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.Magneto13
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. UART terminal is available in all MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE Software Development Kit, that needs to be downloaded from the LibStock and installed for the compiler you are using to ensure proper operation of mikroSDK compliant Click board™ demo applications.
For more information about mikroSDK, visit the official page.