This iteration continues the project to build a simple RRRRR robot arm (i.e., an arm involving 5 revolute joints) from scratch, and builds the design envisaged as CAD drawings in iteration 1.
The iteration was not completely successful, and the learnings went quickly into iteration 3. (What do the mythbusters say, "Failure is always an option"). This write up is pretty brief, I'm happy to receive messages if there are questions.
The BuildThe build proceeded pretty much as planned in the iteration 1 CAD drawings. After trying several off-the-shelf grippers, I opted to make my own using the same Gobilda system.
The physical build informed a number of additional pillow blocks, cross braces, and set screw collars to finalise joint shaft and bearing mounting.
Rubber grommets were added where wiring penetrated the aluminium plates.
The PCA9685 PWM module runs at VCC of 3.3V supplied from the Due, and V+ of 6V 5A supplied from a bench power supply. The I2C connection is to the Due wire port at pins 20 and 21. Running the PCA9685 at 3.3V voltage causes the output PWM signal to also be at 3.3V, but this was within the input tolerances of the selected servos.
The servo cables were extended individually with hand made dupont cables so that they all reached the MCU at about the same length. The wiring was carefully organised using spiral wrap of increasing size to make a wiring harness. It was important to leave enough slack at each joint so that wiring allows full travel of the joint.
Testing and CalibrationThe specific instance of PCA9685 was calibrated using trial and error, the Adafruit PWM Servo Driver Library supplied example servo sketch, and the oscilloscope until the generated PWN signal was at 50Hz.
Some noisy PWM signals during motion (ref. What is the noise in this PWM signal?) caused concern initialy, but was later ignored.
The break point for iteration 2 came during testing when I realised that the shoulder servo was underpowered for the length and mass of the arm. The servo stalled trying to raise the arm from a prone position.
ReflectionI wished I had done a little more maths! Stall torque is measured in kg by cm. The by cm proved more important than I had originally anticipated. The Gobilda 2000 series servos are spec'ed as 21.6 Kg.cm (21.6 Kg at 1 cm), which sounds pretty hefty. However over the 30+ cm length of the arm this is less impressive at something less than 720 grams. The arm weighed more than the availble torque at the shoulder. Doh!
So, options:
1. Double up to use a servo either side of the shoulder shaft? Synchronisation might be a challenge.
2. Use a single more powerful servo? Price, availability and size might be challenges.
3 Use a servo and gearbox to get more torque at the expense of rotation speed?
Iteration 3 looks at pursuing the gearbox option.
Comments
Please log in or sign up to comment.