12

MECHANICAL MACHINE DESIGN

This week, we decided to build a sand drawing machine called "Zen Garden." The core frame is a CoreXY to actuate a magnet moving a metal ball in the sand. As I was out of town for the whole week, I was not able to attend the brainstorming meeting and took a software-only part to contribute. I was responsible for a part that takes a gcode file as input and actuate the stepper motors accordingly.

We used circuits and steppers from modular things to actuate our CoreXY framework. I first bootloadered and flushed the board with Arduino code here. I met a problem with that but after consulting Jake, I found out the way I installed OSAP was wrong. Also, note that one should use osap-arduino instead of osape_arduino. After that, I learned using Node.js to control the stppers via Javascript. I wrote code for parsing gcode, transformed the 2D Cartisian coordinates into linear movement of two motors (see this), then move the magnet line by line. We tested the machine with a pencil and a corgi head and it looks pretty nice. After assembling each parts, we successfully ran the machine and draw the gcode painting on sand.

The basic funcitonalities were achieved pretty smoothly, but there are several problems associated. First is that I cannot use the Node.js platform to upload or read in a gcode file, which seems not trivial to (solve). Therefore, we can only copy paste the gcode text into the Node.js client as a string instead of reading it by specifying the file name. We also tried to explore transfering the data via network but didn't work it out. Second problem was brought by a deisgned feature that radnom noise is added to the trajectories when drawing. Those noise led to a large number of small steps around the same position that reuires a looooong time to go through. Every time after the first tens of seconds, the ball looks static. Removing the "anxiety" feature or smoothing the trajectory after receiving the gcode would probably help.

Tools: Arduino, stepper motors and servo motor, Node.js, javascript.
Date: 11.30.2022 - 12.06.2022






(PARTIAL) PROCESS

THIS IS HOW WE GOT THERE



Group photo.



Brainstorming.



Illustration of the CoreXY framework.



Emsembling the CoreXY framework.



The CoreXY framework.



Building the frame containing sand.



The frame.



Adding led to the frame.



Lightning to make the sand more visible.

Testing the motors.



The gcode file with a corgi head to test.



We used a pencil to draw the corgi head on a paper as a test.

Running on sand.

The video on class.