Evolution of a Blog

This blog has evolved as you can tell by comparing the title with most of my recent posts. The title should really be something like "The Physical Interface Side of Computing". It will still feature Raspberry Pi and Arduino from time to time but my current hardware of choice is a BeagleBone Black with JavaScript and Node.js providing the development environment.

Sunday, April 20, 2014

Detailed Photos of Prusa I3

In response to a request, here are some detailed photos of my Prusa I3 including some of the enhancements that I have implemented on top of the original kit.

Not the neatest electronics stack in the world by any means!

 Z-Axis end stop.  I used the mount that came with the kit but it is not bolted as there was not room for the entire mount and some cutting with a hot knife was involved.   You can also see the bottom part of the easy Z-axis adjuster knob which is one of the printer enhancements.

 Here is the complete extruder assembly.   Some detailed photos will follow later.

This is the X-axis end stop.   I did not use the mount that came with the kit as I could not get the optimal positioning that I was seeking.  So, horror of horrors, I used some epoxy to put it where I want it.   I want to switch to Hall Effect end stops so no physical contact will be necessary but have not spent the money yet.

Cooling fan for the electronics stack and a master power switch.   The power supply can be powered on and off via gcode but I wanted a hard wired switch as well.

Close-up of the cooling fan for the hot end.   Trying to use a small fan to keep the hot bed from cooling too much.

Two enhancements at the top of the extruder assembly.   First one to make it easier to change hot ends (though not as eloquent as some would do with a plug and socket arrangement) and the second being a filament cleaner that also lubricates (found it on Thingiverse).

Original power supply was the LED strip variant.   Replaced with a PC power supply as it offers an on/off feature via grounding or ungrounding the green wire that you can see above.  Connected to the switch shown above.

Y-Axis endstop.  Again I was not able to get the exact positioning that I wanted from the mount that came with the kit so printed this one (and used some more epoxy).   For a while the endstop was actually stuck to the servo...

X-Axis tensioner (found it on Thingiverse).   The Y-Axis had a workable tension adjustment but the X-Axis did not (unless I installed something incorrectly).   This does the trick though.

My solution to reducing friction of filament feeding from behind the printer (available on Thingiverse).

My solution for reducing Z-Axis wobble.   I still don't have this licked but this did help.

An elastic band to help keep the hot bed cables from jamming under the hot bed mechanism.   You can see where the cable cover had meed damages from said jamming!

Securing the extruder assembly to the X-Axis.  Could never get the right tension just with the cable ties so added the tensioner shown above.

Two enhancements shown here.   First being a corner adjuster for the hot bed.   REALLY makes the job of fine tuning the bed easier than without said adjuster  (found it on Thingiverse).  The other enhancement that might be obvious to some, but was not to me, is that you need to insulate the bottom of the hot bed if you are going to use higher temperatures needed for ABS.   I have some cork on order but this photo shows some aluminum foil wrapping a couple of paper towels.  I use the same thing on top of the bed during the initial heat up.
Y-Axis tensioner as shipping with the original kit.   Works fine.

Thursday, March 20, 2014

3D Printer - Some Lessons Learned

I am sure that I am no where near done having my printer learn me lessons but thought that I would take a minute to capture some of those learning's to date:
  • Seems obvious, but, turn things off when making hardware changes!   As in unplug the power and the USB connection!
  • Probably obvious to someone that knows electricity, but, unplug the printer before soldering something (like a control or power lead) that is connected to the printers electronics!
  • When doing calibration prints keep a careful record of each print and the conditions for that print.   You might even want to go so far as to save individual config files for the slicer you are using.
  • Don't mix PLA and ABS in the same nozzle.  I am not completely sure this is backed by any one else but I am convinced that I had a mega clog as the result of this practice.
  • "ABS Goop", which is some ABS dissolved in acetone, makes a good bed prep for printing PLA.
  • A clean bed results in a clean printed surface!
  • PLA is a lot easier to work with than ABS.  In my case I had much less issue with warping, adhesion, and as a bonus everything was faster given a lower bed temperature.
  • Printer enhancements for ease of adjusting the level of the bed early is highly advised!
  • Once you have done the above you can do a rough adjustment of height using the piece of paper method and then print a bed leveling exercise to get the rest of the way.  I print this file pausing to adjust the overall bed height then resuming while often adjusting corners with the printer running.
  • Timing belts should be tight.  This is another thing that might seem obvious but I ran for quite a while with belts that were a lot looser than they should have been.
It feels like I am missing some things ... which I will come back and add as I remember them.

Thursday, March 13, 2014

Random / Occasional Axis Slips

My printer is in it's terrible twos.   It went through a period of printing stability and still has its moments.....until an axis decides to randomly slip or skip.  I have been working on this for weeks and have tried everything that I can find on this board (at least I think)!  As I said, the printer will have moments of stability where it will print for hours with no issue and pretty good quality.  The X-axis is the favorite to slip but the Y and Z will occasional join the fun.  It does not always happen on a long print as it has been known to happen early in a print as well. 

Here are the things that I have tried and/or ruled out:

I have adjusted the trim pots from just over stall to a quarter or more turn past stallI have swapped stepper drivers
I have moved the x-axis to the second extruder slot
I have upgraded power supplies
I have added a big cooling fan to the electronic stack
I have ensured that my timing belts are not slipping
I have made sure that the carriages move with minimum resistance
I have slowed everything down when I slice the part

 What else is left to try?!?!?   Could it be the Ramp board ... or the Arduino?  They are the only things that I have not replaced or been able to rule out!   Frustrating!

One thing that occurs to me, that is easier to remedy than a swap out of electronics, is connecting the printer to a cleaner power supply.   I just happen to have one (that also converts from 220V to 120 and offers filtered power at 220V) so that is in the circuit now.

Someone on the RepRap Forum has suggested possible EMI issues, if not in power, then I don't know how I would solve!?!?

[Update] I have gone ahead and replaced the Ramps board and the printer has been behaving since including finishing a seven hour print with no hiccups.   Fingers crossed.  

[Final Update] Printer has been stable.  It was either the Ramps board, or possibly, a wiring fault that got corrected when I replaced the Ramps board.   Not sure if I will ever know!

Friday, February 28, 2014

Calibration, calibration, calibration

equals iteration, iteration iteration.

The most extreme of the overhangs was the most challenging, and in fact, is still not perfect.  Interestingly the only way I was able to get it as far as it is gotten was to print it sideways and have another object printing above it so the fan plays on it more than if it were printed alone.

Tuesday, February 25, 2014

It was all going so well

Until the stepper gremlins showed up.   My printer is eating Pololu Stepper Drivers.  At 8 quid each.

I got a new stepper yesterday and after carefully plugging it in and doing an initial test everything was hunky dory. It was running at .4v as measured between ground and the trimpot. My other steppers are all at .5v but I thought I would start lower as opposed to higher. So I print some calibration objects and everything is still hunky dory. I print a fan holder in white cause the one I am using does not match the rest of my parts. It prints fine. So I print some more calbration parts as I am iterating iterating iterating. Everything fine. I go to bed. The printer does as well.

We both wake up this morning and I go to print another calibration test. The printer gets a short way into the print and the x-axis skips. I checked the voltages again and every thing was as I had left it. I have adjusted the voltage up on the x-axis and am reprinting and everything was working for the first 60 or so layers then the x-axis slipped again...though not nearly as much as above (2 cm versus 2mm).


Nothing changed between last night on the x-axis. I did tighten the y-axis timing belt but that is the only change. Could that have caused enough additional current pull from the y-axis to cause the x-axis a problem given my lower amperage adjustment there? I am concerned because, as stated above, I seem to be eating steppers and this working, not working behaviour, has been observed before!

I am calibrating for layer consistency on x-y axis. Looking great on the Y-axis and all but two layers of the X-axis. Then I can work on the whiskers.

Tuesday, February 18, 2014

3D Printer - Some Improvements

Here is a photo of my printer as it stands today.  I have integrated a number of customizations that I will talk about a little below.   One of the distinct advantages of going the RepRap route, as opposed to buying a packaged printer, is this ability.

One of the first 'useful' things that I printed.  I decided that the filament was dragging on the top of the printer so figured this would help reduce friction.  It seems to help.
Not exactly an improvement that I came up with since the printer shipped with the fan.   I did have to print the mount though!  Yes, those are cable ties instead of bolts.   Not the best print job on the slanted bit of the mount either.   That aspect of printing is still eluding us.
This is an improvement that I found on Thingiverse.  It makes it dramatically easier to level the bed.   Rather than fumbling with a wrench or pliers and a socket driver.  There are a number of designs out there so take a look.
There are two improvements shown by this photo.   The spring cord is for the x-endstop and it is also helping to keep the x-servo control lines out of the way as the z-axis descends.  The other improvement is the easy adjustment for the bed height.   This may actually have been the way the printer was supposed to be assembled as there was a hole in the x-servo mount that I was able to exploit.   It makes it very easy to raise or lower the build platform...single spin of the grey thingy.
I will write more about this later, but, this is the biggest addition to the printer.   I want to offload printing and am going to use a Beaglebone Black attached to a 7-inch LCD.  The BBB can run Slic3r and Pronterface in their graphical forms but too slowly for my patience.   I am going to continue to slice my prints on my iMac and use a custom app running on the BBB to drive the Printrun command line printer controller.   The app is not quite done but is written in Javascript and Node.  It automatically picks up files from the iMac and queues them for printing.  The interface allows access to the same functionality as Pronterface but on a touch screen with a remote control (which you can see in front of the printer on the first image).   The web interface can also be run from anywhere else on the network, including from my iPad.  The app is at the 80% point now but needs some cleaning up.   Once it is functionally complete to a first version I am going to add a couple features including a webcam to watch the print bed.   The case and mounts are, of course, prints!

A recent change to make it easier to change hot ends.   Not as eloquent as some implementations that use a plug but easy.

New Hot End - WRONG SIZE!

Decided that a spare hot end should be on hand so ordered one from China.   Takes a while to get by which time my current hot end has become clogged.   I need that spare.   I go to install it so I can clean the original and ALAS it is a 3mm hot end not a 1.75mm!  Doop.   Have had great luck working with vendors in China so am sure I will get this resolved but the timing is a challenge.