070914

Dependencies:   FreescaleIAP MODSERIAL mbed monitor timer0

Fork of 17_PT1000 by Temp27

Revision:
8:3564645d2213
Parent:
7:c1602e28a906
Child:
9:28519e850e1c
--- a/main.cpp	Sun Aug 03 18:25:06 2014 +0000
+++ b/main.cpp	Fri Aug 08 09:35:38 2014 +0000
@@ -14,7 +14,8 @@
 
 #define SOLL_WERT 27.0          // Sollwert für den Fühler in der Flüssigkeit
 #define R_TEMP_MAX 40.0         // Maximaltermperatur für den Widerstand
-#define OFFSET 28510            // AD Wert für 0° Abgleich
+#define OFFSET_0 28330            // AD Wert für 0° Abgleich Kanal 0
+#define OFFSET_1 28560            // AD Wert für 0° Abgleich Kanal 1
 //#define OFFSET 27100            // AD Wert für 0° Abgleich Steuerung Flosrian
 #define GAIN 113                // Digit pro °C  >> 112.3 Steuerung Florian
 //#define GAIN 112.3              // Digit pro °C  >> 112.3 Steuerung Florian
@@ -33,7 +34,7 @@
 //------------------------------------------------------------------------------
 // Zuordnung von Eingängen und Ausgängen
 
-InterruptIn tropfen(PTA5);                      // Eingang für Tropfensensor
+InterruptIn tropfen(PTA16);                      // Eingang für Tropfensensor
 PwmOut heizung(PTA13);                          // Ausgang für den PWM der die Heizung steuert
 
 DigitalOut r(LED_RED);
@@ -44,6 +45,7 @@
 //DigitalOut LED2(PTA2);
 DigitalOut LED5(PTA4);
 DigitalOut LED_4(PTA12);
+DigitalOut LED6(PTA5);
 
 // Schalter 4051 weden in der Andwendung nicht benötigt           
 DigitalOut DC_A(PTE2);
@@ -106,7 +108,7 @@
 
 int drops = 10;             // Anzahl Tropfen pro Zeiteinheit
 
-float offset = 0.0;
+//float offset = 0.0;
 float soll_wert = 27.0;     // Sollwert für den Temperaturfühler in der Flüssigkeit
 
 //------------------------------------------------------------------------------
@@ -201,6 +203,7 @@
     // RS232 Schnittstellt zum Ansteuern der Magnetventile
     //
     com.baud(9600);
+    com.printf("\n V08 was compiled on %s  %s \n", __DATE__,__TIME__);
         
     //------------------------------------------------------------------------------
     // Timer für die Zeitsteuerung
@@ -281,6 +284,7 @@
             // mit einer 9 die Tropfen sperren
        if(send_flag){   com.putc('9');
                         send_flag = false;
+                        LED6 = 1;
                     }
        }
                  
@@ -303,8 +307,9 @@
           tropfen_anz = 0;
           
           // mit einer 1 die Tropfen freigeben
-          if (f_flag){ com.putc('1');
+          if (~send_flag){ com.putc('1');
                        send_flag=true;
+                       LED6 = 0;
                      }
        }
        
@@ -321,7 +326,7 @@
         
            
            temp_word = read_mw(1);
-           temp_soll = (temp_word - OFFSET);
+           temp_soll = (temp_word - OFFSET_1);
            temp_soll /= GAIN;
  
             //pc.printf("%d;",temp_word);                           // Rohwert ausgeben
@@ -331,11 +336,11 @@
             // PT1000 Kanal 0 ( Fühler am Heizwiderstand ) lesen und die Temperatur berechnen       
             
             temp_word = read_mw(0);
-            temp_float = (temp_word - OFFSET);
+            temp_float = (temp_word - OFFSET_0);
             temp_float /= GAIN;  
             
-            
-            pc.printf("Temp-R %0.2f; ",temp_float);                     // Rohdaten ausgeben
+            //pc.printf("%d;",temp_word);                           // Rohwert ausgeben
+            pc.printf("Temp-R %0.2f; ",temp_float);                     
 
             //------------------------------------------------------
             // Regelabweichung berechnen
@@ -398,9 +403,16 @@
             }
             pc.printf("%0.4f; ",temp_neu); 
             if(t_flag)
-            pc.printf("on");
+            pc.printf("on;");
             else
-            pc.printf("off");
+            pc.printf("off;");
+            pc.printf(" %d;", tropfen_anz);
+            
+            if(send_flag)
+            pc.printf("on;");
+            else
+            pc.printf("off;");
+            
             pc.printf("\n");
        } // end if(down_timer ...