Arduino Servo Harness (ASH) Board
The Arduino Servo Harness board is an Arduino-Nano based development board designed to interface with up to six servomotors. It can interact with the two GPIO control pins of the EVA robot arms in the P/T/410 laboratory through the standard M8 female tool port connector on the side of the arm’s tool head. It can be powered through the arm connector, the two barrel power connectors or the four voltage in/out pins behind the barrel connectors. The pre-installed control firmware for the board is included here: ASH Firmware (.ino)
Connecting Servos
The brown wire is GND, the red wire is 5V, and the yellow wire is PWM. Because 5V is in the middle, if you get the connector the wrong way round, nothing bad will happen, but your servo will not do anything.
The correct orientation is marked on the board with GND and PWM. The board markings also show which channel is which, with the header closest to the heatsink being servo channel 1.
Note that the heatsink can get very hot when servos are running at full power, so be careful to avoid touching it when in use.
Using Bench Power Supply
Connect the red and black leads between your PCB and channel 1 of the power supply
Set the voltage of the power supply to 24V
Set the current limit of the supply to maximum so it does not interfere with the operation of the servos
Press the green on/off button to enable/disable the power supply
Calibration and Operation
The firmware provided for you on the Arduino allows basic gripper functionality without any editing of the code, although you may want to customise it if you want more control. To use the default firmware:
Connect your servo(s) to any of the first four channels.
Pressing the buttons will move the servo between two set positions. These are indicated as A and B on the image below.
These set positions can be adjusted using the potentiometers, also marked A and B on the image.
This provides basic open-close behaviour for your gripper. If you have multiple servos and you want to configure their set positions individually, the firmware code provides a method to do this, using the calibrate() function for each channel to obtain setpoint values and then using those for preconfigured open and closed positions. This requires minimal modification of code. MiniUSB cables are available in the lab for connecting to Arduinos, and the firmware code is available here.
Servos
Servo | Type | Specifications | Quantity supported by power supply |
FEETECH FS5115M | Analog, standard size, metal gears | Stall current: 1.5A Torque: 15.5kg-cm | 1 |
PowerHD HD-3001B | Analog, standard size, plastic gears | Stall current: 0.9A Torque: 4.4kg-cm | 1 - 2 |
TowerPro MG90S | Digital, micro size, metal gears | Stall current: 1.0A Torque 2.2kg-cm | 1 - 2 |
PowerHD HD-1800A | Analog, micro size, plastic gears | Stall current: 0.46A Torque 1.5kg-cm | 1 - 4 |
Connecting to EVA Robot Arms
For details on connecting to the Robot Arms, please see the linked wiki page.