Trouble with Lulzbot Mini Self Leveling Pickup

Hello, I got a broken used printer from my boss that has a problem with the self leveling. When the head goes down to make it’s first pickup (Goes down to touch the metal disc on the bed) it goes about a 1/2 inch away from the disc then stops and goes back to clean the head as if it touched the pad too hard. It repeats this process four times then it gives up. The previous owner said the extruder head dug into the bed while in mid print,

I should also note that I can manually move the head to touch the disc. I have also updated the firmware to the latest version.

I don’t know if what is messed up and this is my first time working on a 3D printer. Let me know if you might be able to help with this.

Thanks for your time!
Noah

The behavior you describe is consistent with the Z-Min endstop being falsely triggered. To verify that is the case:

  1. Start the printer
  2. Home printhead and bed
  3. Manually move the printhead and bed away from endstops.
  4. Open the console window and send an M119 command.

The printer’s reply to M119 will show which endstops are “open” and which are “triggered”. With the bed and toolhead away from all endstops, they SHOULD all be “open”. If instead there are multiple endstops in the triggered state, it is likely your mini-Rambo board is blown and needs to be replaced (false triggering could be caused by bad switches or wiring, but it is unlikely for (2) or more of those to fail at once). If only the Z_Min is triggered, then I would definitely proceed to check wiring first, but it may still be the Rambo board.

There are several threads on the forum that go into more detail on this exact problem. Here is a fairly recent one:
https://forum.lulzbot.com/t/endstop-triggering-on-lulzbot-mini/5490/8

If the M119 shows all endstops “open”, then something else is amiss…

Ok thanks I just sent the command and it says that Z_max is triggered and so is the X_min so should I still get the replacement Rambo board?

If multiple endstops show triggered when the bed and toolhead are away from the endstops, then YES - the most likely cause is blown mini-rambo board. Just make sure you have moved the toolhead and bed away from the endstops before sending the M119. (If you have just “homed”, it would be normal to see both Z_Max and X_Min triggered because homing puts the toolhead against those endstops. So use the jog controls to manually move away from the endtstops before sending M119.)

While it is possible for two endstops falsely triggered due to wiring or switch problems, that would take two simultaneous failures which is unlikely. So with two or more falsely triggered, a blown board the most likely suspect.

Call Lulzbot support – they can set you up with a new mini-rambo board for about $100 plus shipping.

The most commonly reported reason for a blown board is shorting the hotend heater wires to the hotend. That often happens when someone tries to clean the hotend with a wire brush (the brush wires pierce the heater wire insulation, and short to the hotend). But it can potentially be caused by broken insulation on those wires where they enter the hotend, so I would advise also checking that neither heater wire is shorted to the heater block BEFORE installing the new board. With printer unplugged, disconnect the heater wires from the mini-Rambo and use a multimeter to test for continuity between each wire and the aluminum heat break above the nozzle. They both should show OPEN – if either shows continuity to the aluminum heat break, then you have a short which must be resolved before connecting up the new board.

Ok thanks so much for all your help. I appreciate it more than you know :slight_smile: I got the rambo board and installed it but I did not see your reply until after so I went ahead and ran it and it still had the same problem so I did the M119 command again and I got the following:

[12:22:43] M119
< [12:22:45] Reporting endstop status
< [12:22:45] x_min: TRIGGERED
< [12:22:45] x_max: open
< [12:22:45] y_min: open
< [12:22:45] y_max: TRIGGERED
< [12:22:45] z_min: open
< [12:22:45] z_max: TRIGGERED
< [12:35:05]

So I checked the continuity between the heating block and the wires as you suggested and they were open. I dont know if I blew the board or if there are bad switches any insight into where I now stand would be awesome.

The M119 result you posted would be normal if you had just “homed” the print head. Was that the case?

Use the jog controls in Cura to move the tool head to the right and down a little, and move the bed rearward a little. Then run the M119 again.

Also… please run an M115 command, and an M503 command, and post the responses here.

Ok, yes that was indeed the case. We ran the M119 after homing everything. Here are the results of the commands after moving the head down and right a bit, and the bed to the rear. Thanks again for your help :slight_smile:

After moving down and to the right and the bed back a little:

[10:17:56] M119
< [10:17:58] Reporting endstop status
< [10:17:58] x_min: open
< [10:17:58] x_max: open
< [10:17:58] y_min: open
< [10:17:58] y_max: open
< [10:17:58] z_min: open
< [10:17:58] z_max: open

This is the M115:

FIRMWARE_VERSION:1.1.5.70 EXTRUDER_TYPE:SingleExtruder SOURCE_CODE_URL:https://code.alephobjects.com/diffusion/MARLIN PROTOCOL_VERSION:1.0 MACHINE_TYPE:LulzBot Mini EXTRUDER_COUNT:1 UUID:351487b6-ca9a-4c1a-8765-d668b1da6585
< [10:19:04] Cap:EEPROM:1
< [10:19:04] Cap:AUTOREPORT_TEMP:1
< [10:19:04] Cap:PROGRESS:0
< [10:19:04] Cap:PRINT_JOB:1
< [10:19:04] Cap:AUTOLEVEL:1
< [10:19:04] Cap:Z_PROBE:1
< [10:19:04] Cap:LEVELING_DATA:1
< [10:19:04] Cap:SOFTWARE_POWER:0
< [10:19:04] Cap:TOGGLE_LIGHTS:0
< [10:19:04] Cap:CASE_LIGHT_BRIGHTNESS:0
< [10:19:04] Cap:EMERGENCY_PARSER:1


M503:

[10:20:15] M503
< [10:20:15] echo: G21 ; Units in mm
< [10:20:15]
< [10:20:15] echo:Filament settings: Disabled
< [10:20:15] echo: M200 D3.00
< [10:20:15] echo: M200 D0
< [10:20:15] echo:Steps per unit:
< [10:20:15] echo: M92 X100.50 Y100.50 Z1600.00 E833.00
< [10:20:15] echo:Maximum feedrates (units/s):
< [10:20:15] echo: M203 X300.00 Y300.00 Z8.00 E40.00
< [10:20:15] echo:Maximum Acceleration (units/s2):
< [10:20:15] echo: M201 X9000 Y9000 Z100 E1000
< [10:20:15] echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
< [10:20:15] echo: M204 P2000.00 R3000.00 T2000.00
< [10:20:15] echo:Advanced: S<min_feedrate> T<min_travel_feedrate> B<min_segment_time_ms> X<max_xy_jerk> Z<max_z_jerk> E<max_e_jerk>
< [10:20:15] echo: M205 S0.00 T0.00 B20000 X12.00 Y12.00 Z0.40 E10.00
< [10:20:15] echo:Home offset:
< [10:20:15] echo: M206 X0.00 Y0.00 Z0.00
< [10:20:15] echo:Auto Bed Leveling:
< [10:20:15] echo: M420 S0
< [10:20:15] echo:PID settings:
< [10:20:15] echo: M301 P28.79 I1.91 D108.51
< [10:20:15] echo: M304 P294.00 I65.00 D382.00
< [10:20:15] echo:Z-Probe Offset (mm):
< [10:20:15] echo: M851 Z-1.38
< [10:20:15] echo:Stepper motor currents:
< [10:20:15] echo: M907 X1300 Z1630 E1250

Great – all that looks good. Your endstops are triggering correctly when at the endstops (like right after homing), and they are correctly untriggered (open) when away from the endstops.

What version Cura LE are you using? Please check that it is 2.6.67 or later. If not, update to latest (2.6.69) here:
https://www.lulzbot.com/cura

Confirm that “Settings, Print” shows you have the “Lulzbot Mini” selected.

Now load a simple test part (like a 20mm cube for example), and start a print. Describe in detail, step by step, what happens – better yet, is there any way you can take a video and upload to Youtube?

Ok so I am using version (2.6.69) I also have confirmed that the printer is set to Luzbot Mini. Here is a video of the print process. Thanks again!

Here is the vid: https://www.dropbox.com/s/hu7f2ffn92kcnk4/lulz-1.mp4?dl=0

My best guess is that the printer isn’t getting an accurate Z origin when homed. There are a couple ways to fix (or compensate) for that… But before deciding on the exact approach, it would help to see two more tests.

  1. Locate the Z_Max limit switch. This is the small switch mounted on the left-hand X-carriage rod holder, just above and rearward from the left end of the upper X-rod. Home the print head. Now inspect the position of that switch – it should be touching the top frame of the printer. Is it? Now open the console, run an M114 command, and post the result here.

  2. Home the print head. Use the manual jog controls in Cura to carefully move the print head to where the nozzle JUST TOUCHES the top of the black plastic wiper pad mount. Now open the console and send an M114 command, and post the result here.

Ok so yes the switch is touching the top frame of the printer so I sent the M114 command and this is what i got.

1st M114 command:

[15:40:37] M114
< [15:40:39] X:0.00 Y:0.00 Z:159.00 E:0.00 Count X:0 Y:0 Z:254400

Then I ran the M114 command after I got the head to touch the black plastic wiper pad mount not the wiper pad just the mount and this is what I got.

2nd M114 Command:

[15:49:17] M114
< [15:49:19] X:56.00 Y:-7.00 Z:-1.50 E:0.00 Count X:5628 Y:-704 Z:-2400

Thanks again for your help.

Ok… The firmware expects the top of the mount (the highest point, at left or right end) to be about Z=1.8, which means for whatever reason yours (at Z-1.5) is a bit more than 3mm different than the firmware expects.

There is an easy way to compensate for that. In Cura, go to “Settings, Printer, Manage Printers”, select Lulzbot Mini, click “Machine Settings”. Expand the window so you can see the “Start Gcode” box. Find the FIRST occurrence of a G28 command. Insert a new line just below that G28, and type a new line as shown in bold text below:
G28 ; home all axes
G92 Z161 ; manually set Z position to 161
G0 X0 Y187 Z156 F200 ; move away from endstops

Doing that will tell the printer that from the home position, it needs to move downward 161mm to reach the top of the wiper pad (instead of the default 159mm), effectively shifting the wiping and probing operations downward by 2mm. That should be enough to solve your problem. Run a test and watch carefully. If 161 isn’t quite enough, you can increase to 161.5 or even 162 and try again.

The only downside to that method is “maintenance”: You you will need to make sure to add that same command to the start script each time you upgrade to a new version of Cura, as new upgrades may replace your edited version with the default version again.

An alternative – once you determine the exact amount needed by experimenting with the G92 command – is remove that G92 command, and instead glue or tape a physical shim of the correct thickness to the inside of the frame, directly above the Z_Max limit switch. For example, if you place a 2mm shim there, then the limit switch will trip 2mm earlier – meaning when it moves downward the default 159mm, it will be 2mm lower than before the shim was installed. The advantage of this approach over the G92 command is that it is a more “permanent” fix that will work with the stock Cura scripts, and you won’t have to keep adding that G92 command to each future version of Cura.

Hope that all makes sense – let me know if you have any questions!

Ok so after I put the code in it touched too hard so I lowered the number then I ran it again eventually I set the number to 159.6 and it hit a tiny bit too high so I lowered it to 159.7 and it hit too much. thanks again for your time

By “touched too hard”, do you mean the washer was deflected downwards, and it still keeps “rewiping” after the first washer? If so, that may just mean the nozzle is dirty. It is also possible there is a wiring fault between the board and the bed or nozzle.

Properly calibrated for travel, a nozzle that is dirty (such that it doesn’t make electrical contact with the washer) would be expected to push the washer downward about 1-2mm before triggering the “re-wipe and re-probe” sequence. With a clean nozzle (and assuming good wiring), the downward travel will stop immediately when the nozzle touches the washer, and the probing will move on to the next washer.

Check that the nozzle is really clean. Manually heat it up to ~200C, and give it a good scrub. If you have some “green non-scratch scotchbrite” (intended for cleaning metal cookware), that works really well. If not, folded paper towels or a cotton rag will work – just be careful not to burn yourself. Also flip or replace the white wiper pad – if that has a bunch of old plastic residue, it may actually make the nozzle dirty (add plastic to it) rather than cleaning it.

After making sure the nozzle is really clean, try another test (reset the G92 command to 161, as recommended before). If it still pushes down on the washer and does the rewipe every time, then the next step is to check the wiring.

To check the wiring: The first quick test is with a multimeter. Make sure the meter is set for DC Volts, and on a scale appropriate for 5v. Turn on the printer. Connect your black probe to one of the bed washers. Carefully touch the nozzle or aluminum heat block (stay well away from the heater wires!) with the red probe. Make sure you’re touching bare metal, and not leftover plastic. You should get a reading of +5.00v. If so, the wiring is likely OK – although you may want to repeat the test with the nozzle and bed in a few different positions, as a broken wire can be intermittent based on where the “bend” in the cable chain is at).

If you don’t get +5.00v there, then there may be a broken wire (either from the board to the bed, or from the board to the nozzle) or there is a bad connection somewhere. First check that there is a Black wire coming out of the bed cable chain, and terminated to the aluminum bed (this is on the underside of the bed, near the front-left corner). Next, check that there is a Red wire terminated to the aluminum heat block (this is just above the heater cartridge, on the left side of the heat block).

If no voltage is detected and those two connections look good, the next step will be to open up the control box and check the wires end-to-end from the board to the nozzle and the bed. Turn off the printer, unplug it, and open the control box. Find and disconnect the plug connected to the “Z-min” socket (should be red and black wire on your printer, see step #4 in following instruction to help locate):
https://ohai.lulzbot.com/project/86510011-df83-408c-a220-1dcf8c5a7262/mini/ Use your multimeter to check the wires. The Red wire should have continuity to the nozzle / aluminum heat block, and the black wire should have continuity to the bed / washers.

Your video makes it look like the nozzle is worn down and not hitting the washer when probing. YMMV.

Perhaps, but even if it was, the G92 he has implemented (after that video) would compensate for that and nozzle is reaching the washers now. If leveling is still failing, nozzle length (or lack thereof) is not the cause.

No the nozzle isn’t worn-out, it’s barely been used

Ok so I went and tested the continuity of those two wires and when I tested it the red one shoed continuity with the heating block/nozzle, but the black one didn’t show continuity with the bed so that’s is probably the problem.

Sounds like it… It is common (although only after a LOT of usage) for a wire in the cable chain to develop a break inside the insulation from the constant bending.

It’s kind of tedious to snake a new wire through the cable chain, but it can be done. Make sure to get some good quality, fine stranded copper wire (for longest life with all the bending). For comparison/specs, the stock wire is 24 gauge, p/n C2015A.21 from Digikey (I think Digikey only sells that in pretty large spools, but if you have a local Radio Shack or something they should have something comparable). [EDIT: Looks like Digikey does have that in 50’ spools for $6.58, but shipping adds a lot – so still better if you can find something local.)

If you don’t have the molex pins and a suitable crimp tool, you can cut the existing wire near the plug and splice in the new wire there, then cover the splice with heat shrink or electrical tape. Same at the bed end; if you don’t have terminal ends and a crimp tool just splice to the existing wire close to the bed terminal.

The following thread discusses what turned out to be the same problem – broken bed wire in cable chain… Lots of good info there if you have time to read through it:
https://forum.lulzbot.com/t/auto-level-failure/5339/1