Beispiel | 'sun900' Steuerung für solare Warmwasserkollektoren.

Solarsteuerung

Beispiel: Autonome Steuerung mit Arduino für Warmwasserkollektoren.

In der Entwicklungsphase, zur Kalibrierung, für Einstellarbeiten und für statistische Auswertungen kann der Raspberry über eine USB-Schnittstelle die Kontrolle übernehmen. Die Bedienung mit ssh kann von einem beliebigen, im Netz erreichbaren Rechner, erfolgen.

Beim Start des Raspberrys wird mit crontab das Programm clock8583 (siehe Projekt c/) gestartet. Das Programm setzt die Systemzeit auf die Zeit des Timeservers oder der Echtzeituhr.

Crontab ruft danach fortlaufend den Befehl screenstart sun900 (siehe Projekt c/) auf. Screenstart sorgt dafür, dass immer genau eine Instanz des Steuerprogramms sun900 läuft.

sun900 stellt automatisch eine USB-Verbindung zum Arduino her. Der richtige Arduino wird dabei über eine Sketch-Id identifiziert. Die Verbindung wird laufend geprüft und nach Unterbrechungen automatisch erneuert.

Projekt c/ stellt im Modul comapi.h Funktionen für eine sichere Kommunikation mit mehreren Arduinos bereit. Es werden Datenblöcke mit Slotnummern verwendet. Damit können auch nicht blockierende Verbindungen realisiert werden. Über den Alarmslot 0 können die Arduinos jederzeit Alarmfunktionen aufrufen.

Für die Fernsteuerung wird mit ssh eine Verbindung zum Raspberry hergestellt. Mit dem Befehl screenstart sun900 kann dann die Steuerung übernommen werden. Sollte man aus Versehen sun900 beenden, so startet crontab das Programm neu.

Das folgende Bild zeigt die Terminalausgabe von sun900. Für andere Endgeräte kann ein Webserver verwendet werden.

Die Grafik zeigt automatisch erstellte Messwerte zur Kalibrierung.

Simulation Messwerte

[   Home   |   Beispiele   ]

Günther Schardinger. Arduino, GNU C, Linux