A deep dive into the exoskeleton electronics
At Project MARCH we are building an exoskeleton to give back full mobility to paraplegics. In this blogpost I want to take you through our electrical system and the Printed Circuit Boards (PCB) we designed for our newest exoskeleton: the MARCH III. First a short introduction to the electrical parts and then a more detailed explanation of all the PCBs.
I would like to start with the ‘backpack’ of the exoskeleton. On its bottom, a big battery pack to supply the exoskeleton its power. It connects to a large Printed Circuit Board above it, that implements certain protection measurements, like over-current and over-voltage, and allows monitoring of the energy flows: the Power Distribution Board. It also supplies power to all the other electronics: ‘low voltage’ for most and ‘high voltage’ for our motors. Those motors, (brushless) drone engines, are what make the joints of the exoskeleton rotate. They do need, however, a special module to get it spinning. This module is called a servo driver and sends the right signals to the coils inside the motor. We created a custom PCB for our servo driver, which you can read more about below.
Power, power distribution, servo drivers and the motors are the main electrical components of the exoskeleton. One big part, however, is still missing: the sensors in the exoskeleton. Important are the ones that can measure the rotational angle of the motors. They supply the timing information, which the servo drivers need to send out the right signals to the motors at exactly the right time. We designed our own angle sensor and you read more about in the section ‘The rotational angle sensor PCB’, below. There are more sensors in the exoskeleton, but those are relatively ‘simple’. Exemplary are the temperature sensors which we use to be absolutely sure the motors of the joints don’t overheat.
A board computer, or master, is connected (through EtherCAT) with the servo drivers and controls the joints, such that the exoskeleton actually walks. At strategic points in the exoskeleton small ‘EtherCAT compatible’ microcontroller boards (called General EtherCAT Slaves) are placed which allow connecting all sorts of peripherals, such as the temperature sensors above, but also a crutch (with buttons and a screen) which allows full control over the exoskeleton by its pilot.
Power Distribution Board
In figure 1 the Power Distribution Board can be found. On it are visible six, bright yellow, connector pairs which allow easily hooking up the six joints of the exoskeleton (technically speaking, their servo drivers). Each connection is protected by an active over-current circuit which also allows us to sequentially turn on the servo drivers, limiting the switch-on current surge they draw. In the middle two blocks: DC-DC converters which provide the ‘low voltage’ for things like the board computer and the EtherCAT slaves and ‘logic voltage’ for the PDB itself. On the top right a place to mount a microcontroller (an mbed) which implements the communication with the master and allows control of the over-current ciruits, like resetting them.
The General EtherCAT Slave
The General EtherCAT Slave in figure 2 is a little PCB which in essence is a little microcontroller with EtherCAT compatibility. It allows us to easily hookup a sensors anywhere on the exoskeleton, because the microntroller supports many protocols and implementing it in the exoskeleton is pretty much just a few ethernet cables. Last year we designed our own, but this year we had to admit there was a much smaller General EtherCAT Slave available online. The opensource project  allowed us make ‘our own’ at Eurocircuits relatively easily.
The servo driver PCB
In figure 3 one may find the servo driver PCB. Functionally seen, it is not so complex, as its main goal is to route the right connectors to the right pins of our stock-bought servo driver, which does all the heavy lifting regarding low-level motor control. More challenging was to make the design as small as reasonably possible to allow the ‘bones’ of the exoskeleton, were they are mounted onto, to be small too.
The rotational angle sensor PCB
The last PCB we made for the MARCH III is the one seen in fugre 4. We are still in the process of testing it, but it should allow higher resolution (i.e. more ‘detailed’) angle sensing on the joints. Which in turn allows better (e.g. more accurate or smoother) control of the joints.