Offset home and jog caroussel
26 Jan 2024 23:21 #291694
by greg23_78
Offset home and jog caroussel was created by greg23_78
I'm having problems with my tool change/caroussel.
loadrt carousel pockets=30 encoding=index num_sense=2 dir=2
on my caroussel the home is on tool 30 (the last one)
when I ask for a tool change I am shifted by 1 just after the homing, then the carousel works perfectly, I have the right tool shift
I think that the modification should be made on the carrousel.comp but not knowing pyton programming, I prefer not to modify the program too much.
the second problem comes from the jog of the carousel, the programming I have done does not work, what modification should I make to make it work?
loadrt carousel pockets=30 encoding=index num_sense=2 dir=2
on my caroussel the home is on tool 30 (the last one)
when I ask for a tool change I am shifted by 1 just after the homing, then the carousel works perfectly, I have the right tool shift
I think that the modification should be made on the carrousel.comp but not knowing pyton programming, I prefer not to modify the program too much.
case 10: // start of homing
homed = 0;
homing = 1;
motor_fwd = 1;
motor_rev = 0;
motor_vel = fwd_dc;
motor_dir = 1;
index_enable = 1;
counts_target += scale * inst_pockets;
old_index = 1; // ensure 0->1 cycle of home sensor
state = 11;
case 11: ;// waiting for index & pulse
int ind = 0;
if (inst_code == 'C'){
ind = sense(0);
} else {
ind = (sense(0) && sense(1));
}
if ( ! index_enable || ((! old_index) && ind)){ // index found
current_position = 1;
homed = 1;
homing = 0;
active = 0;
motor_fwd = 0;
motor_rev = 0;
motor_vel = 0;
base_counts = counts - home_offset;
counts_target = base_counts;
if ( align_dc == 0) {
state = 0;
} else {
timer = decel_time;
state = 5;
}
}
old_index = ind;
break; // So that we don't see the tool1 pulse twice
case 20: //jogging fwd/rev
if (current_position != target){
deb = debounce;
return;
} else if (deb-- > 0) {
return;
}
if (align_dc != 0 && ! align_pin) return;
motor_fwd = 0;
motor_rev = 0;
motor_vel = hold_dc;
active = 0;
if (jog_fwd || jog_rev) return; // require button release to jog again
if (align_dc != 0) {
motor_vel = -align_dc;
timer = decel_time;
state = 5;
} else {
state = 0;
}
break;
}
}
the second problem comes from the jog of the carousel, the programming I have done does not work, what modification should I make to make it work?
loadrt debounce cfg=2
net jog-fwd <= hm2_5i25.0.7i77.0.0.input-17
net jog-fwd => debounce.0.0.in
net debounce-fwd-out <= debounce.0.0.out
net debounce-fwd-out => carousel.0.jog-fwd motion.digital-in-10
net jog-rev <= hm2_5i25.0.7i77.0.0.input-18
net jog-rev => debounce.0.1.in
net debounce-rev-out <= debounce.0.1.out
net debounce-rev-out => carousel.0.jog-rev motion.digital-in-11
Please Log in or Create an account to join the conversation.
- tommylight
-
- Online
- Moderator
-
Less
More
- Posts: 18563
- Thank you received: 6218
26 Jan 2024 23:25 #291696
by tommylight
Replied by tommylight on topic Offset home and jog caroussel
Is this a double post?
I am sure i have read the loadrt line with 30 tools a day or two prior...
-
As a general rule, no double posting.
I am sure i have read the loadrt line with 30 tools a day or two prior...
-
As a general rule, no double posting.
Please Log in or Create an account to join the conversation.
26 Jan 2024 23:42 #291698
by greg23_78
Replied by greg23_78 on topic Offset home and jog caroussel
I don't think I'm making a double post,
www.forum.linuxcnc.org/24-hal-components...s-to-the-same-output
I've tried to apply SPUMCO's recommendations.
"Note - in the future, start a new thread for a new topic. I know it's 'just a little add-on question', but changing the thread title even if it's yours is frowned on and makes it harder for people to search later. I'm guilty of it, too, but I try not to make a habit of it."
if this is considered a double post I'm sorry
www.forum.linuxcnc.org/24-hal-components...s-to-the-same-output
I've tried to apply SPUMCO's recommendations.
"Note - in the future, start a new thread for a new topic. I know it's 'just a little add-on question', but changing the thread title even if it's yours is frowned on and makes it harder for people to search later. I'm guilty of it, too, but I try not to make a habit of it."
if this is considered a double post I'm sorry
Please Log in or Create an account to join the conversation.
27 Jan 2024 03:41 #291715
by spumco
Replied by spumco on topic Offset home and jog caroussel
@Tommy - nope, OP is following orders ![:) :)](/media/kunena/emoticons/smile.png)
@greg23_78... Regarding the first part, I don't understand why home is pocket 30. I assume since your'e using 'INDEX' mode you've got a per-pocket sensor and a once-per-rev index sensor, yes?
Is there some reason you can't (or don't want to) define the index sensor as pocket #1?
Regarding jog... um. I had a problem with it a while ago (months) and reported it to Andy Pugh (author of carousel) on git hub. I think it's been fixed, but I honestly haven't done much testing. If I recall, you have to set the jog-fwd/rev signal high and then low for it to work.
To test it out I found it was easier to get all the carousel pins displayed in halshow, and then unlink the various inputs so I could manually diddle the pins. There's even an 'unhome' pin you can use for testing (Thanks Andy!) your homing process so you don't have to close & restart LCNC.
Have a go in halshow and see if you can figure out (and report back) if toggling the jog pins on/off (after it's homed) works.
And 30 tools? That's huge. What is this thing?
![:) :)](/media/kunena/emoticons/smile.png)
@greg23_78... Regarding the first part, I don't understand why home is pocket 30. I assume since your'e using 'INDEX' mode you've got a per-pocket sensor and a once-per-rev index sensor, yes?
Is there some reason you can't (or don't want to) define the index sensor as pocket #1?
Regarding jog... um. I had a problem with it a while ago (months) and reported it to Andy Pugh (author of carousel) on git hub. I think it's been fixed, but I honestly haven't done much testing. If I recall, you have to set the jog-fwd/rev signal high and then low for it to work.
To test it out I found it was easier to get all the carousel pins displayed in halshow, and then unlink the various inputs so I could manually diddle the pins. There's even an 'unhome' pin you can use for testing (Thanks Andy!) your homing process so you don't have to close & restart LCNC.
Have a go in halshow and see if you can figure out (and report back) if toggling the jog pins on/off (after it's homed) works.
And 30 tools? That's huge. What is this thing?
Please Log in or Create an account to join the conversation.
27 Jan 2024 07:48 - 27 Jan 2024 07:52 #291719
by greg23_78
Replied by greg23_78 on topic Offset home and jog caroussel
yes, I have a sensor for the index of my caroussel and I have a sensor for the motor of the caroussel 1rev = 1 pocket
The reason why on the pocket 30, I do not know, it was assembled like that of origin and to modify mechanically and too complicated.
a photo of my milling machine attached
after a lot of reading of the caroussel.comp file i think this parameter should be changed
if ( ! index_enable || ((! old_index) && ind)){ // index found
current_position = 1; ============> 30
is there a command to edit a coump file or do i have to download it on github modify and install it?
for the jog, i found your post, i will read it more in depth.
the pins carousel.0.jog-fwd and carousel.0.jog-rev are active on halshow before and after homing.
The reason why on the pocket 30, I do not know, it was assembled like that of origin and to modify mechanically and too complicated.
a photo of my milling machine attached
after a lot of reading of the caroussel.comp file i think this parameter should be changed
if ( ! index_enable || ((! old_index) && ind)){ // index found
current_position = 1; ============> 30
case 10: // start of homing
homed = 0;
homing = 1;
motor_fwd = 1;
motor_rev = 0;
motor_vel = fwd_dc;
motor_dir = 1;
index_enable = 1;
counts_target += scale * inst_pockets;
old_index = 1; // ensure 0->1 cycle of home sensor
state = 11;
case 11: ;// waiting for index & pulse
int ind = 0;
if (inst_code == 'C'){
ind = sense(0);
} else {
ind = (sense(0) && sense(1));
}
if ( ! index_enable || ((! old_index) && ind)){ // index found
current_position = 1; ============> 30
homed = 1;
homing = 0;
active = 0;
motor_fwd = 0;
motor_rev = 0;
motor_vel = 0;
base_counts = counts - home_offset;
counts_target = base_counts;
if ( align_dc == 0) {
state = 0;
} else {
timer = decel_time;
state = 5;
}
}
old_index = ind;
break; // So that we don't see the tool1 pulse twice
case 20: //jogging fwd/rev
if (current_position != target){
deb = debounce;
return;
} else if (deb-- > 0) {
return;
}
if (align_dc != 0 && ! align_pin) return;
motor_fwd = 0;
motor_rev = 0;
motor_vel = hold_dc;
active = 0;
if (jog_fwd || jog_rev) return; // require button release to jog again
if (align_dc != 0) {
motor_vel = -align_dc;
timer = decel_time;
state = 5;
} else {
state = 0;
}
break;
}
}
is there a command to edit a coump file or do i have to download it on github modify and install it?
for the jog, i found your post, i will read it more in depth.
the pins carousel.0.jog-fwd and carousel.0.jog-rev are active on halshow before and after homing.
Last edit: 27 Jan 2024 07:52 by greg23_78.
Please Log in or Create an account to join the conversation.
- tommylight
-
- Online
- Moderator
-
Less
More
- Posts: 18563
- Thank you received: 6218
27 Jan 2024 08:39 #291723
by tommylight
Replied by tommylight on topic Offset home and jog caroussel
OK, thank you.@Tommy - nope, OP is following orders
The following user(s) said Thank You: spumco
Please Log in or Create an account to join the conversation.
27 Jan 2024 17:18 #291752
by spumco
Those shouldn't be active. Try connecting the input-17-not and -18-not signals to the jog pins and restart LCNC. The you should see them low in halshow before/after homing.
Likely they'll work at that point.
Replied by spumco on topic Offset home and jog caroussel
the pins carousel.0.jog-fwd and carousel.0.jog-rev are active on halshow before and after homing.
Those shouldn't be active. Try connecting the input-17-not and -18-not signals to the jog pins and restart LCNC. The you should see them low in halshow before/after homing.
Likely they'll work at that point.
Please Log in or Create an account to join the conversation.
28 Jan 2024 13:23 - 28 Jan 2024 14:04 #291799
by greg23_78
Replied by greg23_78 on topic Offset home and jog caroussel
I think I misspoke, I meant to say that the operation of carousel.0.jog-fwd and carousel.0.jog-rev is correct.
When I press my jog-fwd and jog-rev buttons the inputs hm2_5i25.0.7i77.0.0.input-17 and hm2_5i25.0.7i77.0.0.input-18 go from low to high and when I release it it goes back to low.
carousel.0.jog-fwd and carousel.0.jog-rev work identically to hm2_5i25.0.7i77.0.0.input-17 and hm2_5i25.0.7i77.0.0.input-18.
correct functioning before and after homing
I've installed the latest version of carousel comp but the jog still doesn't respond.
When I press my jog-fwd and jog-rev buttons the inputs hm2_5i25.0.7i77.0.0.input-17 and hm2_5i25.0.7i77.0.0.input-18 go from low to high and when I release it it goes back to low.
carousel.0.jog-fwd and carousel.0.jog-rev work identically to hm2_5i25.0.7i77.0.0.input-17 and hm2_5i25.0.7i77.0.0.input-18.
correct functioning before and after homing
I've installed the latest version of carousel comp but the jog still doesn't respond.
Last edit: 28 Jan 2024 14:04 by greg23_78.
Please Log in or Create an account to join the conversation.
28 Jan 2024 21:45 #291838
by spumco
Replied by spumco on topic Offset home and jog caroussel
Ok, the next step is to add carousel.0.state to halshow.
"State" is the status of the carousel component, and the value shown in halshow corresponds to the 'state' described in the component. Open the component:
github.com/LinuxCNC/linuxcnc/blob/master...onents/carousel.comp
And scroll down to see the "case = n" statement.
Watch the state pin and see how the value changes before/after homing and while it's moving. See if the state changes when you turn on/off the jog pins.
I think it should be state = 20 if carousel is getting the jog signal in. If you trigger the jog signal and it doesn't go to 20, there may be a problem and we need to get Andy involved.
"State" is the status of the carousel component, and the value shown in halshow corresponds to the 'state' described in the component. Open the component:
github.com/LinuxCNC/linuxcnc/blob/master...onents/carousel.comp
And scroll down to see the "case = n" statement.
Watch the state pin and see how the value changes before/after homing and while it's moving. See if the state changes when you turn on/off the jog pins.
I think it should be state = 20 if carousel is getting the jog signal in. If you trigger the jog signal and it doesn't go to 20, there may be a problem and we need to get Andy involved.
Please Log in or Create an account to join the conversation.
29 Jan 2024 16:40 - 29 Jan 2024 16:49 #291906
by greg23_78
Replied by greg23_78 on topic Offset home and jog caroussel
I did the test to see the change in caroussel.0.state and here is the result.
before home = 0
during home = 11
after home = 0
when i press jog = 20 and still 20 even if i release jog.
before home = 0
during home = 11
after home = 0
when i press jog = 20 and still 20 even if i release jog.
Last edit: 29 Jan 2024 16:49 by greg23_78.
Please Log in or Create an account to join the conversation.
Time to create page: 0.135 seconds