Electrical Circuit and Software

Electrical Circuit

The system detects when the ankle is rotated in the coronal plane, and engages the motor to provide assistance. In the absence of signal from the EMG sensor, the motor will oppose ankle rotation and attempt to re-center the ankle. Motor control is provided by an Arduino Uno microcontroller and a Sabretooth 2x5 motor controller.

 

Sensors

Ankle rotation is measured by two parallel sensor paths:

  • Panasonic Model EVU-E3AF25B14 10k Linear Potentiometer. A potentiometer coupled to the mechanical linkage.
  • Advancer Technologies Muscle Sensor v3 Kit. Two electrodes connected to the peroneus longus, an ankle evertor, and third electrode connected to ground (Figure 3). The sensor outputs a 0-9VDC signal, but this is reduced to 0-5VDC via a resistive voltage divider before being read by the Arduino.

Arduino

The Arduino monitors 0-5VDC signals from each sensor using its 10-bit ADC channels. A 500Hz, 0-5V PWM square wave is generated and sent to the Sabretooth.

Sabretooth Motor Controller

The Sabretooth controller is powered by 12VDC from the power supply. It receives a PWM signal from the Arduino. A DC signal is provided to the motor based on the duty cycle of the PWM. 50% duty cycle corresponds to zero power, 0% corresponds to -12V, and 100% corresponds to +12V. The voltage varies linearly with duty cycle.

 

Software

The Arduino is programmed with the control logic to convert the sensor readings into a PWM. By default the motor response is controlled by the potentiometer input, with the motor torque linear with deflection angle. The potentiometer is at its midpoint (2.5V) when the ankle is not rotated.

However, if the EMG input exceeds a threshold of ~1V, then it will override the potentiometer. Motor response is linear with the EMG signal above the threshold.

Since the motor operates on 6V to 12V, the software varies the PWM duty cycle 0-25% and 75-100%. This corresponds to 6-12V in the reverse and forward directions, respectively.

A block diagram of the software is provided here: Software Block Diagram.pdf.

The source code is shown here: AFO Source Code.

Figure 1. Block Diagram of motor control circuit.

Figure 2. Wiring Diagram of the control circuit.

 

Figure 3. Electrode positioning for the EMG sensor.