Hey everyone. I have some questions about adding a sensor into the RS485 line with a XM540-W150R as I’m not too hot on RS485 and could do with a little help if possible.
I need to add an absolute multi turn rotary encoder in very close proximity to the XM540 and cannot run cables back to the controller (openRB-150)
The encoder I would like to use is linked below it comes in either 12 or 14 bit RS485
can I use the external port power supply to run this encoder as the main line voltage on the bus will be 12v. It looks a little low at 3.3v as the encoder needs 3.8v or should I break out on the main line voltage and used a simple drop down to get to the 3.8v for the encoder - would this be acceptable?
do you think this encoder be readable across the dynamixel protocol on the RS485 line when installed in the chain?
Additional sensors can’t be integrated into the DYNAMIXEL network in this way. The network was not designed to have additional 3rd party components communicating over the same lines as the DYNAMIXELs.
The intended use of the external ports is to integrate an external sensors direct analog or digital output. To achieve the kind of operation it sounds like you want, you can connect a standard analog output encoder or potentiometer and access the analog value by reading the servo’s external port data register.
Adding to Jonathon’s comments, to use the OpenRB-150 properly with the XM-540, you’ll need the DXL Communication Bridge module:
And from a CUIDRIVES Arduino example code I’ve found (as shown below), it looks like that you can use the SPI Comm. Pins (8, 9, 10) on the OpenRB-150 to program your encoder (also use Pin 7 for CS Pin):
Thanks for the detail - it an absolute encoder I need to implement in the system as I’m using the motor in Extended Position Control Mode (Multi-turn), I need to be able to retain a shaft position through power cycles. It’s not a robot application so unfortunately I cannot add a reference prox/limit sensor etc, it must be a rotary absolute encoder