Improving the flexydually cleaning and leveling

WARNING!!! DO NOT USE THE G-CODE INCLUDED IN THIS POST UNLESS YOU HAVE MODIFIED YOUR CLEANING PAD FRAME AND CLEANING PAD AS SHOWN IN THIS POST!!! IF YOU USE THE G-CODE BELOW WITH A STOCK TAZ 6 CLEANING PAD FRAME, YOU WILL SMASH THE EXTRUDER NOZZLE INTO THE STOCK CLEANING PAD FRAME.
Have you experienced leveling problems with the Taz 6 and the flexydually? Note: this may apply to any Lulzbot dual extruder, but I haven’t tested it, so use at your own risk. Below are the checks and modifications I made to my Taz 6 to improve the nozzle cleaning when using a flexydually. Prior to making these changes I experienced significant fluxuations in leveling numbers, espesically on the first leveling washer and I also experienced numerous extruder cloggs. The clogging was due to incorrect leveling which was causing my first layer to be too thin. This then caused exessively high extrusion pressure within the extruder.

There are several important aspects required in order to obtain good auto leveling numbers with the Taz 6.

  1. Your frame must be square. To check your frame, follow the Lulzbot instructions here:
    https://ohai.lulzbot.com/project/squaring-taz-6-frame/

  2. Your X-axis must be true to the frame. This is also covered at the end of the Lulzbot instructions located here:
    https://ohai.lulzbot.com/project/squaring-taz-6-frame/

  3. The brass inserts that the bed frame screws into (the thumb screws that you tightened during assembly) must not be pulled out from the plastic parts on the frame. To check this you must remove the thumb screws, nplug the y-axis motor, unplug the bed harnesses and remove the bed. Then you can inspect the brass inserts. They should be flush with the plastic mounts, or below the surface. If they are sticking out of the plastic mounts (i.e. above the surface), then it is time to contact Lulzbot support.

  4. Your electrical connections must be good. I found that on my flexydually, the wire that connects to the rear extruder nozzle head (the one that is part of the auto leveling circuit) was improperly crimped to the ring connector and the wire was loose. I found the loose connection while troubleshooting poor leveling with the flexydually only (my machine leveled fine with the stock extruder). I was able to recrimp the wire onto the loop connector located at the nozzle head (there was enough crimp length still left on the connector). If you are experiencing erratic leveling then this may be an issue for you. BTW: Lulzbot support did offer to repair my flexydually, but once I found the problem, it wasn’t hard to repair myself.

5)Only the rear extruder nozzle needs to be cleaned for auto leveling. In fact, having the front nozzle touch the cleaning pad reduces the pressure that the rear nozzle puts onto the cleaning pad which is not a good thing.

  1. Auto cleaning of the flexydually can be improved by enlarging the cleaning pad area.

  2. The amount of cleaning time can be extended by modifying the g-code.

Lets look at on #6, a large cleaning pad area:
To enlarge the cleaning pad area I drew a new cleaning pad frame which can be downloaded from thingiverse: http://www.thingiverse.com/thing:1628978

This frame requires additional cleaning pad and it requires the bottom of the end of the cleaning pad to be trimmed a litte so that the pad doesn’t stick out due to the screws being located under the ends of the pad.

Now let’s look at #5, getting only the rear nozzle to touch the cleaning pad:
The cleaning pad should be trimmed so that only the rear extruder touches the cleaning pad during the auto cleaning cycle. This is how I trimmed my pad sections so that the front extruder does not touch anything during the cleaning cycle. You’ll notice that I left a little piece of pad that is at normal height near the auto leveling washer. The rear nozzle does final wiping on this piece of pad with my modified g-code that is shown below. The front section that is at normal height is 2 inches long. The recessed part where the front nozzle will be located during cleaning (but not touching anything), is 2 inches long. The final wipe area with the g-code below is located next to the auto leveling washer and is 5/8 inches long. You should be able to use one of the extra cleaning pads included with the Taz 6 to make the additional cleaning pad section required for this modification.

Finally lets look at #7:
I modified the g-code in a few key ways.

  1. The cleaning temperature was increased from 170 to 175.
  2. The retraction amount was decreased becuase I experienced problems where my filament would retract too far and become ejected from the extruder pinch roller during the cleaning operation when performing a second print because the filament is retracted a little at the end of every print and the sum of the end print retraction and the cleaning retraction amount was too much.
  3. The cleaning g-code was significantly modified and is only to be used with the new cleaning pad and cleaning pad frame that was discussed above. Once you have assembled your new and longer cleaninng pad frame and pad, you can replace the exising start2.gcode with the g-code shown below. First delete the stock start2.gcode. The g-code below can then be copied and pasted into the start2.gode location.

WARNING!!! DO NOT USE THE G-CODE INCLUDED IN THIS POST UNLESS YOU HAVE MODIFIED YOUR CLEANING PAD FRAME AND CLEANING PAD AS SHOWN IN THIS POST!!! IF YOU USE THE G-CODE BELOW WITH A STOCK TAZ 6 CLEANING PAD FRAME, YOU WILL SMASH THE EXTRUDER NOZZLE INTO THE STOCK CLEANING PAD FRAME.

ALSO, USE THIS MOD ON A SINGLE EXTRUDER AT YOUR OWN RISK. I HAVE NOT TESTED IT ON A SINGLE EXTRUDER SETUP.
IMPORTANT NOTE!!!: If you copy the beginer setting to the expert settings, this may erase (replace) the modified start2.gcode with the factory start2.gcode. You will then need to re-copy and paste the g-code below into your start2.gcode.
Well, I hope these items can help others who are experiencing irregular auto leveling numbers with the flexydually.
Below is the new g-code that cleans the rear nozzle on the flexydually more thoroughly with the extended wiper pad. Use at your own risk!!!


;Basic slice data:
;Sliced at: {day} {date} {time}
;Layer height: {layer_height}
;Walls: {wall_thickness}
;Fill: {fill_density}
;Estimated Print time: {print_time}
;Filament used: {filament_amount}m {filament_weight}g
;Filament cost: {filament_cost}
G26 ; clear potential ‘probe fail’ condition
G21 ; set units to Millimetres
M107 ; disable fans
G90 ; absolute positioning
M82 ; set extruder to absolute mode
G92 E0 ; set extruder position to 0
M140 S{print_bed_temperature}; get bed heating up
M104 S175 T0 ; soften filament
M104 S175 T1 ; soften filament
G28 X Y ; home X and Y
G1 X-19 Y257 ; move over the Z_MIN switch
M109 S175 T0 ; wait for T0 to reach temp
M109 S175 T1 ; wait for T1 to reach temp
G28 Z ; home Z
G1 E-20 F100 ; suck up XXmm of filament
T1 ; switch extruders
G92 E0 ; set E to 0
G1 E-15 F100 ; suck up filament
T0 ; switch extruders
G1 X-17 Y115 F3000 ; move above wiper pad, was 109
G1 Z1.1 ; push nozzle into wiper
G1 X-19 Y110 F1000 ; slow wipe
G1 X-17 Y115 F1000 ; slow wipe
G1 X-19 Y110 F1000 ; slow wipe
G1 X-17 Y115 F1000 ; slow wipe
G1 X-19 Y110 F1000 ; slow wipe
G1 X-17 Y115 F1000 ; slow wipe
G1 X-19 Y100 F2000 ; fast wipe
G1 X-17 Y110 F2000 ; fast wipe
G1 X-19 Y100 F2000 ; fast wipe
G1 X-18 Y105 F2000 ; fast wipe
G1 X-19 Y110 F2000 ; fast wipe
G1 X-17 Y100 F2000 ; fast wipe
G1 X-18 Y105 F2000 ; fast wipe
G1 X-19 Y110 F2000 ; fast wipe
G1 X-18 Y90 F2000 ; fast wipe
G1 X-19 Y110 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y110 F2000 ; fast wipe
G1 X-17 Y95 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-17 Y110 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-18 Y110 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y110 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y70 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y70 F2000 ; fast wipe
G1 X-17 Y95 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-17 Y80 F2000 ; fast wipe
G1 X-19 Y70 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y70 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y70 F2000 ; fast wipe
G1 X-18 Y90 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 X-19 Y80 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-19 Y70 F2000 ; fast wipe
G1 X-17 Y90 F2000 ; fast wipe
G1 X-18 Y70 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 X-19 Y90 F2000 ; fast wipe
G1 X-17 Y70 F2000 ; fast wipe
G1 Z7 ; raise extruder for move to final wipe
G1 X-18 Y15 F3000 ; move to final wipe
G1 Z1.1 ; lower nozzle to final wipe area
G1 X-19 Y5 F2000 ; final wipe
G1 X-17 Y15 F2000 ; final wipe
G1 X-19 Y5 F2000 ; final wipe
G1 X-17 Y15 F2000 ; final wipe
G1 X-18 Y5 F2000 ; final wipe
G1 X-19 Y15 F2000 ; final wipe
G1 X-17 Y5 F2000 ; final wipe
G1 X-19 Y15 F2000 ; final wipe
G1 X-17 Y5 F2000 ; final wipe
G1 Z10 ; raise extruder
M109 S170 ; heat to probe temp
G1 X-9 Y-9 ; move above first probe point
M204 S100 ; set accel for probing
G29 ; probe sequence (for auto-leveling)
M204 S500 ; set accel back to normal
G1 X0 Y0 Z15 F5000 ; get out the way
M400 ; clear buffer
M140 S{print_bed_temperature}; get bed heating up
M104 S{print_temperature} T0 ; set extruder temp
M104 S{print_temperature2} T1; set extruder temp
M109 S{print_temperature} T0 ; set extruder temp and wait
M109 S{print_temperature2} T1; set extruder temp and wait
T1 ; switch to second extruder
G1 E25 F100 ; prime nozzle from previous print
G92 E0 ; adjust to 1st nozzle e value
G1 F100 E-{retraction_dual_amount} ;retract second nozzle before print
T0 ; switch back to back
M190 S{print_bed_temperature}; get bed temping up during first layer
G1 Z2 E0 F75 ; extrude filament back into nozzle
G1 E2 F100 ; prime E0 from last print
G92 E0 ; set E0 to 0
M117 TAZ Printing… ; LCD status message 0
M117 TAZ Printing… ; LCD status message

I just noticed that I should probably change “M109 S170 ; heat to probe temp” that is located near the G29 probe code to “M109 S175 ;heat to probe temp”.

Actually I’m not 100% positive that increasing the temps to 175 is even necessary. I’ve been playing with several parts of this code as I go and I may decrease it back to 170 later on and see what happens.

Thanks for the post.