Please Help - How to Configure a 5 Axis Head-Head
01 Aug 2023 20:01 #276731
by Aciera
Replied by Aciera on topic Please Help - How to Configure a 5 Axis Head-Head
its a typo i made in the [DISPLAY] section of the ini file.
Please change:
PYVCP = ./pyvcvp_panel.xml
to this:
PYVCP = ./pyvcp_panel.xml
And try again.
Please change:
PYVCP = ./pyvcvp_panel.xml
to this:
PYVCP = ./pyvcp_panel.xml
And try again.
The following user(s) said Thank You: IronManDylan
Please Log in or Create an account to join the conversation.
- IronManDylan
- Offline
- Premium Member
Less
More
- Posts: 115
- Thank you received: 19
01 Aug 2023 20:16 - 01 Aug 2023 20:20 #276733
by IronManDylan
Replied by IronManDylan on topic Please Help - How to Configure a 5 Axis Head-Head
Okay did that, seems like we're getting closer.
Edit: I don't see postgui_list.hal in this configuration...
Edit: I don't see postgui_list.hal in this configuration...
Last edit: 01 Aug 2023 20:20 by IronManDylan.
Please Log in or Create an account to join the conversation.
01 Aug 2023 20:20 #276734
by Aciera
Replied by Aciera on topic Please Help - How to Configure a 5 Axis Head-Head
Another typo in the [HAL] section of the ini:
Change this:
POSTGUI_HALFILE = postgui_list.hal
to:
POSTGUI_HALFILE = postgui_call_list.hal
Change this:
POSTGUI_HALFILE = postgui_list.hal
to:
POSTGUI_HALFILE = postgui_call_list.hal
Please Log in or Create an account to join the conversation.
- IronManDylan
- Offline
- Premium Member
Less
More
- Posts: 115
- Thank you received: 19
01 Aug 2023 20:31 - 01 Aug 2023 20:48 #276736
by IronManDylan
Replied by IronManDylan on topic Please Help - How to Configure a 5 Axis Head-Head
Heyyy, so close now!! Axis gui opens, can jog xyz.
Getting some errors popping up and when I try to jog rotary axis (joint 4 in picture) I heard the steppers switch off the controls grey out, and I have to "toggle machine power" to get them back. Cannot get rotary axis to move at all.
edit: messed with is some more. Still getting "follow error" on rotary joints. Also go the error "unexpected realtime delay on task 0 with period 10000000" then told me to "Run the Latency Test and Resolve before continuing"
edit2: the servo_period under [EMCMOT] didn't carry over from my original configuration. I corrected that and am still getting the "follow error"
Getting some errors popping up and when I try to jog rotary axis (joint 4 in picture) I heard the steppers switch off the controls grey out, and I have to "toggle machine power" to get them back. Cannot get rotary axis to move at all.
edit: messed with is some more. Still getting "follow error" on rotary joints. Also go the error "unexpected realtime delay on task 0 with period 10000000" then told me to "Run the Latency Test and Resolve before continuing"
edit2: the servo_period under [EMCMOT] didn't carry over from my original configuration. I corrected that and am still getting the "follow error"
Last edit: 01 Aug 2023 20:48 by IronManDylan.
Please Log in or Create an account to join the conversation.
01 Aug 2023 20:53 #276737
by Aciera
Replied by Aciera on topic Please Help - How to Configure a 5 Axis Head-Head
That means your velocity and acceleration setting in the ini are to high for the rotary axes.
If we look at your A-axis/joint 4:
you have set a max velocity of 360°/s @ 13478.26 pulses per degree that is about 4.5 MHz that means a period length of 206ns or a steplen of about 100ns (at 50% duty cycle).
You can try to lower the 'setplen' and 'stepspace' values but certainly not by that much (maybe half would be my guess depending on your drivers).
So basically you will need to significantly lower the velocity and acceleration values for rotary axis/joint (don't forget the 'stepgen_maxvel' and 'stepgen_maxaccel').
Start really low then increase until you get issues and then back off by maybe 10-20%.
Additionally you maybe able to decrease microstepping an bring the 'step_scale' down.
I've run out of time for today but you should be ok on your on for now.
If we look at your A-axis/joint 4:
Warning: Spoiler!
[AXIS_A]
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.0
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
[JOINT_3]
TYPE = ANGULAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 720.00
STEPGEN_MAXACCEL = 2400.00
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = 13478.26
BACKLASH = 0.5499999999999999
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
HOME_OFFSET = 0.0
HOME_SEQUENCE = 3
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.0
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
[JOINT_3]
TYPE = ANGULAR
HOME = 0.0
FERROR = 0.5
MIN_FERROR = 0.05
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 720.00
STEPGEN_MAXACCEL = 2400.00
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 5000
STEPSPACE = 5000
STEP_SCALE = 13478.26
BACKLASH = 0.5499999999999999
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
HOME_OFFSET = 0.0
HOME_SEQUENCE = 3
you have set a max velocity of 360°/s @ 13478.26 pulses per degree that is about 4.5 MHz that means a period length of 206ns or a steplen of about 100ns (at 50% duty cycle).
You can try to lower the 'setplen' and 'stepspace' values but certainly not by that much (maybe half would be my guess depending on your drivers).
So basically you will need to significantly lower the velocity and acceleration values for rotary axis/joint (don't forget the 'stepgen_maxvel' and 'stepgen_maxaccel').
Start really low then increase until you get issues and then back off by maybe 10-20%.
Additionally you maybe able to decrease microstepping an bring the 'step_scale' down.
I've run out of time for today but you should be ok on your on for now.
The following user(s) said Thank You: IronManDylan
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19188
- Thank you received: 6433
01 Aug 2023 21:02 #276741
by tommylight
Replied by tommylight on topic Please Help - How to Configure a 5 Axis Head-Head
I think it is time to move to a PC, those Lenovo T4nn have very bad latency.
Glad you have stuff moving.
Glad you have stuff moving.
Please Log in or Create an account to join the conversation.
- IronManDylan
- Offline
- Premium Member
Less
More
- Posts: 115
- Thank you received: 19
01 Aug 2023 21:06 - 01 Aug 2023 21:08 #276742
by IronManDylan
Replied by IronManDylan on topic Please Help - How to Configure a 5 Axis Head-Head
Aciera, I really really appreciate all your help!
I suspected something similar, and I noticed that my joint configuration from my initial ini configuration didn't make it over into your .ini file. So I copied my stuff from my file over for joint_3 and was able to get the A axis working on the machine. By my caluclations there should be 37.68 pulses per degree on my machine (my gear reduction is very low) and I am forced to run the axis at a low velocity because of lack of torque. I am going to save a backup of your .ini file that we fixed and then go to work trying to get this working this evening. Will post updates! Thanks again!
edit: tommy, i think it was because of the pulse/deg being set way too high. So I hope you're wrong cuase I dont want to but a computer haha. Hopefully will find out tonight!
I suspected something similar, and I noticed that my joint configuration from my initial ini configuration didn't make it over into your .ini file. So I copied my stuff from my file over for joint_3 and was able to get the A axis working on the machine. By my caluclations there should be 37.68 pulses per degree on my machine (my gear reduction is very low) and I am forced to run the axis at a low velocity because of lack of torque. I am going to save a backup of your .ini file that we fixed and then go to work trying to get this working this evening. Will post updates! Thanks again!
edit: tommy, i think it was because of the pulse/deg being set way too high. So I hope you're wrong cuase I dont want to but a computer haha. Hopefully will find out tonight!
Last edit: 01 Aug 2023 21:08 by IronManDylan.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19188
- Thank you received: 6433
01 Aug 2023 21:19 #276745
by tommylight
Replied by tommylight on topic Please Help - How to Configure a 5 Axis Head-Head
As long as the link to Mesa does not drop, you should be good.
They are very good laptops and at any given time i must have at least 3 of those Lenovo.
Got a new ThinkBook with Ryzen 5 5500U, has good latency so far.
They are very good laptops and at any given time i must have at least 3 of those Lenovo.
Got a new ThinkBook with Ryzen 5 5500U, has good latency so far.
Please Log in or Create an account to join the conversation.
- IronManDylan
- Offline
- Premium Member
Less
More
- Posts: 115
- Thank you received: 19
02 Aug 2023 05:16 #276758
by IronManDylan
Replied by IronManDylan on topic Please Help - How to Configure a 5 Axis Head-Head
Okay been messing around. Found out my pulse per unit was off by about a factor of two (two leads on lead screw and didn't calculate gear reduction correctly).
Anyway, I am still having two issues.
One: should be pretty simple but is reallyy weird and a little long winded. The XY home switches are not working (the linear axis are just using simple switches currently running on 5V drawn from some of the Mesa boards open 5V pins). But they were working, then they stopped. And I don't think I changed any code that would effect that (and no matter what I do nothing seems to change it's function). The X seemed to be working fine and then stopped, and the Y worked like once and then stopped. I checked for continuity on my switches with a multimeter, they're good. Mesa lights a LED when there is a pin connected. It seems I am getting the X to connect, but not Y. So I think there may be a wiring issues with Y. Though that doesn't explain why it worked once and then stopped. Right now I set my seek and latch velocities to 0 so that they would home in place and I could try to figure out the TCP. But, I obviously want to get the home switches working. Is there a good way find out which of the 7I96S input pins are going high? This would really help me trouble shoot these as all I have are these LEDs to go off of (and it seems like some amount of parasitic voltage is causing them to light up ever so slightly when a sensor cable is plugged in, so I am wondering if that is causing the issue). I added my .ini and .hal files incase those are relevant (I have the X set to home since I was testing with that).
Rotary axis. It looks like my rotary axis are lit up on the Mesa when they are not in the home position (again, maybe some leaky voltage) and then when they are in the home position they get really bright. These are 24V NPN sensors and these do seem to be working, so maybe the higher voltage is helping? I tried plugging my latch switches into the 24V, but since there isn't a 24V return on the Mesa they didn't seem to work (idk how the NPN are working). Worse case I can replace my last two latching switches with NPN sensors, not a big deal... But my XY probe does need to be 5V so I would be worried about that...
I know that was a lot and was probably kind of confusing and I apologize for that. But I have been messing with it for a few hours and it's not making any sense. Maybe a fresh start tomorrow will help.
Two: Aciera, I am still getting a "joint 0 following error" when I try to move the machine in TCP mode. It seems like it is working for a moment (other than I need to change direction of one of the rotary axis) and then kicks the control off and throws up that error. 0 is the X axis and that one is the one that is moving the fastest (testing by driving b axis), maybe I just need to increase max velocity of that axis? I'll try this in the morning.
The other thing I wanted to ask about is, how do I set the pivot distance? I imagine tool length effects pivot distance, but is there another way?
Phew.
Anyway, I am still having two issues.
One: should be pretty simple but is reallyy weird and a little long winded. The XY home switches are not working (the linear axis are just using simple switches currently running on 5V drawn from some of the Mesa boards open 5V pins). But they were working, then they stopped. And I don't think I changed any code that would effect that (and no matter what I do nothing seems to change it's function). The X seemed to be working fine and then stopped, and the Y worked like once and then stopped. I checked for continuity on my switches with a multimeter, they're good. Mesa lights a LED when there is a pin connected. It seems I am getting the X to connect, but not Y. So I think there may be a wiring issues with Y. Though that doesn't explain why it worked once and then stopped. Right now I set my seek and latch velocities to 0 so that they would home in place and I could try to figure out the TCP. But, I obviously want to get the home switches working. Is there a good way find out which of the 7I96S input pins are going high? This would really help me trouble shoot these as all I have are these LEDs to go off of (and it seems like some amount of parasitic voltage is causing them to light up ever so slightly when a sensor cable is plugged in, so I am wondering if that is causing the issue). I added my .ini and .hal files incase those are relevant (I have the X set to home since I was testing with that).
Rotary axis. It looks like my rotary axis are lit up on the Mesa when they are not in the home position (again, maybe some leaky voltage) and then when they are in the home position they get really bright. These are 24V NPN sensors and these do seem to be working, so maybe the higher voltage is helping? I tried plugging my latch switches into the 24V, but since there isn't a 24V return on the Mesa they didn't seem to work (idk how the NPN are working). Worse case I can replace my last two latching switches with NPN sensors, not a big deal... But my XY probe does need to be 5V so I would be worried about that...
I know that was a lot and was probably kind of confusing and I apologize for that. But I have been messing with it for a few hours and it's not making any sense. Maybe a fresh start tomorrow will help.
Two: Aciera, I am still getting a "joint 0 following error" when I try to move the machine in TCP mode. It seems like it is working for a moment (other than I need to change direction of one of the rotary axis) and then kicks the control off and throws up that error. 0 is the X axis and that one is the one that is moving the fastest (testing by driving b axis), maybe I just need to increase max velocity of that axis? I'll try this in the morning.
The other thing I wanted to ask about is, how do I set the pivot distance? I imagine tool length effects pivot distance, but is there another way?
Phew.
Please Log in or Create an account to join the conversation.
02 Aug 2023 06:43 #276761
by Aciera
Replied by Aciera on topic Please Help - How to Configure a 5 Axis Head-Head
Ooops, I forgot you are running an inch based machine so the guessed value I put in for the pivot length is most likely causing the following error on your x-axis.
So in the [HAL] section of your ini you can change the offset and pivot values:
# set actual geometrical offsets of the rotary assembly
HALCMD = sets :pivot-y 0
HALCMD = sets :pivot-z 100
HALCMD = sets :offset-x 0
HALCMD = sets :offset-z 0
As for your issues with the limit switches:
I would strongly recommend using 24V for those signals. If you are unsure about how to connect them to your mesa board then maybe start a new topinc in the 'driver board' board section of the forum and user PCW will sort you out.
Note that you can use the 'halshow' tool to watch pin states: linuxcnc.org/docs/devel/html/hal/halshow.html
There is also 'halscope' and 'halmeter':
(I haven't watched the whole video but it seems useful to give you an introduction)
So in the [HAL] section of your ini you can change the offset and pivot values:
# set actual geometrical offsets of the rotary assembly
HALCMD = sets :pivot-y 0
HALCMD = sets :pivot-z 100
HALCMD = sets :offset-x 0
HALCMD = sets :offset-z 0
As for your issues with the limit switches:
I would strongly recommend using 24V for those signals. If you are unsure about how to connect them to your mesa board then maybe start a new topinc in the 'driver board' board section of the forum and user PCW will sort you out.
Note that you can use the 'halshow' tool to watch pin states: linuxcnc.org/docs/devel/html/hal/halshow.html
There is also 'halscope' and 'halmeter':
(I haven't watched the whole video but it seems useful to give you an introduction)
Please Log in or Create an account to join the conversation.
Time to create page: 0.103 seconds