Spindle CW and Stop Toggle Button

More
2 years 7 months ago #294932 by N3pu
Hey

I want to add a hardware momentary pushbutton to Start the Spindle CW if it´s not turning.
If it´s turning (no matter if CW or CCW) and the Button is pushed again the Spindle should stop.

Could someone help me?

I just got the Button configured that it will run the spindle CW by pushing:
net spindle-manual-cw     <=  hm2_7i76e.0.7i76.0.0.input-11

But how should I handle the "if (hm2_7i76e.0.7i76.0.0.input-11 && (spindle-manual-cw OR spindle-manual-ccw)) then {spindle-manual-stop}" ?

Jannik

Please Log in to join the conversation.

More
2 years 7 months ago #294934 by tommylight
On the phone so not much help, but search for latch or flip-flop, both are included components of LinuxCNC and both can be used for it... or toggle, aslo included.

Please Log in to join the conversation.

More
2 years 7 months ago #294947 by spumco
My spindle control uses multiclick component to turn on CW or CCW.  One press CW, double-press CCW. Second button for OFF.

With one button (only) you could have double-press STOP instead of CCW.  Or one press STOP, double CW, triple CCW.

Here's what I use:

net BTN-SPIN0-ON        =>  multiclick.s0.in
net SPIN-MAIN-FWD       <=  multiclick.s0.single-click-only
net SPIN-MAIN-FWD       =>  halui.spindle.0.forward
net SPIN-MAIN-REV       <=  multiclick.s0.double-click-only
net SPIN-MAIN-REV       =>  halui.spindle.0.reverse
net BTN-SPIN0-OFF       =>  halui.spindle.0.stop

signal BTN-SPIN0-ON connected to momentary pushbutton HAL-in pin.

Please Log in to join the conversation.

More
2 years 7 months ago #294988 by N3pu
Thank you.

I don´t know how to handle my "idea" with a flipflop or a toggle. I also read that some users did more or less similiar things with that kind of component, but not this exactly one. Multiclick sounds very interesting and easy, too. I didn´t knew before.

I wrote my kind of idea with an and + not component. I will give it a try today on the machine. For now it´s just written "offline":
Code:
# --- SPINDLE-MANUAL-CW AND OFF --- #net spindle-manual-cw <= hm2_7i76e.0.7i76.0.0.input-11 #Create Spindle-Enable-NOT Signal loadrt not count=1 addf not.0 sero-thread net spindle-enable => not.0.in net spindle-enable-not <= not.0.out loadrt and2 count=2 #spindle-enable AND button_spindle THEN spindle Stop addf and2.0 servo-thread net spindle-enable => and2.0.in0 net button_spindle hm2_7i76e.0.7i76.0.0.input-11 => and2.0.in1 net spindle-manual-stop <= and2.0.out #!spindle-enable AND button_spindle THEN spindle CW addf and2.1 servo-thread net spindle-enable-not => and2.1.in0 net button_spindle => and2.1.in1 net spindle-manual-cw <= and2.1.out

Please Log in to join the conversation.

More
2 years 7 months ago #294997 by N3pu
This seems to work:
Code:
loadrt and2 names=spindle_button.cw,spindle_button.stop # --- SPINDLE-MANUAL-CW AND OFF --- #net spindle-manual-cw     <=  hm2_7i76e.0.7i76.0.0.input-11 loadrt edge addf edge.0 servo-thread setp edge.0.in-edge FALSE setp edge.0.out-width-ns 18000000 net button_spindle_full <= hm2_7i76e.0.7i76.0.0.input-11 net button_spindle_full => edge.0.in net button_spindle <= edge.0.out #Create Spindle-Enable-NOT Signal loadrt not count=1 addf not.0 servo-thread net spindle-enable => not.0.in net spindle-enable-not <= not.0.out #spindle-enable AND button_spindle THEN spindle Stop addf spindle_button.stop servo-thread net spindle-enable => spindle_button.stop.in0 net button_spindle => spindle_button.stop.in1 net spindle-manual-stop <= spindle_button.stop.out #!spindle-enable AND button_spindle THEN spindle CW addf spindle_button.cw servo-thread net spindle-enable-not => spindle_button.cw.in0 net button_spindle => spindle_button.cw.in1 net spindle-manual-cw <= spindle_button.cw.out

Thank you Guys. I begin to love this Software :)

Please Log in to join the conversation.

More
2 years 7 months ago #295003 by tommylight


Thank you Guys. I begin to love this Software :)
Welcome to the dark side! :)
I was hooked the first time i edited a hal file, it was like entering a new universe of possibilities.

Please Log in to join the conversation.

More
2 years 7 months ago #295048 by andypugh
Wait until you realise just how easy it is to write your own custom HAL components.

linuxcnc.org/docs/stable/html/hal/comp.html

Please Log in to join the conversation.

Time to create page: 0.096 seconds
Powered by Kunena Forum