Plasma Questions

More
23 Dec 2016 07:40 - 23 Dec 2016 07:40 #84596 by rodw
Replied by rodw on topic Plasma Questions

rodw
Thank you. The last time I did any real programming HTML was still inside CERN.


Your welcome. I've tried to avoid it too becasue I have a background in the printing industry where postscript rules supreme but we have smart software to do the dirty work whereas with HTML you eventually have to drop to source code.

rodw
Down draft can cost a lot of of heat or AC if you don't filter and recycle. The filters get big and expensive for the size you need.

Thats not really too much of an issue where I live. I have a mate who lives in my street who does some contract work for me. He was complaining a few days ago that it was 42 degrees C in his workshop while he was working on my parts. Thats 108 deg F...

Good luck with PID control. I think LCNC has a long way to go to catch up with commercial THC control. Despite having cheap, high quality hardware to read the voltage, we have not developed the software yet.

I just remembered that the external THC I have wires into the X & Y step pulses. It must do that so it can measure cutting velocity. Because we are embedded in the motion controller, we should be able to blitz the competition. LEt me know if you need help with the programming....
Last edit: 23 Dec 2016 07:40 by rodw.

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

More
23 Dec 2016 07:52 #84597 by Rick G
Replied by Rick G on topic Plasma Questions

The measured arc voltage into a long straight cut @ .07" height is about 80V on my old Torchmate AVHC and confirmed using a DMM. So 80V / .07inch = 1142.857 Volts/inch *.005 inches = 5.7V voltage change for a .005" change in cutting height if all other parameters are fixed.

I do not think you will find this to be accurate.
A better test might be to make your cut at .07" as you did but then make another cut at say .075 and read that voltage.

I would suggest anyone using the Mesa THCAD try the THC.comp just the way it is before making any changes. It has worked great for me. The experimental version I am cutting with is the result of another member asking about the possibility of cutting corrugated steel. Will try to document and post right after Christmas as we are currently swamped.

By the way I am currently using a Cutmaster and the cutting heights are quite different from a Hypertherm.

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

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

More
23 Dec 2016 08:16 #84599 by rodw
Replied by rodw on topic Plasma Questions
I really look forward to seeing how your revised THC handles Corrugated Iron as that is what will really put a THC through its paces as I followed that thread..

I'm certain the THC.comp will work fine for me as I doubt I'll often go below 2mm steel but I want the machine to do the thinking when different thickness material is used.

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

More
23 Dec 2016 18:32 #84641 by islander261
Replied by islander261 on topic Plasma Questions
Hello

Thanks for the replies. I am now thinking about how to implement the needed torch touch off and start action. I will most likely post some pseudo code for comments next week.

rodw

I actually expect that the existing THC component will follow corrugated sheet steel just fine if the correction velocity is high enough. It is all the other niggley parts I don't know about.

Rick G

Ok, I just assumed the voltage change to be near linear near a given point. I will have to go out and check this today otherwise it will be several weeks before I will be cutting again. My present THC will only allow .01" resolution in setting height so the measurements will be with a .01" change in cut height. I intend on starting with the present THC component. I have a TD A60 power supply (a Cutmaster with CNC interface I think). I do use a Franken Torch that is the Duramax parts grafted a TD SL100 torch body. This allows me to use the Finecut consumables which last much longer and give good cut quality. Also in bulk packaging the Finecuts are cheaper than the TD parts.

John

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

More
23 Dec 2016 20:08 #84646 by islander261
Replied by islander261 on topic Plasma Questions
Rick G

I checked the voltages a three different cutting heights .06", .07", .08". I did 6 tests at each height using the following MDI program:

G91
G01 Y8.0 F220
G90

I used a piece of fairly clean 14ga scrap as a test piece. The consumables (electrode, nozzle, shield) were all cleaned with a Scotch bright pad before starting. I estimate the electrode to be about at 50% of life. As usual for straight cuts the quality was all excellent. Light dross on first .375" of cut at most. Work clamp connection cleaned to bright finish before connection.

Now remember this is using the old Torchmate AVHC to read the arc voltage and control the torch height, a precision piece of equipment this isn't. So what happened.

.06" 75V
.07" 80V
.08" 86V

11V / .02" = 550V/inch. * .005 = 2.75V for a .005" change in cut height. So the slope of the arc voltage curve at the working height is about 1/2 what I previously estimated. Now this is not good news because this means we are working over a smaller span with a very noisy input signal. I watched the arc voltage with my old analog o'scope when setting up the voltage divider/protection circuit to use with the THCad board and was amazed at how noisy it was.

John

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

More
24 Dec 2016 02:54 #84658 by rodw
Replied by rodw on topic Plasma Questions
John,

If you go back to this link I posted earlier in this topic, you will find Rick G's motivation for his experimental THC.

forum.linuxcnc.org/38-general-linuxcnc-q...tions?start=10#84529

The limitation in cutting corrugated iron is how fast the Zaxis can move. If the material height is changing 40mm every 40mm in travel laterally, than the xy speeds must be low enough to allow the Z to keep up.

Its good you made progress. I've seen it suggested to run the THC output though a filter in HAL to help clean up noise.

Also PCW recommensd that the /32 option is selected on the THCAD board.

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

More
27 Dec 2016 01:40 #84727 by andypugh
Replied by andypugh on topic Plasma Questions

Your welcome. I've tried to avoid it too becasue I have a background in the printing industry where postscript rules supreme but we have smart software to do the dirty work whereas with HTML you eventually have to drop to source code.


(Off Topic)

A friend of mine writes raw PostScript in a text editor any time he wants a diagram. I think he also codes loops and conditionals.
Clearly, though, he is a lunatic. Writing raw SVG is so much easier.

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

More
28 Dec 2016 20:07 #84821 by islander261
Replied by islander261 on topic Plasma Questions
Hello

I dumped the probing code out of the Animatics Smart Motor on my present Z axis and cobbled together this pseudo code for probing material top surface with a conductive probe. I am looking for suggestions on the best way to do this. Should I use an O code subroutine or HAL or HAL user Python code?
# Pseudo code for probing sheet top with conductive (ohmic) sensing and floating switch safety
#Parameters
#	W_height = position above -Z soft limit that Z feedrate is reduced to probing feedrate, usually about -Z soft limit + thickness of 
#      thickest material used + safety (.1" to .25")
#	probing_timeout = probing error occurred if it takes longer than this
#	probe_rate = feedrate to probe at
#	

start
	Feed Hold X & Y Axis
	Reset and Start probing_timer
	Set Error to ""
	Enable Conductive (ohmic) Sensor
	if( Probe == True)
		Set Error to "Sensor_Shorted"
		Goto error_handler
	Move Z axis Position to W_height at Rapid_Feedrate
	Set Z feedrate to probe_rate
	do
		Z axis move in - direction 
	while((Probe == False) && (float_switch == False) && (probing_timer < probing_timeout))
	Stop Z axis move
	if(float_switch == True)
		Set Error to "-Z_Limit"
		Goto error_handler
	if(probing_timer >= probing_timeout)
		Set Error to "Timeout"
		Goto error_handler
	Set Z axis feedrate to probe_rate/2
	do
		Z axis move in + direction
	while((Probe == True) && (float_switch == False) && (probing_timer < probing_timeout))
	Stop Z axis move
	Disable Conductive (ohmic) Sensor
	if(float_switch == true)
		Set Error to "-Z_Limit"
		Goto error_handler
	if(probing_timer >= probing_timeout)
		Set Error to "Timeout"
		Goto error_handler
	Set part 0 to present Z axis position
	Return (1)
error_handler
	Disable Conductive (ohmic) Sensor
	Set Z axis feedrate to Rapid_Feedrate 
	Move Z axis to Safe_G0_Height
	Send Error to GUI
	Return (-1)
	

Things that I don't how to do for a more or less direct conversion of code are:
1. Make a velocity commanded move on an axis. Can this be done from HAL, G code or Python?
2. Call a specific piece of HAL code from inside G code program.
3. Call a specific piece of Python user code from inside G code program.

Pointers to examples of doing the above will be very helpful.

John

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

More
29 Dec 2016 01:02 - 29 Dec 2016 01:13 #84828 by rodw
Replied by rodw on topic Plasma Questions
I can't really answer your questions but I've reviewed your code.

Float Switch as a Limit Switch
I think there is an error in logic treating the float switch as a limit switch. If there is no material under the torch, nothing will be triggered and the axis will crash. You really need a separate limit switch for the lower end of travel. A lot of examples X axis mechanisms I looked at did not have a lower limit switch but I added one to my machine. (Due to space constraints, I used a mechanical micro switch instead of a proximity switch) I figured it would have a low duty cycle so should never wear out.

If your float switch and upper limit switch share the same output, there is no excuse for this when you are using a Mesa card which has inputs to burn.

Float Switch as Back up if Ohmic Circuit Fails
When probing, the float switch should be treated as a valid input as it should serve as a backup if the ohmic sensing circuit fails so it is definitely not an error if triggered while probing.

Gotos are considered bad form
I personally don't like using goto statements but they can be efficient for error handling but nested if statements also do the job without adding excessive code. I hope I've cleaned them out correctly.

Implement timeouts using current time
With time outs, somewhere you have to read the current time as you enter a routine for the first time and then check if the time exceeds this time plus desired delay. Normally in C, I would use a static variable that holds its value between calls. IN HAL, it seems global variables are used, so I've added two variables. One to hold the time and the other a flag that is true on the first call to the procedure. I did this as I treated the code as if it was an interrupt service routine in case this procedure actually gets called multiple times during execution from the servo thread. Don't forget to reset the flag on exit from the procedure.

So with those comments, here is what I came up with.
# Pseudo code for probing sheet top with conductive (ohmic) sensing and floating switch safety
#Parameters
#	W_height = position above -Z soft limit that Z feedrate is reduced to probing feedrate, 
#            usually about -Z soft limit + thickness of thickest material used + safety (.1" to .25")
#	probing_timeout = probing error occurred if it takes longer than this
#	probe_rate = feedrate to probe at
#	

# Global/static/persistent variables, call them what you will
start_time
first_pass = 1

start
  if(first_pass == True)
    start_time = now
    time_out =  start_time + probing_timeout
    first_pass = 0
  Feed Hold X & Y Axis
  Set Error to ""
  Enable Conductive (ohmic) Sensor
    if( Probe == False)
      Move Z axis Position to W_height at Rapid_Feedrate
      Set Z feedrate to probe_rate
      while((Probe == False) && (float_switch == False) && (now < time_out))
        Z axis move in - direction 
      Stop Z axis move    
      if(now >= time_out)
        Set Error to "Timeout"
      else
        Set Z axis feedrate to probe_rate/2
        while((Probe == True) && (float_switch == False) && (now < time_out))
          Z axis move in + direction
        Stop Z axis move
        Disable Conductive (ohmic) Sensor
        if(now >= time_out)
          Set Error to "Timeout"
        else
          Set part 0 to present Z axis position
          first_pass = 1
          Return (1)
   else
     Set Error to "Sensor_Shorted"
     Disable Conductive (ohmic) Sensor
     Set Z axis feedrate to Rapid_Feedrate 
     Move Z axis to Safe_G0_Height
     Send Error to GUI
     first_pass = 1
     Return (-1)
Last edit: 29 Dec 2016 01:13 by rodw.

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

More
29 Dec 2016 01:07 #84829 by rodw
Replied by rodw on topic Plasma Questions
I also forgot to mention that I altered your do... while loops to a simple while statement. I figured it would be more efficient to check all the conditions before wasting time moving anything.

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

Time to create page: 0.277 seconds
Powered by Kunena Forum