[Emc-users] Deadband, FF1 and FF2
Hello- I'm having some difficulty tuning my P, I, and D variables. I've used PID before in school, and understand how they are calculated, but I wanted to ask about the three terms I don't really understand... I found in the wiki these explanations: *FF1 = 2.000 a velocity feedforward, helps reduce following error proportional to velocity * * FF2 = 0.25 an acceleration feedforward, helps reduce foll. error when accelerating* However I dont quite understand them- would someone be willing to maybe define the math behind these concepts? and also- is deadband the window over and under 0 volts that yields no movement? does this mean that you can kill steady-state oscillations by increasing deadband? Thanks again!!! -pat -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
[Emc-users] Deadband, FF1 and FF2 (cont'd)
Also- if you guys dont mind- please gimme an Idea of what you have these variables set to and what kinda results they gave you. Thanks again!!! -Pat -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Deadband, FF1 and FF2
FF1 adds a percentage of the commanded velocity to the output. Ideally in a steady state FF1 should be high enough that P doesn't have to do anything. FF2 adds a percentage of the commanded acceleration to the output. Ideally FF2 should be high enough that D doesn't do anything. Basically they are creating a rough mathematical model of the motor and machine so that emc can calculate the motor's needs in advance. If the model was perfect you would not need any P or D but in practice you still need them reasonably high. Here is how I set them up. First set I to zero and set the following error limit quite high (say 1 or more). Set P and D as low as possible while not tripping the following error limit. Now do long moves at your average feed rate and keep turning up FF1 until the following error during steady state movement is as low as possible. If you go too high the following error will start going up again. Next do a series of short moves and keep turning FF2 up until the following error during acceleration is as low as possible. Once you have FF1 and FF2 set up, play with P and D to get rid of the remaining errors. Test P and D over a range of feed rates and at rapid rate. Finally tweak I to get the steady state error down. Afterwards you may need to adjust I and D up a bit more. Expect to spend around 1 day per axis to get it spot on. and also- is deadband the window over and under 0 volts that yields no movement? does this mean that you can kill steady-state oscillations by increasing deadband? Only use deadband to stop I from continually tripping between two encoder counts at idle. Normally 1/2 of one encoder count is enough deadband. You cannot use deadband to stop oscillation. I would set this to 0 until the axis is properly tuned. Also- if you guys dont mind- please gimme an Idea of what you have these variables set to and what kinda results they gave you. How long is a piece of string? These values are VERY dependent on your setup. There are no fixed values that you can use. On my lathe I can get 0.001 following error at all times with rapid up to 4m/min or 160IPM. At feed rate or stationary it is much lower. Les Pat Lyons wrote: Hello- I'm having some difficulty tuning my P, I, and D variables. I've used PID before in school, and understand how they are calculated, but I wanted to ask about the three terms I don't really understand... I found in the wiki these explanations: *FF1 = 2.000 a velocity feedforward, helps reduce following error proportional to velocity * * FF2 = 0.25 an acceleration feedforward, helps reduce foll. error when accelerating* However I dont quite understand them- would someone be willing to maybe define the math behind these concepts? and also- is deadband the window over and under 0 volts that yields no movement? does this mean that you can kill steady-state oscillations by increasing deadband? Thanks again!!! -pat -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Deadband, FF1 and FF2
Basically, at no load, a servo amplifier has a characteristic relationship between the voltage in and the velocity. If the relationship is (close to) linear, then FF1 will give an approximately correct speed even before specifying P, I, D. On an inch machine, if you set the OUTPUT_SCALE so that a PID output (PWM/DAC input) of 1.0 makes the axis move at 1.0 inch/second, then the correct value for FF1 is 1. More generally, the value of FF1 should be the PID output (PWM/DAC input) that gives a speed of 1.0 inch/second. FF2 is like FF1 but for acceleration instead of velocity. However, I don't know of a simple rule of thumb for setting FF2. Instead, I used halscope to look at the error during G1 moves and tweaked it until the errors in the accel/decel phase were minimized. In the case of my own system, the magnitude of FF2 is about 1% of FF1. Jeff -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users
Re: [Emc-users] Deadband, FF1 and FF2
Pat Lyons wrote: Hello- I'm having some difficulty tuning my P, I, and D variables. I've used PID before in school, and understand how they are calculated, but I wanted to ask about the three terms I don't really understand... I found in the wiki these explanations: *FF1 = 2.000 a velocity feedforward, helps reduce following error proportional to velocity * * FF2 = 0.25 an acceleration feedforward, helps reduce foll. error when accelerating* However I dont quite understand them- would someone be willing to maybe define the math behind these concepts? Commanded velocity is computed by differentiating position, multiplied by FF1 and then added to the PID routine's output. Acceleration is then computed from commanded velocity, X FF2 and added to the PID output. and also- is deadband the window over and under 0 volts that yields no movement? does this mean that you can kill steady-state oscillations by increasing deadband? Yes, that is exactly it, measured in user units, not volts. So, if actual position differs by up to 10 ^ -5 inch, and deadband is set to 10^-5 inch, then the P output will remain zero. Deadband doesn't COMPLETELY kill oscillation, but it does serve to reduce it and allow it to settle into the deadband. You usually set it to 1.5 X the dimension of an encoder count. Jon -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july ___ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users