Scara Draw 2D

Tell us the story of your project: 

Introduce Jared Hughes, Sairam Sreekant, and Shivansh Baveja, three highschoolers with an aversion for taking notes, a love of technology, and bad handwriting. This, culminating with a year filled with endless notes and posters convinced us that it was time to usher in a new era of school work, an era of the ScaraDraw. We envisioned a machine that could write computer text or draw images with a pen or pencil on real paper. This would compromise the tedious task of handwriting notes, make our drawings identifiable, and allow our teachers to finally read our work. Furthermore, a backspace key is more convenient than whiteout and files are much easier to keep together than loose papers. Thus, the ScaraDraw 2D was born. Initially, we met and brainstormed design ideas, parts, and software, coming to the consensus of having a compact SCARA arm design. We met twice a week over the summer, configuring software and developing a complete CAD model of the machine. Once school began, we started meeting more often, 3D printing parts, laser cutting the SCARA arms, wiring the parts, and assembling the machine.

How-to: 

First, find a wall outlet plug and, leaving 4-5 inches of room, strip the wires. Then, use a multimeter to test which wire connects to which hole (using the resistance setting) and connect the respective ground, positive, and control wires to the power supply’s terminal. Then attach the Arduino motor shield to the Arduino, and attach the stepper motor cables to the shield. Then connect the motor driver shield to the power supply using the 5V input and ground pins from the power supply terminal. To enable micro-stepping, attach the middle jumper for ¼ stepping’s additional accuracy. Then place all of these components in the bottom casing of the laser cut housing (which can simply be assembled with wood glue on the joints). The only exception is the power supply unit, which is mounted on the backside of the casing with four M4 screws. 

To each motor shaft attach a coupler with a metal rod on top. Then 3D print the two spacers on the inner shaft, and order a G2 twenty-toothed timing pulley. Mount these three pieces onto the inner shaft. For the other shaft, laser-cut two arms each in ¼ inch medium density plywood, 3D print a timing pulley, order a metal timing pulley, and then mount these onto this shaft. On the top, connect these two inner shafts on the top with a 3D printed static arm that prevents warping between the shafts. The two wooden arms from the outer shaft connect at a shaft, with another 3D printed timing pulley, arm, and a spacer between them. 

Lastly, this outer arm has a pen lifting and pressing mechanism attached to the end of it. To create this mechanism, 3D print the servo clip and bolt it into the outer arm. Then, 3D print all of the other parts that are in the mechanism. Glue the rectangular sliding bracket perpendicular to and at the end of the outer arm. Use a tap-and-die to add M4 threads onto the pen clamp, and then slide it into the bracket. On top of this clamp, clip in the vertical extension and pin, onto which you mount a pen spring. Over this pen and spring setup, mount the “U” shaped piece by gluing it onto the arm. Slide the horn underneath the mechanism’s overhang, and the part is complete

The software that controls this hardware is GRBL, a high performance g-code parser that converts cartesian coordinates into polar motion that can be given as input to the stepper motors. To control the motors, flash grbl-scara. GRBL is an industry-standard high-performance g-code parser that controls the motors based on gcode. We modded it based on grbl-polar to perform a transformation into scara coordinates and use a servo as the spindle to lift and lower the pen.

Universal Gcode Sender provides a good way to control GRBL. It has an intuitive interface and shows a preview before sending the gcode. We had problems with the 1.0.9 release, so we use the 2.0 Platform (beta), which has worked well.

You can generate g-code in any available lasercut or CNC milling software, such as JSCut or MakerCam. However, nothing beats a good, simple command-line interface like juicy-gcode. For convenience, we provide this and several utilities bundled on Github into drawbot (tested on Ubuntu Linux only).

The overall process for running the robot is as follows:

  1. Create an SVG file such as `spiral.svg` through a vector graphics programs such as Inkscape or Illustrator. Be careful—some programs reflect the y-axis in drawings. 

  2. Use the `trace` code from drawbot with e.g. `trace spiral.svg` to output a gcode file.

  3. Open UGS and load the output gcode file. A preview should appear

  4. Connect to the Arduino inside UGS (with 115200 baud). It is a good idea to test the boundaries of the drawing by right-clicking on the preview, then selecting [Coordinate] > Jog to Here.

  5. Check that the pen is in the right spot. There are macros inside drawbot to let you move the holder up or down for proper positioning.

  6. Press the play button to start the drawing

Resources:

Grbl Polar: https://github.com/ilaro-org/grbl-polar

Grbl SCARA: https://github.com/jared-hughes/grbl-scara

Belt Holder: https://www.thingiverse.com/thing:117987

Image to SVG: https://eprev.org/2015/05/27/converting-png-to-svg/

Scara arm inspiration: https://www.jjrobots.com/robotic-arm-scara-project-updates/

PSU tutorial: https://m.youtube.com/watch?v=x-m1jsqIOPs

Stepper Shield tut: https://blog.protoneer.co.nz/arduino-cnc-shield-v3-00-assembly-guide/

File Location (Use to obtain laser cut and stl files): https://grabcad.com/library/scara-draw-2d-1

Difficulty: 
Duration: 
Collaborators: 
sairam.sreekant
Number of Forks: 
0
Choose at least one category.: 
Tools: 
Name: 
Laser Cutter
Quantity: 
1
Name: 
Ultimaker 2+ 3D Printer
Quantity: 
1
Name: 
Drill
Quantity: 
1
Name: 
0.02" Bit
Quantity: 
1
Name: 
Hex Socket and Phillips Screw Head
Quantity: 
1
Name: 
Allen Key
Quantity: 
1
Name: 
Needle Nose Pliers
Quantity: 
1
Name: 
Wire Cutters
Quantity: 
1
Name: 
Wire Stripper
Quantity: 
1
Name: 
Screwdriver
Quantity: 
1
Name: 
1/4" Tap and Die
Quantity: 
1
Name: 
Sand paper (150 and 220 grit)
Quantity: 
1
Name: 
Caliper, Ruler
Quantity: 
1
Name: 
Adobe Illustrator
Quantity: 
1
Name: 
Autodesk Fusion 360
Quantity: 
1
Materials: 
Name: 
¼’’ x 12’’ x 12’’ birch plywood
Quantity or amount: 
1 sheet
Name: 
PLA Filament
Quantity or amount: 
~100 g
Name: 
M4 screws
Quantity or amount: 
10
Name: 
M3 screws
Quantity or amount: 
8
Name: 
1/4 inch screws
Quantity or amount: 
2
Name: 
Superglue (cyanoacrylate)
Quantity or amount: 
1 bottle
Name: 
Spring form a pen
Quantity or amount: 
1
Name: 
NEMA 17 Stepper motors
Quantity or amount: 
2
Name: 
12V regulated power supply
Quantity or amount: 
1
Name: 
Arduino Uno
Quantity or amount: 
1
Name: 
Arduino CNC shield
Quantity or amount: 
1
Name: 
A4988 Motor Drivers
Quantity or amount: 
2
Name: 
9g Servo
Quantity or amount: 
1
Name: 
Servo Horn
Quantity or amount: 
1
Name: 
5mm to 5mm Rigid Couplers
Quantity or amount: 
2
Name: 
Belt
Quantity or amount: 
~250 mm
Name: 
5mm bore diameter timing pulleys
Quantity or amount: 
2
Name: 
5mm bore shaft collars (can use timing pulleys instead)
Quantity or amount: 
3
Name: 
5mm x 100 mm metal shafts
Quantity or amount: 
3
Name: 
M4 Hex Nuts
Quantity or amount: 
6
Team Members: 
Team member name: 
sairam.sreekant
What role did this person play on the project?: 
Designer, Assembly
Public
Sort Order: 
0
Teaser: 
Ever accidentally typed a homework assignment or just really bad at drawing? Check out the ScaraDraw 2D, a versatile pen plotter that operates on any size paper and takes input as an SVG of any kind!
Aha! moment: 
-Needed to keep the Enable pin of the motor driver to stop it from moving from the friction-This alleviated a ton of inaccuracy/jiggle/hysteresis
Uh-oh! moment: 
During stepper motor testing, we accidentally reversed the polarity from the power supply to the arduino motor driver shield, causing the capacitor to blow and make a loud “POP!” sound. Thankfully the capacitor was for a motor driver slot that wasn’t in use. But, there were future repercussions that we didn’t realize until we tried to move the step
Show & Tell video as default: 
Creation Date: 
Monday, June 17, 2019 - 22:28