Using belts and pulleys is far less expensive than using precision gearheads, and still has minimal backlash.
High ratios get messy but not really needed with stronger motors and balanced or spring-loaded arm sections.
My goals for this arm:
As in earlier designs, use each section's motor as a counterweight.
Eliminate all gearheads and gearboxes by using timing belts and pulleys.
This will keep the cost and weight down.
Pass motor cables through joints to hide them inside the arm.
Allow the "End Effector" (EE), in this case a gripper, to rotate 360° any number of times.
This will require a Slip Ring
to prevent the cable passed to the gripper from twisting up.
Since the size of each arm section depends on the size of its "child" section, I needed to start with the wrist
and work my way back to the shoulder and base.
The general design of the arm is below: Click thumbnails for full size
The Wrist & EE-Disc Box
The wrist box serves two purposes:
- Provide a mount for the gripper with pass-thru cable (EE-Disc).
- Able to spin the EE-Disc (and gripper) any number of times.
The Forearm holds the wrist box at its end. It also holds the motor that tilts the wrist box (and gripper) up and down 180° or more.
Some drawings: Click thumbnails for full size
Some pics: Click thumbnails for full size
I have switched back to using Arduino boards rather than the Beaglebone Black to run the stepper motors. Why? ...
The Beaglebone Black required running a full OS (Linux) which interrupted the timing of motor signals to the drivers.
Fixing that required using the PRU chips and separate PRU processor code - uuuggg.
Linux also required the use of Device Tree Overlays just to get access to the GPIO pins - uuuggg.
The BBB also required "Remote Desktop"ing with MobaXterm to interface with the board - uuuggg.
The BBB GPIO pins output 3.3-volts, not the 5-volts required by my stepper motor drivers.
Keeping with the "KISS" philosophy, I now use seven(7) separate Arduino Nano boards -
one for each motor joint plus the gripper motor. Why? ...
Each motor gets its own dedicated processor.
Independent processors means no timing interference and faster processing - true "Parallel Processing".
No need to run an OS on the controller boards.
No Device Tree Overlays.
No PRU chip programming.
Arduinos output 5-volts to the stepper drivers.
Arduino Nano only costs $3.50
So here's some pics of the revised motor control box ...