NOTE: Rotary Magnetic Holder does not come in the same package as this Click board™, but you can find it in our shop.
How does it work?
Magnetic Rotary 4 Click as its foundation uses the AS5047D, a high-resolution rotary position sensor for fast absolute angle measurement over a full 360-degree range from ams AG. The core of the AS5047D represents a CMOS technology Hall-effect magnetic sensor that converts the magnetic field component perpendicular to the surface of the chip into a digital value. It allows a host MCU to read 14-bit absolute angle position data from the AS5047D and to program non-volatile settings without a dedicated programmer. It is also equipped with a Dynamic Angle Error Compensation block that corrects the calculated angle regarding latency by using a linear prediction calculation algorithm.
The signals coming from internal Hall sensors are amplified and filtered before their conversion by the ADC and then processed by the CORDIC block to compute the angle and magnitude of the magnetic field vector. The intensity of the magnetic field is used by the automatic gain control (AGC) to adjust the amplification level to compensate for temperature and magnetic field variations.
Magnetic Rotary 4 Click communicates with MCU through a standard SPI interface supporting the common SPI mode, SPI Mode 1. This Click board™ also comes with an onboard header reserved for incremental and commutation signals of their respective A/B/I and U/V/W signals alongside embedded self-diagnostics. Incremental movements are indicated on a set of ABI signals with a maximum resolution of 2000 steps / 500 pulses per revolution in decimal mode and 2048 steps / 512 pulses per revolution in binary mode. The resolution of the ABI signal is programmable and can be reduced to 32 or 8 pulses per revolution.
Brushless DC (BLDC) motors are also controllable through a standard UVW commutation interface with a programmable number of pole pairs from 1 to 7. At constant rotation speed, the latency time is internally compensated by the AS5047D, reducing the dynamic angle error at the SPI, ABI, and UVW outputs, while at higher speeds, the interpolator fills in the missing ABI pulses and generates the UVW signals with no loss of resolution. The AS5047D allows selection between a UVW output interface and a PWM-encoded interface on the W pin, which can be seen as an absolute angle position.
Also, unique addition to this board is a position for a rotary magnet holder designed to be used alongside a magnetic rotary position sensor allowing fast prototyping and quick measurements during development.
This Click board™ can be operated only 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 to support BLDC motor commutation for the most challenging automotive applications
On-board modules
AS5047D – rotary position sensor for fast absolute angle measurement over a full 360-degree range from ams AG
Key Features
Good resolution for motor and position control, independent output interfaces, self-diagnostics, immune to external stray field, low power consumption, highest reliability and durability, rotary magnet holder, and more
Interface
SPI
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V or 5V
Pinout diagram
This table shows how the pinout on Magnetic Rotary 4 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 | VCC SEL | Left | Logic Level Voltage Selection 3V3/5V: Left position 3V3, Right position 5V |
J1 | – | Unpopulated | Incremental and Commutation Signals Connection Header |
Magnetic Rotary 4 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | 3.3 | – | 5 | V |
Rotation Angle Range | 0 | – | 360 | ° |
Orthogonal Magnetic Field Strength | 35 | – | 70 | mT |
Core Resolution | – | 14 | – | bit |
ABI Resolution | 32 | – | 2048 | SpR |
Maximum Speed | – | – | 14500 | RPM |
Operating Temperature Range | -40 | +25 | +120 | °C |
Software Support
We provide a library for the Magnetic Rotary 4 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 Magnetic Rotary 4 Click driver.
Key functions
-
magneticrotary4_set_rotation_direction
This function sets the magnet rotation direction to clockwise or counter-clockwise. -
magneticrotary4_calibrate_zero_position
This function calibrates the sensor to zero Angle position. -
magneticrotary4_get_angle
This function reads the absolute position raw data and converts it to degrees (Angle).
Example Description
This example demonstrates the use of Magnetic Rotary 4 Click board™ by reading and displaying the magnet (potentiometer) angular position in degrees.
void application_task ( void )
{
float angle;
if ( MAGNETICROTARY4_OK == magneticrotary4_get_angle ( &magneticrotary4, &angle ) )
{
log_printf( &logger, " Angle: %.1f degreesrnn", angle );
Delay_ms ( 100 );
}
}
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.MagneticRotary4
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 MikroElektronika compilers.
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.