I am working on a project, which has absolute encoder AVM58N-011. As per it's data sheet, it has SSI interface, and RS422 is mentioned as standard conformity. This encoder is being used by the CNC machine, i want to hook up arduino at the data output pins to get the position and whatever it is transferring to it's interface electronics.
Can it be done, because clock pulse is already being provided by the interface electronics to the encoder, i just want to look into the data on arduino between Absolute Encoder and CNC.
I have basic idea of communication protocols, i tried connecting Usb to serial converter at the data output pins, RX light was blinking on Real Term, and some gibberish data was also there but nothing useful.
Data sheet of the encoder is enclosed, if you want to have a look into it.
Please help. avm58.pdf (155.7 KB)
I have not implemented clocking, absolute encoder came built-in with CNC machine, i am just trying to get the position data from that built-in encoder.
I have searched the internet, there has been discussions to connect arduino with absolute encoder already. But that is not what i am looking for. I just need to access the position data, without applying arduino's clock pulse. .
SSI communications require a clock pulse. If some other device is supplying the clock pulse, you will need to read that as well as the data line, and decode the signal from the result.
Thank you Jremington. But how can i do that. How can i know the clock pulse and data. I don't have any technical manual for my CNC. what approach should i adopt?
You need two inputs to read the clock and data lines, and write code to interpret the signals. A description of the SSI protocol used by the sensor will come in very handy.
I don't have any technical manual for my CNC. what approach should i adopt?
You will have to reverse engineer the physical interface. If it is RS422, you can't connect it directly to an Arduino. An oscilloscope would be essential for the reverse engineering process.
The data and clock are both RS422, by your data sheet. See it + and - lines for both clock and data. That means the signal is bi-polar, switching between the + and the - lines. Look for chips that convert RS422 to digital and you can build the interface that will give you a single output line for each signal and that will connect to two pins on your Arduino. One will be the clock and one will be the data.
Be aware of the minimum and the maximum clock speeds. A regular Arduino may not be fast enough to handle the speed.