I am using an ODrive Pro to drive a motor using ASCII protocol via LabVIEW with an RS485 encoder connected to the feedback I/O G0 pins. I am able to drive it and get my desired output over USB using the LabVIEW VI’s I have set up, however I want to be able to log the position and/or velocity with a separate data acquisition system. Is anyone aware of a way to pass through the encoder signal to another pin on the ODrive? I was attempting to use the isolated I/O output pins G10 and G13 but don’t have a way to set them to output. In the GUI I am able to set them to ENC0, Digital, Status, etc. but not getting any outputs. I am using them with an oscilloscope just to attempt to get a pulse output and using the power and ground pins as expected. I’m thinking my best solution at this point is to add another encoder, but my application is submerged so that would require some significant redesign and manufacturing. I would like to avoid it if possible. Please let me know if anyone is aware of this same situation or something similar before. Thank you!
Hi there,
RS485 is a digital protocol, which can’t be read/sampled as a standard quadrature protocol. It’s possible to listen into the RS485 lines with a RS485 transceiver + UART input, but I’m not sure if that’s possible via LabVIEW. Would it work for your application to just read the position/velocity from the ODrive over UART? ASCII Protocol — ODrive Documentation 0.6.10 documentation