070914
Dependencies: FreescaleIAP MODSERIAL mbed monitor timer0
Fork of 17_PT1000 by
Diff: main.cpp
- Revision:
- 9:28519e850e1c
- Parent:
- 8:3564645d2213
- Child:
- 10:84387eed15b5
--- a/main.cpp Fri Aug 08 09:35:38 2014 +0000 +++ b/main.cpp Fri Aug 08 16:02:54 2014 +0000 @@ -1,6 +1,7 @@ -// Version 12 03.08.2014 +// Version 17 08.08.2014 // die Ausgabe auf das Format #nr val umgestellt // 03.08.14 Monitorbefehle hinzugefügt +// 08.08.14 Programm um Tropfenerfassung erweitert #include "mbed.h" #include "ConfigFile.h" @@ -14,11 +15,11 @@ #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_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 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 +//#define GAIN 112.3 // Digit pro °C >> 112.3 Steuerung Florian //------------------------------------------------------------------------------ // Anlegen von Klassen @@ -34,7 +35,7 @@ //------------------------------------------------------------------------------ // Zuordnung von Eingängen und Ausgängen -InterruptIn tropfen(PTA16); // Eingang für Tropfensensor +InterruptIn tropfen(PTA16); // Eingang für Tropfensensor >> nur Port A und D PwmOut heizung(PTA13); // Ausgang für den PWM der die Heizung steuert DigitalOut r(LED_RED); @@ -92,7 +93,8 @@ uint16_t temp_word; uint8_t n, y, status, ds1820_status; -int tropfen_anz = 0; +int tropfen_anz = 10; // zulässige Anzahl Tropfen pro Periode +int tropfperiode = 60; // in Sekunden bool send_flag = true; float temp_float, temp_diff, temp_neu, esum, temp_soll; @@ -252,7 +254,13 @@ drops = atoi(value); pc.printf("\nAnzahl Tropfen = %d", drops); } - + + if (cfg.getValue("cycle", &value[0], sizeof(value))) + { + tropfperiode = atoi(value); + pc.printf("\nPeriodenzeit fuer die Tropfen = %d", tropfperiode); + } + if (cfg.getValue("soll", &value[0], sizeof(value))) { soll_wert = atof(value); @@ -282,9 +290,9 @@ if (tropfen_anz >= drops){ // mit einer 9 die Tropfen sperren - if(send_flag){ com.putc('9'); - send_flag = false; - LED6 = 1; + if(send_flag){ com.putc('9'); // Trofensteuerung wird ausgeschaltet + send_flag = false; // Flag zur Programmsteuerung + LED6 = 1; // zeigt Status Tropfensteuerung an } } @@ -302,15 +310,16 @@ if (down_timer.GetTimerStatus(1) == 0) { - down_timer.SetCountdownTimer(1,1,1000); + down_timer.SetCountdownTimer(1,2,tropfperiode); tropfen_anz = 0; // mit einer 1 die Tropfen freigeben - if (~send_flag){ com.putc('1'); - send_flag=true; - LED6 = 0; - } + if (~send_flag){ + com.putc('1'); // Tropfensteuerung freigeben + send_flag=true; // Flag zum Status der Tropfensteuerung + LED6 = 0; // Anzeige zum Status der Tropfensteuerung + } } //-------------------------------------------