|
|
Steuerung und Regelung eines Raums mit dem AVR-Webserver
[Bearbeiten] Einleitung[Bearbeiten] Die Idee des ProjektsDieser Artikel beschreibt den Aufbau eines Mikrocontrollersystems zur Steuerung und Regelung der Beleuchtung und Temperatur eines Raums. Alle Funktionen und Zustände können über ein managebares Webinterface gesteuert und visualisiert werden. Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche Anforderungen angepasst werden kann. [Bearbeiten] Mitwirkende am ProjektDieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berufskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet. [Bearbeiten] Bisherige ArbeitszeitDer Start des Projekts war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden. Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finden Sie im Ausblick.
[Bearbeiten] Die Grundlage des SystemsEine Grundlage des Systems ist das ETH_M32_EX Projekt von Herrn Ulrich Radig. Wir haben zum einen die Beschaltung des Ethernetcontrollers von seinem Projekt übernommen, um hieraus ein eigenes Modul zu entwickeln. Zum zweiten haben wir seine Software als Grundlage verwendet, diese auf unsere Anwendung angepasst und sie um weitere Module erweitert. An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten. Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und pinkompatible Mikrocontroller. Das System ist eine Eigenentwiclung. Weitere Baugruppen zum Anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst. [Bearbeiten] Projektumsetzung[Bearbeiten] Modulares Hardwaresystem[Bearbeiten] ÜberblickDas zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist. Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden. Für dieses Projekt wurden folgende Interfaces aufgebaut:
Bei der Erstellung der Platinen wurde auf ein lötfreundliches Layout geachtet. Sie können aufgrund der zumeist breiten Leiterbahnen und Abstände sehr gut selbst geätzt werden. Das erleichtert den Aufbau für Einsteiger erheblich. Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel AVR µC-Board und Peripherie. [Bearbeiten] Elemente des Systems[Bearbeiten] BasisplatineAuf der Basisplatine ist der Mikrocontroller, ATMega644, und dessen Beschaltung untergebracht. Es können jedoch auch, falls man das System für andere Zwecke nutzen möchte, alle pinkompatiblen Modelle, wie zum Beispiel der ATMega32, eingesetzt werden. [Bearbeiten] Module
Auf der Anschlussinterfaceplatine befinden sich neben den Pullup-Widerständen für die Reedkontakte (Fenster) nur zwei 8-polige Klemmleisten. An diese Klemmleisten werden die Fensterkontakte und die Temperatursensoren angeschlossen.
Bei Berührung mit Netzspannung besteht Lebensgefahr! Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Des Weiteren ist eine RJ-45 Schnittstelle, zum Verbinden des Webservers mit dem Netzwerk, vorhanden. Die Grundschaltung für die Netzwerkanbindung mit dem ENC28J60 haben wir von Herrn Radig übernommen. Das Layout für das Modul ist eine Eigenetwicklung.
Das Benutzer-I/O-Interface bildet eine Schnittstelle zum Benutzer. Auf dem LC-Display werden Statusinformationen des Systems ausgegeben. Dazu zählen zum Beispiel die aktuelle Raumtemperatur oder der Status des Heizungsventils. Als LCD wurde das POWERTIP PC1602LRS-FSO-B-Y6 von dem Elektronikversender Pollin mit 2x16 Zeichen verwendet. Wichtig ist bei dem LCD, das dieses einen Industriestandardcontroller besitzt. [Bearbeiten] SoftwareDie von uns verwendete Software basiert größtenteils auf der Software, die für das ETH_M32_EX Projekt von Herrn Radig geschrieben wurde. Grundlage war für uns die etwas ältere Version 1.0.77. Die Software haben wir um unsere Funktionen erweitert und den vorhandenen Quellcode auf unsere Bedürfnisse angepasst. Dabei fanden wir mithilfe des AVR-GCC-Tutorials den Einstieg in die Programmierung der AVR-Mikrocontroller mit C. [Bearbeiten] EntwicklungsumgebungAls Entwicklungsumgebung haben wir das Programm „Programmer's Notepad“, das in der WinAVR Software enthalten ist, verwendet. Da diese Entwicklungsumgebung auch von Herrn Radig verwendet wird, gab es keine Probleme den Quellcode zu erweitern und zu compilieren.Das WinAVR-Paket kann hier heruntergeladen werden. [Bearbeiten] SoftwareerweiterungenDer Quellcode wurde um folgende Elemente erweitert:
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer's Notepad-Projekt befindet. Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:
[Bearbeiten] Managebares WebinterfaceDas Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht und welchen Status das Licht und die Heizung haben.Der Benutzer kann die Heizung und das Licht manuell über das managebare Webinterface steuern. Die Vorgabe der Temperatur, die in dem Raum vorherrschen soll, wird ebenfalls über diese Schnittstelle eingestellt. [Bearbeiten] Test des SystemsZum Test des Systems wurde ein Modell angefertigt. Dieses Modell stellt in den Grundzügen einen Klassenraum dar. In dem Modell wurden vier Leuchtstofflampen, die mit 230V Wechselspannung betrieben werden, zwei Temperatursensoren zur Erfassung der Raumtemperatur, drei Fenster und eine Warmwasserheizung verbaut.Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können. Weitere Bilder des Testmodells [Bearbeiten] FensterIn dem Modell sind drei Fenster verbaut, mit denen die Fensterüberwachung getestet werden kann. Die Rahmen der Fenster bestehen aus einem Aluminiumprofil, das mit Kunststoffverbindern zusammengesteckt wurde. In das Profil wurden Plexiglasscheiben eingesetzt. Diese wurden mit Silikon befestigt.An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. [Bearbeiten] LampenAls Lampen wurden kleine Leuchtstofflampen verwendet, die mit Netzspannung betrieben werden. Diese kann man inklusive der Halterungen beim Elektronikversender Pollin bestellen. Der Einbau war problemlos und ging einfach von statten. [Bearbeiten] HeizungUm eine möglichst realitätsnahe Heizung zu bauen, wurde eine Heizung gebaut, die mit warmem Wasser betrieben wird. Das Wasser wird dabei von einem Warmwasserboiler auf rund 50°C erhitzt. Das warme Wasser wird daraufhin mithilfe einer Laugenpumpe, die aus einer Waschmaschine stammt, durch das Heizungssystem gepumpt. Die Heizung besteht aus zwei Gartenschläuchen, die aus transporttechnischen und praktischen Gründen mit einem Stecksystem ausgestattet sind; einem Kupferrohr, das die Wärme des Wassers an den Modellraum abgibt; dem Boiler, der das Wasser erhitzt; der Laugenpumpe, die das Wasser befördert; einem elektrisch ansteuerbaren Heizungsventil zur Steuerung des Wasserflusses und einem Ausgleichsbehälter. Der Ausgleichsbehälter hat zweierlei Funktionen. Zum einen kann sich das Wasser bei der Erwärmung ausdehnen, ohne das Heizungssystem zu beschädigen und zum zweiten dient der Behälter dazu, die Luft aus dem System zu bekommen und dieses mit Wasser zu befüllen. Bilder der Heizung [Bearbeiten] AusblickDa dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren. [Bearbeiten] Zentrale Verwaltung der AVR-WebserverIn dem ersten Schritt werden einige Klassenräume mit dem System ausgestattet und die Raumzustandsgrößen in Abhängigkeit zum Nutzungsbedarf geregelt. Hierfür wurde eine zentrale Verwaltung auf Webbasis für die eingesetzten Webserver programmiert. Diese Website soll auf einen externen Webserver ausgelagert werden. Durch diesen Schritt kann man alle eingesetzten µC-Server zentral über eine Website verwalten. Somit behält man den Überblick und kann bestimmte Änderungen auf mehreren Servern ausgeben. Dieses Vorhaben ist schon weitestgehend umgesetzt und muss abschließend noch getestet werden. [Bearbeiten] StundenplankopplungDas Regelungs- und Steuerungssystem soll an den Stundenplan gekoppelt werden. Dieses Vorhaben stellt sicher, dass die Räume auch nur dann beheizt und beleuchtet werden, wenn sie von einer Klasse genutzt werden. [Bearbeiten] HelligkeitssensorenMithilfe der Helligkeitssensoren, soll das Licht abhängig von den äußeren Verhältnissen geschaltet werden. Als Erweiterung wäre über einen Dimmer nachzudenken, sodass immer optimale Lichtverhältnisse vorherrschen. [Bearbeiten] CO2-MessungAufgrund des Artikels „CO2-Messer“ aus der Januarausgabe 2008 der Elektronikfachzeitschrift Elektor, kam uns die Idee, einen CO2-Sensor einzusetzen, der den Anteil an Kohlenstoffdioxid in der Luft misst. Somit kann angezeigt werden, wann der Klassenraum gelüftet werden sollte.
[Bearbeiten] Linksammlung
[Bearbeiten] Downloads
[Bearbeiten] SchlusswortWeitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum. Manuel KampSimon Sundermann Stephan Spielmann Thorsten Rott Sebastian Brust Berthold Sommer Simon Jansen |