Rods "Spaceship" Scratch built Plasma Cutter build
- rodw
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 10843
- Thank you received: 3580
19 Nov 2017 12:15 #102005
by rodw
Replied by rodw on topic Rods "Spaceship" Scratch built Plasma Cutter build
Robert,, thanks for the ideas. 10 steps on a 5mm ball screw with 1.8 deg stepper is 0.25 mm which is exactly the distance I used when doing some tests similar to what you have suggested except I was lazy and had LinuxCNC log the voltages for me 1.5 seconds after ArcOK. I ran cuts from 1.5mm to 2.25mm in 0.25 volt (10 step) increments and graphed a trend line of a couple of repetitions.. When I say volts per mm, it really is volts per 0.1mm but its easier to think in terms of whole numbers. The reality is that we don't really need to know the characteristics of the torch to cut steel but we do need know them to model the torch in software if we want to build a simulator that allows it to be tuned without cutting steel plate.
I haven't tested it but from what I've read the change in volts over time is not correlated to material thickness or cutting speed and remains more or less constant. Certainly the oscillations I've seen are similar on 2mm and 8mm steel.
Don't forget that I am adopting someone else's paradigm here. One of the inputs is a scaling factor K and that paradigm says its 1000 for an imperial machine or 39.37 (1000/25.4) for a metric machine. The reciprocal of this number (1/39.37) becomes the input to the external offset scale parameter. In some of the literature they refer to a PID scale and it seems to me that this is the equivalent scaling setting. They suggested where ongoing oscillations are experienced, it could be that the PID scale is too high.
If I haven't confused you by now, imagine how I feel with no experience with CNC or plasma cutting of any kind.
No wonder my head hurts!
I haven't tested it but from what I've read the change in volts over time is not correlated to material thickness or cutting speed and remains more or less constant. Certainly the oscillations I've seen are similar on 2mm and 8mm steel.
Don't forget that I am adopting someone else's paradigm here. One of the inputs is a scaling factor K and that paradigm says its 1000 for an imperial machine or 39.37 (1000/25.4) for a metric machine. The reciprocal of this number (1/39.37) becomes the input to the external offset scale parameter. In some of the literature they refer to a PID scale and it seems to me that this is the equivalent scaling setting. They suggested where ongoing oscillations are experienced, it could be that the PID scale is too high.
If I haven't confused you by now, imagine how I feel with no experience with CNC or plasma cutting of any kind.
No wonder my head hurts!
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
Less
More
- Posts: 915
- Thank you received: 216
19 Nov 2017 13:04 #102008
by robertspark
Replied by robertspark on topic Rods "Spaceship" Scratch built Plasma Cutter build
Rod,
Are you not using any microstepping of th z-axis? 5/200*10 yes = 0.25mm.... but really you should be using some microsteps (no more that 10)
What is your present z axis acceleration + velocity settings?
so what volts per unit have you found?
I'd suggest that this would become equated to your "P" parameter (step/volt), therefore if you know how many volts error you have you now know how many steps your axis needs to move.
"I" is the integril bit.... is the amount of change that did not happen (cumulative error at the time intervils) ..... because your Z Axis "may" move fast or slow, "I" may change relative to your feedrate in my opinion..... because at 1khz you'd expect the Z axis to be on track with the error, in fact it may have even overshot the error because your z axis is so fast and the voltage error "may" be small {the may bit refers to a dependancey on feedrate + the profile you are cutting / it's bevel that your THC is trying to correct).
low feedrate .... small "I" and a high feedrate ..... large "I"
"D" is the rate change over time, how much can the axis actually change over time..... so with a low feedrate you would use a large "D" and with a high feedrate you would use a smaller "D" action
So the "I" will speed up the motion (because its not getting to its target) and the "D" will slow the motion down (because its getting to the target too quickly)
... simplified explanation ... www.csimn.com/CSI_pages/PIDforDummies.html
Now the catch comes..... what are the units of "I" and "D" that the PID loop is using.... as there are a few different ones that can be used (basically they can be units or inverse units {1/I or 1 / D} too
Are you not using any microstepping of th z-axis? 5/200*10 yes = 0.25mm.... but really you should be using some microsteps (no more that 10)
What is your present z axis acceleration + velocity settings?
so what volts per unit have you found?
I'd suggest that this would become equated to your "P" parameter (step/volt), therefore if you know how many volts error you have you now know how many steps your axis needs to move.
"I" is the integril bit.... is the amount of change that did not happen (cumulative error at the time intervils) ..... because your Z Axis "may" move fast or slow, "I" may change relative to your feedrate in my opinion..... because at 1khz you'd expect the Z axis to be on track with the error, in fact it may have even overshot the error because your z axis is so fast and the voltage error "may" be small {the may bit refers to a dependancey on feedrate + the profile you are cutting / it's bevel that your THC is trying to correct).
low feedrate .... small "I" and a high feedrate ..... large "I"
"D" is the rate change over time, how much can the axis actually change over time..... so with a low feedrate you would use a large "D" and with a high feedrate you would use a smaller "D" action
So the "I" will speed up the motion (because its not getting to its target) and the "D" will slow the motion down (because its getting to the target too quickly)
... simplified explanation ... www.csimn.com/CSI_pages/PIDforDummies.html
Now the catch comes..... what are the units of "I" and "D" that the PID loop is using.... as there are a few different ones that can be used (basically they can be units or inverse units {1/I or 1 / D} too
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
Less
More
- Posts: 18010
- Thank you received: 4847
19 Nov 2017 14:30 #102013
by PCW
Replied by PCW on topic Rods "Spaceship" Scratch built Plasma Cutter build
I dont think using steps is a good idea
This just adds another machine specific constant to the control loop and makes
PID constants machine specific/non-portable. LinuxCNC uses engineering units everywhere and
I think that's the cleanest approach, at least for me It makes understanding the PID parameters
understandable at a glance. You already have one constant that makes settings non-portable
(mm vs inch) that's plenty...
This just adds another machine specific constant to the control loop and makes
PID constants machine specific/non-portable. LinuxCNC uses engineering units everywhere and
I think that's the cleanest approach, at least for me It makes understanding the PID parameters
understandable at a glance. You already have one constant that makes settings non-portable
(mm vs inch) that's plenty...
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
Less
More
- Posts: 915
- Thank you received: 216
19 Nov 2017 14:59 #102016
by robertspark
Replied by robertspark on topic Rods "Spaceship" Scratch built Plasma Cutter build
The advantage of using steps is you can use absolute units.... Let's say your error is 0.01mm.... do you move the axis or not.... No because your axis resolution is 0.025.... hence when your error exceeds 0.025 (1 step)... You only move 1 step....
The PID parameters should not be universal.... They are machine setup specific as they relate to your z axis resolution, and it's responsiveness...
Ultimately you can do whatever you want but ask yourself what is the error proportional to? And amount of corrective movement from the z.... So at some point you have to equate the measured voltage error to movement
If you can measure 0.01v if error... What does this equate to in steps
Calculate your voltage error resolution in steps .....
mm inches apples oranges and light years mean nothing if all your machine can do is take defined fixed distance steps
MM help us to think in round units and inches helped whitworth with the industrial revolution of standardisation but at the moment there is only one country clinging on to imperial units
The PID parameters should not be universal.... They are machine setup specific as they relate to your z axis resolution, and it's responsiveness...
Ultimately you can do whatever you want but ask yourself what is the error proportional to? And amount of corrective movement from the z.... So at some point you have to equate the measured voltage error to movement
If you can measure 0.01v if error... What does this equate to in steps
Calculate your voltage error resolution in steps .....
mm inches apples oranges and light years mean nothing if all your machine can do is take defined fixed distance steps
MM help us to think in round units and inches helped whitworth with the industrial revolution of standardisation but at the moment there is only one country clinging on to imperial units
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
Less
More
- Posts: 915
- Thank you received: 216
19 Nov 2017 17:10 #102021
by robertspark
Replied by robertspark on topic Rods "Spaceship" Scratch built Plasma Cutter build
Rod
What volts per mm did you get/ calculate from your testing?
Thanks
Rob
What volts per mm did you get/ calculate from your testing?
Thanks
Rob
Please Log in or Create an account to join the conversation.
- PCW
- Offline
- Moderator
Less
More
- Posts: 18010
- Thank you received: 4847
19 Nov 2017 17:10 - 19 Nov 2017 17:13 #102022
by PCW
Replied by PCW on topic Rods "Spaceship" Scratch built Plasma Cutter build
Using steps (and many interfaces will not even have steps) just complicates things and make them less portable.
Its absolutely possible to have portable settings. If you normalize the parameters (so for example the z axis feedback voltage is scaled in mm) Differences in Z axis performance will affect the tuning but in easy to understand ways
adding steps to the equations is going in the wrong direction (away from normalization), and just complicates things
LinuxCNC already takes steps out of the equation (Z axis resolution), why would you out them back in?
I don't buy the resolution argument, unless you have really Z low resolution, this is immaterial in a real system
as movements near the step resolution are swamped by other error sources
Its absolutely possible to have portable settings. If you normalize the parameters (so for example the z axis feedback voltage is scaled in mm) Differences in Z axis performance will affect the tuning but in easy to understand ways
adding steps to the equations is going in the wrong direction (away from normalization), and just complicates things
LinuxCNC already takes steps out of the equation (Z axis resolution), why would you out them back in?
I don't buy the resolution argument, unless you have really Z low resolution, this is immaterial in a real system
as movements near the step resolution are swamped by other error sources
Last edit: 19 Nov 2017 17:13 by PCW.
The following user(s) said Thank You: robertspark
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
Less
More
- Posts: 915
- Thank you received: 216
19 Nov 2017 17:24 #102023
by robertspark
Replied by robertspark on topic Rods "Spaceship" Scratch built Plasma Cutter build
Fair enough
It doesn't really make any difference... It's just another multiplier anyway (X steps per unit)
It doesn't really make any difference... It's just another multiplier anyway (X steps per unit)
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
Less
More
- Posts: 23178
- Thank you received: 4866
19 Nov 2017 17:33 #102024
by andypugh
Using a deadband in the PID could probably solve that too.
Replied by andypugh on topic Rods "Spaceship" Scratch built Plasma Cutter build
I don't buy the resolution argument, unless you have really Z low resolution, this is immaterial in a real system
as movements near the step resolution are swamped by other error sources
Using a deadband in the PID could probably solve that too.
Please Log in or Create an account to join the conversation.
- robertspark
- Offline
- Platinum Member
Less
More
- Posts: 915
- Thank you received: 216
19 Nov 2017 17:39 #102025
by robertspark
Replied by robertspark on topic Rods "Spaceship" Scratch built Plasma Cutter build
What do you classify as "really low"
20 steps per mm?
The advantage of low (big) steps is higher acceleration + less jolt / jerk with linear acceleration profiles
That's in part why I'm interested to see what rod got for the volts per unit or mm from his testing.
20 steps per mm?
The advantage of low (big) steps is higher acceleration + less jolt / jerk with linear acceleration profiles
That's in part why I'm interested to see what rod got for the volts per unit or mm from his testing.
Please Log in or Create an account to join the conversation.
- rodw
- Topic Author
- Offline
- Platinum Member
Less
More
- Posts: 10843
- Thank you received: 3580
19 Nov 2017 21:18 #102039
by rodw
Replied by rodw on topic Rods "Spaceship" Scratch built Plasma Cutter build
Wow! you guys were busy overnight! I think we are off on a tangent here. Linuxcnc is based on machine units (inches or mm) and once correctly configured, we never refer to discrete steps so we are not going to do that now.
In its early iterations, external offsets required a setting to choose between these but now it is self configuring as internally it has a setting called units per mm.
Originally, the torch simulation worked on what has normally accepted values of 1 volt per 0.1 mm (1 volt per 0.004"). By plotting the results for various heights, I came up with 0.4654 volts per mm for my torch .So internally, I updated the scale of 10 volts per mm to be 4.651 volts per mm. However, I'm not convinced from the limited data set I took that the results were really linear.
So in the background, eoffset_pid THC continues to be improved by my feed back and experiences on a live (but not very high quality) machine. I'm probably not the right candidate here as I know nothing about PID, plasmas or CNC in general but we are making progress. even if that progress leaves me somewhat battered and bruised as I learn some electronics fundamentals the hard way..
In its early iterations, external offsets required a setting to choose between these but now it is self configuring as internally it has a setting called units per mm.
Originally, the torch simulation worked on what has normally accepted values of 1 volt per 0.1 mm (1 volt per 0.004"). By plotting the results for various heights, I came up with 0.4654 volts per mm for my torch .So internally, I updated the scale of 10 volts per mm to be 4.651 volts per mm. However, I'm not convinced from the limited data set I took that the results were really linear.
So in the background, eoffset_pid THC continues to be improved by my feed back and experiences on a live (but not very high quality) machine. I'm probably not the right candidate here as I know nothing about PID, plasmas or CNC in general but we are making progress. even if that progress leaves me somewhat battered and bruised as I learn some electronics fundamentals the hard way..
Please Log in or Create an account to join the conversation.
Time to create page: 0.106 seconds