I am designing a system, where I have four motors separated by a rotary joint. A remote control system provides the user interface. This is simply 8 switches output from the control. The remote has buttons to "Move Motor 1 Clock-wise", etc. However, by pressing a special button, I can have the operator indicate that he wants, for example, motor 1 to move to its next 90 deg increment.
Two of the motors are on the base, and the other two are more distant. And since the more distant motors are on the other end of a rotary joint, I need to use a slip-ring. Initially, I had my electronics all in the base, and was thinking I would send power through a slip ring to the more distant motors. But, now I have added an abolute encoder and am planing to use the quadrature encoder on the motor. So, I now need a total of 8 lines of sensor data for each of the remote motors. That is 16 data lines, and if I were to provide the 10 amps of power I need through the slip-ring, that sort of slip-ring gets very expensive.
So, my next iteneration was to use two separate motor controllers, located at either end of the machine, and only pass 4 singnal lines from the remote control, through the slip-rings. However, I have now just realized a problem with this system. There are certain geometries, where parts of the machine will collide. So, I need my main controller to know that the end-effector is properly positioned, before the other motors are permitted to move, to avoid a collision.
So, rather than a zillion singal lines, I think I need some sort of digital communication through the slip ring. But, I am concerned about noise. The slip ring I have currently chosen is this one with 12 lines;
https://www.robotshop.com/en/slip-ring-flange-736.html
Is it viable to connect two separate programmable motor controllers with some sort of serial protocall through this slip-ring. Is there a particular protocal that is native to a programmable controller, that is a good choice? I don't know which motor controller I will use yet. One I was considering is the RoboteQ SDC2130, which has RS232 and USB Communications
https://www.robotshop.com/en/roboteq-sdc2130.html
Alternatively, I might just go with an Arudino system with separate motor drivers. I don't know what communication protocals are avaialble for Arduino.
Wiht all the above in mind, here is the system as I currently envision it.
On Base;
Master Motor Controller, and Radio Controller.
Two motors, each with 5-channel Gray Code Absolute Encoder on output shaft, and Quadrature on the motor.
Through Slip Ring;
4 wires passed through from the radio control.
3 Wires for RS-232 communication.
On End Effector;
Slave Motor Controller.
Two motors, each with 5-channel Gray Code Absolute Encoder on output shaft, and Quadrature on the motor.
Of course, the main issue, is if RS-232 is a good communications protocal through the slip ring. Any comments on this, or on the whole system?
-Joe