<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sjansen</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sjansen"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/Sjansen"/>
	<updated>2026-04-21T02:38:23Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=32142</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=32142"/>
		<updated>2008-10-24T15:09:42Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|center|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum Anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In 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.&lt;br /&gt;
&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30250</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30250"/>
		<updated>2008-08-15T11:34:58Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* 230V Schaltinterface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können, beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum Einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LC-Display können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet. Dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LC-Display wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß. &amp;lt;br&amp;gt;Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30249</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30249"/>
		<updated>2008-08-15T11:34:02Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* 230V Schaltinterface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können, beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum Einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LC-Display können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet. Dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LC-Display wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30248</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30248"/>
		<updated>2008-08-15T11:32:56Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* LC-Display und Eingabetaster */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können, beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum Einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LC-Display können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet. Dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LC-Display wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30247</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30247"/>
		<updated>2008-08-15T11:30:25Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Anschlusseinheit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können, beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum Einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LCDisplay können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet, dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay, nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LCDisplay wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30246</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30246"/>
		<updated>2008-08-15T11:30:01Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Motortreiber */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können, beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LCDisplay können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet, dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay, nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LCDisplay wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30245</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30245"/>
		<updated>2008-08-15T11:27:00Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Belegung der Portstecker und Flachbandkabel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, sodass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LCDisplay können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet, dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay, nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LCDisplay wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30244</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30244"/>
		<updated>2008-08-15T11:26:20Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Basisplatine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, so dass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LCDisplay können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet, dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay, nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LCDisplay wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30243</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30243"/>
		<updated>2008-08-15T11:22:50Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Zentrale Verwaltung der AVR-Webserver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum Anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In 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.&lt;br /&gt;
&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30242</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30242"/>
		<updated>2008-08-15T11:21:56Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Heizung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum Anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30241</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30241"/>
		<updated>2008-08-15T11:21:17Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Heizung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum Anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30240</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30240"/>
		<updated>2008-08-15T11:19:45Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Heizung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum Anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30239</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30239"/>
		<updated>2008-08-15T11:18:07Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Test des Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum Anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30238</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30238"/>
		<updated>2008-08-15T11:17:27Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Test des Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde, untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30237</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30237"/>
		<updated>2008-08-15T11:16:18Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Managebares Webinterface */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das 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.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30236</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30236"/>
		<updated>2008-08-15T11:15:33Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Softwareerweiterungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern, öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30235</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30235"/>
		<updated>2008-08-15T11:12:30Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst BCD-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30234</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30234"/>
		<updated>2008-08-15T11:08:59Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30233</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30233"/>
		<updated>2008-08-15T11:07:31Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30232</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30232"/>
		<updated>2008-08-15T11:06:15Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30231</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30231"/>
		<updated>2008-08-15T11:05:48Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V-Verbraucher geschieht mithilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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. &amp;lt;br&amp;gt;Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30230</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30230"/>
		<updated>2008-08-15T11:04:10Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal. &amp;lt;br&amp;gt;Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &amp;lt;br&amp;gt;In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30228</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30228"/>
		<updated>2008-08-15T11:03:24Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V-Schaltinterface kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30227</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30227"/>
		<updated>2008-08-15T11:02:03Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. &amp;lt;br&amp;gt;Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30226</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30226"/>
		<updated>2008-08-15T11:01:38Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30225</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30225"/>
		<updated>2008-08-15T11:00:42Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Basisplatine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. &amp;lt;br&amp;gt;Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30224</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30224"/>
		<updated>2008-08-15T10:59:04Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Überblick */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel [[AVR µC-Board und Peripherie]].&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30223</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30223"/>
		<updated>2008-08-15T10:57:45Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Die Grundlage des Systems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30222</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30222"/>
		<updated>2008-08-15T10:56:10Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Bisherige Arbeitszeit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30221</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30221"/>
		<updated>2008-08-15T10:55:57Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Mitwirkende am Projekt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekt wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der Start des Projektes war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30220</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30220"/>
		<updated>2008-08-15T10:55:07Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Die Idee des Projekts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekts wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der Start des Projektes war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30185</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30185"/>
		<updated>2008-08-14T19:27:43Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Linksammlung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser Artikel beschreibt den Aufbau eines Mikrocontrollersystems zur Steuerung und Regelung der Beleuchtung und Temperatur eines Raumes. Alle Funktionen und Zustände können über ein managebares Webinterface gesteuert und visualisiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekts wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der Start des Projektes war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
*[http://www.mikrocontroller.net/topic/108274#956154 Diskussion im Forum]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30178</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30178"/>
		<updated>2008-08-14T19:17:41Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Linksammlung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser Artikel beschreibt den Aufbau eines Mikrocontrollersystems zur Steuerung und Regelung der Beleuchtung und Temperatur eines Raumes. Alle Funktionen und Zustände können über ein managebares Webinterface gesteuert und visualisiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekts wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der Start des Projektes war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[AVR µC-Board und Peripherie]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30177</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30177"/>
		<updated>2008-08-14T19:17:29Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Überblick */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser Artikel beschreibt den Aufbau eines Mikrocontrollersystems zur Steuerung und Regelung der Beleuchtung und Temperatur eines Raumes. Alle Funktionen und Zustände können über ein managebares Webinterface gesteuert und visualisiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekts wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der Start des Projektes war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;AVR µC-Board und Peripherie&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[Modulares AVR-Hardwaresystem]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30176</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30176"/>
		<updated>2008-08-14T19:15:30Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Linksammlung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers eines festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, so dass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LCDisplay können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet, dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay, nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LCDisplay wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:AVR]] [[Kategorie:Wettbewerb]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30175</id>
		<title>AVR µC-Board und Peripherie</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR_%C2%B5C-Board_und_Peripherie&amp;diff=30175"/>
		<updated>2008-08-14T19:14:21Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: Die Seite wurde neu angelegt: == Grundidee == Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedlich...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Grundidee ==&lt;br /&gt;
Das Grundkonzept des µC-Systems ist ein modularer Aufbau. An die Basisplatine mit dem µController können je nach Bedarf (bis zu vier) unterschiedliche Peripherieschaltgruppen / Interfaces angeschlossen werden. Das System kann leicht für unterschiedliche Anwendungen angepasst bzw. ergänzt werden.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Basisplatine ==&lt;br /&gt;
[[Bild:Basisplatine.png|thumb|150px|Die Basisplatine]]Die Basisplatine auf welcher der µContoller (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC) bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Vorraussetzungen für den Betrieb des µC.&amp;lt;br&amp;gt;Die Anschlüsse der vier Ports des µC sind auf vier 20pol. Pfostenstecker herausgeführt. Die Peripherie-Schaltungen können hier mit entsprechenden Flachbandkabeln je nach Bedarf angeschlossen werden. Es besteht die Möglichkeit die Interfaces, durch einfache Gewindestangen über bzw. unter der Basisplatine zu befestigen und so zu einer kompakten Einheit zusammen zu fügen.&amp;lt;br&amp;gt;Die Betriebsspannung kann über einen 4mm Holstecker (einfaches Steckernetzteil) angeschlossen werden. Eine Kontroll-LED zeigt die Spannungsversorgung (5V) für den µC an. Der Ein/Aus-Kippschalter erleichtert das Arbeiten mit dem System. Für eine zusätzliche Stromversorgung der Peripherie / Interfaces kann die Versorgungsspannung bei Bedarf über eine Stiftleiste abgegriffen werden. Zur Programmierung des µC ist der ISP-Anschluss (kompatibel zu Atmel-Programmer) herausgeführt. Die Leitungen zum Programmieren des µC werden an den B-Port als normale Ports verwendet. Unter Umständen können Angeschlossene Geräte den Programmiervorgang stören. Bei Bedarf kann die angeschlossenen Peripherie während des Programmierens mit Hilfe des „ISP-Jumpers“ abgekoppelt werden.&amp;lt;br&amp;gt;Die Bus-Anschlüsse für die I²C und die RS232 Schnittstellen sind auf eigene Buchsenleisten geführt und können ebenfalls bei Bedarf mit Jumpern von der Peripherie abgekoppelt werden. Desgleichen auch die Anschlussmöglichkeit für eine durch µC-Software nachgebildete USB-Schnittstelle.&amp;lt;br&amp;gt;Die Referenzspannung für die A/D-Wandler des µC kann mittels eins Potentiometers und Jumpers eines festgelegt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Peripherie ==&lt;br /&gt;
=== Belegung der Portstecker und Flachbandkabel ===&lt;br /&gt;
[[Bild:Belegung_Portstecker.png|thumb|80px|Belegung des Portsteckers]]Die vier Pfostenstecker sind nach einem einheitlichen Grundmuster belegt, so dass die Peripherie / Interface-Module grundsätzlich an jedem Port angeschlossen werden können. Es sind jeweils die acht Portleitungen, das Resetsignal, die 5V-Spannungsversorgung und die Masse an jedem Port herausgeführt. Das Kabel ist so belegt, das jeweils eine Masseleitung als Abschirmung zu den Signalleitungen der Ports beschaltet ist, dieses minimiert ein Übersprechen zwischen den Signalleitungen und erhöht die Betriebssicherheit.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Belegung der zusätzlichen Stromversorgung ===&lt;br /&gt;
[[Bild:Belegung_zusaetzliche_Stromversorgung.png|thumb|100px|Belegung der zusätzlichen Stromversorgung]]An den Anschlüssen der Stiftleiste für die zusätzliche Stromversorgung V+ und V- ist die Versorgungsspannung der µC-Basisplatine herausgeführt. Zusätzlich kann auch die 5V Versorgungsspannung des µC (VCC) und die Masse abgegriffen werden.&amp;lt;br&amp;gt;Das V- Potenzial ist ca. 0,65V geringer als Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Acht Taster/Schalter und LED-Anzeige ===&lt;br /&gt;
[[Bild:Acht_Taster_Schalter.png|thumb|150px|Acht Taster/Schalter und LED-Anzeige]]Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht LEDs bilden eine einfache Einheit zur Ein- und Ausgabe digitaler Zustände durch einen Benutzer. Die Taster und Schalter sind jeweils parallel geschaltet, wenn ein Signalzustand für einen längeren Zeitraum benötigt wird kann einfach der entsprechende Dip-Schalter betätigt werden. Die Pulldownwiderstände sorgen für einen definierten Schaltzustand, die Kondensatoren entprellen die Taster bzw. Schalter etwas.&amp;lt;br&amp;gt;Eine LED dient zur Kontrolle der Spannungsversorgung. Der Resettaster bietet die Möglichkeit das System von der Peripherie aus zu zurück zu setzen.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Ausgangstreiber mit LED-Anzeige ===&lt;br /&gt;
[[Bild:Ausgangstreiber.png|thumb|150px|Ausgangstreiber]]Zum Anschluss kleinerer Verbraucher steht eine Peripherieschaltung mit acht 500mA Treibern zur Verfügung. Der eingesetzte Leistungstreiber ULN2803 schaltet über open–collector-Ausgänge gegen V-. An den Ausgangsanschlussleisten ist die Zusatzversorgungsspannung und der jeweilige open–collector-Ausgang herausgeführt. So können die Verbraucher direkt angeschlossen werden. Die Spannung für die anzusteuernden Geräte kann einfach über die Steckerleiste der Basisplatine oder über eine eigene Spannungsquelle eingespeist werden. Die maximale Schaltspannung ist 50V. Die Ausgänge sind auch für induktive Lasten (Motoren, Schrittmotoren, Zugmagnete, o.ä.) geeignet (Schutz durch Freilaufdioden). Der Schaltzustand der Leitungen wird über LED´s angezeigt. Zwei weitere LED´s dienen zur Kontrolle der Spannungsversorgungen. Auch hier steht ein Resettaster zur Verfügung.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Motortreiber ===&lt;br /&gt;
[[Bild:Motortreiber.png|thumb|150px|Motortreiber]]Mit einer Motortreibereinheit können zwei DC-Motoren (bis 50V, 2A) angesteuert werden. Die Drehrichtung wird jeweils über zwei Signalleitungen (Input) und die Geschwindigkeit über ein PWM-moduliertes Signal (Enable) gesteuert. Die beiden freien Leitungen sind mit zwei LEDs, die bei Bedarf für Anzeigezwecke genutzt werden können beschaltet. Die Energieversorgung für die Motoren wird über Pfostenstecker zugeführt.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Anschlusseinheit ===&lt;br /&gt;
[[Bild:Anschlusseinheit.png|thumb|150px|Anschlussinterface]]Dieses Interface stellt Klemmleisten zum Anschließen von Sensoren oder zum einspeisen von analogen oder digitalen Signalen zur Verfügung. Eine Versorgungsspannung (5V) für aktive Sensoren kann hier ebenfalls abgegriffen werden.&amp;lt;br&amp;gt;&#039;&#039;&#039;Anmerkung:&#039;&#039;&#039; Analoge Signale können von dem System nur auf dem Port A der µC-Basisplatine ausgewertet werden, da die A/D Eingänge des µC zu diesem Port zugeordnet sind.&amp;lt;br&amp;gt;Über dieses Modul können auch Signale ausgegeben werden.&lt;br /&gt;
=== LC-Display und Eingabetaster ===&lt;br /&gt;
[[Bild:LCDisplay_und_Taster.png|thumb|150px|LCD und Taster]]Das Modul bildet eine Benutzerschnittstelle mit Anzeige und Tastereingabe. Auf dem LCDisplay können Texte und Zahlen durch das µC-Systems ausgegeben werden Es wurde das POWERTIP PC1602LRS-FSO-B-Y6 LCD der Fa. Pollin mit 2x16 Zeichen verwendet, dieses bietet einen Industriestandardcontroller. Um Portpins zu sparen, wird das LCDisplay, nur mit drei Leitungen angesprochen. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert. Das LCDisplay wird mit einem Pfostenstecker auf die Modulplatine gesteckt, so können auch andere Displays mit dem gleichen Anschlussstandart aufgesteckt werden.&amp;lt;br&amp;gt;Auf der Platine sind sieben Eingabetaster. Die Tasterzustände werden BCD-codiert übertragen, so können die Zustände auf lediglich drei Leitungen (Pins) ausgegeben werden. Der Tastenzustand wird im Programm ermittelt. Das Programm kann anhand einer Wahrheitstabelle, (Datenblatt), unkompliziert erstellt werden. Die Bezeichnung des Codier-ICs lautet 74HC148. Doppelte Tastendrücke können jedoch nicht erkannt werden.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Weitere Bilder vom Modul:&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;20&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:LC-Display.png|thumb|200px|LC-Display ohne Platine]]&lt;br /&gt;
|[[Bild:LCD_Platine.png|thumb|200px|Platine des LCD-Moduls]]&lt;br /&gt;
|}&lt;br /&gt;
=== Ethernetinterface ===&lt;br /&gt;
[[Bild:Ethernetinterface.png|thumb|150px|Ethernetinterface]]Eine Verbindung zu einem Computernetzwerk kann mit dem Ethernetmodul hergestellt werden. Herzstück dieser Platine ist der Ethernetcontroller ENC28J60. Die Verbindung mit dem Netzwerk wird über ein einfaches Netzwerkkabel und eine RJ45 Buchse realisiert. Mit dem Ethernetcontroller wird der 10BaseT Ethernet Standard erreicht. Diese Bandbreite ist für Anwendungen mit einem µC vollkommen ausreichend. Die Signalanbindung wird, wie auch auf jeder anderen Netzwerkkarte, durch einen Übertrager mit integriertem Filter realisiert. Die Bezeichnung des Bausteins ist FB2022. Die Steuerung der „Netzwerkkarte“ wird durch die µC-Software realisiert.&amp;lt;br&amp;gt;(Die Schaltung wurde als Erweiterung und Umbau des „AVR-Webserver“ aus http://www.ulrichradig.de/   hier: AVR -&amp;gt; ETH_M32_EX realisiert.)&lt;br /&gt;
=== 230V Schaltinterface ===&lt;br /&gt;
[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;&#039;Die Schaltung wird direkt an 230V Netzspannung betrieben, bei Berührung 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.&#039;&#039;&#039;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:230V_Schaltinterface.png|thumb|150px|230V Schaltinterface]]Mit dem 230V Schalter-Modul kann man acht Geräte schalten, die mit 230V Wechselspannung betrieben werden. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mit Hilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Das schalten der Lampen geschieht verschleißärmer. Die 230V Verbraucher werden mit den Leistungstriacs (BT138) geschaltet. Triacs haben einen geringeren Energiebedarf als Relais und sie unterliegen keinem mechanischen Verschleiß.&lt;br /&gt;
Mit einem netzsynchronisiertem Signal kann auch eine Phasenanschnittsteuerung (Dimfunktion) programmiert werden. hierfür müssen dann einfachere Optokoppler eingesetzt werden, in der jetzigen Version wird im Nulldurchgang geschaltet (Optokoppler mit Nulldurchgangserkennung).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Programmierung ==&lt;br /&gt;
=== Hardware ===&lt;br /&gt;
Als Pogrammiergerät wird ein USB-ISP-Programmer verwendet.&lt;br /&gt;
Die Schaltung ist eine Erweiterung und ein Umbau des „USB AVR-Lab“ von http://www.ullihome.de&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem Adapter kann der AVR über die ISP-Schnittstelle direkt aus dem AVR-Studio via USB programmiert werden.&amp;lt;br&amp;gt;Die Baugruppe simuliert mit Hilfe eines Atmega8 bzw. Atmega164 den Hardwareprogrammer zum Atmel STK500v2 Board.&lt;br /&gt;
(Schaltung und Beschreibung folgt)&lt;br /&gt;
=== Entwicklungsumgebung ===&lt;br /&gt;
Als Entwicklungsumgebung wird das von Atmel angebotene AVR-Studio verwendet.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[media:µC-System Stand Juni 2008.zip|Eagle Dateien des Hardwaresystems]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.atmel.com Atmel]&lt;br /&gt;
*[http://www.ulrichradig.de Ulrich Radig]&lt;br /&gt;
*[http://www.ullihome.de Ullihome]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Berthold Sommer&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:%CE%9CC-System_Stand_Juni_2008.zip&amp;diff=30173</id>
		<title>Datei:ΜC-System Stand Juni 2008.zip</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:%CE%9CC-System_Stand_Juni_2008.zip&amp;diff=30173"/>
		<updated>2008-08-14T19:13:20Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:230V_Schaltinterface.png&amp;diff=30169</id>
		<title>Datei:230V Schaltinterface.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:230V_Schaltinterface.png&amp;diff=30169"/>
		<updated>2008-08-14T18:55:28Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Ethernetinterface.png&amp;diff=30168</id>
		<title>Datei:Ethernetinterface.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Ethernetinterface.png&amp;diff=30168"/>
		<updated>2008-08-14T18:48:41Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:LCD_Platine.png&amp;diff=30167</id>
		<title>Datei:LCD Platine.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:LCD_Platine.png&amp;diff=30167"/>
		<updated>2008-08-14T18:47:22Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:LC-Display.png&amp;diff=30166</id>
		<title>Datei:LC-Display.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:LC-Display.png&amp;diff=30166"/>
		<updated>2008-08-14T18:44:51Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:LCDisplay_und_Taster.png&amp;diff=30165</id>
		<title>Datei:LCDisplay und Taster.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:LCDisplay_und_Taster.png&amp;diff=30165"/>
		<updated>2008-08-14T18:39:13Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Anschlusseinheit.png&amp;diff=30164</id>
		<title>Datei:Anschlusseinheit.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Anschlusseinheit.png&amp;diff=30164"/>
		<updated>2008-08-14T18:31:34Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Motortreiber.png&amp;diff=30163</id>
		<title>Datei:Motortreiber.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Motortreiber.png&amp;diff=30163"/>
		<updated>2008-08-14T18:28:11Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Ausgangstreiber.png&amp;diff=30162</id>
		<title>Datei:Ausgangstreiber.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Ausgangstreiber.png&amp;diff=30162"/>
		<updated>2008-08-14T18:24:57Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Acht_Taster_Schalter.png&amp;diff=30161</id>
		<title>Datei:Acht Taster Schalter.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Acht_Taster_Schalter.png&amp;diff=30161"/>
		<updated>2008-08-14T18:20:16Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Belegung_zusaetzliche_Stromversorgung.png&amp;diff=30160</id>
		<title>Datei:Belegung zusaetzliche Stromversorgung.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Belegung_zusaetzliche_Stromversorgung.png&amp;diff=30160"/>
		<updated>2008-08-14T18:15:33Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Belegung_Portstecker.png&amp;diff=30159</id>
		<title>Datei:Belegung Portstecker.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Belegung_Portstecker.png&amp;diff=30159"/>
		<updated>2008-08-14T18:12:28Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Datei:Basisplatine.png&amp;diff=30158</id>
		<title>Datei:Basisplatine.png</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Datei:Basisplatine.png&amp;diff=30158"/>
		<updated>2008-08-14T18:08:55Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: Die Basisplatine mit Beschreibung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Die Basisplatine mit Beschreibung&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30150</id>
		<title>Steuerung und Regelung eines Raums mit dem AVR-Webserver</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=Steuerung_und_Regelung_eines_Raums_mit_dem_AVR-Webserver&amp;diff=30150"/>
		<updated>2008-08-14T17:25:36Z</updated>

		<summary type="html">&lt;p&gt;Sjansen: /* Schlusswort */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;[[Bild:Logo_klein.png|right]]&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
=== Die Idee des Projekts ===&lt;br /&gt;
Dieser Artikel beschreibt den Aufbau eines Mikrocontrollersystems zur Steuerung und Regelung der Beleuchtung und Temperatur eines Raumes. Alle Funktionen und Zustände können über ein managebares Webinterface gesteuert und visualisiert werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Hardwaresystem ist modular aufgebaut, sodass es flexibel an unterschiedliche  Anforderungen angepasst werden kann.&lt;br /&gt;
=== Mitwirkende am Projekt ===&lt;br /&gt;
Dieses Projekts wurde von einer Projektgruppe bestehend aus sechs Schülern mit einem Lehrer am Berfuskolleg der Stadt Rheine (NRW) entwickelt und umgesetzt. Die gesamten Arbeiten wurden außerhalb des Unterrichts auf freiwilliger Basis geleistet.&lt;br /&gt;
=== Bisherige Arbeitszeit ===&lt;br /&gt;
Der Start des Projektes war der Dezember des Jahres 2007. Der bisherige Projektstand wurde im Mai 2008 erreicht. Insgesamt beläuft sich die Gesamtarbeitszeit auf rund 300 Stunden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Projekt wird in diesem Schuljahr weitergeführt. Informationen zu der weiteren Entwicklung finde Sie im Ausblick.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Die Grundlage des Systems ==&lt;br /&gt;
Eine 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, und diese auf unsere Anwendung angepasst und sie um weitere Module erweitert.&lt;br /&gt;
An dieser Stelle bedanken wir uns nochmal herzlich bei Herrn Radig für dieses wunderbare Projekt und die Bereitstellung der Daten.&amp;lt;br&amp;gt;&lt;br /&gt;
Eine weitere Grundlage ist eine modulare Mikrocontroller-Basisplatine, für den Atmega32 und Pinnkompatible Mikrocontroller. Das System ist eine Eigenentwiclung.Weitere Baugruppen zum anschließen der Peripherie wurden für dieses Projekt entwickelt bzw. an unser System angepasst.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Projektumsetzung ==&lt;br /&gt;
=== Modulares Hardwaresystem ===&lt;br /&gt;
==== Überblick ====&lt;br /&gt;
Das zentrale Element des Systems ist eine Basisplatine, auf welcher der Mikrocontroller mit der Grundbeschaltung untergebracht ist.&lt;br /&gt;
Die vier Ports des verwendeten ATMega644 werden über vier Wannenstecker herausgeführt. Hier besteht die Möglichkeit entsprechend vier Interfaces anzubinden.&lt;br /&gt;
Für dieses Projekt wurden folgende Interfaces aufgebaut:&lt;br /&gt;
*ein Ethernetinterface&lt;br /&gt;
*ein 230V-Steuerinterface&lt;br /&gt;
*Anschlussinterface für Sensoren (analog und digital)&lt;br /&gt;
*Beutzer-I/O-Interface (LCD und Taster)&lt;br /&gt;
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. Dieses erleichtert den Aufbau  für Einsteiger erheblich.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Bild:Modularer Aufbau.png|thumb|left|800px|Modulares Hardwaresystem (Aufbau)]]&amp;lt;br&amp;gt;&lt;br /&gt;
Weiterführende Informationen zum Modularen Hardwaresystem finden Sie in dem Wiki-Artikel &#039;&#039;Modulares AVR-Hardwaresystem&#039;&#039;.&lt;br /&gt;
==== Elemente des Systems ====&lt;br /&gt;
===== Basisplatine =====&lt;br /&gt;
Auf 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. Für den Einsatz als Raumregelungssystem mit managebarer Weboberfläche ist der ATMega644 aufgrund des größeren Speichers jedoch unabdingbar. Es sollte darauf geachtet werden, dass kleinere Mikrocontrollertypen nur mit einer geringeren Frequenz als 20Mhz betrieben werden können.&lt;br /&gt;
===== Module =====&lt;br /&gt;
*&#039;&#039;Anschlussinterface für Sensoren (analog und digital)&#039;&#039;&lt;br /&gt;
Auf der Analogverteilungsplatine 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. Des Weiteren kann von den Klemmleisten die Masse und die Betriebsspannung von +5V abgegriffen werden.&lt;br /&gt;
*&#039;&#039;230V-Schaltinterface&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;[[Bild:Gefahr.png|left]]&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Bei Berührung mit Netzspannung besteht Lebensgefahr! &amp;lt;br&amp;gt;Es sollte unbedingt auf die VDE-Vorschriften geachtet werden. &amp;lt;br&amp;gt;Ein fachgerechter Umgang mit diesem Modul ist Voraussetzung für das Arbeiten mit dieser Baugruppe.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Mit dem 230V Schalter-Modul kann man acht Geräte, die mit 230V Wechselspannung betrieben werden, schalten. Der maximale Strom beträgt dabei 12A pro Schaltkanal.&lt;br /&gt;
Bei dieser Platine ist der Steuerstromkreis mithilfe von Optokopplern galvanisch von dem Laststromkreis getrennt. Der Optokoppler MOC 3041 hat eine Nullpunkterkennung, dadurch können auch induktive Lasten ohne Probleme geschaltet werden. Auch werden die Lampen verschleißärmer geschaltet. Das Schalten der 230V Verbraucher geschieht mit Hilfe von Leistungstriacs (BT138). Ein Vorteil bei der Verwendung von Triacs im Gegensatz zu Relais besteht darin, dass diese einen geringeren Energiebedarf haben und sie keinem mechanischen  Verschleiß unterliegen. &lt;br /&gt;
In unserem Projekt wird dieses Modul zum Schalten der Lampen und des Heizungsventils verwendet. Auch das Heizungsventil, das nur mit 24V Wechselspannung betrieben wird, kann problemlos mit diesem Modul geschaltet werden.&lt;br /&gt;
*&#039;&#039;Ethernetinterface&#039;&#039;&lt;br /&gt;
Das Ethernetinterface stellt die Verbindung zu einem Computernetzwerk her. Herzstück dieserPlatine 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.&amp;lt;br&amp;gt;&lt;br /&gt;
Mithilfe des Ethernetcontrollers wird der 10BaseT Ethernet Standard erreicht, der von der Bandbreite vollkommen für dieses Anwendungsgebiet ausreicht. Die beiden Stromkreise werden, wie auch auf jeder anderen Netzwerkkarte, durch einen Schutztrenntransformator mit integriertem Tiefpassfilter voneinander getrennt. Die Bezeichnung des Bausteins ist FB2022.&lt;br /&gt;
*&#039;&#039;Benutzer-I/O-Interface (LCD und Taster)&#039;&#039;&lt;br /&gt;
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. Das LCD wird, um Portpins zu sparen, nur mit drei Leitungen angesprochen. Auch diese Schaltungsidee stammt von Herrn Radig. Die Daten werden hier über ein 8-Bit Schieberegister (74HC164) gepuffert.&lt;br /&gt;
&amp;lt;br&amp;gt;Weitergehend sind auf der Platine acht Taster verbaut. Um Portpins zu sparen, werden die Zustände zunächst bcd-codiert. Dementsprechend werden bei dieser Lösung nur drei Leitungen anstatt acht benötigt. Der endgültige Zustand jedes einzelnen Tasters wird im Programm ermittelt. Dieses Programm kann man anhand der Wahrheitstabelle, die sich im Datenblatt des integrierten Schaltkreises befindet, unkompliziert erstellen. Die Bezeichnung des Codier-ICs lautet 74HC148.&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
=== Software ===&lt;br /&gt;
Die 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.&lt;br /&gt;
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.&lt;br /&gt;
==== Entwicklungsumgebung ====&lt;br /&gt;
[[Bild:Entwicklungsumgebung.jpg|thumb|right|150px|Die Entwicklungsumgebung]]Als Entwicklungsumgebung haben wir das Programm „Programmer&#039;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.&lt;br /&gt;
Das WinAVR-Paket kann [http://winavr.sourceforge.net/ hier] heruntergeladen werden.&lt;br /&gt;
==== Softwareerweiterungen ====&lt;br /&gt;
Der Quellcode wurde um folgende Elemente erweitert:&lt;br /&gt;
*Regelungssystem für einen Raum (roomcontrol.h, roomcontrol.c)&lt;br /&gt;
**Steuerung des Heizungsventils in Abhängigkeit zur Temperatur&lt;br /&gt;
**Schließen des Heizungsventils bei geöffnetem Fenster&lt;br /&gt;
*Bestimmen der Tasterzustände (switch.h, swtch.c)&lt;br /&gt;
*Temperaturwerterfassung (analog.h, analog.c)&lt;br /&gt;
*Anpassung der internen Website (httpd.c, webpage.h)&lt;br /&gt;
Um den vorhandenen Quellcode zu erweitern öffnet man das makefile, das sich mit im Programmer&#039;s Notepad-Projekt befindet. &lt;br /&gt;
Man fügt folgende Zeile an dem dafür vorgesehenen Punkt hinzu:&lt;br /&gt;
&amp;lt;c&amp;gt;SRC += Datei.c&amp;lt;/c&amp;gt;&lt;br /&gt;
==== Managebares Webinterface ==== &lt;br /&gt;
[[Bild: Webinterface.jpg|thumb|150px|Managebares Webinterface]]Das Webinterface dient in erster Linie dazu, den Status des Raums zu visualisieren. Dabei kann man erkennen, welche Temperatur gerade in dem Raum herrscht, welche Fenster geöffnet sind und welchen Status das Licht und die Heizung haben.&amp;lt;br&amp;gt;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.&amp;lt;p&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
=== Test des Systems ===&lt;br /&gt;
[[Bild: Modell.jpg|thumb|150px|Das Modell]]Zum 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.&amp;lt;br&amp;gt;Die Wände des Modells sind doppelwandig, um die Leitungen einfach verlegen zu können.&amp;lt;br&amp;gt;Die Elektronik ist in einem Verteilerkasten, der an der Außenwand des Modells befestigt wurde untergebracht. Des Weiteren befinden sich an dieser Wand eine Netzwerkdose zum Anschluss eines Netzwerkkabels und weitere Verteilerdosen zum Verteilen der 230V Spannung und zum anschließen der Reedkontakte.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Weitere Bilder des Testmodells&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild: Innenansicht.jpg|thumb|200px|Innenansicht]]&lt;br /&gt;
|[[Bild: doppelwandige_Waende.jpg|thumb|200px|doppelwandige Wände]]&lt;br /&gt;
|[[Bild: Frontansicht.jpg|thumb|200px|Frontansicht]]&lt;br /&gt;
|}&lt;br /&gt;
==== Fenster ====&lt;br /&gt;
[[Bild:Fenster.jpg|thumb|100px|Die Fenster]]In 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.&amp;lt;br&amp;gt;An den Fensterrahmen befinden sich kleine Magnete, um den Reedkontakt, der sich neben dem Rahmen im Modellraum befindet, zu schalten. &lt;br /&gt;
==== Lampen ====&lt;br /&gt;
Als 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.&lt;br /&gt;
==== Heizung ====&lt;br /&gt;
Um 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 aus einer Waschmaschine durch dasHeizungssystem gepumpt.&amp;lt;br&amp;gt;&lt;br /&gt;
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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&#039;&#039;Bilder der Heizung&#039;&#039;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Bild:Heizungssystem.jpg|thumb|100px|Das Heizungssystem]]&lt;br /&gt;
|[[Bild:Heizung.jpg|thumb|200px|Die Heizung]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ausblick ==&lt;br /&gt;
Da dieses Projekt sehr viel Spielraum bei der Weiterentwicklung bietet, werden wir uns in Zukunft auf bestimmte Punkte konzentrieren.&lt;br /&gt;
=== Zentrale Verwaltung der AVR-Webserver ===&lt;br /&gt;
In einem 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.&lt;br /&gt;
=== Stundenplankopplung ===&lt;br /&gt;
Das 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.&lt;br /&gt;
=== Helligkeitssensoren ===&lt;br /&gt;
Mithilfe 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.&lt;br /&gt;
=== CO2-Messung ===&lt;br /&gt;
Aufgrund des Artikels „[http://www.elektor.de/jahrgang/2008/januar/co2-messer.321518.lynkx CO2-Messer]“ aus der [http://www.elektor.de/products/magazines/2008/einzelheft-januar-2008.319444.lynkx 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.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
== Linksammlung ==&lt;br /&gt;
*[http://www.berufskolleg-rheine.de Berufskolleg der Stadt Rheine]&lt;br /&gt;
*[http://www.ulrichradig.de Webseite des Entwicklers Ulrich Radig] &lt;br /&gt;
*[http://winavr.sourceforge.net/ WinAVR]&lt;br /&gt;
*[[Modulares AVR-Hardwaresystem]]&lt;br /&gt;
*[[AVR-GCC-Tutorial]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Downloads ==&lt;br /&gt;
*[[Media:Modulares Hardwaresystem.zip|Alle Eagle Dateien vom Modularen Hardwaresystem]]&lt;br /&gt;
*[[Media:V1.0.77_angepasst.zip|Quellcode]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schlusswort ==&lt;br /&gt;
Weitere Ideen und Anregungen sind willkommen. Wir freuen uns auf eine fruchtbare Zusammenarbeit im Forum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Manuel Kamp&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Sundermann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Stephan Spielmann&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Thorsten Rott&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Sebastian Brust&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Berthold Sommer&#039;&#039;&amp;lt;br&amp;gt;&#039;&#039;Simon Jansen&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Projekte]] [[Kategorie:Wettbewerb]] [[Kategorie:AVR]]&lt;/div&gt;</summary>
		<author><name>Sjansen</name></author>
	</entry>
</feed>