Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Generic PID control code (http://www.chiefdelphi.com/forums/showthread.php?t=55025)

Uberbots 26-02-2007 13:42

Generic PID control code
 
2 Attachment(s)
I was asked by Adamdb of team #1583 to post a code example of what we did to execute a PID loop. The two files, pid.c and pid.h are attached below.

in order to use a pid loop, you must do a couple of things. first, you create the data structure, for example:
PHP Code:

DT_PID arm

in some initialization code later, you need to initialize the constants
PHP Code:

init_pid(&arm10010101005); 

(see the included file for the argument list)

then finally, you can execute the loop by doing this
PHP Code:

pwm03 pid_control(&armerrorValue); 

It really isnt that bad, and if you notice a lack of comments/explanation, please make a note of it. Also, this code doesnt go into the theory behind it, it only executes the theory. so if you dont know what a proportional coefficient is, then i suggest that you read this: PID without a PhD

happy control-loop-ing.

Edit: i added the default code plus the PID code for those of you who are having trouble getting started.

Tom Bottiglieri 26-02-2007 14:06

Re: Generic PID control code
 
I was going to post mine, but beside for some minor syntax differences, the drivers are identical.

Good work.

PS. It looks like the uberbots' programmers have come a long way since I last talked to you before eliminations at UTC last year.

Mike 26-02-2007 16:32

Re: Generic PID control code
 
Again, nearly identical PID code. I constructed mine from the PID without a PhD article as well.

meatmanek 26-02-2007 16:59

Re: Generic PID control code
 
I was about to make code from PID without a PhD, but then I saw this. It's always great to see teams post code for others to use.


All times are GMT -5. The time now is 04:54.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi