3
0
pfg_security/pfg_security.md
Markus Rosenstihl 5ef568fa05 Doku added
2017-03-08 17:23:39 +00:00

1.8 KiB

PFG Arduino basierte Sicherheitsschaltung

Dieses Arduino Sketch dient zur Sicherheitsüberwachung der PFG Spule. Es werden dabei folgende Parameter überwacht:

  • Kühlmitteldurchflussmenge
  • Temperatur (TODO)

Durchflussmenge

Zur Durchflussüberwachung dient ein Durchflussmesser der im Rücklauf des Wasser- kreislaufs angebracht ist. Er liefert mit Hilfe eines Hallsensors Pulse welche proportional des Durchfluss sind.

In diesem Sketch wird der Abstand zweier Pulse gemessen. 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 zum letzen Puls in ein Array abspeichert (Periodendauer). Der Counter des timer1 wird danach immer 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 auf den höchsten Wert (UINT_MAX, höchster Wert für unsigned int).

Zum Ausgleich von Messfehlern werden die Periodendauern über mehrere Werte (N=16) gemittelt. Falls ein Wert im Array UINT_MAX beträgt wird die Mittelung abgebrochen und der gemittelte Wert auf ULONG_MAX gesetzt (höchster Wert für unsigned long). Damit wird der Durchfluss im Rahmen der Rechengenauigkeit 0 l/min und ein Fehler wird ausgelöst.

Temperatur Überwachung

Copley Verstärker Interlock

Die Copley Stromquelle erwartet ein HIGH Signal am Eingang des Interlocks. Wird ein Fehler ausgelöst wird der Interlock-PIN des Arduino (konfigurierbar) auf LOW gesetzt. Sobald die Störung behoben ist geht der PIN wieder auf HIGH.