Firmware sanity checks to avoid chewing up belts
Firmware sanity checks to avoid chewing up belts
There are a few things I've seen Marlin firmware do to chew up the belts on my Rostock Max printer.
1) If I jog X or Y in either direction after doing a G28, one or more carriages try to move up past the limit switches, and start chewing up the belts. In fact, Repetier Host was preconfigured to do exactly this after a print and did it on my first print.
2) If I hit the X, Y, or Z home button in Repetier Host, the corresponding carriage moves to the top, leaving the others behind, and crashes the print head into the column, and starts chewing up the belts. It's as if the home button command isn't converting from cartesian to delta coordinates.
3) When near the print bed, if I jog X and/or Y too far away from any of the columns, the carriage on that column moves down too far, crashes at the bottom, and starts chewing up the belt.
In all three of these cases, the problem is preventable in the firmware with a few extra sanity checks in the code. Does anyone know if these checks are done in the Repetier firmware? I haven't tried it yet, but I probably will this weekend.
1) If I jog X or Y in either direction after doing a G28, one or more carriages try to move up past the limit switches, and start chewing up the belts. In fact, Repetier Host was preconfigured to do exactly this after a print and did it on my first print.
2) If I hit the X, Y, or Z home button in Repetier Host, the corresponding carriage moves to the top, leaving the others behind, and crashes the print head into the column, and starts chewing up the belts. It's as if the home button command isn't converting from cartesian to delta coordinates.
3) When near the print bed, if I jog X and/or Y too far away from any of the columns, the carriage on that column moves down too far, crashes at the bottom, and starts chewing up the belt.
In all three of these cases, the problem is preventable in the firmware with a few extra sanity checks in the code. Does anyone know if these checks are done in the Repetier firmware? I haven't tried it yet, but I probably will this weekend.
Re: Firmware sanity checks to avoid chewing up belts
1. once a limit switch triggered, its supposed to stop the movement.
2. your rephost has a home button? i dont have this, i have to manually enter g28 to home all axis.
edit: apparently I never noticed another home button at the bottom left of the arrows.. this the home all button.
2. your rephost has a home button? i dont have this, i have to manually enter g28 to home all axis.
edit: apparently I never noticed another home button at the bottom left of the arrows.. this the home all button.
Last edited by cambo3d on Sat Apr 20, 2013 6:01 pm, edited 1 time in total.
My rostock build log http://forum.seemecnc.com/viewtopic.php?f=42&t=1228
Re: Firmware sanity checks to avoid chewing up belts
Yeah, I thought the limit switch would stop further movement, but it didn't. It's controlled by the firmware, which is really just software, and software has no guarantees. There's no direct electrical hookup from the switch to interrupt power to the stepper motor.
Repetier Host V0.85b for Windows has four home buttons, arranged around the jog controls. One each for X, Y, and Z, and one for all three. They all do the wrong thing for a delta printer.
- dan
Repetier Host V0.85b for Windows has four home buttons, arranged around the jog controls. One each for X, Y, and Z, and one for all three. They all do the wrong thing for a delta printer.
- dan
-
- ULTIMATE 3D JEDI
- Posts: 2417
- Joined: Mon Mar 26, 2012 1:44 pm
- Location: Redmond WA
Re: Firmware sanity checks to avoid chewing up belts
Most reprap firmwares are configured to any pay attention to the end stops when homing, to Avila noise on the endstop switches messing up a print.cambo3d wrote:1. once a limit switch triggered, its supposed to stop the movement.
2. your rephost has a home button? i dont have this, i have to manually enter g28 to home all axis
Printer blog http://3dprinterhell.blogspot.com/
Re: Firmware sanity checks to avoid chewing up belts
Why would mechanical endstop switches have noise?
- dan
- dan
Re: Firmware sanity checks to avoid chewing up belts
limit switches aren't firmware controlled, there just mechanical devices that open and close a path. If your electrical wiring has noise, your firmware wont detect an opening or closing.
but if your repetier firmware is working fine, and your marlin firmware was doing this before I would say the firmware was at fault.
but if your repetier firmware is working fine, and your marlin firmware was doing this before I would say the firmware was at fault.
My rostock build log http://forum.seemecnc.com/viewtopic.php?f=42&t=1228
Re: Firmware sanity checks to avoid chewing up belts
FYI, this is the home button in Repetier-Host that runs the G28 command.2. your rephost has a home button? i dont have this, i have to manually enter g28 to home all axis
[img]http://i.imgur.com/0wjaArL.png[/img]
I didn't realize it was there and that it worked either.
Re: Firmware sanity checks to avoid chewing up belts
jesse wrote:FYI, this is the home button in Repetier-Host that runs the G28 command.2. your rephost has a home button? i dont have this, i have to manually enter g28 to home all axis
[img]http://i.imgur.com/0wjaArL.png[/img]
I didn't realize it was there and that it worked either.
dang, i never noticed that down there..lol
the placement of it makes it confusing i guess..
My rostock build log http://forum.seemecnc.com/viewtopic.php?f=42&t=1228
-
- ULTIMATE 3D JEDI
- Posts: 2417
- Joined: Mon Mar 26, 2012 1:44 pm
- Location: Redmond WA
Re: Firmware sanity checks to avoid chewing up belts
The switches them selves don't, but the wires act as antennas, and can get enough noise to give a false positive. I don't think it's common.dbarrans wrote:Why would mechanical endstop switches have noise?
- dan
FWIW I think my branch of repetier has them enabled all the time, but I'd have to look to confirm.
Printer blog http://3dprinterhell.blogspot.com/
Re: Firmware sanity checks to avoid chewing up belts
That home button doesn't do a G28. Don't use it unless you want to crash your print head into a column. It homes X, then Y, then Z, one at a time. If you're already near the top, that's fine, but if you're lower, be sure to have your hand on the power switch when you use it.
At least that's been my experience with Marlin firmware.
- dan
At least that's been my experience with Marlin firmware.
- dan
Re: Firmware sanity checks to avoid chewing up belts
I have my endstop wires inside the aluminum columns. Maybe grounding the columns would shield the noise?
- dan
- dan
-
- ULTIMATE 3D JEDI
- Posts: 2417
- Joined: Mon Mar 26, 2012 1:44 pm
- Location: Redmond WA
Re: Firmware sanity checks to avoid chewing up belts
I wouldn't worry about it, I've never personally had an issue.dbarrans wrote:I have my endstop wires inside the aluminum columns. Maybe grounding the columns would shield the noise?
- dan
You can probably just enable them always in Marlin
The line you are looking for is in configuration_adv.h and looks like this
#define ENDSTOPS_ONLY_FOR_HOMING // If defined the endstops will only be used for homing
Just comment it out and upload the firmware.
Printer blog http://3dprinterhell.blogspot.com/
Re: Firmware sanity checks to avoid chewing up belts
I'll keep that in mind if I switch back. I just installed Repetier firmware. I already like its smarter homing algorithm, and I verified it does the right thing with all four home buttons, although the X and Y homing is a bit jerky.
- dan
- dan