Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Scale factor in a PI controller

Status
Not open for further replies.

seyyah

Advanced Member level 2
Joined
Oct 7, 2001
Messages
646
Helped
8
Reputation
16
Reaction score
8
Trophy points
1,298
Activity points
6,233
How do you determine the scaling factor in a PI controller?
Lets talk over numbers. Say we have Kd and Ki, proportional and integral multipliers respectively. Say they can change between 0-100. What we control is the pwm duty cycle (shortly pwm) which can change between 0-500. And there is an error term which can be between 0-1000. Using these values i am trying to determine a scale factor. I think when the error is max the pwm must be max. If i can find the max error than i can find the scale factor. But error term always increases when an integral term exists because we always add the error to the previous error. This makes difficult to determine the max error. Can you please suggest me something. Is my idea true? Or is there a formal way of doing this?
 

Do you have Matlab? If you do, you can refer to toolbox/powersys/powerdemo/psbdcdrive.mdl. Hopefully from there you can figure out how to adjust the Kp and Ki for your application.
 

I doesn't tell me anything. i can do Ki 1 or 1 billion. How does matlab scales it?
 

I think in your design, you use 'fixed' PWM frequency. The changing variable is the duty-cycle. In the model given in my previous post, the frequency of the switching signal (to driver or motor) is a variable as the model uses 'hyteresis controller'. Does your controller (PIC) monitor for overcurrent?
 

I don't know what You control, but error is always as difference. However, You should calculate system gain. So You have to create open loop, and send range of input signals in whole range (PWM in your case). Note system output, and calcualate gain = So/Si. Then You should repeat experiment from Kp= 1/gain. In theory System gain multiplied by feedback gain (Kp) should = 1;
 

seyyah said:
But error term always increases when an integral term exists because we always add the error to the previous error.
This is not necessarily true. If for example your output is greater than your reference value your error term will be negative. So you will deduct your current error from the previous error.

seyyah said:
How do you determine the scaling factor in a PI controller?
To determine the sacle factors you first have to determine the transfer function of your system without the feedback loop. Then depending upon the required speed of response or steady state error you can determine the transfer function of the feedback loop by applying control theory.
 

    seyyah

    Points: 2
    Helpful Answer Positive Rating
Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top