PID, tarea 3, procesadores
Dependencies: Debounced TextLCD mbed
main.cpp
- Committer:
- mandres7
- Date:
- 2013-11-10
- Revision:
- 0:6ef000c1b903
- Child:
- 1:80f82aa3d0ec
File content as of revision 0:6ef000c1b903:
#include "mbed.h" #include "TextLCD.h" #include "DebouncedIn.h" TextLCD lcd(PTC10, PTC11, PTC12, PTC13, PTC16, PTC17); // rs, e, d4-d7TextLCD lcd(PTC10, PTC11, PTC12, PTC13, PTC16, PTC17); // rs, e, d4-d7 DigitalOut myled(LED1); AnalogOut Aout(PTE30); AnalogIn Ain(PTC2); DebouncedIn up(PTE3); DebouncedIn down(PTE4); DebouncedIn Gain(PTE2); int ap,n,ai,ad; float i=0.7; // set point float j=0; // salida planta float h=0; // entrada planta float m=0; // Error float mv=0; float g=0; float x=0; int kp=3; int ki=15; int kd=1; int main(){ //float Setpoint=0.6; while(1) { wait(0.3); if(i<0.999){ j=Ain; m=(i-j); //n=m*100; ap=kp*m; ai=(ki*m)+ai; if (ai>999){ ai=998; } ad=kd*(m-mv); h=ap+ai+ad; x=h/100; g=(h*3.3/100); if (h<0){ h=0; } Aout=g; wait(0.22); lcd.cls(); lcd.printf("Er:%.3f",m); lcd.locate(8,0); lcd.printf("Me:%.3f",j); lcd.locate(0,1); lcd.printf("Sp:%.2f",i); lcd.locate(8,1); lcd.printf("Co:%.3f",x); } mv=m; } }