Monday, May 18, 2020

Days 3-5: My laser works!


My first (successful) engrave!

The past few days of working on the Etch-A-Sketch laser engraver were extremely long. I'm running a bit behind on my original schedule, however this is perfectly OK as I was already planning on finishing well before this project was due.

I don't wish to bore you with the details of how I spend days 3-5: staring at the computer screen, spending hours trying to figure out why something didn't work. I will instead describe all of my major exciting steps taken during this time, and show the rest of my process from turning the barely functional 3D printer into a mostly functional laser engraver.

I ended day two focusing on building the mount for the laser and bed level probe (calculates the proper distance that it should go in the Z (up/down) direction). The first two designs I built for the mount were not functional due to flaws I overlooked, however the third one works great! Once this project is done, I will try to release the .stl (3D) files in a way that properly gives credit to the original creator.

The 3D printed mount for the laser and probe.

After everything was set up, the next step was to wire the laser to the power supply and motherboard. The power supply's job is to convert the alternating current from the wall to direct current (which most appliances run on). It also drops the voltage from 120V to 24V, in this case. The motherboard is the brains of the laser cutter--it uses power from the power supply to interpret all commands by the user, move the motors, and send feedback is something is wrong.

The first part of wiring was a bit stressful, but extremely fun: I gutted the 3D printer! it no longer needs many of its original components, and ripping them out was satisfying. I took out the power cords going to the extruder (part that spits out plastic), and the heated bed. It also no longer needs the thermistors (digital thermometers to measure parts of the 3D printer that are now useless).

The engraver home screen without thermistors plugged in. Apparently it's -14 degrees!

Because 3D printers need very specific cooling abilities--they not only have to safely melt the filament at extremely hot temperatures without damaging the heat end's surroundings, but also need to properly cool filament as it hardens--they always contain multiple fans that the motherboard can carefully control. The input for controlling fan speed is the exact same for controlling laser intensity, and theoretically one could swap out the connector to the fan for the connector to the laser to successfully engrave. However, for my purposes this was a lot more complicated. The original 3D printer runs in 24 volts, and the laser I purchased runs on 12V. This means that if I plugged the laser into the motherboard's fan port, bad things could happen. I'm not sure about the specifics, but the Wikipedia page for Overvoltage seems pretty intimidating...

To make the 12V laser run on 24V, I had to use a buck converter--which steps down voltage in a certain direction. I used this video and a pretty fancy buck converter to do this. Because I'm not the best at it, I used my brother, Jared "Sausage Fingers" Goodman to help with soldering in the final stages of wiring.

Sausage Fingers Goodman

Once wiring was done, it was time to fire up the laser engraver! After running some more tests and re-calibrating to make sure nothing was broken or would unintentionally catch on fire, I recorded the Z height I was using and focused the laser on a thin piece of balsa wood. It's important to record the Z height the laser is at before focusing it as it can become out of focus at different heights (more on this in a later post).


Turning on the laser for the first time!

After that, I used Inkscape and Jon Schone's video to generate gcode (special manufacturing commands) so the engraver could make a design. Although I could rant about the problems I encountered with this software in an entire separate blog post, it would make me instantly reach the maximum space on my Google account. I won't release official tips for using Inkscape until I have a more in-depth chance to mess around with the software and engraver. I'm still learning, after all!

Here are the inital designs I have made with the laser engraver! Super happy with how everything is turning out, even though there are still a few kinks--I'm trying to find the best way to calibrate the engraver so everything is straight and centered, and to also send gcode commands that create an arc in the desired path traveled. Right now, the firmware is not accepting gcode commands for arcs (hence why all the details in the designs below are straight or diagonal lines). This is an extremely weird bug that will require more research to solve.

Victory! The text is a bit crooked relative to the sheet, and I made some progress with fixing this issue on the proceeding designs.
Designed with Illustrator and a tutorial from STE Bradbury Design. Thanks to my graphic design teacher, Danielle "Grandma" Troy for showing me the ropes with Illustrator.

The name for Sausage Fingers' robotics team.


Plans for the near future:

-Finish wiring for the rotary encoder (Etch-A-Sketch knob).
-Write code to hook up the rotary encoder to Octoprint, the software that sends information about where/how to travel to the printer. This will all be done through the Raspberry Pi.

Plans for the distant future:

-Fix the issue with the laser not moving concentrically.
-Find the best method for making sure the wood is always aligned with the X and Y axes.

A fun 5G fact:
-The difference in speed of 5G compared to other network generations is truly insane. It's average speed is 500x faster than 2G's (pre-iPhone, think back when the Motorola Razr and Blackberry used to be cool). It's maximum speed is 10x faster than the latest generation of 4G.

Friday, May 15, 2020

Days 1 and 2--Researching and Setup!

Now that my AP tests are officially over, I have approximately 2 1/2 weeks to build and perfect an Etch-A-Sketch laser engraver. The first part of day one was spent getting my materials organized and determining how I will work on this project. Once I successfully complete everything, I will publish a list of materials and code to anyone who wants to replicate my work.

This project will be completed in five parts, each part representing a certain step in the process of translating the knob movement into laser movement:

1) The user will calibrate the Etch-A-Sketch. This means that they will tell the 3D printer where the corners of their medium is on the print bed, and also set a certain distance in the Z direction (up/down) so the laser is the correct distance from the medium. This will all be done from a Raspberry Pi (think simple, mini-computer) in a terminal. I will probably complete this part last, it will just involve a bunch of coding once everything else is set up.

What the terminal looks like after I wrote some basic programs to re-learn Python. Super simple, but it gets the job done with the lowest chance of failure. I promise that it's way less intimidating than it looks.

2) Using the knobs, the user will send information to the Raspberry Pi. The data in its simplest form will register as either a clockwise turn, counterclockwise turn, or if the knob was clicked.
Rotary encoders--just a highly generic knob used for electronics.

3) The Raspberry Pi will interpret the user generated commands, and compile the information that will be sent to the laser engraver. It will store data regarding the laser's current position and on/off status. It will stop the laser if it is about to crash into the side of the gantry it is suspended on.

The Ender 3 3d printer after being taken out of storage.

4) The information will then be sent to the laser engraver via Octoprint. This is a common software used to manage 3D printers manually from a Raspberry Pi, among other things. The laser engraver will still think it's a functional 3D printer the entire time, and in my research I determined that keeping it tricked and using Octoprint is the easiest way to engrave.

5) The engraver will turn on/off the laser and move!

I am completing the mechanical and electronics (steps two and five) first. Although I tried to order all of my parts in advance, there are always parts that don't work, parts that are the wrong type, and parts that I forgot to get. For step two, the only critical parts are wiring the two rotary encoders to the Raspberry Pi. Step five is a lot more complicated, however. It's basically doing all mechanical modifications to the 3D printer.

Progress with step two:
Today I unpacked my rotary encoders that will serve as the Etch-A-Sketch knobs and the on/off toggle. Before proceeding into the middle and late stages of my project, I wanted to make sure that they would work with my Raspberry Pi. Unfortunately, as I found quick enough, they did not work with the Raspberry Pi. I believe that the type I purchased "without breakout board" is supposed to be used for Arduinos (a data collection device, mostly) and not for the Pi. The picture below shows how the wiring was different from what I needed, I was only able to find decent Pi tutorials for the model "with breakout board." The new rotary encoders will arrive Saturday.


In the meantime, I was able to wire the rotary encoders I purchased to act as a normal button with the Raspberry Pi! I used a simple tutorial for the code, only I switched out the side of the button going to the 3.3 volt input to the "switch" rail in a breadboard. No need to worry about resistors, from what I read this model had them built in. This assumption was correct, I hope.

Turning the rotary encoder into a button.

I'd like to take this moment to thank one of my teachers, Chris "Gramps" Border. Taking his class in Digital Instrumentation last year was extremely useful for step number two, as it covered wiring and programming devices for Arduinos very similar to this. Thank you, Gramps!

Progress with step five:

Step five started with researching the works of YouTuber Jon Schone. Schone is an engineer known for really cool 3D printer mods that are both practical and relatively simplistic. The inspiration for step five, converting the 3D printer into a laser engraver, came from one of his videos where he did exactly that. I downloaded his base and laser module attachment to print and install, however made a few modifications to them:

1) Instead of making the laser easily detachable from the base so it could be replaced with a different module (such as a hot end for actual 3D printing) I fused them together in CAD (3D modeling software). This will make everything more stable, even though the engraver won't be able to get converted back into a printer without taking everything apart. This is OK, however, the hot end already had some issues.

2) IMPORTANT: When I tried to install the 3D printed plastic onto the metal X gantry mount, I encountered an issue where two metal nubs stick out of the piece. Although the design I printed accounted for this by inserting a hole in the plastic that was aligned with these nubs, it was not deep enough and the piece I printed was not flush with the metal. This problem was fixed when I modified the hole to make it bigger in CAD.

Circled in blue, the nubs in the metal (right) and the hole in the 3D printed part

3) Before the 3D printer I'm turning into an engraver broke, I installed and configured an auto bed leveler on it. Long story short, this is basically a probe that the printer uses to accurately calculate how high it is off the bed. I wanted to keep my auto bed leveler on the engraver, and inserted a hole in the 3D printed base that would allow it its cylindrical shape to slide in.

The Auto Bed Leveler, which probes the bed and tells the engraver its position in the up/down direction.


Here's what the final rendering for the part looks like: It's printing right now, and I'll post photos of how it comes out in my next update.

Top view. The lines are an issue with the software, and won't come through in the final product.


Side view, for good measure.


Plans for the near future:

-Finish the laser engraver, or find out which parts I forgot to order and order them. Possibly do a few "test etches" and have some fun!

-Before the rotary encoders come Saturday, review skills in basic Python so I can code better.

Some fun facts about cell phone towers:

No, 5G cell technology does NOT cause cancer, autism, coronavirus, OR ANY OTHER MEDICAL ISSUE!!! Going down this rabbit hole has been one of the most unproductive things I have ever done, and promise to post some cell phone tower facts in the coming days that are more compelling. Just wanted to get all of that crap out of the way, first.

Thursday, May 14, 2020

Introduction

Hello!
My name is Adam "Adat" Goodman, and I would like to welcome you to my senior project blog. Although I don't have any specific intentions with my blog, or expect anyone to read it, I just thought it would be a fun outlet for me to have between the hours of 12:00AM-2:00AM. I hope to use it to give updates about my work, and also provide a reasonable starting ground for anyone trying to replicate it.

The goal of my senior project is to accomplish three things:

1) Turn an old, semi-broken Creality Ender 3 3D printer into a functional etch-a-sketch laser engraver. I've wanted to do this for a while, and found a mysterious video from 2011 where a Stanford student made one. I believe that my laser cutter will work very similarly to this, and if I feel ambitious enough it will also be a bit more aesthetically pleasing. I also must give credit to NSFW YouTuber Michael Reeves for recently making a contraption (WARNING: NSFW) that is fundamentally similar to my project: it uses a 3D printer frame, motors, and electronics to hold and control a unique apparatus.

2) Work with my school's alumni board and fellow graduating environmental club members to create an environmental advisory board. Although I'm super excited for this, it will be hard to blog about and will not receive a lot of coverage here.

3) Although it's not an official part of my senior project, I want to learn more about telecommunications science: the study of making sure you're able to reliably binge watch Netflix and upload TikToks wherever you are. I recently accepted a summer internship in engineering sales for a company that makes and analyzes testing equipment for cell network reliability, and want to be prepared. I plan to post cool telecommunications facts for you to relish with each blog post.

I plan to post to my blog every other day-ish, and describe updates on my work.