Plasma Questions

More
9 years 10 months ago #84473 by islander261
Replied by islander261 on topic Plasma Questions
Hello

I have another question for all you lcnc gurus. I am sorry for the newby questions but I still don't fully understand how the various parts of lcnc work together and what the real time impacts are of doing something in one place vs another.

I want to implement an adjustable delay between the Ok to Move signal or the start of motion in the XY plane (don't know what variable or pin this is) and the start of the arc voltage height servoing. I presently have have the setpoint adjustment working in the GUI and available to the HAL. Now I want to know the best way to implement this timer. Should I use a modified time component that give out elapse time from start of trigger and read this value into the THC component. Or should I implement a counter inside of the THC component that is incremented every time the THC component is run (servo period?)? Is there an existing timer with at least .01 second resolution that I should use? TIA

John

Please Log in or Create an account to join the conversation.

More
9 years 10 months ago #84476 by rodw
Replied by rodw on topic Plasma Questions

islander261 wrote: Hello

I want to implement an adjustable delay between the Ok to Move signal or the start of motion in the XY plane (don't know what variable or pin this is) and the start of the arc voltage height servoing.


Maybe the timedelay Hal component?
linuxcnc.org/docs/html/man/man9/timedelay.9.html
Looks like it does exactly what you want to do.

Please Log in or Create an account to join the conversation.

More
9 years 10 months ago #84485 by Rick G
Replied by Rick G on topic Plasma Questions
I use a sub to probe for the top surface with G38.3 and G38.5 and then light the torch. In my case a proximity sensor is mounted on a pneumatic cylinder next to the torch.
To start a cut...
Go to cut X Y location.
Move probe to X Y location.
Lower probe with pneumatic cylinder to probe position.
Lower Z axis until probe triggers.
Slowly raise Z axis to find top of material.
Set height.
Retract probe.
Go to safe z height.
Move torch to X Y location.
Move torch to pierce height.
Light torch.
Delay for pierce.
Move torch to cut height.
Return from light torch sub to main program.

It seems to me that a proper lead in to the cut will allow the THC to be stabilized without a further delay.
I am experimenting with a modified version of JT's THC with proportion height corrections based on voltage changes.
I will be running it by JT in the next week or two and if all well will post it.
To avoid problems when crossing previous cuts or air you can try limit2.
linuxcnc.org/docs/html/man/man9/limit2.9.html
So you could use limit2 plus lowpass to feed the signal to the THC comp.

Rick G
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
9 years 10 months ago #84528 by islander261
Replied by islander261 on topic Plasma Questions
Hello

Thank you for the replies.

Rick G

I have looked over the work you posted in the Plasma section of the O codes thread and found it very informative. I have seen other examples of using a low force snap action switch instead of a prox for probing material surface. There is a thread over on Plasmaspider where a guy in the UK did it and posted complete O codes for the probing, he was running Mach 3 for control SW. I have been hoping to not add more items to my Z axis stage as I consider it heavy now for my gantry structure and drive. I do like your approach from a reliability stand point and would use your method if I was starting from scratch with the structure and drives.

rodw

Yes it sure looks like the timedelay component will do what I need without modifying the thc component.

Can anyone shed any light on the lines from JT's plasma HAL example I posted previously.

Does anyone have any thoughts about using the ddt component using the arc voltage as an input for detecting kerf crossings?

linuxcnc.org/docs/devel/html/man/man9/ddt.9.html

Can one use the pid component to process the arc voltage error for THC? I am assuming that the two components are linked through HAL nets. Does it cause a problem that such an approach can conceivably have a one or more servo cycle delay? It seems to me that by using the pid.N.enable pin the pid comp can be easily controlled.

Now I want to keep track of the distance I cut with a set of consumables. I all ready have the display for in one my Glade tabs. The only built in function I have found for getting cut distance is to use the motion.distance-to-go pin and capture the value on the zero to non zero transition at the beginning of the cut. Am I missing and easier way? I also found the motion.motion-type pin to parse for the type of motion. This is a debug pin and the docs say not to use it, is there a better way?

TIA

John

Please Log in or Create an account to join the conversation.

More
9 years 10 months ago #84529 by rodw
Replied by rodw on topic Plasma Questions
Andy spoke about THC pid control on this thread
forum.linuxcnc.org/27-driver-boards/3176...ement?start=20#82390

I googled for some C based PID code examples and its pretty much as he states it.
Its pretty easy to add pid control to a THC component.

I was going to look at this eventually. One thing I was not clear on was how the PID control should work and given the THC component plays with velocity I am even more confused.....

My thinking was that given the THC was called 1000 times per second, it probably should wait until the commanded Z axis move was completed before applying another adjustment to prevent see sawing. Most PID examples are based around a heating element or something that is much more variable than a discrete movement though space and time. What do you think?

The only thing I don't quirte understand

Please Log in or Create an account to join the conversation.

More
9 years 10 months ago #84539 by islander261
Replied by islander261 on topic Plasma Questions
rodw

I was looking a using the pid component because it is very tested and works well with lcnc. The output of a pid calculation is usually a velocity command to the actuator to reduce the position error. Oh and by the way the heater examples can be misleading. Most heating servos are bang bang meaning the actuator (heating element, think your water heater or furnace) is driven at either off (zero velocity) or on (maximum velocity) with no in between states allowed. In the plasma case we are using the arc voltage as a position command/feedback. For a given set of cutting condition ( cut current, cut speed, material type, material thickness, consumable type and age, air pressure/flow) the arc voltage is proportional to torch height above the material. According to the Hypertherm gurus the torch height needs to be held to better than +/- .005" ( .127mm) of ideal for good cut quality. I can tell you from my experience +/-5.7 volts change in arc voltage (+/- .005" cut height with my torch and power supply) produces a noticeable change in cut quality. For us lowly small shops with air plasma systems this means using the manufactures cut tables as a starting point and using test cuts (fixed height and speed) to refine the arc voltages we need for a given set of cutting conditions with our equipment. I know this sounds like huge tolerance but remember a piece of sheet laying on slats is really flopping around when you start to think of +/-.005" tolerance with all the thermal movement, imperfections on the slats and thickness variance of the sheet, a mill table and a good mechanical connection this isn't. I know this sounds pretty picky but the first time you have a customer waiting to pick up a few hundred parts that all need secondary operations to clean up the dross you will see the light about cutting process control and why it matters. I primarily produce art and decorative pieces and my first wholesale order gave me a case of tennis elbow (wire cup brushing dross with an angle grinder) that took 6 months to recover from.

John

Please Log in or Create an account to join the conversation.

Time to create page: 0.320 seconds
Powered by Kunena Forum