Models complete! Testing in progress, Challenges encountered.

A project log for Mug-O-Matic: A Modular Tiny CNC

Open Source Reconfigurable Robot Arm for Learning STEM. Make It Your Way!

Michael GrahamMichael Graham 05/22/2018 at 02:220 Comments

I am finally confident enough in my hardware to release all of the 3D models associated with this body of work! Every single model has been printed and tested to my liking. 

 However, I am dealing with 3 challenges at the moment.

1.  Sharing too much makes the work hard to follow. I need to figure out a way to share these models without making it confusing as to which part goes where in which application...

You see, sometimes (ok frequently) I get creatively carried away and at this point there are 39 different parts in this set! (And the arduino cases are compatible with the SimpleSumo robot set to boot). 

The site does not allow you to sort your uploads into folders so I will have to upload everything into one long flat list and that will be hard to follow.  Hard to follow = hard to replicate = failure of a primary project goal...

For now my plan is to be very careful with my naming conventions, and to provide separate build lists for the assemblies, & screenshots with callouts to identify which part goes where. 

2. My drive system is underpowered. Through research & testing I realized that the arduino nano & breakout board that I love so much are actually limiting factors in the functionality of the drawing robot applications. 

 As it turns out, the breakout board does not have its own 5V voltage regulator and instead relies on the nano's built-in regulator to power all the 5V rails. I believe it is 1 amp maximum divided among the 3 servos and the nano itself. 

 The result is that the post-it-plotter application has a hard time completing small movements without stalling.  The mug-o-matic coffee cup application works OK though because it doesn't require as much torque to operate. Clearly, I am operating at the edge of the capabilities of my equipment.

 Ive tried to get cute & write the code to shut off the Z axis servo when it is not in use. This has helped to a limited extent. I can do that because these drawing robots are 2.5 axis CNC's in practice because the pen axis is only used in one of two extreme positions. Draw or no draw.

Indeed, when I plug the servos into a stand alone servo driver with two 18650 batteries as I did in my demo video, they are exploding with torque.  

 One way I can get around this issue is to program the robot to draw via dot matrix. That is, drawing by making lots of dots instead of dragging the pen to make lines (which requires more torque.)

3. Coding is hard. While I am strong at mechanical design & documentation, my coding skills are comparatively soft and flabby. Making the robot do the cool things it will physically be capable of is a challenge. 

  For now the robot can draw simple shapes via a mathematical algorithm written on the arduino. Fairly simple stuff. But my vision for the project includes drawing the EngineerDog logo on the side of my coffee mug which will require a more complicated solution.

 To draw via dot matrix I can convert images to a 2D array of 0s & 1s via a free website here;   However, getting the arduino to read that data is the issue. I can literally paste the array directly into the arduino code but I'd have to manually add text delimiters to make it work so thats a no go.

  To read the dot matrix or G-code I could send the data over serial using "Processing" or an SD card, but it is easier said than done. For that capability I will have to lean heavily on the code written by MakerBlock, whose work inspired this project.

 Im thinking the easiest cool thing I can accomplish within the time frame of this contest may be the addition of bluetooth control. Adding a common HC-05 bluetooth module is easy and I can use a nifty freemium program called Robo-Remo to drive from my phone.

 More time/sweat is required.