I am trying to read the encoder signal of a drive amplifier using an ARM (TM4C). The amplifier has differential outputs (+- 5V), the MCU has 2 QEIs (Quadrature Encoder Interfaces).
First I have tried to use the A and B signals like single ended ones, and sometimes I get a steady signal / count number. (Compared to the drive amplifiers configuration software both of them are dead on the same count).
BUT from time to time, the counts start to float even if the motor is not moving. Or while moving from one direction to the other it starts to lose count.
I have measured the signal with my Rigol DSO and there are spikes on the encoder signals. So I have decided to use both A and notA feed them to a UA9637A to make the differential signals single ended and get a nice square wave, but no joy.
The problem persist.
Side notes:
- Drive Amplifier = Hiwin D2
- Encoder = 13 bit incremental (RS4222 Differential)
- MCU = TM4C123G LaunchPad
What shall I try to get the proper count of steps? The cable coming from the amplifier to the breadboard is not shielded but it's only like 20-25cm long. Does this matter?
I am open for any ideas that might fix this issue.