584,817 active members*
5,215 visitors online*
Register for free
Login

Thread: Plasma Table

Page 1 of 2 12
Results 1 to 20 of 33
  1. #1
    Join Date
    Aug 2013
    Posts
    112

    Plasma Table

    Hello

    I am looking for input from anyone who has used a KFLOP and KMOTIONCNC to control a plasma table. I presently have have a plasma table that uses a proprietary close control system with separate torch height controller. This system has a simple user interface and is quite reliable, the fact that allowed me to largely teach myself how to run it and use several tool chains to produce g code from drawings. Now I have discovered many of the short comings of this system and I want improvements that cannot be made because of proprietary code. This is a stepper motor driven system. I really want a system that I have the keys to! Torch height control is the real key to quality cuts and good consumable life and I feel most of the canned lower cost solutions are not that good.

    1. Has anyone had good success implementing automated torch height control on the KFLOP? How did you protect the KFLOP from the arc voltage transients, isolation amps, V to F converter and optos, other? What is the torch height control bandwidth you have been able to achieve using the KFLOP? What sort of height control precision have you been able to achieve?

    2. Has anyone modified KMOTIONCNC to have a plasma specific interface and incorporating torch height control?

    3. How extensive are the KMOTIONCNC examples? I have very limited experience using MS Visual Studio C++ in the Windows environment, is the correct VC++ environment for basic builds included in the examples? Can KMOTIONCNC be built on VS 2005?

    4. Is Mach3 a better way to go for user interface and trajectory planner? I know many use it and even some commercial products use it but I hear many horror stories in forums about systems that never get to be stable. I know the pro machinist groups widely disparage it's reliability and performance.

    I am not worried about the electrical or mechanical aspects of doing this but the sw side does concern me. The last I did extensive embedded development we used UNIX terminals and command line macros to build. I have very limit experience with Windows environment and VS, found the array of features to be confusing at times. Thank you in advance for your replies.

    John

  2. #2
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Other Users have made Plasma Tables using both Mach3 and KMotionCNC. I don't know of exactly how they turned out. KFLOP works well with dual loop control for Z height. The inner loop controls height based on steps (or encoder) and the outer based on Torch Voltage. You can use an MCode to switch between modes on the fly. I would think proportional voltage feedback would work better than the UP/Down feedback that some units operate with.

    What kind of changes to KMotionCNC GUI do you think would be required? I wouldn't think you would need to make extensive changes. I don't think any C++ programming at all would be required for basic operation. Our projects are built with VS 2008. To go backwards might be difficult. They use MFC so it is easiest to use VS Standard Version or higher (Free Express Versions are more difficult).

    Mach3 has better screen customization capabilities but we feel KMotionCNC has better Trajectory Planning and robustness.

    HTH
    Regards
    TK
    http://dynomotion.com

  3. #3
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thanks for the reply. I down loaded the whole DynoMotion package several years ago when I looking at another project do I need to remove it to upgrade to the current files?

    I want to modify the KMOTIONCNC GUI to display the Torch Arc Voltage, Voltage Setpoint and buttons for THC On/Off, Cut Enable, Raise Torch, and Lower Torch. I want a display of the torch position which should be height above material, Z axis DRO is ok for this. I will also need a dialog box for setting up the the torch height variables for cutting, Pierce Height, Cut Height, Pierce Delay, End Delay, Upper Voltage Fault Limit, Lower Voltage Fault Limit, Minimum Speed, THC Response, Z axis drive setup data. Sorry for the laundry list, I am trying to develop a requirements document here. The THC will need to accept M codes and maybe some custom codes from the cut files.

    Do any of the KFLOP inputs connect to counter/timer functions? I am thinking that the easiest way to get noise free isolated arc voltage will be with a digital signal, either a pulse width or frequency.

    I am still looking for anyone who has done this and cares to comment on their success and problems they had.

    John

  4. #4
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Those GUI additions would certainly make sense.

    KFLOP doesn't have any hardware counter/timer functions other than the encoder inputs which I suppose could operate as a counter if you supply it with quadrature. You might then be able to determine the frequency checking how much the count changed over a known time period.

    Regards
    TK
    http://dynomotion.com

  5. #5
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    What clock speed does SPI connection to the Kanalog board analog inputs run at? I am still struggling with a good method to get noise free arc voltage feedback into a KFLOP. A cutting shop is a very electrically noisy place with the plasma cutter and welders going. I am afraid that by the time I filter out the noise from long leads from the plasma cutter I will not get good response time for changes in arc voltage. I am hoping to have a digital connection from the plasma cutter to the control electronics, pulse width, frequency, serial of some type. The connection needs to work at a distance of 25' or more.

    A little info about the arc voltage. The open circuit voltage can go as high as 350vdc on my unit. Typical averaged (just RC filter) arc voltages range from 130vdc to 60vdc depending on arc current and torch height. You need to control the arc voltage to better than +/-3vdc, good industrial quality equipment does +/- 1vdc for consistent results. For a small single phase inverter controlled air plasma the arc voltage has three main super imposed signals, the 120hz (in NA) ripple current from the full wave rectifier feeding link bus, the ripple current at the PWM frequency or 2 x if full wave rectified, and the anode spot movement frequency which is about a 19khz saw tooth waveform. The best indication of torch height is from negative peak detecting the anode spot component. I don't know if this frequency varies with material thickness or cutting current. Now I am not aware of any of the lower cost THCs that use this method, most just RC average. I can email a paper on this that I found on the web if anyone is interested.

    I'm still interested in anyone else's experience doing this.

    John

  6. #6
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    I can't think of a simple solution. Kanalog doesn't have any SPI port. Users have bit-banged SPI in software using a KFLOP I/O bits and we are able to get about 450KHz clock rates. SPI doesn't have an exact rate. The master clocks the rate at whatever it wants (which works well for a software approach). Most of the Kanalog I/O updates only once every 90us so it probably wouldn't be appropriate for SPI use . The Kanalog UART pins do RS232 and are connected directly to KFLOP I/O Pins.

    Here is an old Thread regarding THC
    https://groups.yahoo.com/neo/groups/.../messages/6074

    Cees had a big delay in the up/down response (1 second) so he probably wasn't trying to get the performance you are after. Here is a link to some of his files. They are very basic:
    https://groups.yahoo.com/neo/groups/...20THC%20Files/

    Regards
    TK
    http://dynomotion.com

  7. #7
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thanks for the information. A this point I am leaning towards needing a separate micro at the plasma unit to read and process the arc voltage. Tracking the anode spot movement seems to be beyond all the low cost THCs I have run into. I had really hoped to use the DSP on the KFLOP to do this but there doesn't seem to be a way to feed it outside data or service the filter fast enough. I think I will use a serial link to send the processed arc voltage or distance to the KFLOP which can be done at a much lower rate.

    So now it is off to work on KMCNC GUI to add a torch height control interface. Do I need to remove any old Kmotion files from my system before down loading the latest versions? I took a quick look at the older version of the example files in VS and was quickly overwhelmed by volume and number of files. Taming VS is likely to be the hardest part of this for me.

    John

  8. #8
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    No need to uninstall previous Versions of KMotion. Simply install to a new directory.

    Regards
    TK
    http://dynomotion.com

  9. #9
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    All

    Well I've made some progress. I installed VS2008 on my work station and after what seemed like a million updates it is working. I loaded ~\KMotion432\ PC VC Examples\KMotionCNC\KMotionCNC.vcproj into VS and had a look. Well it is rather over whelming at first look, many files, many screens to look at. Still trying to get my head around how everything is organized. Does anyone have any links to a tutorial on compiling (building?) KMotion CNC.exe from this source? I figure that is a good first step is being able to compile a known good set of source files. I have a book coming on using VS2008 but in the mean time want to start snooping around.

    I ultimately want a group of controls similar to the feed and speed group on the GUI for controlling the THC functions. Under the tool setup screen I want to add a tab that has all of the THC setup data. I will need custom M codes to freeze and unfreeze THC height for sharp corners and arcs. At some point in the future maybe the trajectory planner could have this functionality. The custom M codes will require separate programs to run on the KFLOP, which uses KMotion as the development platform?

    Does a KFLOP have to be initialized to find a Kanalog board connected or does it detect it some how?

    Thanks in advance.

    John

  10. #10
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    If you have VS2008 all the examples should re-build and run out-of -the box. In VS open the C:\KMotion432\PC VC Examples\BuildExamples\BuildExamples.sln solution, right click on KMotionCNC and select Set as Startup Project, Select Release Configuration, Select Rebuild all, then Run. This will be a complete build and run of KMotionCNC from source from scratch.

    To build and run the Debug versions you may need to build all the Debug Libraries by opening BuildAllLibs.sln (in the root directory), select Debug configuration, and Re-build all.

    Unfortunately KMotionCNC is written using Microsoft MFC (Microsoft Foundation Classes) which is quite old technology and difficult to use yet very powerful as you are working at a low level. There is tons of information and tutorials on the web.

    User Troy made some nice changes to KMotionCNC and documented it well in several Threads on our Yahoo Group. See:

    https://groups.yahoo.com/neo/groups/...messages/10564
    https://groups.yahoo.com/neo/groups/...messages/10741

    He even made some nice procedures and writeups and published them here:
    https://groups.yahoo.com/neo/groups/...20Customizing/

    Thanks again Troy.

    Functionality to freeze/unfreeze THC for slow downs, curves, and such can probably be accomplished with MCodes and small C Programs in KFLOP that would not require any changes to the KMotionCNC App. But as you describe if you really need GUI changes to specify new parameters you would need to change KMotionCNC.

    KFLOP is able to auto detect if a Kanalog is present and begins automatically servicing all the Kanalog I/O. There is a global Flag in KFLOP called KanalogPresent that is set to 1 if a Kanalog was detected on Bootup.

    HTH
    Regards
    TK
    http://dynomotion.com

  11. #11
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thank you, I am able to open the examples solution in VS2008. I did a little poking around and trying to modify GUI by the examples cited, mix results but on the road.

    Can the KSTEP virtual inputs be remapped to work on the AUX ports 4 or 6?

    Can the use of a feedback source one one of the motion control channels be enabled/disabled on the fly? Maybe a better way to put this is can a motion controlled stepper channel be switch between open loop and closed loop on the fly?

    John

  12. #12
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Can the KSTEP virtual inputs be remapped to work on the AUX ports 4 or 6?
    Not sure what you mean by this. KSTEP has 16 24V Opto Inputs that are designed to be read in through KFLOP JP7 using 6 I/O pins (2bits of multiplexor selection and 4 inputs). The KFLOP Firmware automatically reads all the inputs squentually and makes them available as 16 Virtual Input Bits. It would be difficult to use the other connectors.

    Can the use of a feedback source one one of the motion control channels be enabled/disabled on the fly? Maybe a better way to put this is can a motion controlled stepper channel be switch between open loop and closed loop on the fly?
    Yes. But I think I would describe your situation differently. I think what would work better is more of a "Dual Loop" situation. Maybe Dual Loop is a bad term. Where Two Axis Channels are linked together. One Closed Loop Axis (the THC) commands another Axis Channel's Velocity. The outer loop is the THC feedback loop. The Axis Channel connected to the Motor is usually a traditional Servo loop - but doesn't have to be. It can be any Axis type that can move in a controlled manner.

    So I think what you would want is to be able to switch the link between the two Axis on and off. When off (non-THC) you can move and position the Axis connected to the Motor directly.

    See the example HeightServo.c that was used with an LVDT Height sensor to allow an axis to track the surface of uneven material. Persist Variable 0 is used to switch Dual Loop Mode on and off:

    Code:
    #include "KMotionDef.h"
    
    main()
    {
    	while(1)  // loop forever
    	{
    		WaitNextTimeSlice();  // execute loop once per time slice (2 servo ticks)
    		
    		// Change Encoder loop's commanded destination based on error output of LVDT Height loop
    		// User Variable 0 enables/disables the mode
    		
    		if (persist.UserData[0])
    		{
    			ch3->Dest += ch2->Output * TIMEBASE * 2.0;  
    		}
    	}
    }
    HTH
    Regards
    TK
    http://dynomotion.com

  13. #13
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thank you, I was fishing for a way to move the KSTEP input functions to another KFLOP port(s) (J4 and or J6) so I could use the predefined serial routines on J 7 to query an external isolated ADC.

    I understand conceptually the dual loop approach you are speaking about for THC. I am a bit lost on how you define it in Kmotion. I know that I can make a micro read an ADC and output a quadrature pulse train that follows a change in input voltage so one of the encoder inputs can be used. This has the problem is that I need to control the arc voltage to about +/- .2VDC or better to get good height accuracy over a full range of arc voltages ( 0 to 200VDC for cutting and up to about 325VDC open circuit). Now I know with some clever design I could get it so I only need to send data for the 50VDC to about 200VDC range. What I am not sure about is a clean way changing filter response and initializing the starting voltage in both the micro and KFLOP. I was really hoping to avoid the multiple communication paths that the better THCs use to pass data between the parts. Another minor detail is freezing the torch at a preset height when the feedrate slows for corners and smaller arc segments, most THCs use special M codes inserted by the PP. Also the THC needs to be aware of the state of the torch function. This was why I originally wanted try and do everything in the KFLOP.

    John

  14. #14
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Seems like you would need an 11 or 12 bit ADC. Regarding sending encoder counts as voltage: it seems like one extra line could be used as a level to tell both side to zero..

    To process the 19KHz sawtooth would require at least a 200KHz Sample rate. So I agree that would be very difficult to get the data into KFLOP at that rate.

    Regarding freezing Torch height when the feedrate slows: you should be use either method - MCodes or Freezing based on Feedrate. My previous post shows how to turn dual loop on and off. Instead of using a persist Variable you might use a Virtual Bit. The advantage would be that I/O bits (real or virtual) can be embedded into the Motion stream to happen synchronously at a specified point in the motion. See:

    Synchronous IO Commands Embedded in Coordinated Motion

    For the other method you could have a User Program running monitoring Feed Rate and when it drops below some threshold it would automatically disable the dual loop.

    HTH
    Regards
    TK
    http://dynomotion.com

  15. #15
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Hello

    Sorry about resurrecting such an old thread but I want to keep my thoughts in one place.

    I really need to make a new control for my plasma table so the hunt continues for a solution I can manage. I am dead set against using Mach 3 for a number of reasons so that leaves me with few choices for a system that is open enough to customize for a plasma table with good reliable torch height control. Right now I think my choices are KFLOP or LinuxCNC. Both systems will require a customized GUI and LinuxCNC uses the PC for all timing which scares me. I must admit that I have tried to use VS to modify Kmotion CNC as far as the GUI goes with little joy. I have struggled with the work flow used in VS for GUI development for years and it just isn't improving.

    Measuring the plasma arc voltage and getting it into a KFLOP seems to be the real hurdle for now. I am sure I can find a VS programmer to generate the GUI code I need. Looking around it still appears the best solutions for galvanically isolated arc voltage measurement have a frequency or pulse width output proportional to the input. Is it possible to use one of the KFLOP encoder inputs as a simple up counter? I believe I asked about measuring frequency before and that was out. I think I have figured out how to use a simple Arduino to measure pulse width or frequency and then simulate an encoder for the output. This may require one or more single bit lines to keep things synchronized. So I guess to cut to the chase what is the best way to measure the frequency of a 100khz to 1mhz square wave signal (Mesa THCad card) with a KFLOP so it can be used as the arc voltage feedback?

    John

  16. #16
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Regarding Torch Height Voltage. It seems you are referring to:

    THCAD-300 High isolation A-D accessory

    That looks like a really nice device. I think you could measure it's frequency output with a KFLOP encoder input. Unfortunately it only outputs a single signal where Kanalog Encoder inputs need A/B Quadrature signals. KFLOP's encoder inputs can count at 1meg quadrature transitions per second (250KHz Cycles). So the divide by 32 option would be required for a max frequency of 31250Hz (125000 quad counts/sec). Too bad it doesn't have a divide by 4 option.

    To create the B phase for Kanalog I think a simple circuit with two 100 ohm resistors and a 0.01uF capacitor could be used. See this circuit where the differential "A" channel coming from the THCad board could basically be delayed by ~1us to create the differential "B" channel for Kanalog:

    Attachment 291494

    and this simulation:

    Attachment 291496


    BTW I just discovered this cool on-line free circuit simulator. The link is:
    Online Circuit Simulator with SPICE

    By sampling the Encoder count every 30 milliseconds should provide a voltage measurement with ~ 0.1% resolution. Do you thing that would be adequate resolution and sample frequency for you?

    HTH
    Regards
    TK
    http://dynomotion.com

  17. #17
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thank you for the prompt and informative reply. Your solution wins for cost and simplicity. I am sure that with the resolution and update period a THCad can be read into a KFLOP at that a real high performance torch height control can be implemented. Fast enough response to cut corrugated sheet steel at >300ipm may be out but all real world cutting will be good. Now I have to get my act together and make this happen.

    1. Finish requirements and specification documents for table and torch height control.
    2. Start modifying KMotion CNC GUI for plasma cutting with torch height control.
    3. Define interfaces between all hardware pieces/produce preliminary interconnection drawings.
    4. Construct new Z axis for table.
    5. Develop plasma power supply/THCad (10V)/ KFLOP interfaces and test.
    6. Develop KFLOP program(s) to handle table and torch height control.
    7. Build prototype bench test system using spare steppers and drives to test Z axis and preliminary torch height control.
    8. Replace existing Flashcut and Torchmate controls with one that functions in a reliable and consistent manner.

    Ok, now that I have frightened myself with the amount of work required to refit my table I will have to get going before I burn up any more consumables because of buggy torch height and plasma power supply control.

    John

  18. #18
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    One thing about the KFLOP encoder inputs that is not clear to me. Do the encoder inputs require pulses that are 4us or more wide or do they only require that they arrive at a rate of 250khz or less? Thank you.

    John

  19. #19
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Encoder signals do not have any 4us requirement. They are basically A/B square waves not pulses. The max count rate for the encoder inputs are specified at 1 million quadrature transitions/second (250KHz cycles for both A and B). The encoder signals are sampled at 16.67MHz and pass through a programmable digital filter to eliminate noise glitches. The default level of filtering is 7 which means the A/B levels must be continuously stable (high or low) for 7/16.67 = 0.42us to be considered a valid transition. The range for the digital filtering is from 1 - 255.

    HTH
    Regards
    TK
    http://dynomotion.com

  20. #20
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Will this work as an interface between the THCad and the KFLOP encoder inputs? It is based on parts on hand from junk collection. The simulation plot is for the maximum frequency output of the THCad.
    Attachment 292040

    Attachment 292042

    John

Page 1 of 2 12

Similar Threads

  1. Replies: 0
    Last Post: 12-13-2014, 06:27 PM
  2. Precision Plasma Patriot 4x8 CNC plasma table
    By limekyle19 in forum Waterjet General Topics
    Replies: 2
    Last Post: 08-01-2013, 04:08 PM
  3. Replies: 10
    Last Post: 02-03-2013, 06:15 AM
  4. Plasma Cart Made with CNC Plasma Table
    By Tensaiteki in forum Waterjet General Topics
    Replies: 1
    Last Post: 03-03-2012, 05:15 AM
  5. Building a Water Table for my new Plasma Table
    By Jim Fouch in forum Mechanical Calculations/Engineering Design
    Replies: 5
    Last Post: 11-22-2011, 01:12 AM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •