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.

PID Tuning Parameters for a boost converter.

Status
Not open for further replies.

drewcrew

Newbie level 6
Joined
Dec 12, 2011
Messages
14
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,397
I'm trying to implement a boost converter like the one found here: Boost Converter Intro with Arduino « ReiBot.org. a PID controller is used for the control.
I don't know how the tuning parameters can be obtained. I've read various documentations but none of them seem to provide information as to how to find those tuning parameters.

Please help.

thanks.
 

what type of load are you driving? the PID was something done while I was bored and if you're using this on a real project you'll probably want to use a dedicated IC for a boost converter. Heck you can even use a 555 timer to control a boost.

Now for your question:

Simply put: The Integral term is the sum of previous error, but it is prone to overshooting the setpoint.
The Derivative watches the rate of convergence between the setpoint and error.
The Proportional is just a constant multiplied by the error.

The PID tuning parameters are just constants multiplied for the p,i,d.

As far as tuning goes i'll admit that i'm no expert (if you look at my balancing robot.) Here's an easy to build test bench that will REALLY help teach the behavior of the PID. This is using the pid library and the pid front end for Arduino. A potentiometer was used for the hinge (feedback)

Arduino pid - YouTube

As far as writing your own PID here's a majorly helpful code sample
Improving the Beginner’s PID – Introduction « Project Blog

On the asee team I was on: The integral term would calculate a constant correction offset for the non exact motors
ASEE 2011 competition « ReiBot.org


-moser
 
Last edited:

I'm using the arduino pid library but i don't know how to calculate the values. i just need some assistance as to where to begin.
 

Well here's how I tune a PID:

First you must understand the system you're trying to tune and understand what parts of the PID it will need. For example a Segway type robot needs no integral term, so it's just a PD constroller (0 for integral). Honestly I'm not the best on this topic, I would strongly suggest build a PID learning system like the youtube video I linked above, then use the PID front end software for the Arduino pid library.

if you want some pid tuning reading (i skimmed this and it seems pretty good)
www.omega.com/temperature/z/pdf/z115-117.pdf

Also in order to graph everything: The easiest method is to have measurements and PID output (everything) outputted like this

serial.print(val1);
serial.print(val2);
serial.print(val3);
serial.println(val4);

so it comes out like this on the serial window for arduino:
val1, val2, val3, val4
val1, val2, val3, val4
val1, val2, val3, val4


Now copy the section that you want (it can be thousands of outputs) and press Ctrl C (right clicking won't give u option to copy it). Now paste all those readings in a text file and change the file extension to "new text file.csv".
You'll now be able to open it in excel and graph all the data.


I would think a boost would be somewhat proportional for when it turns on and any impulse loads. Integral to get to target voltage when there's a constant load. And possibly some derivative in case the load changes rapidly (limit overshoot).

---------- Post added at 16:31 ---------- Previous post was at 16:28 ----------

also fyi this forum is on my spam email and I probably won't see replies. If you need additional help leave a comment on my site and i'll come back here. Just say "hey come to this url" and i won't approve the comment, but i'll come back.


edit: I've had profs tell me that there are methods to tuning a PID, but most professionals end up spending alot of time just tweaking and playing around with the PID tunings. Have potentiometers so that you can edit the tunings while the program is running

so for example if you want a pot edit a variable from 0-10: 10*analogRead(potpin)/1023.;
 
Last edited:

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top