584,812 active members*
5,480 visitors online*
Register for free
Login

Thread: Plasma Table

Page 2 of 2 12
Results 21 to 33 of 33
  1. #21
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    I think that is a great idea and will allow the full 1MHz rate of the THCad. But I think your logic is wrong so you are not getting quadrature.

    To convert a 2-bit counter to A/B Quadrature I think the simplest way is with an Exclusive OR gate.

    A = MSB
    B = MSB ^ LSB

    Code:
    MSB LSB  A   B
    ---------------
     0   0   0   0
     0   1   0   1
     1   0   1   1
     1   1   1   0
     0   0   0   0
     0   1   0   1
     1   0   1   1
     1   1   1   0
     0   0   0   0
     0   1   0   1
     1   0   1   1
     1   1   1   0
    HTH
    Regards
    TK
    http://dynomotion.com

  2. #22
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Ok, my bad, I've only used an encoder with counters that looked at the leading edge of the pulse train and didn't care about the duty cycle before. Here is the corrected circuit with a symmetrical 50% offset output. I don't have any LS86s in my junk box but lots of LS00s.
    Attachment 292096
    Attachment 292094

    Sorry about the poor quality of the spice picture, I'm not a graphics wiz.

    One thing this has gotten me thinking is keeping high resolution in the arc voltage measurement. There are actually two regions I need to work in. Most of my work is at 45A with Finecut consumables which use an arc voltage between 60 and 80 volts. The other is when cutting thicker material using normal mechanized consumables at 45A to 85A which is an arc voltage between 110 and 160 volts. I am thinking that a dual range system might be good here with the range selected by a radio button or check box in the THC setup tab (I will need to create this) on the GUI. Of course this will require separate gains and scaling factors for each range that should auto load on selection. Is this possible with out too much trouble? The change will only be before starting to run a G code file.

    John

  3. #23
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Looks good. I don't see any problem with selecting different Ranges. The PID gains or C Program parameters can always be changed as required. To Test you might use two User Buttons to change whatever is required.

    Regards
    TK
    http://dynomotion.com

  4. #24
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Hello All

    Moving forward I developed a preliminary requirements document for the new plasma table controller I need. The main feature of this is to have a Torch Height Control integrated with the rest of the machine control. I only cut thin carbon and stainless steel, 14ga typically, and most lower cost solutions that you purchase off the shelf have poor performance with this thin material. This is why I want to refit the existing hardware I have. My present setup will move fast enough, >300ipm, with barely acceptable acceleration 20ips^2 so I am not keen to replace the drives. I am hope to find someone to collaborate with or mentor me in modifying KmotionCNC to be good plasma table control. This should provide a wealth of material for the proposed KFLOP wiki.

    John

  5. #25
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Nice document. The most challenging change to KMotionCNC to meet your requirements would probably be the "tabbed" dialog you describe which is fairly difficult in MFC.

    Our wiki is now up. See:
    http://www.cnczone.com/forums/dynomo...i-running.html

    Regards
    TK
    http://dynomotion.com

  6. #26
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    I know that KmotionCNC does continuous contouring combining short moves into longer continuous moves. Can KmotionCNC have M,S or F codes that don't require stops in the continuous contour? This is important for high quality air plasma cutting on open contours and holes. This feature is a combination of "overtravel" (Sheetcam name) and shutting the arc off before the end of the cut motion. This keeps the torch moving while carbon in the steel continues to burn after the arc is off preventing a "divot".
    See: Synchronous IO Commands Embedded in Coordinated Motion
    KMotionCNC allows I/O operations to be embedded into the Coordinated Motion Buffer such that the IO commands are output synchronously (within 90us Servo Sample) with motion.
    Synchronous IO Commands Embedded in Coordinated Motion


    Attachment 295458

    Attachment 295460

    HTH
    Regards
    TK
    http://dynomotion.com

  7. #27
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thank you, this is exactly what you need to do when plasma cutting.

    Now I have a real newby question on setting up an encoder to read the frequency output of the THCad. From what I can find with my limited search skills the main way to read an encoder attached to a KFLOP encoder input is to configure an axis with the encoder channel as the input and no output. Then this axis channel is set/read using the Pos<N> script command to get the encoder counts. Now I can't find any clock access functions in the script commands, do I just get the number of counts each user period? Does this require the use of WaitNextTimeSlice() to be a stable period? Thank you.

    John

  8. #28
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    I think you want to use a C Program not Console Commands. Below is a C Program that should measure the frequency and place the result in an Axis Dest so you can observe the result in the Axis Screen to check if it is working. You might want to wait multiple WaitTimeSlices (each is 180us) in order to improve the resolution of the frequency measurement while sacrificing update rate. I think after this is working you will want to expand it to convert the frequency to a voltage with maybe some other logic and use it as the Destination for your Z axis.

    Or actually what normally works best is a "dual loop" approach. First configure a normal Z axis (either open loop stepper or closed loop) that can move Z in a normal manner. This will be the "inner" loop. This works for moves when there is no plasma voltage etc... Then at some point switch (using an MCode) to a dual loop mode. Another axis channel is configured as an Outer Servo loop with the Plasma Voltage (Frequency) as feedback and a Target Voltage. The Output of this loop will be a controlled velocity command to the inner loop.

    Code:
    #include "KMotionDef.h"
    
    #define FAXIS 6
    
    main()
    {
        double T0, T1, Pos,Pos0, Freq;
        
        T0=Time_sec();
        Pos0=chan[FAXIS].Position;
        
        for (;;)
        {
            T1=WaitNextTimeSlice();
            Pos = chan[FAXIS].Position;
            
            Freq = (Pos - Pos0)/(T1 - T0);
            T0=T1;
            Pos0=Pos;
            
            // as a diagnostic put the result into the 
            // Dest so it can be observed on the Axis Screen
            chan[FAXIS].Dest = Freq;
        }
    }
    HTH
    Regards
    TK
    http://dynomotion.com

  9. #29
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thank you. This is exactly what I need to do, with the exception of a longer (about 8ms) measuring period. I figured out the difference between PC commands to the KFLOP and the functions provided for the KFLOP DSP compiler just before you posted.

    Now I have a question about modifying the KMotionCNC screen. Following Troy's instructions in the attached post work, I will shortly try and actually add functionality. Now if I delete (as opposed to make it not visible )a button or display object where in what code do I have to remove the reference to it so KMotionCNC will run without errors? Also I want to change which screen the example will compile from, presently it uses the IDD_KMOTIONCNC_6_LATHE_2_AXES screen in the example and I want to use another or create my own from another screen (Dialog?), how do I do this. Sorry for the newby VS questions, I find it a very difficult environment to work in.

    I have read references to using version 4.33++ files to build the required software from i other threads. I can only find the 4.32 versions on the web site, where are the latest source files kept?

    I hope to have somewhat clean flow charts for Z axis probing and THC to post soon.

    John

  10. #30
    Join Date
    May 2006
    Posts
    4043

    Re: Plasma Table

    Hi John,

    Unfortunately Windows MFC programming has a big learning curve. Find-in-files is usually helpful. To delete a control start with the resource editor and select the control. Then look at properties to determine the resource ID. Then do a global search for everywhere it is used. That will lead to other associated variables, message tables, and code where it is associated to other things. Then in turn those related things will lead to other related things. But mainly the resource ID references need to be removed to avoid run time errors when the other code tries to read or write to a control that no longer exists.

    I don't understand the question on the dialog resource. That can be selected in the KMotionCNC Tool Setup as the "Main Dialog Face". Making a new dialog resource and attaching it to a dialog class is somewhat complicated. Maybe just modify an existing dialog resource.

    For the latest Test Release see the wiki:
    Dynomotion

    Sources are included in all Installations

    HTH
    Regards
    TK
    http://dynomotion.com

  11. #31
    Join Date
    Aug 2013
    Posts
    112

    Re: Plasma Table

    Tom

    Thank you. I have already successfully killed the present installation I have here! I mistaken thought that if I didn't explicitly save anything I could just close VS and start over from scratch, wrong. Yes I understand now that I need to remove all references to the screen object before I remove it from the dialog. This is going to be slow and frustrating, at least in this case coding problems will not let any of the magic smoke out. I remember years ago when we had a QNX based real time project at work, in those days Windows was not ready for prime time, it was very frustrating developing the GUI in X windows, you would use a function and it wouldn't work as stated in the manual only to find out after several days of waiting for a return call from the product support that the function you where trying to use had been deprecated several releases earlier and was no longer expected to work correctly! It appears the LINUX crowd with the active support forums and wikis are much better now.

    John

  12. #32
    Join Date
    Aug 2006
    Posts
    25
    Hello TomKerekes & islander261,

    Is there any update on this project? I also need to make a fast PID THC, integrated with KFLOP for cutting 0.6mm (24ga) stainless sheet. Does the approach described in this thread worked? Any comments what was good/wrong?

  13. #33
    Join Date
    Aug 2006
    Posts
    25
    Hello TomKerekes & islander261,

    Is there any update on this project? I also need to make a fast PID THC, integrated with KFLOP for cutting 0.6mm (24ga) stainless sheet. Does the approach described in this thread worked? Any comments what was good/wrong?

Page 2 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
  •