VOLATILE_HOME not unhoming on fault

More
10 months 2 weeks ago #340101 by djdelorie
I set VOLATILE_HOME for each joint in my config, and I know it works because if I push the OFF button in the GUI, all the axes become unhomed.  However, if a servo fault comes in, that also shuts the machine OFF but in that case the axes remain homed.  If I ON-OFF via the gui after a fault, it unhomes. This is neither what I expected nor what is documented(1). How do I get the axes to unhome on a servo fault? (the fault comes in via joint.N.amp-fault-in)

(1) "If this setting is true, this joint becomes unhomed whenever the machine transitions into the OFF state. "

Edit: I'm using version 2.9

Please Log in to join the conversation.

More
10 months 2 weeks ago #340118 by rodw
Does joint.N.amp-fault-in actually turn the machine off? I'm not sure it does. I know it stops motion. My thinking is that conce you have the machine dialed in you will never get this error.

Please Log in to join the conversation.

More
10 months 2 weeks ago #340125 by Aciera

Does joint.N.amp-fault-in actually turn the machine off?

Yes, it does.

Please Log in to join the conversation.

More
10 months 2 weeks ago #340126 by tommylight

Does joint.N.amp-fault-in actually turn the machine off?

Yes, it does.

Not near a machine so i can not confirm this, but IIRC:
Yes it does Disable the machine.
No, it does not trigger e-stop.

Please Log in to join the conversation.

More
10 months 2 weeks ago #340131 by Aciera

Please Log in to join the conversation.

More
10 months 2 weeks ago #340142 by djdelorie

My thinking is that once you have the machine dialed in you will never get this error.

Agreed; I wired my servos this way for when I get a hard crash.  the "fault" includes following errors in the clearpaths, and I really want the machine to stop and release the servos and spin down the spindle.  The hard crash might be a fleshy crash.  I realized the servos were going to lose position, added the VOLATILE_HOME, and discovered this bug...

Please Log in to join the conversation.

More
10 months 2 weeks ago #340143 by djdelorie
I will add that, with the invention of "servos with a step/dir interface", linuxcnc has lost the ability to shut off the servo power yet still keep track of where the machine *is* for when power is restored :-(

Please Log in to join the conversation.

More
10 months 2 weeks ago #340146 by tommylight
LinuxCNC has not lost any ability to shut off anything, there is no need to shut the power down for stepper and brushless servo drives on normal faults, that was for DC brushed servo systems and even for those normal enable/disable drive was and is used, leme give it a try:
-stepper motors and brushless servo motors do not go into runaway if an output mosfet shorts, they just lock in one place and burn slowly if the drive fails to blow a fuse or trigger a full shutdown
-brushed motors do run at full speed in one direction in such an event, hence the necessity to have another set of "extreme" limit switches on both side of any axis that cut all power to drives
-older brushless servo drives had two separate power inputs, one for the drive stage and one for logic, most new ones only have a single power input
In general, drive power should be cut only on e-stop event, in normal operation drive enable/disable should be used.
-
If you are OK with using e-stop, wire (in hal) the drive enable signal to e-stop out, that should do what you want, but i have no clue if your machine agrees with that.

Please Log in to join the conversation.

More
10 months 2 weeks ago #340152 by djdelorie
By "shutdown" I mean what the clearpath's enable signal does - the power supply is still running but the drive does not try to hold position any more, so the axis is able to move freely. Shutting down servo drives on following error allows humans to manually move the machine, potentially a life-saving ability, but at least it takes pressure off whatever it hit.

All my power supplies themselves are hooked into the estop chain, but that's for a different type of emergency ;-)

My point with modern step-servos is that, WHEN you shut it down / disable it, you no longer know what the machine's position is, because there's no position feedback to linuxcnc. The machine can move without linuxcnc knowing, hence the VOLATILE_HOME.

With "old style" servo configurations, linuxcnc had direct access to the encoders, so could track non-powered motion too.

Please Log in to join the conversation.

More
10 months 2 weeks ago #340163 by snowgoer540

Not near a machine so i can not confirm this, but IIRC:
Yes it does Disable the machine.
No, it does not trigger e-stop.

Near as I can tell, this is correct. It disables the the machine, requiring it to be re-enabled, but it does not turn the machine state to "OFF". This is why you see the GUI turn "OFF", and halui.machine.is-on turns False. But that's not the same as toggling halui.machine.off. I don't think this is a bug, I think this is a misunderstanding of what happens when a amp-fault is triggered. If you want this to work, I think the best course of action would be to connect the pin to machine.off as suggested previously.

github.com/LinuxCNC/linuxcnc/blob/69d26e...otion/control.c#L838

Please Log in to join the conversation.

Time to create page: 0.093 seconds
Powered by Kunena Forum