This week's assignment was a group project. I worked together with Isa Gooijer, Thomas Kaminsky, and Aaron Kang to develop the Drawing Machine.
Our group brainstormed a few possible ideas for the drawing machine project. We were firstly excited about developing a machine that could possibly draw on the human body as a pseudo tattoo gun type drawing experience. While we briefly flirted with the idea of making a tattoo gun it was quickly ruled out due to safety and hygiene concerns. Our second idea was using UV-activated ink or pens (glow-in-the-dark substance) as an output material. Energized by this idea, we decided to move forward with developing a Drawing Machine design from a prior student and online tutorial. We specifically took inspiration from: Cindy and pen plotter designs from Andrew Leigh.
To create the pen plotter, we used stl parts from Version 3 of the Cartesian Pen Plotter with V-Slot axis. We 3D printed the parts on the Prusa printers. Our first prints came out partially incomplete, so we redid some prints a second time. We then created an organization system for all our parts in order to categorize the many motors, cables, screws, bolts and more that were necessary for assembly.
Once all of the 3D parts were correctly printed, we met to assemble the drawing machine. This was by far the most fun part of the process. We followed the photos and videos from the tutorials before us on how to connect all of the printed parts and components of assembly.
The only V-slot aluminum extrusion we could find was over a meter long, so we mounted the drawing machine on a long piece of plywood as a base (our particular drawing machine is quite a large scale).
The following components were used in wiring the drawing machine:
ESP32
2 x Stepper Drivers
2 x breadboards
USBC transformer converts 5V to 12V
2 x Nema 17 Stepper motors (17 is the physical size)
In wiring the two stepper motors for the drawing machine, we used an ESP32 to connect the motors to Arduino in order to control their movement. We wired the motors to two breadboards (one extender board) and then used the Stepper drivers to transform movement instructions from Arduino and intake voltage to power the motors. We need to be able to simultaneously control both stepper motors. In order to figure this out, we looked at Cindy's old board and referenced the pins to assemble our board. We also had to construct our own extra long wires because our board scale is so large.
We ran into some issues getting one of our Stepper Motors to run. After running a current to the motor, we learned that one of our motors had an internal issue, which Bobby suggested could be due to some magnetization issues.
We initially struggled to get power to work because we only had AC cords, which is why we used the adapter to convert the 5V power supply into the 12V we needed to power two motors from an external power supply.
We developed some initial code to get the motors to individually move. Unfortunately, we weren't able to get the drawing machine responsive to this code after running into a number of bugs. Our next steps are to write and compile the Arduino code necessary for controlling the motors speed and direction, and second to develop the processing code necessary for Gcode use with the Pen plotter.
Fortunately, after much trial and error (and extreme thanks to Thomas) we were able to get our drawing machine to draw a circle and square. The code we used to execute this is included in our files for the week. We were not able to get the pen plotter to fully work, so our next steps would be to improve processing code for pen plotter and allow the drawing machine to move along the z-axis.
Below is a brief video of our first prototype of the Drawing Machine. Drawing with UV ink! We placed a UV flashlight next to the paper to show the ink appearing. We were happily surprised to get a prototype working and intend to follow-up on the next steps of improving the pen plotter devie in time for Demo day in May :)