Introduction: Exoskeleton Arm
Exoskeleton is an outer framework that can be worn on a biological arm. It is powered by actuators and can provide assistance or increase the strength of the biological arm, depending on the power of the actuator. Electromyography(EMG) is the suitable approach for human-machine interface with the help of exoskeleton.
When working with EMG we actually measure the motor unit action potential [MUAP] generated in the muscle fibers. This potential builds up in the muscles when it receives a signal from the brain to contract or relax.
Step 1: More About Exo-Arm
The Nerve Potential
• MOTOR UNIT ACTION POTENTIAL (MUAP) is generated on the surface of our arms whenever we contract or relax our arm
. • Amplitude is in order of 0-10 millivolts
• The frequency in between 0-500Hz.
• This MUAP is the core of this project and the basis of EMG processing.
THE EXOSKELETON ARM
• It is an outer framework that can be worn on a biological arm
• It is uses a Non-invasive method to acquire MUAP from muscles to control the framework, that can be worn on a biological arm.
• Powered by a high torque servo motor.
• Can provide assistance or increase the strength of the biological arm, depending on the torque of the servo motor
. • Electromyography (EMG) is the suitable approach for human-machine interface (HMI) with the help of exoskeleton (EXO) .
Attachments
Step 2: Required Hardware Tools:
Click on the links to go to where you can buy items
1)1x Microcontroller board : EVAL-ADuCM360 PRECISION ANALOG MICROCONTROLLER (Analog Devices Inc.)This microcontroller board is used in our project as the brain to control the exoskeleton arm. This process will be used for interfacing our EMG sensors with the arm (servo motors).
2)1x AD620AN : (Analog Devices Inc.)This receives signal from EMGelectrodes and give the differential gain as the output.
3) 2x OP-AMP : ADTL082/84(Analog Devices Inc.)The output from the DIFFERENTIAL AMPLIFIER is rectified and this output is fed to the LOW PASS FILTER and then to the GAIN AMPLIFIER.
4)1x SERVO MOTORS: 180 kg*cm torque. It is used for the movement of the arm.
5)3x EMG Cables and electrodes : For the acquisition of signal.
6) 2x Battery and Charger : Two 11.2V, 5Ah Li-Po battery, it will be used to power the servo. Two 9V battery to power the EMG circuit.
7)1x1 meter aluminum sheet(3 mm thick) for frame design .
Resistors
• 5x 100 kOhm 1%
• 1x 150 Ohm 1%
• 3x 1 kOhm 1%
• 1x 10 kOhm Trimmer
Capacitors
• 1x 22.0 nF Tant
• 1x 0.01 uF Ceramic Disc
Misc
• 2x 1N4148 Diode
• Jumper wires
• 1x Oscilloscope
• 1x Multimeter
• Nuts and bolts
• Velcro strips
• Cushion padding foam
NOTE:
a)You can choose any preferred microcontroller but it should have ADC and PWM pins.
b) OP-AMP TL084 (DIP Package) can be used in place of ADTL082/84(SOIC Package).
c) If you don't want to built EMG Sensor click here EMG Sensor.
Step 3: Software Used:
1)KEIL uVision for compiling the code and monitoring the signal.
2) Multisim for circuit design and simulation.
3) Blender for 3D simulation of frame.
4) Arduino and processing for actual sensor simulation testing.
Step 4: METHODOLOGY
The exoskeleton arm works in two modes .First mode is automated mode in which EMG signals after the signal processing will command the servo and second manual mode ,a potentiometer will command servo motor .
Step 5: EMG Circuit
Step 6: Various Stages in EMG Signal Processing and Sensor Testing :
1) Signal Acquisition: The Motor Unit Action Potential (MUAP) signal is acquired from the bicep and triceps of the patient’s arm. Three EMG electrodes are used in the process. Two EMG electrodes are placed on the bicep and triceps, one on the elbow for ground reference. The acquired signal is fed into the AD620 high-quality instrumentation amplifier. Which will amplify (gain=500) the potential difference between the active electrode.
Gain of instrumentation amplifier G=1+49.9KOhms/R
Precision Full wave rectifier will clip the negative half signal wich is not really required
2) Filtering and Amplification: This amplified signal is then fed to a dc coupling capacitor and a full wave rectifier which eliminates DC error offset and negative half cycles to make the signal compatible with the microcontroller. This rectified signal then goes through a low pass filter to eliminate high frequencies and make an envelope of the signal. The signal is sent into an amplifier with variable gain for further amplification. All the stages are designed using ADTL084 op-amp
Gain of op-amp Vout/Vin=-Rf/Rin
We started sensor testing with Arduino Mega because it was quite easy to code.
Data Acquisition:
The amplified signal is fed to a microcontroller EVAL-ADuCM360 PRECISION ANALOG. The analog voltage is read by ultrahigh precision 24-bit ADC present in the microcontroller. The data is sampled at a rate of 2.450 kHz. ADC Chopping scheme is used. This chopping scheme results in excellent dc offset and offset drift specifications and is extremely beneficial in applications where drift and noise rejection is required. The offset obtained when the muscle is relaxed is subtracted from the ADC output
Control Logic: Since noise rejection is required in the final stage, linear mapping of the ADC output to the DAC is avoided. We have created a lookup table that writes discrete values to the DAC. Don’t care conditions are created for low voltage analog signals so that the servo is not activated unnecessarily. The threshold for maximum voltage is set manually, after testing, as it is different for every test subject.
DAC: The microcontroller comes with a 12-bit DAC. The DAC has two selectable ranges: 0 to 1.2 V & 0 to 1.8 V. Coincidently 1.8V input to servo motor gives the optimum turning angle for the servo motor. There this range is used as it requires no further amplification.We have used DAC Interpolation Mode .The interpolation mode uses 16-bits. 12-bits are used for the writing the data and 4 bits for interpolation.
Servo Motor: The servo motor has a torque of 180kgcm. It runs on two modes Pulse Width Modulation andPotentiometer mode (analog signal).We have used the analog mode because it is easier to monitor and analyze as compared to PWM. When given an input of 5V the servo turns 270 degrees .It runs on 14V to 30 V. 30 V for maximum torque .
We have attached Codes and important datasheets
Step 7: Back Pack and Connections
Step 8: Frame Design
Initially,we designed the frame in Blender software here are the few designs
Eventually, we placed the servo motor directly at the pivot point of the upper and forearm aluminum frame to cut complexity and time consumption and as always safety first! So we also designed a locking system which only allows 45 degrees to 175degree movement of the forearm.