With a group of students we are building an exoskeleton for paraplegics. I am part of the Software & Control department and we are designing the motor controller configuration. We have several requirements:
- Size is one of our main requirements. We want the Exoskeleton to be as slim as possible, so this is true for all the components as well. We want the motor controller to be as small as possible.
- The motor controller has to work with a brushless DC motor.
- A setpoint will be sent from a microcontroller to the motor controller
- Two or three absolute encoders need to be connected, this depends on the design of the joint.
*We are either going to use position or torque control
*We need one encoder for the motor angle, and one for the joint angle. We might implement Series Elastic Actuation in our joint and then we want to be able to measure the deflection in the spring and thus need two encoders for that.
- A continuous power output in the range of 700 - 1200 Watt
While exploring several off-the-shelf possibilities, we came accross the Elmo Gold Twitter(http://www.elmomc.com/products/gold-twitter-servo-drive.htm
) and the IOMI Pro(http://granitedevices.com/wiki/IONI_device_model_comparison
). One of the problems of these boards, is the amount of absolute encoders that can be connected. Both the Elmo and the IOMI board can either have 1 or no absolute encoders connected.
We came op with a solution, so that we are able to connect multiple encoders. In our exoskeleton we are going to use an EtherCAT Master-Slave configuration. The High-Level control (e.g. state-machine) is on the EtherCAT Master and sends joint angle setpoints. Our idea is to use a EtherCAT Slave as a sort of second controller, which gets the joint setpoint and the joint encoder values, calculates the motor setpoint and sends this out to a certain off-the-shelf controller like the Elmo Gold Twitter or the IOMI Pro.
My question is the following: Is this even a good solution? And what are other solution to this problem? Are there even better alternatives for a motor controller? Might it be a better idea to build and program your own motor controller? (please bare in mind that we have limited experience in that area)
I thank you all in advance for your reply!