Servo Plotter
Introduction: Servo Plotter
This instructable explains how to make an A4 plotter using three servo motors and an Arduino UNO R3.
Construction is simple ... all you require is a hacksaw, a sharp knife, and a 3mm drill.
Two plotters are described:
* The first version, shown in photo 2, uses MG 996R metal gear servos.
* A second lightweight version using SG90 servos is shown in photo 5
Both plotters use the same software which features an onboard g-code interpreter that is Inkscape compatible. [1]
The MG 996R plotter features a vacuum hold-down and a simple pen-lift. The reason that the sample plot in photo 6 looks weird is that servo1 is faulty ... I have some replacements on order. [2]
While waiting for the replacement servos to arrive I built a lightweight plotter from two SG90 servos to verify the inverse kinematics discussed further on. The sample plot for the SG90 plotter using these equations is shown in photo 7.
The plotters work ... 16
but not as well as my digital versions.
I am publishing my results in the hope that the construction details and solutions to issues that I have encountered are of help to others.
The estimated cost for the MG 996 plotter is less than $100.
Images
* the first video shows the SG90 plotter in operation
* the second video shows the RDS3225 plotter in operation[3]
* photo 1 is the cover image
* photo 2 shows the assembled plotter
* photo 3 shows the plotter dissassembled.
* photo 4 shows the electronic components.
* photo 5 shows an SG90 plotter made to the same dimensions
* photo 6 shows a sample plot from the MG 996R plotter ... unfortunately servo1 is faulty.
* photo 7 shows a sample plot from the SG90 plotter. The code is the same for both plotters.
Warning : Keep clear of the servo arms when using this plotter as the motors are extremely powerful and capable of rapid movement.
Notes
[1]
The software for this plotter has been adapted from the following instructables:
* https://www.instructables.com/CNC-Actuator-Plotte...
* https://www.instructables.com/CNC-Drawing-Arm/
[2]
For a servo plotter to work, each motor must resist the torque from the opposite motor.
An ideal servo should hold its position if it experiences an external torque ... in practice there is a slight movement or “dead-band” until the servo resists.
The dead-band for each my MG 996R servos is shown in photo 6. To obtain these curves I simply pressed against each servo arm until I felt resistance and the servo started to vibrate.
Ideally we should only see a very small trace which is not the case for servo1
[3]
14 December 2020
* The faulty MG 996 servos have been replaced with RDS 3225 servos.
* See Step 9: Addenda ... for photos and alternate software
Step 1: Parts List
The following parts were obtained from https://www.aliexpress.com/
* 1 only Arduino UNO R3 with USB cable
* 2 only MG996R metal gear servos (optionally RDS3225 ... see Step 9)
* 2 only 25T (tooth) metal disc stents for MG996R servos
* 1 only Tower Pro SG90 servo
* 1 only Prototype PCB Expansion Board For Arduino ATMEGA328P UNO R3 Shield FR-4 Fiber PCB Breadboard 2mm 2.54mm Pitch
* CPS-3205 II 160 w (110Vac / 220Vac) 0-32 v / 0-5A, compact digitally adjustable DC power supply
The following parts were obtained locally:
* 1 only plastic dual suction_cup (photo 1)
* 1 meter 25mm x 1mm aluminium extrusion
* 1 only MBR735 Schottky 35V 7A diode [1]
* 1 only 28 pin arduino header terminal strip
* 1 only SPST switch
* 1 only 2-way PCB mount screw terminals -5mm
* 1 only pkt M3 nuts
* 1 only pkt M3*10mm bolts
* 8 only 25mm x M3 bolts
* 2 only cable ties
The estimated cost for this plotter is less than $100.
[1]
This diode protects your servos should you accidentally reverse your battery connections and may be omitted if you are confident that your wiring is correct. 16