Move stepper motor only with push button

More
11 months 2 weeks ago #338303 by hanz24
I’m working on a CNC lathe project using mesa card 7i98 where I want to add an extra stepper motor to control the chuck lock/unlock mechanism. The goal is to operate this lock only using a push button, completely independent from any G-code commands. This is to prevent accidents in case there's an error in a G-code file that could unintentionally move the chuck lock.I’ve already managed to configure the stepper so it can be moved using a push button, but the issue is that in my current configuration the motor is still connected to joint.2 and axis.a. I’m worried that if something goes wrong in the G-code, the machine could send motion commands to this stepper as if it were a normal axis, which might release the chuck during machining.What I want is a clean way to configure this stepper as a completely independent device, not tied to any axis or joint used by the motion planner, so it will only respond to the push button input.Has anyone implemented something similar or knows the proper way to configure this in LinuxCNC?

Please Log in to join the conversation.

More
11 months 2 weeks ago #338305 by Aciera
Have a look at 'extra joints'. sim configs can be found in 'configs/sim/axis/extrajoints.
github.com/LinuxCNC/linuxcnc/tree/master...sim/axis/extrajoints

There is also some information here:
linuxcnc.org/docs/html/man/man9/motion.9.html

Discussion:
forum.linuxcnc.org/38-general-linuxcnc-q...-controller?start=20

Please Log in to join the conversation.

More
11 months 2 weeks ago #338306 by hanz24
Thanks a lot, i already find this kind of topic but never found the right one. i will read and try it.

I have tried to change the configuration on the hal file using mux4 etc like this, but my stepper motor still doesn't move, maybe because it doesn't have the  stepgen.02.position-cmd parts. But i think it will be much easier with extra joint configuration.
Code:
setp hm2_7i98.0.stepgen.02.control-type   1 setp hm2_7i98.0.stepgen.02.step_type      0 setp hm2_7i98.0.stepgen.02.position-scale -400 setp hm2_7i98.0.stepgen.02.maxvel         30 setp hm2_7i98.0.stepgen.02.maxaccel       100 setp hm2_7i98.0.stepgen.02.steplen        2000 setp hm2_7i98.0.stepgen.02.stepspace      2000 setp hm2_7i98.0.stepgen.02.dirsetup       3000 setp hm2_7i98.0.stepgen.02.dirhold        3000 setp hm2_7i98.0.gpio.013.is_output     1 setp hm2_7i98.0.gpio.013.invert_output 0 net a-enable => hm2_7i98.0.gpio.013.out loadrt mux4 count=1 addf mux4.0 servo-thread # Set the speed value setp mux4.0.in0  0       # stopped setp mux4.0.in1  200    # speed forward  setp mux4.0.in2 -200    # speed reverse # Jog with Push Button, Positif direction pin 001, Negatif direction pin 005 net jog-a-plus-raw    debounce.0.0.in <= hm2_7i98.0.gpio.001.in_not  net jog-a-plus        debounce.0.0.out => mux4.0.sel0 net jog-a-minus-raw    debounce.0.1.in <= hm2_7i98.0.gpio.005.in_not net jog-a-minus     debounce.0.1.out => mux4.0.sel1 net chuck-speed mux4.0.out =>    hm2_7i98.0.stepgen.02.velocity-cmd loadrt or2 count=1 addf or2.0 servo-thread net jog-a-plus  => or2.0.in0 net jog-a-minus => or2.0.in1 net chuck-enable or2.0.out => hm2_7i98.0.stepgen.02.enable

Please Log in to join the conversation.

Time to create page: 0.081 seconds
Powered by Kunena Forum