Dual loop intput interconnect


Results 1 to 2 of 2

Thread: Dual loop intput interconnect

  1. #1
    Registered
    Join Date
    Aug 2006
    Location
    USA
    Posts
    21
    Downloads
    0
    Uploads
    0

    Default Dual loop intput interconnect

    what is the right way to feed ("software connect") output of one PID loop to the position input of another loop?
    I'm trying to improve response of plasma Volt/Zaxis control. Suspicion is that due to nature of voltage noise derivative term gets too much distorted.

    My idea is to try filter it using spare loop filters an only then feed in to loop which controls Z height error output aka chZ.Dest += ZErrorOutput.

    I see there is "User Input" axis mode, but how do we use it for something else beside resolver?
    Is there way to interconnect then inside system thread or should it be coded in user C program
    forver loop like
    for (;
    {
    ...
    chV.Position = VoltFilterOut; // Volt Height loop, outputs Z speed
    chZ.Dest += chV.Output; // Z position loop,
    ...
    }

    Dual loop intput interconnect-dualloop-jpg

    Similar Threads:


  2. #2
    Gold Member TomKerekes's Avatar
    Join Date
    May 2006
    Location
    USA
    Posts
    2956
    Downloads
    0
    Uploads
    0

    Default Re: Dual loop intput interconnect

    Hi Funding33,

    what is the right way to feed ("software connect") output of one PID loop to the position input of another loop?
    Yes,

    WaitNextTimeSlice();
    chZ.Dest += chV.Output; // Z position loop,


    In a User Thread forever loop is the normal way to perform a dual loop. It causes the Output of one Axis to drive the Velocity of another Axis.

    A somewhat better technique (but a little more complex) is to use a User Callback so the Destination is advanced every Servo Sample (90us) instead of every other Servo Sample (180us) or so depending on number of Active Threads. The User Thread approach is simpler and usually works fine, but if you want to use the Callback approach see the UserCallBack.c and StopCallBack.c examples.

    I'm trying to improve response of plasma Volt/Zaxis control. Suspicion is that due to nature of voltage noise derivative term gets too much distorted.

    My idea is to try filter it using spare loop filters an only then feed in to loop which controls Z height error output aka chZ.Dest += ZErrorOutput.

    I see there is "User Input" axis mode, but how do we use it for something else beside resolver?
    Is there way to interconnect then inside system thread or should it be coded in user C program
    forver loop like
    for (;
    {
    ...
    chV.Position = VoltFilterOut; // Volt Height loop, outputs Z speed
    chZ.Dest += chV.Output; // Z position loop,
    ...
    }
    Pre-filtering the Voltage feedback shouldn't be necessary. You should be able to achieve the exact same result by filtering the Output in the normal manner. Possibly a 2nd Order Low Pass of Freq=300Hz Q=1.4.

    But I suppose the method you show would also work with slightly more delay.



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
  •  


About CNCzone.com

    We are the largest and most active discussion forum for manufacturing industry. The site is 100% free to join and use, so join today!

Follow us on


Our Brands

Dual loop intput interconnect

Dual loop intput interconnect