PID con pulsadores para circuito RC

Dependencies:   Debounced TextLCD mbed

Files at this revision

API Documentation at this revision

Comitter:
Meli
Date:
Tue Oct 13 22:10:20 2015 +0000
Parent:
1:744ee5bf7b7c
Commit message:
PID con pulsadores

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Tue Oct 13 22:04:26 2015 +0000
+++ b/main.cpp	Tue Oct 13 22:10:20 2015 +0000
@@ -2,11 +2,7 @@
 #include "DebouncedIn.h"
 #include "TextLCD.h"
 
-// se quiere que las constantes del controlador sean variables debido a que se desea ajustes a cambio en el setpoint.
-// la farma que se determino hacer fue que despues de mantener oprimido alguna de las constantes hasta cuenta de 1 en 1 hasta 10 
-// luego que si aun esta oprimido cuenta de 10 en 10 hasta 100 y si aun esta oprimido cuenta de 100 en 100 hasta 999, de igual 
-// de igual manera funciona para decendente, el unico que no cumple estas condisiones es (sp)que llega maximo hasta 3 debido a 
-//que la salida analoga maxima son 3.21 voltios ya con la conversion realizada.
+
 AnalogIn Vin(PTC2); // entrada analoga 
 AnalogOut Vout(PTE30); // salida analoga
 
@@ -223,12 +219,12 @@
      {
      wait(0.2);
      x=Vout.read(); // lee el voltaje de salida que nuestra analoga pero en porcentaje
-     //x = x*(3.21/0.976801); // Voltios
+
      //}
   //pid
       error = sp-x;         // Calcula el error 
    pwmset = kp* error+ki * eInteg +kd* (error - ePrev);    // ecuacion para el PID
-   pwmset=(0.976801/5)*pwmset;            // como el voltaje calculado fue un porcentaje se realiza una convercion respectiva al valor de salida
+   pwmset=(0.976801/5)*pwmset;            // como el voltaje calculado fue un porcentaje se realiza una conversion respectiva al valor de salida
     Vout=pwmset;
     eInteg =eInteg+ error;                  // integral 
     ePrev = error;
@@ -262,11 +258,6 @@
 }
 
 
-
-// se intento de utilizar la funcion steady, pero esta no funciono cuando se mantenia presionado, por lo tanto se usaron banderas para que cuando 
-// llegara a un valor determidado cambie de unidades
-// se crearon dos fnciones tanto de incremento como decremento ya que se reduce mucho codigo debido a que hay que crear 2 lineas de codigo para cada
-// cada constante kp, ki, kd y sp 
 int presionado_incremento(int columna,int fila,int constante)
     {
         int marc=0,i=0;
@@ -335,7 +326,7 @@
     {
         int marc=0,i=0;
         
-                while(button2==0)   // cuando el boton 2 esta precionado
+                while(button2==0)   // cuando el boton 2 esta presionado
                     {
                     
                        i=1;