Hardware push buttons to set jog speed. how to?
- ttontsa
- Offline
- New Member
Less
More
- Posts: 9
- Thank you received: 0
16 Nov 2015 13:25 #65321
by ttontsa
Hardware push buttons to set jog speed. how to? was created by ttontsa
Hi
I like to get 2 external hardware push buttons to set jog velocity slider. I have mesa 5i25 + 7i77. Available inputs could be for example:
hm2_5i25.0.7i77.0.0.input-22 to for reduce jog speed
hm2_5i25.0.7i77.0.0.input-23 to for increasing jog speed
While button held down slider moves slowly (selectable parameter) against to min limit and other button to against max limit.
Or with one button that is continuously increasing value until max "overflow" and slider jump back to min limit.
Gmoccapy has some jog related pins alredy (linuxcnc manual pages 106...141):
gmoccapy.jog-speed-counts = HAL_S32 (Jog velocity)
gmoccapy.jog-vel-value = HAL_FLOAT To adjust the jog velocity slider
I think this site will include all needed advice but i am bit too dummy to get bright idea how to get work:
github.com/jepler/linuxcnc-mirror/blob/m...on/shuttlexpress.hal
-t-
I like to get 2 external hardware push buttons to set jog velocity slider. I have mesa 5i25 + 7i77. Available inputs could be for example:
hm2_5i25.0.7i77.0.0.input-22 to for reduce jog speed
hm2_5i25.0.7i77.0.0.input-23 to for increasing jog speed
While button held down slider moves slowly (selectable parameter) against to min limit and other button to against max limit.
Or with one button that is continuously increasing value until max "overflow" and slider jump back to min limit.
Gmoccapy has some jog related pins alredy (linuxcnc manual pages 106...141):
gmoccapy.jog-speed-counts = HAL_S32 (Jog velocity)
gmoccapy.jog-vel-value = HAL_FLOAT To adjust the jog velocity slider
I think this site will include all needed advice but i am bit too dummy to get bright idea how to get work:
github.com/jepler/linuxcnc-mirror/blob/m...on/shuttlexpress.hal
-t-
Please Log in or Create an account to join the conversation.
- newbynobi
- Offline
- Moderator
Less
More
- Posts: 2075
- Thank you received: 406
16 Nov 2015 22:04 #65349
by newbynobi
Replied by newbynobi on topic Hardware push buttons to set jog speed. how to?
Have never done that, but should be possible to increase the hal values with the button.
Can only wish good luck:-)
Norbert
Can only wish good luck:-)
Norbert
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23558
- Thank you received: 4858
17 Nov 2015 15:52 #65377
by andypugh
I think you want this component:
linuxcnc.org/docs/2.7/html/man/man9/updown.9.html
connect the output to jog-vel-value (I think)
I suspect that it will always start at zero, so you might need to add on a fixed offset with sum2.
Replied by andypugh on topic Hardware push buttons to set jog speed. how to?
gmoccapy.jog-speed-counts = HAL_S32 (Jog velocity)
gmoccapy.jog-vel-value = HAL_FLOAT To adjust the jog velocity slider
I think you want this component:
linuxcnc.org/docs/2.7/html/man/man9/updown.9.html
connect the output to jog-vel-value (I think)
I suspect that it will always start at zero, so you might need to add on a fixed offset with sum2.
Please Log in or Create an account to join the conversation.
- pippin88
- Offline
- Elite Member
Less
More
- Posts: 260
- Thank you received: 45
25 Sep 2016 04:34 - 25 Sep 2016 04:35 #80873
by pippin88
Replied by pippin88 on topic Hardware push buttons to set jog speed. how to?
I got this working for spindle override
However, I would like the button press to increase the speed by 10% not 1%. Then I have a second button (a 'shift button') that changes the increment to 5%. I had this working with axis and halui, but with gmoccapy the gmoccapy slider and halui count seemed to be fighting - the spindle speed would vary back and forth rapidly between what was set on the screen slider (100%) and what I had set by the buttons (e.g. 110%). I'm not sure how to do this. Maybe a scale?
However, I would like the button press to increase the speed by 10% not 1%. Then I have a second button (a 'shift button') that changes the increment to 5%. I had this working with axis and halui, but with gmoccapy the gmoccapy slider and halui count seemed to be fighting - the spindle speed would vary back and forth rapidly between what was set on the screen slider (100%) and what I had set by the buttons (e.g. 110%). I'm not sure how to do this. Maybe a scale?
# Spindle override
loadrt updown count=1
addf updown.0 servo-thread
setp gmoccapy.spindle-override.count-enable true
net spinup updown.0.countup <= hm2_7i43.0.7i76.0.0.input-00 #up orange
net spindown updown.0.countdown <= hm2_7i43.0.7i76.0.0.input-01 #down blue
net spincount updown.0.count => gmoccapy.spindle-override.counts ###connect updown count to gmoccapy count
#reset white Physical button to reset spindle override / set spindle to 100%
net spinreset <= hm2_7i43.0.7i76.0.0.input-03 ### connect physical reset button
net spinreset => gmoccapy.reset-spindle-override updown.0.reset ###reset both gmoccapy count and updown
Last edit: 25 Sep 2016 04:35 by pippin88.
Please Log in or Create an account to join the conversation.
- pippin88
- Offline
- Elite Member
Less
More
- Posts: 260
- Thank you received: 45
25 Sep 2016 04:49 #80874
by pippin88
Replied by pippin88 on topic Hardware push buttons to set jog speed. how to?
I have now this working with scale, such that one button press results in 10% change in spindle speed. This required converting s32 to float for scaling, then back to s32.
# Spindle override
loadrt updown count=1
### load extra scale in main hal file loadrt scale count=1
# To convert s32 from updown to float for scale
loadrt conv_s32_float count=1
# To convert float from scale back to s32 for counts
loadrt conv_float_s32 count=1
addf updown.0 servo-thread
addf scale.3 servo-thread
addf conv-s32-float.0 servo-thread
addf conv-float-s32.0 servo-thread
setp gmoccapy.spindle-override.count-enable true
# Connect pins to updown
net spinup updown.0.countup <= hm2_7i43.0.7i76.0.0.input-00 #up orange
net spindown updown.0.countdown <= hm2_7i43.0.7i76.0.0.input-01 #down blue
# Set scale gain
setp scale.3.gain 10
# Connect updown to s32->float in for conversion
net spindle-s32 conv-s32-float.0.in <= updown.0.count
# Connect output of s32->float to scale
net scale-s32 conv-s32-float.0.out => scale.3.in
# Connect output of scale to float->s32 converter
net scale-floatin scale.3.out => conv-float-s32.0.in
# Connect output of float->s32 to counts
net scale-floatout conv-float-s32.0.out => gmoccapy.spindle-override.counts
# Reset white - Physical button to reset spindle override / set spindle to 100%
net spinreset <= hm2_7i43.0.7i76.0.0.input-03
net spinreset => gmoccapy.reset-spindle-override updown.0.reset
Please Log in or Create an account to join the conversation.
- pippin88
- Offline
- Elite Member
Less
More
- Posts: 260
- Thank you received: 45
25 Sep 2016 05:44 - 25 Sep 2016 05:47 #80877
by pippin88
Replied by pippin88 on topic Hardware push buttons to set jog speed. how to?
Can't get a 'shift' button to work at present.
I tried using a mux2 to set the scale for updown.n.count to 5 or 10. The up and down buttons increment by 10% when the shift button is NOT pressed. When the shift button is pressed, the slider increment halves, e.g. if I have gone up 30% to 130%, when I press shift, the spindle speed goes to 115%, then back up to 130% if I release the shift button. If I hold shift and press up or down, the override changes by 5%, but when I release shift it jumps as if I had incremented by 10% each button. E.g. I increase by 5% to 105%, release shift and the spindle override jumps to 110%. Code is below.
Halui with it's halui.spindle-override.increase worked great in axis, but not in gmoccapy
NOT WORKING
I tried using a mux2 to set the scale for updown.n.count to 5 or 10. The up and down buttons increment by 10% when the shift button is NOT pressed. When the shift button is pressed, the slider increment halves, e.g. if I have gone up 30% to 130%, when I press shift, the spindle speed goes to 115%, then back up to 130% if I release the shift button. If I hold shift and press up or down, the override changes by 5%, but when I release shift it jumps as if I had incremented by 10% each button. E.g. I increase by 5% to 105%, release shift and the spindle override jumps to 110%. Code is below.
Halui with it's halui.spindle-override.increase worked great in axis, but not in gmoccapy
NOT WORKING
# Spindle override
loadrt updown count=1
### load extra scale in main hal file loadrt scale count=1
# To convert s32 from updown to float for scale
loadrt conv_s32_float count=1
# To convert float from scale back to s32 for counts
loadrt conv_float_s32 count=1
addf updown.0 servo-thread
addf scale.3 servo-thread
addf conv-s32-float.0 servo-thread
addf conv-float-s32.0 servo-thread
setp gmoccapy.spindle-override.count-enable true
# Connect pins to updown
net spinup updown.0.countup <= hm2_7i43.0.7i76.0.0.input-00 #up orange
net spindown updown.0.countdown <= hm2_7i43.0.7i76.0.0.input-01 #down blue
# Set scale gain
#mux allows us to choose between the two values. mux2.n.out defaults to .in0 if mux2.n.sel is not called
setp mux2.0.in0 10
setp mux2.0.in1 5
net spinshift mux2.0.sel <= hm2_7i43.0.7i76.0.0.input-02 #shift white
net scalegain scale.3.gain mux2.0.out
# Connect updown to s32->float in for conversion
net spindle-s32 conv-s32-float.0.in <= updown.0.count
# Connect output of s32->float to scale
net scale-s32 conv-s32-float.0.out => scale.3.in
# Connect output of scale to float->s32 converter
net scale-floatin scale.3.out => conv-float-s32.0.in
# Connect output of float->s32 to counts
net scale-floatout conv-float-s32.0.out => gmoccapy.spindle-override.counts
# Reset white - Physical button to reset spindle override / set spindle to 100%
net spinreset <= hm2_7i43.0.7i76.0.0.input-03
net spinreset => gmoccapy.reset-spindle-override updown.0.reset
Last edit: 25 Sep 2016 05:47 by pippin88.
Please Log in or Create an account to join the conversation.
- pippin88
- Offline
- Elite Member
Less
More
- Posts: 260
- Thank you received: 45
25 Sep 2016 06:14 #80878
by pippin88
Replied by pippin88 on topic Hardware push buttons to set jog speed. how to?
Halui feed override works fine with gmoccapy.
Below is my old code for feed and spindle override. Feed works great, spindle has the varying speed problem.
Below is my old code for feed and spindle override. Feed works great, spindle has the varying speed problem.
# Spindle override
#mux allows us to choose between the two values. mux2.n.out defaults to .in0 if mux2.n.sel is not called
setp mux2.0.in0 0.1
setp mux2.0.in1 0.05
net spinshift mux2.0.sel <= hm2_7i43.0.7i76.0.0.input-02 #shift white
net spinup <= hm2_7i43.0.7i76.0.0.input-00 #up orange
net spindown <= hm2_7i43.0.7i76.0.0.input-01 #down blue
net spinoverride halui.spindle-override.scale <= mux2.0.out
net spinup => halui.spindle-override.increase
net spindown => halui.spindle-override.decrease
# Feed override
setp mux2.1.in0 0.1
setp mux2.1.in1 0.05
net feedshift mux2.1.sel <= hm2_7i43.0.7i76.0.0.input-10 #shift white
net feedup <= hm2_7i43.0.7i76.0.0.input-08 #up orange
net feeddown <= hm2_7i43.0.7i76.0.0.input-09 #down blue
net feedoverride halui.feed-override.scale <= mux2.1.out
net feedup => halui.feed-override.increase
net feeddown => halui.feed-override.decrease
Please Log in or Create an account to join the conversation.
- newbynobi
- Offline
- Moderator
Less
More
- Posts: 2075
- Thank you received: 406
25 Sep 2016 08:42 #80886
by newbynobi
Replied by newbynobi on topic Hardware push buttons to set jog speed. how to?
@pippin88
I tested with sim.gmoccapy with a glade panel as button.
Attached the hal file and the glade file to test:
to embedd the tab in gmoccaopy use:
all files must be in your config dir!
that does work fine, so there must be a problem in the rest of your config files!
Norbert
I tested with sim.gmoccapy with a glade panel as button.
Attached the hal file and the glade file to test:
to embedd the tab in gmoccaopy use:
EMBED_TAB_NAME = Override
EMBED_TAB_LOCATION = ntb_preview
EMBED_TAB_COMMAND = gladevcp -x {XID} -H override.hal override.glade
all files must be in your config dir!
that does work fine, so there must be a problem in the rest of your config files!
Norbert
Please Log in or Create an account to join the conversation.
- pippin88
- Offline
- Elite Member
Less
More
- Posts: 260
- Thank you received: 45
25 Sep 2016 10:30 - 25 Sep 2016 10:35 #80896
by pippin88
Replied by pippin88 on topic Hardware push buttons to set jog speed. how to?
Norbert, thanks for your help.
Did you run the spindle? The problem only appears when I run the spindle.
I am using a huanyang vfd with the hy_vfd component. I'm not sure if that could make any problems.
I will try your glade panel in the next few days.
EDIT: Someone has the exact same problem: forum.linuxcnc.org/forum/gmoccapy/31613-...e-increase-bug#80897
Did you run the spindle? The problem only appears when I run the spindle.
I am using a huanyang vfd with the hy_vfd component. I'm not sure if that could make any problems.
I will try your glade panel in the next few days.
EDIT: Someone has the exact same problem: forum.linuxcnc.org/forum/gmoccapy/31613-...e-increase-bug#80897
Last edit: 25 Sep 2016 10:35 by pippin88.
Please Log in or Create an account to join the conversation.
- auto-mation-assist
- Offline
- Platinum Member
Less
More
- Posts: 425
- Thank you received: 81
08 Oct 2016 08:44 - 08 Oct 2016 08:45 #81387
by auto-mation-assist
Replied by auto-mation-assist on topic Hardware push buttons to set jog speed. how to?
I had a problem when lowering the spindle closed loop speed that caused uneven spindle speed at times. There was nothing wrong with my hal configuration. As it turned out the minimum speed settings in the huanyang vfd were the cause of the problem. I was trying to set the spindle speed lower than the minimum allowed by the VFD internally programed settings of 600 rpm. In my case this was 10Hz output. This caused the spindle encoder to put out a constant pulse train for 600 rpm when its minimum programmed speed was reached. The closed loop attempted to adjust the speed to the desired one which caused uneven speed and at times a total run away to a max rpm condition. VFD programming may be a potential source of the problem you are having. I use analog control of the VFD at 0-10v. reprogramming the vfd solved my problem.
Last edit: 08 Oct 2016 08:45 by auto-mation-assist.
The following user(s) said Thank You: ikkuh
Please Log in or Create an account to join the conversation.
Moderators: newbynobi, HansU
Time to create page: 0.070 seconds