As5048a As5048 PWM SPI 14 бит Магнитный энкодер Бесконтактный датчик угла поворота к Arduino

As5048a As5048 PWM SPI 14 бит Магнитный энкодер Бесконтактный датчик угла поворота  As5048a As5048 PWM SPI 14 бит Магнитный энкодер Бесконтактный датчик угла поворота 

 Datasheet As5048a

 Подключение к Arduino 

 Скетч

 

 

As5048a As5048 PWM SPI 14 бит Магнитный энкодер Бесконтактный датчик угла поворота к Arduino

As5048 Datasheet

 

Как полчить данные с датчика As5048

  • Интерфейс SPI - для AS5048A.
  • Подключение энкодера по I2C - для AS5048B.
  • Выход PWM - доступен для всех модификаций. Разрешающая способность  12 бит.

Минус использования PWM-выхода заключается в том, что функция установки нулевого положения датчика в этом случае недоступна.

 

Библиотека As5048 для Arduino >>>

Скетч пример As5048 для Arduino 

***********************************************

#include <SmallSPI.h>
#include <AS5048.h>
AS5048 Sen1(4);//connected to PD4(digital 4 on Uno) works only for 4,5,6, and 7
unsigned int dat;
byte lb, hb, low, hi, OCF, COF;

void setup()

{
Serial.begin(9600);
mySPI.begin(1);
Serial.println("Diagnostics:");//See page 14 in datasheet
dat = Sen1.getDiagnostics();
hb = (dat >> 8);
lb = dat & 0xFF;
Serial.print("AutomanticGainControl : "); Serial.println(lb);
OCF = (dat >> 0) & 0x1;//???
COF = (dat >> 0) & 0x1;//???
low = (dat >> 2) & 0x1;//Low distance alarm
hi = (dat >> 3) & 0x1;//High distance alarm
Serial.print("OCF : "); Serial.println(OCF);
Serial.print("COF : "); Serial.println(COF);
Serial.print("LOW : "); Serial.println(low);
Serial.print(" HI : "); Serial.println(hi);
Serial.println("Magnitude:");
Serial.println(Sen1.getMagnitude());
//start to read angle here so in loop the first red will not be garbage data
Serial.println(Sen1.getAngle());
}

void loop()

{
Serial.print("Angle:");
Serial.println(Sen1.getAngle());
delay(100);
}

***********************************************

 

You have no rights to post comments