Solidoodle 2 Nozzle Cleaner

This is on thingiverse as Solidoodle 2 Nozzle Cleaner.

Solidoodle 3 Nozzle Cleaner fits the wider bed of a Solidoodle 3, I wanted the same thing on my Solidoodle 2, so I cobbled up an openscad file to cut the original into two pieces and paste them back together with a big chunk of the stem removed so it will fit a Solidoodle 2 bed.

I just wrapped a pipe cleaner through the hole and around the end rather than trying to find some stiff enough wire. Manually experimenting with it, the pipe cleaner seems to work well.


I found I was able to use an M3 tap on the hole in the part that mounts on the bed and use an M3 screw to clamp it onto the bed.

Update: I've updated the files on thingiverse to include a version with an M3 nut trap as the plastic threads didn't work well after a few heating/cooling cycles.

At the moment I just use the manual controls to run the head across the pipe cleaner before starting a print, but someday I should figure out how to change the startup code to automate the process. (I think I can tell Repetier Host to log all the commands it sends, so perhaps I can just bump the log level to discover what I need to add to the startup code).

I did find the log session option in Repetier Host and I logged one session where I ran my nozzle cleaning procedure, then another session where I just connected and disconnected. I then compared the two and got this bit of output log describing the nozzle cleaning:

< hh:mm:ss.sss : N14 G91 *4
< hh:mm:ss.sss : N15 G1 Z1 F200 *35
< hh:mm:ss.sss : N16 G90 *7
< hh:mm:ss.sss : N19 G28 X0 *67
< hh:mm:ss.sss : N21 G28 Y0 *73
< hh:mm:ss.sss : N24 G91 *7
< hh:mm:ss.sss : N25 G1 Y-10 F4800 *0
< hh:mm:ss.sss : N26 G90 *4
< hh:mm:ss.sss : N27 G91 *4
< hh:mm:ss.sss : N28 G1 Y-10 F4800 *13
< hh:mm:ss.sss : N29 G90 *11
< hh:mm:ss.sss : N31 G28 Z0 *75
< hh:mm:ss.sss : N36 G28 Y0 *79
< hh:mm:ss.sss : N39 G91 *11
< hh:mm:ss.sss : N40 G1 Z1 F200 *35
< hh:mm:ss.sss : N41 G90 *5

According to the the RepRapWiki, the leading N and trailing * stuff are line numbers and checksums, so I can leave them out of the start code I add to Repetier Host and let it put them back when sending the start code.

If the theory is correct then, I need to add just these lines to the front of the existing start code:

G1 Z1 F200
G28 X0
G28 Y0
G1 Y-10 F4800
G1 Y-10 F4800
G28 Z0
G28 Y0
G1 Z1 F200

The commands I executed manually moved the bed down 1mm, homed X and Y, moved Y 20mm (to get past the location of the pipe cleaner), homed Z, homed Y (to move the nozzle over the pipe cleaner), then moved the bed down 1mm again.

As long as I'm fooling with start code, I'd also like to come up with the end code that turns off the bed and nozzle heaters. Using the same technique, I find that those commands look like:

M140 S0
M104 S0

And it even works! I printed a Octave Filament Clip and it automatically ran the nozzle across the pipe cleaner before starting, which did indeed remove the bit of filament which was drooling from it after heating up. When it finished printing, it also turned off the bed and extruder heaters. Everything went according to plan!

Another Update:But wait! The cleaner kept coming loose, and sometimes the filament drool would just move, but not come off, so I designed a brand new version from scratch in openscad:

This one has room for several loops of pipe cleaner on the theory that running through more than one loop really ought to clean off any drool for sure. It is also friction fit to the bed bracket using springy teeth and a narrow slot, so I hope it will stay in place over time.

More loops means I need bigger movement in the start code, so let's revise it a bit:

G21; set mm units
G90; use absolute movement
G28 X0;  home X
G28 Y0;  home Y
G1 Y90 F4800;  move Y in front of all pipe cleaner loops
G28 Z0;  home Z
G28 Y0;  home Y, scraping off all drool on pipe cleaners
G92 E0; reset extruder distance

If you always want the exact same temp settings for print bed and hot end heaters, you could even throw some M190, M140, M109, and M104 commands in there to wait for the print bed and hot end to heat up after moving Y in front of the pipe cleaners and before homing Y. That way, if you trust everything to work, you can just hit print after loading your model and walk away.

Go back to my main Solidoodle page.

Page last modified Sun Jan 4 16:26:53 2015