3
0

README vervollständigt: Temperaturüberwachung

This commit is contained in:
Markus Rosenstihl 2017-07-28 12:37:22 +01:00
parent 85e3143b50
commit 3f85ea320a
2 changed files with 13 additions and 8 deletions

View File

@ -5,22 +5,22 @@ Dieser Arduino Sketch dient zur Sicherheitsüberwachung der PFG Spule. Es werden
dabei folgende Parameter überwacht:
1. Kühlmitteldurchflussmenge
2. Temperatur (TODO)
2. Temperatur
i Durchflussmenge
1 Durchflussmenge
=================
Zur Durchflussüberwachung dient ein Durchflussmesser der im Rücklauf des Wasser-
kreislaufs angebracht ist. Er liefert mit Hilfe eines Hallsensors Pulse mit einem
Duty-Cycle von 50% deren Frequenz proportional zum Durchfluss ist.
In diesem Sketch wird der Abstand zweier Pulse gemessen, d.h. die Periodendauer..
In diesem Sketch wird der Abstand zweier Pulse gemessen, d.h. die Periodendauer.
Zur Messung wird der timer1 (der 16bit Timer) des Arduino verwendet.
Der Signalausgang des Durchflussmessers ist mit dem Interrupt 0 des Arduino
verbunden. Dieser ist so konfiguriert dass er bei einer steigenden Impulseflanke
auslöst und die Zeit seit dem letzen Puls in ein Array abspeichert (Periodendauer).
Der Counter des timer1 wird bei jedem Puls wieder auf 0 gesetzt.
Der Counter des timer1 wird nach jedem Puls wieder auf 0 gesetzt.
Falls innerhalb eines konfigurierbaren Zeitintervals *kein* Puls gemessen wird
löst der timer1 einen Interrupt Service Request aus und setzt die Periodendauer
@ -38,12 +38,14 @@ flow = N/(float)total/conversion
* N ist die Anzahl der Werte im Array
* total ist die Summe der Periodendauern
* conversion ist der Konversionfaktor (Pulse/Sekunde pro l/min)
* conversion ist der Konversionsfaktor (Pulse/Sekunde pro l/min)
2 Temperatur Überwachung
========================
Die Temperatur in der PFG Spule wird mit einem Temperaturcontroller von Jumo überwacht.
Bei zu hohen Temperaturen (45 °C) wird das Alarm Relais
geöffnet. Dieses Relais wird überwacht mit dem Analog Pin A0.
3 Copley Verstärker Interlock
@ -51,6 +53,6 @@ flow = N/(float)total/conversion
Die Copley Stromquelle erwartet ein HIGH Signal am Eingang des Interlocks. Wird ein Fehler
ausgelöst wird der Interlock-PIN des Arduino (Pin konfigurierbar) auf LOW gesetzt. Sobald die
Störung behoben ist geht der PIN wieder automatisch auf HIGH.
Die Alarm LED ist zum Interlock logisch invertiert.

View File

@ -180,9 +180,12 @@ void setup()
setup_ok = false;
return;
}
//int prescaler = PRESCALER;
//snprintf(new_flow_string, sizeof(new_flow_string), "PRESCALER %i", prescaler);
//TFTscreen.text("PRESCALER",0,30);
TIMSK1 |= (1 << OCIE1A); // enable timer compare interrupt
interrupts(); // enable all interrupts
delay(100);
delay(1000);
}
// if after OCR1A seconds no pulse from flow meter occured an interrupt will force a very high delta value