070914
Dependencies: FreescaleIAP MODSERIAL mbed monitor timer0
Fork of 17_PT1000 by
Diff: main.cpp
- 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 ...