Need help to program encoder with Absolute binary synchro-serial interface (SSI)
In the project I have encoder with 13 bit resolution connected via SP1490E (RS-485 interface)
The result doesn’t change: Reading: 52 Angle: 0
Arduino sketch
int clkPin = 53;
int dataPin = 52;
// int value = 0;
float angle = 0;
void setup()
{
pinMode(clkPin, OUTPUT); // Tx for RS422
pinMode(dataPin, INPUT); //Rx for RS422
digitalWrite(clkPin, HIGH); //give some default values
Serial.begin(115200);
//variables to keep track of position
int reading = 0;
float angle = 0;
}
void loop()
{
int reading = 0;
reading = dataPin;
//delay (50);
if ( reading >= 0)
{
angle = ((int)reading / 8192) * 360.0; // 13 bit resolution
Serial.print("Reading: ");
Serial.print(reading, DEC);
Serial.print(" Angle: ");
Serial.println((int)angle, DEC);
}
else
{
Serial.print("Error: ");
Serial.println(reading);
}
for (int i=7; i>=0; i--)
{
i = clkPin;
digitalWrite(clkPin, HIGH);
delayMicroseconds(1);
digitalWrite(clkPin, LOW);
delayMicroseconds(1); // delayMicroseconds(1ms);
}
}
Please advise.
Thank you,
Alechco