Arduino library for the MPS MagAlpha magnetic angle sensor.
MagAlpha sensor detects the absolute angular position of a permanent magnet, typically a diametrically magnetized cylinder on the rotating shaft.
For more information on the MagAlpha sensor family:
Supports all 3rd generation MagAlpha magnetic angle sensors from Monolithic Power Systems.
Applications | Part Numbers |
---|---|
Turning knob applications (potentiometer replacement) | MA800, MA820, MA850 |
Rotary encoders (optical encoder replacement, Servo motors, ...) | MA702, MA704, MA710, MA730 |
Position controlled motor drivers (FOC, ...) | MA302, MA310 |
Motor commutation (hall switches replacement) | MA102 |
Written by Mathieu Kaelin for Monolithic Power Systems. MIT license, all text above must be included in any redistribution.
Arduino | MagAlpha |
---|---|
GND | GND |
+3.3V (Not 5V) | VDD |
Warning |
---|
Unlike most Arduino & Genuino boards, the MagAlpha runs at 3.3V. Even if the I/O can tolerate 5V, check that the voltage applied to VDD is at 3.3V. Applying a voltages higher than 3.3V to the VDD pin could damage the sensor. |
All MagAlpha have a SPI communication interface. Some sensors like the MA702 also have an additional SSI (2-wire) interface.
Arduino | MagAlpha |
---|---|
MOSI | MOSI |
MISO | MISO |
SCK | SCLK |
any available digital pin (default: pin 0) | CS |
Arduino | MagAlpha |
---|---|
MISO | SSD |
SCK | SSCK |
Arduino / Genuino Board | MOSI | MISO | SCK | CS | Voltage Level |
---|---|---|---|---|---|
Zero | ICSP-4 | ICSP-1 | ICSP-3 | defined by the user, any digital pin (default: pin 0) | +3.3V |
MKRZero | 8 | 10 | 9 | defined by the user, any digital pin (default: pin 0) | +3.3V |
MKR1000 | 8 | 10 | 9 | defined by the user, any digital pin (default: pin 0) | +3.3V |
101 | 11 or ICSP-4 | 12 or ICSP-1 | 13 or ICSP-3 | defined by the user, any digital pin (default: pin 0) | +3.3V |
Due | ICSP-4 | ICSP-1 | ICSP-3 | defined by the user, any digital pin (default: pin 0) | +3.3V |
Uno or Duemilanove | 11 or ICSP-4 | 12 or ICSP-1 | 13 or ICSP-3 | defined by the user, any digital pin. Default pin must be changed because pin 0 is also used by the Serial port. (use pin 7 for example) | +5V |
Mega1280 or Mega2560 | 51 or ICSP-4 | 50 or ICSP-1 | 52 or ICSP-3 | defined by the user, any digital pin (default: pin 0) | +5V |
Leonardo | ICSP-4 | ICSP-1 | ICSP-3 | defined by the user, any digital pin (default: pin 0) | +5V |
Check Arduino SPI library reference page for more information on the SPI signal connections.
Install the library directly from within the Arduino IDE by using the Library Manager (Sketch => Include Library => Manage Libraries...).
It is also possible to import the library Zip file (check release tab) from the Arduino IDE (Sketch => Include Library => Add .ZIP Library...).
The library can also be manually installed by copying the MagAlpha library folder in your arduinosketchfolder/libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE to see the library.
Check this tutorial on Arduino library installation for more information: