add estop input

More
12 Feb 2025 04:54 - 12 Feb 2025 05:11 #321317 by flexbex
add estop input was created by flexbex
Hi I want to add estop function to my CNC. So I want to link the estop to input 4 of my mesa 7i96s. The idea of the estop is because I want to link it to the alarm of my stepper drivers. So the circuit would look like this

 


So when the estop is pressed or the alarm of one of the controllers switches. I want Linuxcnc to stop.
I tried this with a default PNCCONF and it works. But when I try it on my original hal file without using pncconf. It doesn't work.  what I did was to copy the line 

# --- ESTOP-EXT ---
net estop-ext     <=  hm2_7i96s.0.inm.00.input-04-not

in my original hal file. But it doesn't have any effect. But in the Halmeter I can see the changes. Do I have to add anything more to add an additional  input?
Attachments:
Last edit: 12 Feb 2025 05:11 by flexbex.

Please Log in or Create an account to join the conversation.

More
12 Feb 2025 10:15 - 12 Feb 2025 11:25 #321334 by timo
Replied by timo on topic add estop input
Not the answer to your question, but from other equipment (real big stuff) I have the experience that it can be helpful to be able to tell which driver tripped and which E-stop was pressed.
Yesterday I checked half of my wiring just to notice that I had pulled the mushroom button that deactivates the spindle drive.

I would have thought you need then to connect the estop-ext to some pin (estop-ext beeing the "wire" it must be connected to some pin of the hal)

(beware half knowledge ahead!

estop-ext is something that you make up for a name (it might as well be the_blue_wire grey-dog or any other name); hm2_7i96s.0.inm.00.input-04-not is the input pin of the 7i95 card created by some software that others made.

I think you need to also connect your estop-ext to the corresponding hal pin of a software that someone made. A pin name that is existing somewhere in the system.

There are two lines in my hal file. They are not together so I had to use CTRL-F to find both.
net estop-ext <= parport.0.pin-11-in-not
net estop-ext => iocontrol.0.emc-enable-in

Basically
  • read: "net" (make a connection with an imaginary wire) "estop-ext" (I want to name the wire estop-ext so that I remember in two years what it was for) <= (for Info the signal comes form somewhere and goes into said wire) parport.0.in-11-in-not  (the connection goes to the input pin 11-of parport 0 and the signal is on when the input is not energized)


...for you instead of parport.0.input-11-not it should be hm2_7i96s.0.inm.00.input-04-not ...
  • read: 'net' (make a connection with an imaginary wire) "estop-ext' (this wire was alread invented, so just connect the other end of it) => (for info when the wire has a signal it is transported from said wire to somewhere) iocontro.0.emc-enable-in (input of some software :-) called iocontrol.0.emc)

E-stop pulled:
  • the parport pin is high, so the parport.0.pin-11-in-not is low (red dot in HAl watch)
  • The iocontrol.0.emc-enable-in is high (yellow dot in HAL watch)
    • Machine can work
E-stop pressed
  • the parport parport.0.pin-11-in-not is high (yellow dot)
  • the iocontrol.0.emc-enable-in is low (red dot )
    • power button on axis user interface is greyed out and nothing moves

Sorry for beeing long winded, but I hope you can make sense out of it. And I will be able to follow my own advice on Saturday!




 
Last edit: 12 Feb 2025 11:25 by timo. Reason: clarification

Please Log in or Create an account to join the conversation.

More
12 Feb 2025 11:40 #321335 by timo
Replied by timo on topic add estop input
My guess: this is probably not certifiable real E-stop behaviour. It works for me, but for "real machines" dedicated safety circuits are probably required and all this is more for User interface not to actually switch things off.

Maybe someone can confirm if this guess is correct?

Please Log in or Create an account to join the conversation.

More
12 Feb 2025 13:07 #321338 by flexbex
Replied by flexbex on topic add estop input
Ok that's cool. But is iocontrol.0.emc-enable-in already the location for the estop. So when the net connection is made. Does the event trigger the estop?

Please Log in or Create an account to join the conversation.

More
12 Feb 2025 14:48 #321342 by timo
Replied by timo on topic add estop input
As you can guess from my earlier reply, honestly I do not know.

It switches off all moves. And it makes the E-stop button on Axis GUI (General User interface?) greyed out.
On my mill this is the E-stop! I wired the E-stop-mushroom switch in series with the E-stop input to the VFD, so this tells the drive to stop. That is as safe as it gets for this machine, for me. Spindle stops via hard wire (with soft input to the VFD) and the motion control is aborted from Linux.
To switch on again, I need to pull out the mushroom button and power on the machine again via mouse cklick.

That is a small benchtop mill. I think I can take the risk for this size and speed of machine. On a real heavy industrial machine I would probably do more homework and invest in some more professional hardware.
e.g. on the manual Lathe a bigish contactor is installed by the manufacturer. If someone is barely touching the foot brake, it trips and cuts power to the motor. (all three phases) Before it turns on again, it must be switched off first and then on.

Here I found some other discussion with some aspects.

forum.linuxcnc.org/38-general-linuxcnc-q...-card-7i76e?start=50
The following user(s) said Thank You: flexbex

Please Log in or Create an account to join the conversation.

More
12 Feb 2025 14:59 #321346 by flexbex
Replied by flexbex on topic add estop input
I went with
net x-fault => joint.0.amp-fault-in <= hm2_7i96s.0.inm.00.input-04
so I get an error on x for all my axis. Because I wired all alarms in parallel. Which is absolutly fine. As long as the machine stops on any error
The following user(s) said Thank You: timo

Please Log in or Create an account to join the conversation.

Time to create page: 0.144 seconds
Powered by Kunena Forum