Lightburn / Totem S / Hard limit triggered

I started getting the “hard limit triggered. machine position is likely lost due to sudden and immediate halt” error today. I had a long cut going, approximately 4 hours, and it stopped about a third of the way with the error. Since then, I’ve received the error a few times when framing. It always stops when traversing from left to right. I’ve run many projects through without a problem prior to today. I swapped USB cables, but I think the problem is coming from within the Totem S.

$$
$0=10
$1=25
$2=0
$3=2
$4=0
$5=0
$6=0
$10=0
$11=0.010
$12=0.002
$13=0
$20=0
$21=1
$22=1
$23=0
$24=100.000
$25=1000.000
$26=250
$27=1.000
$30=1000
$31=0
$32=1
$100=80.000
$101=80.000
$102=800.000
$110=6000.000
$111=6000.000
$112=600.000
$120=500.000
$121=500.000
$122=10.000
$130=292.000
$131=280.000
$132=50.000

Any suggestions? This is incredibly frustrating!

The error is indicating that your limit switches are being triggered. Based on your description it seems they’re not actively being hit.

First need to sort out if the signal is coming from the switches themselves or something on the controller or software.

  1. Try to recreate the error. Run a dummy job and manually trigger the limit switch. I would focus on the X-axis switch since you’re getting the issue from L to R. Do you get the same error with the same symptoms?
  2. See if you can identify some mechanical reason why the switches would be getting triggered. Are the connections loose? Is the switch somehow defective and mechanically closing just from rapid movements? Is the switch electrically defective?
  3. If you cannot suss out any issue with the switches themselves try disabling hard limits in controller ($21=0)
  4. I know it might be hard to test but see if you still have the issue with hard limits disabled.

Other things to consider:

  1. If you have spare switches try swapping out
  2. You could swap switch location… does the issue change from X to Y axis? If so, likely switch issue. If not then error elsewhere.

I’m experimenting with it now. When it fails, the head is more than 20mm from the switch. The few times it failed yesterday, I was framing a print. The head stop at approximately the same place each time, when it was at or near the bottom-right corner of the frame. It hasn’t done it so far this morning. I’ve been framing it repeatedly, but it hasn’t failed. It’d be great if it were consistent!

Ha Ha! I spoke too soon! Immediately after my last post if failed. I taped a piece of manila folder to the bed and marked where it failed. I then framed it successfully, and discovered the point of failure was not at the bottom-right corner of the frame, but about 20-25mm from the bottom-right corner of the frame. I was thinking that it possibly was encountering the problem as it transitioned from the X-axis stepper motor to the two Y-axis stepper motors, which would be pulling more power.

I’m going to keep framing to see if it stops at the exact same point each time. Even if it does, that won’t indicate what the actual problem is.

Somethings shorting out… or opening up, depending on how your limit switches operate…

Really ‘eyeball’ the connectors and wires, if possible, unplug and re-plug them… possible bad switch, but unlikely.

On most of these you don’t need to be running a job to get that error. Mine can be sitting there in ‘idle’ and if I trigger a limit, it will show on the console. I’d wiggle the wires and watch the console.

:smile_cat:

In the exact same spot every time without coming near the limit switch? I’ve already checked & rechecked all connections. I have a theory, but I won’t be able to check it until later tomorrow. Have to head to Columbus for my grandson’s soccer tournament!

Can you do a screenshot of the actual error from the console?

You have soft limits off, if I remember those numbers… but that would not give you this error.

:smile_cat:

It just failed two more times during the framing, at the exact same spot. I then Homed the head, and ran the framing until it failed. It ran fine, starting from the “home” position, then two more times from the bottom-left of the frame, then failed on the next frame.

$H
ok
?
<Idle|WPos:291.000,279.000,0.000|FS:0,0|WCO:-292.000,-280.000,0.000>
ok
Starting stream
G00 G17 G40 G21 G54
G90
G0 X3.213Y31.026
G1 X265.387S0F6000
G1 Y186.174
G1 X3.213
G1 Y31.026
G90
Stream completed in 0:00
?
<Idle|WPos:3.212,31.025,0.000|FS:0,0|Ov:100,100,100|A:F>
ok
Starting stream
G00 G17 G40 G21 G54
G90
G1 X265.387Y31.026S0F6000
G1 Y186.174
G1 X3.213
G1 Y31.026
G90
Stream completed in 0:00
?
<Idle|WPos:3.212,31.025,0.000|FS:0,0>
ok
Starting stream
G00 G17 G40 G21 G54
G90
G1 X265.387Y31.026S0F6000
G1 Y186.174
G1 X3.213
G1 Y31.026
G90
Stream completed in 0:00
?
<Idle|WPos:3.212,31.025,0.000|FS:0,0>
ok
Starting stream
G00 G17 G40 G21 G54
G90
G1 X265.387Y31.026S0F6000
G1 Y186.174
G1 X3.213
G1 Y31.026
G90
Stream completed in 0:00
ALARM:1
Hard limit triggered. Machine position is likely lost due to sudden and immediate halt. Re-homing is highly recommended.
[MSG:Reset to continue]

Grbl 1.1f [’$’ for help]
[MSG:’$H’|’$X’ to unlock]
$X
[MSG:Caution: Unlocked]
ok

If the switches are wired normally closed… all it would take is a moment when the connectors are not making good contact for the alarm to trigger. If the connector is not making good contact the right sort of vibration could make this happen.

Has a physical examination revealed anything as yet?

I had checked all connections, unplugging/plugging them. I just now swapped the X-axis limit switch. They came a dozen in a bag so I have plenty of spares! If it were a vibration issue, I wouldn’t expect it to stop in the exact same spot every time and no where else. I’m sitting here now clicking the “Frame” button over and over to see if it locks up again.

It just locked up, in the exact same spot again. The switches are “normally open”. I’ve run out of things to try.

Looking at what is actually happening in the console window, Lightburn sends the coordinates of the four corners. It’s not streaming commands to control the head every step of the way. That tells me that the laser’s controller is controlling the stepper motors to move the head. I just can’t imagine what would be causing the controller to error at the exact same spot each time the error occurs.

Depending the nature of the issue I could see where a specific movement or acceleration only at a given time could cause it. With it getting increasingly more common as it further degrades.

Interesting. Issue could be on the other side of the connector on the controller side.

That is kind of unusual but good that it’s consistent. In the sense that it’s easier to test.

Try disabling hard limits and see if you still get the issue.

If they are disabled, it won’t look…

If you know the area, move it there and check for binding or any kind of cabling issue, no power, just by hand.

Unplug the connector at the board of the offending axis, after the machine is up. It shouldn’t hurt it to do that ‘hot’ as it only pulls the pin to ground.

If they are like my new one you can also unplug them at the switch.

This will remove the switches. Run the job and see if it errors out.

:smile_cat:

I just re-routed the wires for the X-axis switch. I had those wires and the wires for the right side Y-axis stepper motor running together inside the bottom groove of the gantry. There’s a strip of thin plastic that keeps the wires up inside the groove so that the bottom roller doesn’t press on them. The thought occurred that since neither is shielded, that there might be an interaction of an inductive nature.

Don’t complicate this until there is reason.


If you boot the machine then pull the connectors to both switches off the control board, this will eliminate that part. If it runs, then you have a switch wiring problem. If you get the same error, it’s via the firmware on the board.

Make sense?

:smile_cat:

Disabling this in GRBL will work fine ($21=0). Idea was to see if issue was north or south of the configuration.

Total sense! But I also go back to the fact that it’s happening at the exact same spot every time. If I unplug and set hard limits off, then the controller has no reason to check for a hard limit error. With the switch wires re-routed, I’ve framed it more than 4 dozen times without encountering the error. I also wiggled the switch wires at both ends while framing without any issues. If there were a borderline, vibration issue, that surely would have highlighted it.

I have to head out the door now for an event up in Columbus. I’ll resume testing tomorrow afternoon when I return home.

Thanks to everyone for all of the input so far. As of now, re-routing the wires is the only thing that has made the difference.

That’s why I went directly to the hardware. If this is a software flag error of some type, disabling it may disable it from being reported also.

Unplugging the limit switches at the controller will ensure there is no ‘hard limit trigger’ at least by the physical switches/wiring.

Since they are NO, they are pull down, removing them ‘hot’ should not be a problem.

:smile_cat:

Agreed. I don’t see a problem continuing to chase down the hardware side and is an easy test. I was suggesting disabling hard limits to see if it would work at all to get to known working state. If problem persisted even we would know it’s an entirely different problem. If it resolved then we know it’s still something downstream.

Well, I ran the framing on the same project more than 6 dozen times last night, and it never encountered the error. I then burned the project, which ran for more than 4 hours, and it completed without a problem.

Though I’m thrilled that everything worked last evening, I’m still not convinced that the location of the X-axis limit switch wires was the (only) issue. I would think that an interaction between the Y-axis stepper motor wires and the X-axis limit switch wires would have caused a much more frequent problem than receiving an error at the exact same position when framing one project. While framing, the head moves approximately 280mm from left to right, so the same pulses are being sent across the wires many times the entire width. Why would it only stop in one precise location every time?

Again, thanks to everyone who provided input on this issue. This is what I love about forums! It gets like minds spinning on a common issue…

1 Like