Wednesday, June 4, 2014

Converting a "Cheap" China 40w Laser Cutter to run with the TinyG

A few months ago the. place I work at school bought a cheap Chinese laser cutter on eBay to use for various projects. The laser arrived in good shape, but the original controller board only works with the MoshiDraw software, which leaves much to be desired. We probably would have kept using it if not for the fact that the cutter would behave erratically while trying to cut something. The video below shows one of the more spectacular failures when trying to cut a basic circle:

After doing a bit of research I decided to try converting the laser cutter to run with the TinyG CNC controller that's sold on Adafruit. The TinyG isn't being used to it's full capabilities here since there are only two stepper motors, but I thought that if this controller worked well that we could buy another one to control the small CNC engraver that has been sitting unfinished for a while.

After adding in two limit switches to use instead of the powered opto-isolating switches and running some beefier phase wires to the stepper motor I was able to get some of the basic configuration done and performed a basic homing operation.

The next step is to get a workflow set up that will let us start cutting from DXF files. There are a few options available, I am starting with the JCNC control software since it is supposed to have support specifically for the TinyG. There are many options for generating gcode from a DXF file available on the internet and there is also a very handy tool for automatically modifying gcode to work for laser cutters by removing the data for the Z axis that most DXF to gcode generators include for CNC mills and by adding data to turn the laser on and off at the appropriate times.

Monday, May 26, 2014

Adding Servo Motors to the Iron Man Helmet

I decided to spend some time during the Memorial Day weekend to work a bit on my 3D printed Iron Man helmet. I found a handy servo bracket on Thingiverse that somebody else made for motorizing their Iron Man helmet faceplate, and I figured that there was no reason to reinvent the wheel I went ahead and printed them. They ended up with a bit too much slop for my Futaba servos that a friend gave me from his old RC car, but some electrical tape and hot glue took care of the problem. I made some arms up in SolidWorks and printed them instead of trying to find/make metal arms. Right now things are held in place temporarily with hot glue, but when I have everything in its final place I will come up with a more final solution. Next step is to get a microcontroller set up to control the servos and maybe run some LEDs inside the helmet.

Sunday, May 18, 2014

Attempting to Automate Catalyst EX from the Command Line

Since running a 3D printing service at an engineering college has a lot of throughput for random 3d print orders, it was getting very tiring to manually process every incoming stl file and send an email with the part's filament volume used. My boss put together a SQL database with a simple but very useful user interface for managing print jobs that auto-generates the emails and keeps everything organized, but we still had to process each file manually. So I set out to try and find a way to automate the process.

Comparing Catalyst EX to Other Programs by Stratasys
I've noticed that when using the MaracaEX and cmbview applications that there will be an open command line window that isn't present when using Catalyst EX. My hope was that the window was simply hidden for Catalyst and that there would be different command line arguments that could be used for scripting the STL processing.

I wasn't sure how to begin probing into the possible command line arguments that could be used, but as usual the internet had some helpful advice. Following the instructions I used Process Explorer to view the Strings for Catalyst EX, and while it was initially promising I was unable to find any command line arguments to pass. Using /? and /help as arguments also revealed nothing.

Opening STL and CMB files from Command Line
I found some small progress when I remembered that I had set Catalyst EX to be the default program for opening STL files. Using Process Explorer again I was able to see that you simply had to type the following into the command line to have Catalyst open an STL or CMB file (replace testfile.stl with the path to the file if it isn't saved in the same directory as CatalystEX):

C:\Program Files\Dimension\CatalystEX 4.4\nt\CatalystEX.exe testfile.stl
C:\Program Files\Dimension\CatalystEX 4.4\nt\CatalystEX.exe testfile.cmb

Printing CMB File Information to the Command Line
After playing around for a while I experimented with the other .exe files in the same directory and found that running cmbstat.exe with a cmb file for input printed the information out to the command prompt

The output contains the amount of support and model material used, which could be used for scripting, but there is still the problem of having to process the STL file manually.

Catalyst itself appears to use a combination of TCL and DLL files. I will have to do more research before it's clear whether this is possible.

Saturday, May 10, 2014

Poor Man's Google Glass

While browsing Thingiverse I came across an interesting project to make your own heads up display with a Raspberry Pi. The project is originally from Adafruit, and while the video glasses that I fixed up a while ago were too big to use with their case, I was inspired to make my own version with SolidWorks and the (not so) trusty 3D printer. The result came out fairly well, although one of the arms needs to be shortened so the video wires from the screen can reach the main PCB.

The Problems With Using the Wrong Filament in Your 3D Printer

Since hacking the 3D printer there have been a large percentage of prints that have been failing. I set up a webcam to investigate and got the following timelapse footage: Long story short is that the Stratasys printer uses an injection molding grade ABS plastic for it's filament, and the normal stuff that most printers use doesn't fuse with the HIPS support material like it ought to. The parts can curl up and the printer head can dislodge the part like it did in the video. While it's difficult to find the MG94 plastic in filaments, it's very common in bulk pellets, and we are looking into investing in a filament extruder and making our own filament. Until then pausing the print after a few layers and running some superglue around the edges takes care of the problem.

3D Printing an Iron Man Helmet

The first project I've tackled since hacking the 3D printer at school is printing an Iron Man helmet. There are some excellent files available over at the Replica Prop Forum that just need some scaling to fit your head. Since the printer has a 10"x10"x12" build area I did the helmet in three pieces, with the biggest piece taking over 50 hours to print. There were a few hiccups with the new black support material mixing in with the red model material, but nothing that some paint won't hide.

Hacking the School 3D Printer to Save Money

Since taking responsibility for running the 3D printer at school I've been trying to figure out how to cut the costs on the ridiculously expensive filament cartridges that Stratasys sells for $260 a piece, and thanks to the fine work of the people at Have Blue and Gnurds a coworker and I were able to hack the printer cartridges so they could be refilled with generic 1.75mm ABS plastic filament, dropping the cost from $260/Kg to $30/Kg. Now that printing with the 3D printer is affordable there's all sorts of projects that are waiting to happen...

Thursday, April 10, 2014

Cutting Out Quails with an Old CNC Plasma Cutter

For the longest time the address sign for my house in Bend had the silhouette of a quail on it that was drawn in sharpie. Every few years it would get a touch-up and fade away again. But when my friend Jackson got his hands on an old CNC plasma cutter, I knew it was the perfect time to make something more lasting. Since the cutter was new to us it took several tries to get it right, and we've since replaced the cutter with a newer one that works much better than the one we used here.

My Vacuum Forming Table Really Sucks

A few weeks ago I built a cheap vacuum forming table to test out with two other designs built for a Tekbots project developing a smart helmet. The idea is to create a plastic shell that fits over the helmet, giving the electronics a safe place to live while maintaining the integrity of the helmet. The table top is just pegboard and wooden stakes (I wanted to minimize the amount of woodworking required since my wood tools are all back home in Bend). The plastic we tested with is white ABS plastic cut from a large sheet normally used in showers, and it was heated in a standard kitchen oven at about 300 degrees Fahrenheit until the plastic started drooping. Ran into a bit of a problem with making a good seal with the top frame and the table top, which I attribute to forgetting to attach the cut bicycle tube I was planning on using to create a better seal. But after four tries we ended up with fairly decent results, although it was difficult to get the helmet out of the plastic and the details aren't as fine as they could be with a thinner plastic. One of the guys working on the project experimented with using plastic milk jugs and had great success with some smaller items.

Fixing Free Video Glasses

Tekbots was doing some major spring cleaning, and I picked up these video glasses from the Free bin. They were originally going to be used for a telepresence project, but they ran into trouble when they removed the original video input connector and soldered ribbon cable onto the PCB. They were trying to tap into some programming pins, but found that the signal integrity for the video was awful. After probing around with my continuity tester I figured out that if I gave up the audio for the built in earbuds I could avoid soldering to the PCB in the arm of the glasses and just add connectors to the wires that went to the center of the frame. After a couple of hours of trial and error and mixing up the different color codes I was able to get the glasses working again. Not sure what I might use them for yet but they were definitely worth the effort.

Sunday, April 6, 2014

A Longer-Than-Expected Write-Up about Changing my Shower Head

The worst thing about my old shower head: it was at the same level as my forehead, so I had to duck down in order to get my head wet. It also wasn't a very nice spray. I looked into getting one of the large shower heads with the extension arms but they were way too expensive. Then I came across this beauty at a Goodwill for $10. Who would get rid of such an amazing shower head? Turns out that when I hooked it up in my shower there was almost no water that came out of it. There were signs of mineral build up, so I took the nozzle panel off and put it in my sink with some drain cleaner which made it look new again. This helped with the water flow a bit, but it still wasn't even at the same level as my old shower head. I unscrewed the shower head and removed the plastic water restrictor, which solved the water flow problem but made it so I went through an entire tank of hot water in about five minutes. Putting the plastic part of the water restrictor back in without the o-ring gave me a happy medium, and now I enjoy showers without having to crouch or turn around every few seconds.

Upgrading the Windshield Wiper on my Subaru Outback

One of the things I really missed when I switched from driving my '89 Toyota Camry in favor of an '01 Outback was the ability to adjust the length of time between wipes on my windshield. It's very rainy in the area I live, so I was painfully aware of what I was missing. I debated about trying to use a microcontroller with a potentiometer to solve the problem but I happened across a wiper assembly in another Outback in an auto yard that had the adjustable intermittent timing. It came out of the steering column very easily and I saw that the controlling PCB was integrated into the housing of the stick, and I suspected that it would be compatible with my car since the control signals should be the same. I swapped it out in about five minutes and it works like a charm! Not sure why Subaru didn't just have this feature on all of their Outbacks, but glad that the upgrade was easy. I also came across some switches that fit into some empty spots in the panels on the car that I may have plans for...

A Long Overdue Update

It's been several months since I optimistically attempted to start a project blog, and so far all of the posts have come from two sit-down sessions. I have decided on a plan for organizing the blog in a way that will hopefully make it easier for me to get motivated to update it. Long term projects or projects that I have a particular interest in will get their own pages that can be clicked on the right side of the website, and shorter things of interest will just get posted on the main page. To start this out I'm posting a photo of the lot of 22 Leatherman Micras I bought on eBay for ~$25. They were listed as being "for parts" and there is something broken with most of them, but they are all different things and I should be able to patch together several complete tools. Not a bad investment in my opinion considering it will cost you about the same to get a single new one. The plan is to try and scatter the Leatherman's around strategically so as to saturate key areas with so many multitools that I won't be without or lose them all.