d

Dependencies:   Debounced QEI mbed

Revision:
1:e214227f5d00
Parent:
0:93983293c81b
--- a/main.cpp	Tue Dec 03 19:58:45 2013 +0000
+++ b/main.cpp	Thu Dec 12 20:51:29 2013 +0000
@@ -6,7 +6,7 @@
 AnalogIn Vin(PTB0);     //entrada de la planta
 AnalogOut Vout(PTE30);      //salida hacia la planta
  
-QEI wheel (PTA16, PTA17, NC, 24);   //pines correspondientes al encoder.
+QEI wheel (PTA16, PTA17, NC, 24);   //distribucion de pines para el  encoder.
 TextLCD lcd(PTB10, PTB11, PTE2, PTE3, PTE4, PTE5); // rs, e, d4-d7
  
 DigitalOut led1(LED1);
@@ -22,8 +22,7 @@
 int C2=0x18; // desplaza izquierda
 int C3=0x1A; // desplaza derecha
 int C4=0x0C; // quito cursor bajo
-int i; // indice de la variable
-
+int i; 
 int j,kp,ki,kd,sp,cont,medida,cont1,cont2,cont3;                                                      
 float pid, err, ap, ai, ad, err_v, spf,kif,kpf,kdf,med;
 
@@ -39,7 +38,7 @@
  
     while(1) {
       
-     cont1=wheel.getPulses();           //ciclo delpara el encoder
+     cont1=wheel.getPulses();           //inicia el encoder 
      if(cont1<0){
      wheel.reset();
         cont1=0; 
@@ -85,7 +84,7 @@
         }
                   
         
-        if(button3.falling()) {         //al presionar el encoder
+        if(button3.falling()) {         //al oprimir  el encoder
         wheel.reset();
             i++;
             if(i>3) {
@@ -115,7 +114,7 @@
            if (button4.falling()){
                     lcd.locate(0,1);
                     lcd.printf("Ha salido del programa ");
-           break;     //sale del bucle si pisan suiche4
+           break;     
                }
                         
                                         }
@@ -141,7 +140,7 @@
            
            // CICLO PRINCIPAL CONTROLADOR PID
               while(1) {
-                              //leer puerto analogo y asignar a med
+                             
            med=Vin.read();
            medida=med*100;
            kpf=kp*0.001;
@@ -150,22 +149,22 @@
            err = (sp-medida);
            
            ap = kpf*err;         
-           ai =(kif*err)+ai;    //calculo de la integral del error
-            ad = kdf*(err-err_v); //calculo de la accion derivativa
-           err_v=err;          //guarda el error
+           ai =(kif*err)+ai;             //calculo de la integral del error
+            ad = kdf*(err-err_v);        //calculo de la accion derivativa
+           err_v=err;                    //guarda el error
            pid = (ap+ai+ad);
            
-                        // se verifica que pid sea menor o igual la valor maximo *****************
+                       
             if (pid > 99){
            pid=100;
            } 
            
-                     // se verifica que pid sea positivo **************************************
+                  
            if (pid <0){
            pid=0;
            } 
            
-            //wait(.5);
+           wait(.5);