- 1. Problemdarstellung 2. Physikalische Grundlagen 2.1 Mechanische Überlegungen 2.2 Die elektrische Versorgung 2.3 Physikalische Größen, Kontrast, Lichtstärke - allgemeine Grundlagen 2.4 Physik unter der Lichtkuppel 2.4.1 Der Treibhauseffekt bei Verschattungsanlagen 2.4.2 Quantitative und qualitative Betrachtungen 2.1.3 Konsequenzen für den Prototyp 3. Entwicklung des Prototyps 3.1 3.2 3.3 3.4 Übersicht Autonome Energieversorgung mit einer Solarzelle Mechanische Umsetzung Entwicklung und Implementierung eines fernbedienbaren Steuerungskonzeptes mit automatischer Helligkeitserkennung 3.5 Entwicklung der Client-Steuerung 4. Entwicklung des Modells in Zusammenarbeit mit Warema 4.1 Physikalische Betrachtungen 4.2 Mechanische Umsetzung 4.3 Umsetzung der Steuerung 5 Fazit und Ausblick 6 Quellen 7 Anhang 7.1 Anhang1: Server-Software 7.2 Anhang2: Client-Software 7.3 Anhang3: Montageanleitungen Warema 1. Problemdarstellung Im Computer- und Physikübungsraum befinden sich Lichtkuppeln, die nicht verschattet werden können. Abbildung 1: Problemstellung Abbildung 2: Aktuelle Lösung Besonders im Sommer ist das Schriftbild des Beamers durch die Sonneneinstrahlung schlecht lesbar, so dass der Unterricht sehr stark eingeschränkt ist. Weiterhin können im entsprechenden Übungsraum optische Versuche nicht gut vorgeführt werden. Nachdem Kursleiter Herr Paulini den Wettbewerb Vision-Ing21 vorgestellt hat, entschied sich sein PSeminar zur Teilnahme am Wettbewerb mit einem Projekt zu diesem Thema. 2. Physikalische Grundlagen In einem ersten Schritt wurden die verschiedenen Aspekte des Problems aus grundlegender, physikalischer Sicht betrachtet. 2.1 Mechanische Überlegungen a) Überlegung bezüglich des Anbringungsortes Zuerst haben wir nach einem geeigneten Anbringungsort für unsere Verschattungsanlage gesucht. Aufgrund der Verkrümmung des Dachfensters und der Unterbringung der elektronischen Geräte (z.B Motor, Steuerung, etc.), die den Witterungsbedingungen ausgesetzt wären, entschieden wir uns für eine einfachere Variante: Die Anbringung im Innenraum unter der Lichtkuppel. Unser Motor soll durch eine Solarzelle, die auf dem Dach über dem Computerraum angebracht werden soll, betrieben werden. Dennoch kann die Verschattungsanlage nicht direkt unter der Lichtkuppel angebracht werden, da neben ihr eine 20cm starke Betonschicht ist (siehe „Aufbau des Fensters“). Deshalb kamen wir auf die Idee, in den Hohlraum, der sich rund um den Fensterschacht befindet, eine Aluminiumkonstruktion zu bauen, auf der der Motor, die Steuerung und auch die Jalousie befinden. Da der Motor nur in eine Richtung ziehen kann, wird auf der gegenüber liegenden Seite eine Vorrichtung benötigt, die die Jalousie auf Spannung hält. Unterkante Lichtkuppel Gipsplatte Beton 118 20 50 Abbildung 3: Aufbau des Fensters 150 b) Stoffspezifische Überlegungen bezüglich der Verdunklungsanlage Aufgrund der waagerechten Lage der benötigten Verdunkelungsanlage schlossen wir die Verwendung einer Jalousie aus. Stattdessen entschieden wir uns für einen Stoff, welcher leicht aufrollbar ist, um Platz zu sparen. Somit wurde die Idee eines Holzbrettes auch verworfen. Für unser Modell verwendeten wir der Einfachheit halber eine Plastikfolie. Der Stoff soll außerdem noch spezielle Aufgaben, wie Lichtabsorption, erfüllen. 2.2 Die elektrische Versorgung Die Stromversorgung der Verschattungsanlage gestaltet sich schwierig. Da die Lichtkuppel sich an der Decke befindet, ist eine konventionelle Stromversorgung mithilfe einer Verkabelung mit großem Aufwand verbunden. Darüber hinaus legten wir großen Wert darauf, eine umweltfreundliche Apparatur zu bauen. Daher wurde sich für eine Solarzelle als Energiequelle entschieden. Da die Solarzelle wetterabhängig und daher eine unsichere Quelle ist, haben wir entschieden, zusätzlich dazu einen Akku einzubauen, um überschüssige Energie sonnenreicher Tage für Tage mit weniger Leistung zu speichern. Abbildung 4: Funktionsweise einer Solarzelle Die Versorgung der Verschattungsanlage beruht auf einer Solarzelle und dem photoelektrischen Effekt. Die Zelle besteht aus einer polykristallinen Siliciumoberfläche. Scheint Sonne auf die Oberfläche, wird ein Elektron dieses Halbleitermaterials angeregt und auf ein höheres Energieniveau angehoben. Dadurch entsteht eine Ladungstrennung in dem Material, auf der einen Seite befindet sich das Elektron, auf der anderen, an der Stelle des jetzt verschwundenen Elektrons, ein „Loch“, das als positive Ladung aufgefasst werden kann. Diese Spannung versorgt dann den Motor der Verschattungsanlage über den Akku. Grundsätzlich wird in einem Akkumulator elektrische Energie in chemische Energie umgewandelt und dann in dem Akku gespeichert. Akkus haben immer zwei Elektroden, die in einer Elektrolytflüssigkeit eingetaucht sind. Beim Laden des Akkus fließt ein Strom durch den Akku, der eine chemische Reaktion in Gang setzt, die wiederum die Elektroden verändert. Nach einiger Zeit ist nicht mehr genug Elektrodenmaterial für die Reaktion übrig, sodass die Reaktion und damit der Stromfluss stoppt. Das Laden des Akkus endet. Bei Abgabe der Leistung läuft die gleiche Reaktion andersherum ab und die chemische Energie wird wieder in elektrische Energie umgewandelt. Dabei kann man idealerweise genauso viel Leistung entnehmen wie beim Aufladen gespeichert wurde. Der Wirkungsgrad liegt in der Regel jedoch zwischen 70 und 100%. 2.3 Physikalische Größen, Kontrast, Lichtstärke - allgemeine Grundlagen Die Problematik der Verdunklung ergibt sich aus der Unlesbarkeit des Beamerbildes. Die Beamerleuchtstärke beträgt laut Herstellerangaben (berechnet auf unsere Bestrahlungsfläche)lx = lm / m² = 3500 lm / (2,38m*1,78m) = 826 lx, wohingegen die von uns gemessene Helligkeit im Raum zwischen 1000 lx und 1900 lx beträgt. Es ist klar zu erkennen, dass der Beamer nicht in der Lage ist, ein klares /kontrastreiches Bild auf die Projektionsfläche zu werfen, da er die Leuchtkraft der Sonne nicht übertreffen kann. Unser Anspruch an eine Verdunkelungsanlage ist nun, auf die zu hohe Helligkeit im Raum automatisch zu reagieren und diesen zu verdunkeln, sodass ein klares Bild möglich ist. Dabei ist zu beachten, dass das System nicht auf kleinste Schwankungen reagiert, die beispielsweise durch eine kurze Wolke ausgelöst werden. Dies würde sich störend auf den Unterricht auswirken. Passender ist es, über längere Zeit einen Helligkeitsmittelwert zu bilden, und die Anlage erst dann zu starten, wenn dieser eine gewisse Toleranzgrenze überbzw. unterschreitet. 2.4 Physik unter der Lichtkuppel Neben der Verschattung spielen unter der Lichtkuppel weitere physikalische Effekte eine wichtige Rolle. 2.4.1 Der Treibhauseffekt bei Verschattungsanlagen Allgemein Treibhauseffekt: Die kurzwellige Strahlung der Sonne gelangt durch das Fensterglas der Lichtkuppel, wird von Objekten, wie z.B. Pflanzen, im Innenraum absorbiert und von diesen in langwellige Wärmestrahlung umgewandelt (=Rückstrahlung). Diese langwellige Strahlung kann nun nicht mehr durch das Fensterglas der Lichtkuppel gelangen, da Fenster nur Strahlung einer bestimmten Wellenlänge durchlassen (siehe Abb. 1). Durch den Stau der Wärme wird der Raum, wenn er nicht ausreichend belüftet wird, permanent erhitzt. Nachdem warme Luft leichter als kalte ist und somit nach oben steigt, bildet sich dicht unter der Decke des Raumes die wärmste „Schicht“ Luft. Problematik: Bei geschlossener Jalousie entsteht ein Treibhauseffekt, bei dem unter der Kuppel warme Luft gestaut wird. Nachdem die Fenster bei uns nicht befriedigend weit geöffnet werden können besteht ein Problem weithin gehend darin, dass nicht klar ist, wie genug kalte Luft zum Ausgleich zwischen Jalousie und Glaskuppel gelangen soll. Abbildung 5: Der Treibhauseffekt 2.4.2 Quantitative und qualitative Betrachtungen Verschattungsanlagen bieten über ihre Primärfunktion, das Verschatten, hinaus noch die Möglichkeit, verschiedene Energiesparmaßnahmen durchzuführen. Dies funktioniert hauptsächlich über: -Kühllast -Heizlast -Energieaufwand wegen Kunstlicht Die Kühllast wird durch gezieltes Abhalten der kurzwelligen Sonnenstrahlung verringert; dies funktioniert über einen stark reflektierenden Sonnenschutz, der bei hoher Sonnenstrahlung heruntergefahren wird. Dabei ist vor allem der Abminderungsfaktor Fc von Bedeutung, der bei solchen Anlagen bei 0,25-0,7 liegt; d.h., dass nur 1/4 bis 7/10 der Energie, die ohnehin durch das Fenster gekommen wäre, das Fenster passiert. Welche Menge Energie das Fenster passiert, wird über den g-Wert beschrieben, der in etwa zwischen 0,62-0,87 liegt; d.h., dass zwischen 62% und 87% der Energie der Sonnenstrahlung das Fenster durchdringt, wobei hierbei der Abminderungsfaktor F c nicht berücksichtigt ist. Daraus folgt, dass zwischen 15% und 60% der Energie durch das Fenster kommt. Um die Heizlast zu verringern, wird in kalten Jahreszeiten versucht, die Energie innerhalb des Gebäudes zu halten. Dies läuft über zwei Methoden: -U-Wert verringern -durch ein Luftpolster zwischen Verschattung und Fenster eine isolierende Schicht zu schaffen Der U-Wert ist die Menge an Energie, die durch kurzwellige Wärmestrahlung aus dem Gebäude entweicht. Bei einem durchschnittlichen Energieertrag von etwa 1000-1050kWh pro m² jährlich für das Gebiet um Würzburg, lässt sich also pro m² Fensterfläche zwischen 850 und 400 kWh pro Jahr an Energieaufwand einsparen. 2.4.2 Konsequenzen für den Prototyp Der Einsatz und die Beschichtung des Stoffes für die Verdunklungsanlage sind in Bezug auf die Energiebetrachtung wichtiger als zunächst angenommen. Sie übernimmt einige wichtige Aufgaben, wie das Verhindern einer Luftzirkulation zwischen dem Luftpolster unter der Lichtkuppel und dem restlichen Raum. Durch den Treibhauseffekt findet eine Erwärmung im Sommer bzw. eine Abkühlung nachts statt. Es ist stets im Sinne der Energieersparnis beziehungsweiße des Wohlgefühls, diese Luft getrennt zu halten. Im Sommer wünscht man sich einen möglichst kühlen Raum, der nicht zusätzlich durch die Wärme des Energiepolsters belastet werden muss. Analog verhält es sich im Winter, man möchte nachts die geheizten Wohnräume nicht unnötig mit der Luft außerhalb der Verdunklungsanlage kühlen. Doch eine viel größere Bedeutung kommt der Reflexion und Absorption zu. Durch sie findet bzw. wird eine Energieumwandlung zwischen Lichtenergie und Wärmeenergie verhindert. Nun muss man zwei grundsätzliche Wirkrichtungen unterscheiden, die entweder separat oder als Kompromiss verbunden werden. Eine Wirkrichtung ist die low-e Beschichtung, eine Aluminiumbedampfte Folie. Sie hat eine große Reflexion und verhindert damit im Sommer das Eindringen des Lichtes, hat also einen geringen g-Wert. Im Winter wird jedoch ein Mitheizen der Räume durch den geringen g-Wert verhindert, dies gleicht sich aber zumindest durch einen großen U-Wert wieder teilweise aus. Eine andere Möglichkeit ist der Einsatz eines schwarzen Stoffs. Dies zeichnet sich durch einen großen g-Wert aus, welcher zu Folge hat, dass sich der Stoff aufheizt und dann als Flächenheizung den Raum heizt. Auch ist der U-Wert groß, welcher im Winter vorteilhaft ist. Somit ist zu erkennen, dass ein Reflektierender Stoff (low-e) mehr für den Sommer geeignet ist und ein Absorbierender Stoff mehr als für den Winter. Wenn der Einsatz beider Stoffe aus Kostengründen oder Ähnlichem nicht möglich ist, so muss ein spezifischer Kompromiss getroffen werden. 3. Entwicklung des Prototyps Der Prototyp wurde parallel in den Gruppen Versorgung, Mechanik und Steuerung entwickelt. Dabei galt es, stets in Absprache mit den Sprechern der anderen Gruppe die nächsten Schritte zu überlegen und umzusetzen. 3.1 Übersicht Abbildung 5: Schematische Übersicht Das elektrische System wird versorgt durch die Solarzelle, die Sonnenlicht in Strom umwandelt. Dabei wird Spannung zwischen 12 und 20 V bereitgestellt, die, geregelt über eine Ladespannung, einen Akkumulator auflädt. Dieser Akkumulator stellt über einen Spannungswandler eine 5 V Logikspannung für die Steuerung zur Verfügung. Über einen Stromabnehmer regelt die Client-Steuerung den Motor. Die Steuerung reagiert auf die Signale des Servers sowohl die Lichtschranken, welche den Laufweg der Stoffbahn begrenzen und somit die Mechanik vor Überdrehung schützen. 3.2 Autonome Energieversorgung mit einer Solarzelle Der Motor benötigt eine konstante und ständig verfügbare Energiequelle. Die Versorgungsgruppe hatte zur Aufgabe, diese sicherzustellen. Zu Beginn wurde recherchiert und für den Motor abgeschätzt, welche Spannung nötig ist, um die Jalousie betreiben zu können. Es wurde sich für einen 6 Volt Motor mit 7500 Umdrehungen pro Minute und 0,45 Ampere entschieden. Außerdem wurde ein 12 Volt Blei-Akku gewählt, um den Strom der Solarzelle zu speichern. Es wurde ein Akku mit einer höheren Spannung gewählt, um Verluste über Leitungen und andere Widerstände auszugleichen. Teil des Prototyps ist auch eine Solarzelle mit 12 Volt und 0,55 Ampere. Nachdem diese Teile bestellt wurden, wurde überprüft, ob sie funktionsfähig und deren Leistung ausreichend waren. Dabei konnte beispielsweise festgestellt werden, dass die Leistung der Solarzelle enorm wetterabhängig ist, sodass ein Energiespeicher, um schlechte Tage auszugleichen, die richtige Entscheidung war. Beim ersten Versuch zur Spannungsmessung der Solarzelle schien die Sonne leider nicht, sodass eine Lampe genutzt wurde, um die Solarzelle zu betreiben. Diese hatte jedoch nicht genügend Leistung um eine ausreichende Spannung für den Motor zu erzeugen. Beim zweiten Versuch schien die Sonne und es konnte festgestellt werden, dass die Sonneneinstrahlung ausreicht, um mit der Solarzelle den Motor zu betreiben und den Akku zu laden. Die Spannungsmessungen wurden mit herkömmlichen Voltmetern durchgeführt, die parallel zur Solarzelle geschaltet wurden. Allerdings wurden bei den Versuchen mit der Solarzelle einige Widerstände, die als MotorErsatz genutzt wurden, komplett zerstört. Hier zeigt sich, wie stark die Sonne ist und dass selbst kleinere Solarzellen viel Energie einfangen können. Daraufhin wurden die einzelnen Teile mit Kabeln miteinander verbunden und verlötet, eine Verbindungsbuchse eingebaut, um die Solarzelle mit einer Ladeschaltung für den Akku verbinden zu können, die Ladeschaltung hinzugefügt und erneut die Funktionsfähigkeit überprüft. Verbindungsbuchse Akku Solarzelle Abbildung 6: Elektrische Versorgung 3.3 Mechanische Umsetzung Nach einiger Zeit der Überlegungen, Recherchen und Planungen, fing am 11.01.2012 der Bau des allerersten Modells in der Gruppe Konstruktion an. Eine Skizze, die unsere Überlegungen zum Lager, über das die provisorischen Gummis liefen, klar machen sollte, wurde angefertigt. 1. 2. 3. 4. 5. 6. 3 6 1 2 6 4 5 Abbildung 7: Lager Achse Öse Aluminium Holzklotz Holzbrett Schrauben Außerdem wurden schon alle Einzelteile, die anfangs zu Verfügung standen, auf dem Brett montiert. Als Ergebnis konnten wir das Holzbrett vorweisen, auf dem schon Motor auf Holzklötzen und Lager montiert waren. Beim nächsten Treffen eine Woche später konnte der Stoff schon mit Fernsteuerung ausgefahren und aufgewickelt werden. Außerdem wurde eine Skizze mit Word erstellt, auf der das Modell aus der Vogelperspektive zu sehen ist. 5 1 2 3 4 1 1. 2. 3. 4. 5. Gummi Motor Stoff Umlenkrolle Holzbrett Abbildung 8: Modell aus der Vogelperspektive (Version 1.1) Zu diesem Zeitpunkt hatten wir uns schon einige Dinge überlegt, die wir im Sinne der Verbesserung unseres Modells noch in Angriff nehmen wollten. Geplant war, das Lager durch Umlenkrollen aus dem Baumarkt zu ersetzen, da sich das Aluminiumrohr nicht sehr gut mit den Gummis gedreht hat und die Anzahl der Gummis wurde von zwei auf drei erhöht, die auf eingekerbte Schrauben, die sich hinter dem Motor befinden, gespannt werden können. Weiterhin wurde versucht, mit Schnüren und Federn die Gummis zu ersetzten, doch die gekauften Federn waren viel zu stark für den Motor. Als finale Lösung wurden Angelgummis besorgt. Am 08.02.2012 wurden die überflüssigen Holzklötze des alten Lagers entfernt und die Umlenkrollen angeschraubt. Überlegt wurde auch, ob man eine Federwelle einbaut, aber nach gründlicher Recherche wurde dieser Gedanke wieder verworfen, da die Federwelle für unser kleines Modell nicht praktikabel empfunden wurde. Nach dem achten Februar wurden keine Veränderungen am Modell mehr vorgenommen, da es keine Punkte gab, die noch unbedingt zu verbessern gewesen wären. Der Stoff lässt sich gut auf- und abrollen, alles sitzt fest und Ästhetik war nie ein Ziel für unseren Prototypen gewesen. 6 5 7 7 1 6 6 2 3 1 4 1 Abbildung 9: Modell aus der Vogelperspektive (finale Version) Abbildung 10: Modell aus der Vogelperspektive 3.4 Entwicklung und Implementierung eines fernbedienbaren Steuerungskonzeptes mit automatischer Helligkeitserkennung Als erstes musste ein Konzept gefunden werden, wie das grundsätzliche Steuerungskonzept aufgebaut sein soll. Wir entschieden uns für ein zweigeteiltes System mit einer "Client/Server"-Logik, um theoretisch auch mehrere Verdunklungsanlagen zentral steuern zu können. Der Server übernimmt die Aufgabe zu entscheiden, ob es zu hell oder zu dunkel ist, bzw. nimmt eine Eingabe per Fernbedienung entgegen. Darauf basierend wird dann ein Signal an die Clients an den Fenstern (in unserer Ausführung nur einer) weitergegeben. Der Client betätigt dann, wenn die Parameter des Clients dies zulassen, den Motor zum Schließen oder Öffnen der Anlage, bis vom Server gemeldet wird, dass der optimale Helligkeitswert erreicht ist. Das bietet die Vorteile, dass erstens verschiedenste Arten von Anlagen angeschlossen werden können und durch die Modularisierung, hängt nur die Entscheidung, ob geöffnet oder geschlossen werden soll, vom zentralen Server ab. Die spezifische Implementierung des Verdunkelungsvorgangs liegt auf der Clientseite. So können Umgebungsvariablen wie "Der Akku ist leer" oder "Ich kann nicht weiter zu fahren, weil ich bereits zu bin" lokal berücksichtigt werden. Dadurch werden die Parameter an Ort und Stelle verarbeitet und müssen nicht zentral an einem Ort zusammengefasst und verarbeitet werden. Ziel war es, eine möglichst stufenlose Helligkeitseinstellung zu erreichen. Deshalb wurde folgendes Konzept der Kommunikation zwischen Server und Client ausgearbeitet: Es gibt drei Signalarten: 'AUF', 'ZU' und 'STOP'. Wird ein Motorstartsignal (AUF oder ZU) gesendet, wird der Motor so lange betätigt, bis das STOP-Signal gesendet wird (bzw.es die Umgebungsvariablen nicht zulassen, siehe oben). Dadurch wird ermöglicht, genau bis zum gewünschten Punkt zu öffnen/schließen. Nun galt es zu planen, wie die Steuerung beeinflusst werden sollte. Wir entschieden uns für zwei Konzepte: Steuerung durch den Benutzer mit einer Fernbedienung und automatische Steuerung abhängig vom gemessenen Lichtwert. Die Benutzersteuerung geht natürlich der automatischen vor, um auch spontaner Unterrichtsgestaltung gerecht zu werden. Außerdem soll sie die automatische Steuerung für eine bestimmte Zeitspanne deaktivieren, was ermöglicht über längere Zeit z.B. stark abzudunkeln. Implementierung der serverseitigen Steuerung des Rollladensystems Um diese serverseitige Steuerung zu verwirklichen, benutzten wir ein ArduinoMicrocontroller-System mitsamt selbstgebauter Elektronik, die einen Infrarotsensor und einen Photowiderstand zur Leuchtstärkenerkennung, sowie fünf Status LEDs umfasst. Server „Shield“ Arduino Kontakte zum Chip Kontakte zum Client Abbildung 10: Microcontroller und Elektronik Abbildung 11: Schaltplan Sensoren Sende LEDs Status LEDs Gelötete Unterseite Anhand des Schaltplans kann man die einzelnen Komponenten gut erkennen. Der Rechteckige Block in der Mitte stellt den Microcontroller des Arduino dar von und zu dem alle Leitungen verlaufen. Die mit „output LEDs“ betitelten Leuchtdioden sind über die Ports 11, 12, 13 mit dem Arduino und über einen 150 Ohm Widerstand mit Masse verbunden. Das gleiche gilt für die „status LEDs“ nur eben auf den Ports 9 und 10. An den „output LEDs“ liegen noch Leitungen für den „command output“, diese gehen dann zum Client. Rechts ist ein „IR sensor“ zu sehen, dieser ist mit Port 8, Masse und 5V Betriebsspannung verbunden. Dieser dient dazu, die Fernbedienungssignale zu empfangen. Der „light sensor“ ist über Port A5 mit dem Arduino, mit 5V Betriebsspannung und über einen 10 Kiloohm Widerstand mit Masse verbunden. Dieser ist zur Feststellung der Umgebungshelligkeit nützlich. Außerdem entwickelten wir ein Programm, um die von uns gewünschten Funktionen zu realisieren. Wir benutzen dafür die Programmiersprache C und die Entwicklungsumgebung des Arduinoprojektes. Dabei implementierten wir folgende Dinge: Senden eines AUF-/STOP-/ZU-Signals Steuerung über Fernbedienung automatische Steuerung über einen Lichtsensor, falls die Fernbedienung eine längere Zeit nicht bedient wurde Umschalten auf Lichtsensorsteuerung durch Knopfdruck Mittelung der Lichtwerte innerhalb eines bestimmten Zeitrahmens Darstellung der gesendeten Signale über LEDs Die Erkennung des Infrarotsignals der Fernbedinung erfolgt über einen kleinen IR Sensor, die Lichtstärkenmessung über einen Photowiderstand. Beispielhaft erklären wir hier mal die Hauptfunktion loop() unseres Programmes: 1 2 3 4 5 6 7 8 9 10 11 12 13 void loop() { getRemote(); if ((millis() - lastRemote) > remoteDelay){ getLight(); } setStatus(); sendData(); sendVal = -1; delay(loopDelay); } Zuerst fragen wir mit getRemote() ab ob ein Signal durch die Fernbedienung empfangen wurde. Danach wird überprüft ob das letzte Signal der Fernbedienung lang genug zurück liegt, das eine Abfrage des aktuellen Lichtwertes erforderlich ist. millis() gibt die aktuelle Zeit zurück, lastRemote enthält die letzte Zeit zu der ein Signal von der Fernbedienung gekommen ist. remoteDelay ist die Zeitspanne die verstreichen soll, bis Lichtwerte abgefragt werden. Falls diese Bedingung erfüllt ist, wird mit getLight() der Lichtwert abgefragt. Daraufhin werden die StautsLEDs gesetzt (setStatus()) und das entsprechende Signal an die Clients geschickt (sendData()). Die Variable sendVal, die das aktuelle Signal enthält, wird zurückgesetzt und das Programm wartet durch delay(loopDelay) einen kurzen Moment. Dies ist die Programmschleife, die während des Betriebs durchgehend wiederholt wird. 3.5 Entwicklung der Client-Steuerung Die Hauptaufgabe der Clientsteuerung ist folglich definiert: Sie muss die Signale des Servers (AUF, ZU, STOP) annehmen können und den Motor entsprechend steuern. Der erste Version der Clientsteuerung hatte nur die Funktion, die Signale des Servers entgegenzunehmen und daraufhin jeweils das passende Switch-Relai umzuschalten, um den Motor zu aktivieren. Auch hatte diese Version bereits die beiden, auch im fertigen Prototyp implementiert waren. Diese geben den Status des Chips wieder und helfen somit, Probleme zu erkennen. Ein Problem hat uns bereits in dieser Version beschäftigt: Der Chip ist enorm instabil und stürzt beim Einschalten des Motors fast immer ab. Damit der Motor nicht überdreht, werden im Prototyp zwei Lichtschranken eingebaut, die vor Überdrehung schützen. Angesteuert wird der Motor über zwei Switching-Relais. Die zentrale Komponente ist ein Microcontroller der Firma Microchip, genauer: ein PIC 18F14K50. Über Transistoren werden die Lichtschranken, die Infrarotdioden und die Relais vom PIC an und ausgeschaltet. Der PIC übernimmt auch die Ladekontrolle des Akkus: über den Analogeingang wird die Akkuspannung gemessen und bei einem kritisch hohen Wert wird die Solarzelle durch ein MOSFET kurzgeschlossen und ein Überladen des Akkus verhindert. Selbiges passiert, wenn der PIC nicht mehr funktioniert. Abbildung: 12: 2. Version der Schaltung Hier sieht man ein Foto der 2. Version der Schaltung (Schaltplan im Anhang). Rechts, die nicht angeschlossene Spannungsversorgung des Steckbrettes (1) (mit Mosfet und Linearregler). In der Mitte des Steckbrettes sind die beiden Relais(2), jeweils eins für vor und zurück) zu sehen, welche über einen über dem jeweiligen Relai liegenden Transistor gesteuert werden. Ganz links sieht man den PIC18F14K50 (3). Abbildung 13: Schaltplan Bei der Entwicklung des Prototyps gab es zwei große Probleme, die wir bewältigen mussten: Die Stromversorgung des Microcontrollers Der Spannungseinbruch beim Starten des Motors Das erste Problem war schnell mittels eines Schaltreglers, welcher aus einer 12V Akkuspannung eine 5V Logikspannung erzeugt. Das zweite Programm wurde erst im Zusammenhang mit dem Ingenieur von Warema betrachtet und gelöst. Der fertige Prototyp wurde erst nach der Absprache mit dem Ingenieur von Warema konzipiert und wurde von uns noch selbstständig weiterentwickelt (weiteres dazu unten). Als Kernbaustein der Client-Steuerung dieht ein PIC18F14K50 im DIP-Gehäuse (Datenblatt im Anhang). Dieser ist der Intelligente Baustein, welcher die Signale von Server, die Signale der Lichtschranken, etc. verarbeitet und je nach Situation, den Motor, die Lichtschranken, die Stromversorgung für den Akkumulator, steuert. Links sieht man ein Foto eines PIC18F13K50, im Vergleich dazu eine 2 Euro Münze. Abbildung 14: Microcontroller Die Programmierung des PICs erfolgt in der Programmiersprache C. Die Hauptaufgabe des Programmes besteht zum einen darin, die Konfiguration des Chips vorzunehmen. Dabei müssen z.B. Ein- und Ausgänge gesetzt werden. Danach startet das Programm eine Endlosschleife, welche auf Eingangssignale wartet. Ist ein Eingangssignal eingetroffen, werden die Lichtschranken eingeschaltet und über einen Transistor das entsprechende Relai durchgeschaltet. Sollte die entsprechende Lichtschranke durchbrochen werden oder ein STOP-Signal ankommen, wird das Relais wieder geschlossen und der Chip wartet wieder auf Signale. Der Code, welchen ich implementiert habe, ist im Anhang eingefügt. Das Überspielen des Programmes auf den MCU läuft in folgenden Schritten. Zunächst wird das Programm kompiliert. Dabei muss noch auf richtige Konfiguration und Flags, sowie Speicherbenutzung geachtet werden. Anschließend wird das generierte Programm über das PIC-Kit, welches man von Microchip für die Programmierung der MCUs kaufen kann, auf den Chip gebrannt. Das Brennen des Hex-Codes erfolgt über eine zum PIC-Kit mitgelieferte Software. Abbildung 15: PC-Kit Hier sieht man das Entwicklungsset für den PIC. Rechts im Bild ist das PIC-Kit mit dem mitgelieferten Demo-Board, welches einen Sockel für den PIC zur Verfügung stellt. Links unten den PIC im Größenvergleich mit der 2 Euro Münze. Links oben ein selbstgebautes Debugging-Kit auf Basis eines ATMEGA mit USB-Schnittstelle. 4. Entwicklung des Modells in Zusammenarbeit mit Warema Die sehr konstruktive Zusammenarbeit mit dem Partnerunternehmen WAREMA Renkhoff SE zeigte sich in mehreren Treffen vor Ort in der Schule und am Standort des Unternehmens in Marktheidenfeld. Nachdem wir unseren Prototypen bei Warema vorstellen konnten, bekamen wir sehr umfangreiche Tipps und die Einladung, bei einem weiteren Treffen im Werk die eigenen Ideen auf industriellem Standard verwirklichen zu können. 4.1 Physikalische Betrachtungen Nachdem das Seminar angekommen war, wurden Gruppen gebildet. Die VersorgungsGruppe befasste sich mit Herrn Laqua mit verschiedenen Problemstellungen rund um die Verschattung von Häusern. Zuerst ging es um die Lage des Gebäudes. Diese lässt sich nach folgenden Kriterien definieren: Zum einen ist die Himmelsrichtung, in der die betroffenen Fenster liegen, wichtig, da sie bestimmt wie stark der Sonnenstrahleneinfall ist und somit die Energiebilanz des Gebäudes. Dazu trägt auch der Breiten-/Längengrad des Hauses bei, der den Neigungswinkel der Sonneneinstrahlung bestimmt. Und natürlich ist auch die Jahreszeit, die gerade herrscht, wichtig, da im Sommer die Einstrahlung stärker ist als im Winter und auch der Winkel der Einstrahlung verändert ist. Nach diesen Betrachtungen beschäftigte sich die Gruppe dann vor allem damit, wie die Solarpanels geneigt sein müssen, um möglichst hohe Wirkungsgrade zu erzielen, da die Sonnenstrahlen möglichst senkrecht auf das Panel auftreffen sollen. Sowohl durch Rechnung als auch durch Ablesen an einer Tabelle erzielte die Gruppe das Ergebnis, dass für Würzburg der Neigungswinkel 35° ideal ist. Der Winkel wurde anschließend an die Konstruktionsgruppe übergeben. Danach befasste sich die Gruppe mit den Aufgaben der Beschattungsanlage, welche Wärme und Blendschutz am Tag und Wärmedämmung durch Luftpolster zwischen Fenster und Verschattungsanlage bei Nacht sind. Mithilfe einer Animation probierte die Gruppe verschiedene Varianten des Sonnenschutzes wie einfache Rollladen, verschiedene Fenstergläser oder Innenverschattungen aus. Außerdem wurde festgestellt, dass in der Arbeitsstättenrichtlinienverordnung festgelegt ist, dass der Arbeitsplatz nicht zu warm werden darf und für außereichenden Blendschutz sowie natürliche Lüftung gesorgt werden muss. Zusätzlich wurde festgestellt, dass ein ordentlicher Sonnen-/Blendschutz für den Computerraum unausweichlich ist, da auch die Leistung der Schüler in einem ungenügend geschützten Raum rapide abnimmt. 4.2 Mechanische Umsetzung Als wir bei Warema im Montagezentrum ankamen wurden und verschiedene Sachen gegeben, darunter eine Stückliste mit Bildern zum besserem Verständnis [Anhang]. Mit Hilfe dieser sollte die Montagegruppe möglichst eigenständig das Modell zusammenbauen, jedoch standen uns 2 Auszubildende zur Hilfe wenn wir Fragen hatten und es gab eine Anleitung[Anhang], in welcher grob niedergeschrieben wurde wie wir vorzugehen haben. Zunächst überlegten wir den prinzipiellen Aufbau der Verschattungsanlage mit Hilfe eines Plans und legten es so hin wie wir es montieren würden und erstellten eine Dann wurde es abgenommen und wir durften anfangen zu schrauben. Wir begannen mit dem Ausmessen der Bohrlöcher und zeichneten sie schließlich mit einem Bleistift vor, Bohrten sie vor, da wir bei der Montage gelernt hatten, dass dies die Wahrscheinlichkeit verringert, dass sich das Holz spaltet. Zu guter Letzt haben wir die Befestigung für Motor und Stoff angeschraubt. Dann überlegten wir uns eine geeignete Anordnung für die einzelnen Komponenten, wie Solarmodul oder Steuerung. Schließlich bewunderten wir Stolz unser Werk. Abbildung 16: Produktpräsentation bei Warema 4.3 Umsetzung der Steuerung Mit dem Hard- und Softwareingenieur von Warema wurden vor allem die Themen Stromverbrauch und Elektromagnetische Verträglichkeit behandelt. Die komplette ClientSteuerung muss stromsparend gebaut werden, da sie ohne abgeschaltet zu werden, kontinuierlich läuft und so die lange Laufzeit auch bei geringer Leistung große Energiemengen konsumiert. Wichtig hierfür ist einerseits die Verwendung sorgfältig ausgesuchter, energieeffizienter Komponenten. Beispielsweise haben wir im Nachhinein unsere bisherige Stromversorgung für den Prototyp durch eine effizientere ersetzt, welche anstelle von einem Laderegler für den Akku und einen Spannungswandler für die Schaltung, nur noch einen Schaltregler benutzt. Des Weiteren ist auch die Programmierung der Schaltung ausschlaggebend; wir waren erfreut, als wir hörten, dass unsere Idee die Chip nur alle 200ms aus dem Sleep-Modus aufwachen zu lassen um evtl. Signale zu verarbeiten auch in den professionellen Schaltungen von WAREMA zum Einsatz kommt. Weitere Kriterien im Bereich Stromversorgung waren Leckströme, die durch minderwertige Bauelemente wie Dioden verursacht werden, zu minimieren. Weitere wichtige Erkenntnisse haben wir im Bereich Sicherheit / Stabilität erhalten. Wie wir bereits herausgefunden hatten, sind Mikrocontroller extrem anfällig gegen Elektromagnetische Störeinflüsse. Bei WAREMA haben wir erfahren, dass EMV (Elektromagnetische Verträglichkeit) bei der Konzeption von Schaltungen wie unserer Steuerung von großer Wichtigkeit ist. Hierfür ist ebenfalls sowohl eine Anpassung der Hardware als auch der Software erforderlich. Einerseits muss die Schaltung so angelegt sein dass sie möglichst geringe Anfälligkeit gegen Störungen wie Induktionsströme oder Spannungsfelder aufweist. Genau dieses Problem trat in unserer Schaltung andauernd auf, wenn der Motor eingeschaltet ist: die hohe Induktivität des Motors hat einen Spannungsimpuls erzeugt, welcher den Controller hat abstürzen lassen und so zu einem kompletten Ausfall der Steuerung geführt hat. Durch Einbau von EMV-Komponenten wie Varistoren haben wir nun das Problem in den Griff bekommen. Des Weiteren hatten wir durch dieses neue Wissen, die Chance erhalten, unsere Software entsprechend anzupassen, sodass der Chip auf derartige Situationen reagieren kann und ein Neustart der Schaltung möglich ist. Auch Fehler in der Softwareausführung wie das Springen zu leeren Speicherzellen durch Bitfehler in Prozessorregistern, welche durch Störeinflüsse erzeugt werden können, muss durch entsprechende Fehlererkennungsroutinen vorgebeugt werden. Wir haben die Software angepasst, sodass nun der gesamte Speicher gegen Bitfehler gesichert ist. Des Weiteren haben wir ein System konzipiert, welches die Ausführung des Programmes überwacht und bei Fehlern im Programmablauf den Chip zurücksetzt und neu startet. Andererseits muss die Software zwischen Steuer- und Störsignalen unterscheiden können um Stabilität und Funktionalität zu gewährleisten. Bei den Eingängen haben wir somit nochmal eine Sicherheitsstufe eingebaut, welche das ankommende Signal mehrfach verifiziert und nur eine Aktion auslöst, sollten alle Messungen dasselbe (positive) Ergebnis liefern. Auch wichtig ist eine Entsprechende Sicherung des Moduls bei Ausfällen, da ansonsten z.B. durch Überladung des Akkus Schäden entstehen können, welche im Extremfall sogar zu einem Brand führen können. Deshalb haben wir eine Sicherung eingebaut, welche vor Kurzschlüssen schützt, sowie Temperatursensoren, welche den Akku und die Steuerung auf Überhitzung überprüfen. Letztendlich sind wir sehr erfreut über den Besuch bei WAREMA gewesen, da wir so die Möglichkeit hatten, unser bestehendes Wissen auszubauen und wir die neuen Erkenntnisse auch direkt an unserer eigenen Schaltung in die Praxis umsetzen konnten. Erfreut waren wir auch, als wir gesehen haben, wie ähnlich sich doch die Steuerung von WAREMA und unsere sind. Durch die hilfreichen Tipps konnten wir unsere Schaltung letztendlich soweit verbessern, dass ein einwandfreier, störungsfreier und sicherer Betrieb möglich ist und die Steuerung folglich sogar reif für industrielle Nutzung ist. 5. Fazit und Ausblick Während dem Projekt sind wir auf einige, von uns unerwartete Organisationsproblematiken gestoßen, die uns einen Ausblick auf die Arbeit hinter der Arbeit gewährt haben. Uns ist aufgefallen, wie schwierig es sein kann, ein Projekt zu managen und auch zum Erfolg zu führen. Darüber hinaus bemerkten wir, dass es für die Arbeitsleistung einer Gruppe förderlich ist, einen Gruppenleiter zu haben, der, wenn nötig, auch andere dazu antreibt, zu arbeiten, wobei der Charakter des Gruppenleiters maßgeblich an der Gruppenleistung beteiligt ist. Auch die einzelnen Gruppenleiter mussten feststellen, dass der Umgang mit Menschen verschiedener Charakter äußerst schwierig sein kann. Davon vollkommen unabhängig bekamen wir einen differenzierten Ausblick auf verschiedene Berufssparten. Dies wäre vom Softwaredesigner über Ingenieursberufe bis hin zum Elektromechatroniker eine breiter gefächerte Berufsauswahl. Ein großes Ziel des P-Seminars ist, die Schüler auf das spätere Berufsleben vorzubereiten und einen Ausblick auf möglichst viele Berufe zu ermöglichen. Darüber hinaus ermöglicht es das P-Seminar auch, einen Einblick in wissenschaftliche Forschung/Entwicklung/Arbeit zu gewähren. Das Projekt hat einigen von uns Berufe aufgezeigt, für die sich einige von uns begeistern konnten. Als tatsächlichen, wissenschaftlichen Fortschritt ist das Projekt eigentlich nicht zu bezeichnen, es ermöglichte uns aber, zu zeigen, dass man mit dem dafür nötigen Arbeitswillen durchaus Vorwissen und Mittel ausgleichen kann und eine realitätsnahe Problemstellung gab uns die Möglichkeit, zu erfahren, was wir eigentlich wirklich können, denn dafür eigen sich manche Tests zwar gut, aber um mehr über sich zu erfahren, mussten wir erst richtig arbeiten. 6. Quellen Stoffbeschichtung: [1] http://www.delta.tudortmund.de/cms/Medienpool/ELEKTRONIK_2011/ELEKTRONIK_ Kapitel_04.pdf [2] http://www.uni-protokolle.de/Lexikon/Absorption.html [3] http://www.bine.info/fileadmin/content/Presse/Projektinfos_2009/Projekt_0509/ projekt_0509_internetx.pdf Datenblatt Beamer: [4] http://www.mercateo.com/pdf/Epson/edg_product_brochure_emp6100_de.pdf Akkumulator: [5]http://www.funkcom.ch/akkuinfos.htm [6] http://www.eurosolar.de/de/images/stories/pdf/Sauer_Optionen_Speicher_ regenerativ_okt06.pdf Treibhauseffekt: [7]http://de.wikipedia.org/wiki/Treibhauseffekt [8] http://www.google.de/imgres?q=glashauseffekt&hl=de&safe=vss&client=firefoxa&hs=gIk&sa=X&rls=org.mozilla:de:official&tbm=isch&prmd=imvns&tbnid=m1pKs0Y93nKiM:&imgrefurl=http://www.comeniusweb.eu/wiki/index.php%3Ftitle%3DTreibhauseffekt&do cid=1uHiwdcsKkTISM&imgurl=http://www.comeniusweb.eu/wiki/images/9/96/Glashauseffekt.JPG& w=484&h=367&ei=zkGqTYNoXvsgabkIjdBA&zoom=1&iact=hc&vpx=610&vpy=160&dur=947&hovh=195&hovw=258&tx=141&t y=128&sig=116795870336379101110&page=1&tbnh=157&tbnw=207&start=0&ndsp=20&ved=1t:42 9,r:2,s:0,i:75&biw=1280&bih=891 Elektrische Versorgung: [9] http://de.wikipedia.org/w/index.php?title=Datei:Solarzelle_Funktionsprinzip2.svg& filetimestamp=20091102202111 7. Anhang 7.1 Server-Software #include <IRremote.h> // Hardware-Pin Konstanten const int stopPin = 12; const int openPin = 11; const int closePin = 13; const int inputIR = 8; const int inputLight = A5; const int statusAuto = 10; const int statusRemote = 9; // Tweak-Konstanten const int signalDuration = 500; // in ms const int loopDelay = 100; // in ms const unsigned long remoteDelay = 10000; // in ms const int remoteDelayDiff = 3000; // in ms const const const const int int int int stopIR = 0xA001; openIR = 0x6001; closeIR = 0x9001; autoIR = 0xC001; const int sizeMap = 100; // ('time in s') / (loopDelay / 1000) const int limit = 350; const int limitDiff = 100; // initialisiere Variablen int sendVal = -1; int logSendVal = -1; unsigned long lastRemote = 0; IRrecv remote(inputIR); decode_results remoteResults; int lightMap[sizeMap]; int actMapPos = 0; int oldSendVal = -1; unsigned sumLight = 0; int statusAutoState = HIGH; int statusRemoteState = HIGH; // Funktionen void setup () { Serial.begin (9600); remote.enableIRIn(); pinMode(stopPin, OUTPUT); digitalWrite (stopPin, LOW); pinMode(openPin, OUTPUT); digitalWrite (openPin, LOW); pinMode(closePin, OUTPUT); digitalWrite (closePin, LOW); pinMode(statusAuto, OUTPUT); digitalWrite(statusAuto, statusAutoState); pinMode(statusRemote, OUTPUT); digitalWrite(statusRemote, statusRemoteState); for (int i = 0; i < sizeMap; i++) { lightMap[i] = 0; } } void getRemote () { int result = -1; if (remote.decode(&remoteResults)) { result = remoteResults.value; Serial.print (result, HEX); remote.resume(); } switch (result) { case stopIR: sendVal = 0; lastRemote = millis(); break; case openIR: sendVal = 1; lastRemote = millis(); break; case closeIR: sendVal = 2; lastRemote = millis(); break; case autoIR: lastRemote = ((millis() - lastRemote) > remoteDelay)? millis() : 0; break; } } void getLight () { int light = analogRead(inputLight); Serial.print(light); sumLight -= lightMap[actMapPos]; sumLight += light; lightMap[actMapPos] = light; ++actMapPos %= sizeMap; if ((sumLight / sizeMap) > limit) { if (oldSendVal != 2) { sendVal = 2; oldSendVal = 2; } } else if ((sumLight / sizeMap) > (limit - limitDiff)) { if (oldSendVal != 0) { sendVal = 0; oldSendVal = 0; } } else { if (oldSendVal != 1) { sendVal = 1; oldSendVal = 1; } } } void sendData () { switch (sendVal) { case -1: // keine Signal break; case 0: // 'STOP'-Signal digitalWrite(stopPin, HIGH); delay(signalDuration); digitalWrite(stopPin, LOW); break; case 1: // 'OPEN'-Signal digitalWrite(openPin, HIGH); delay(signalDuration); digitalWrite(openPin, LOW); break; case 2: // 'CLOSE'-Signal digitalWrite(closePin, HIGH); delay(signalDuration); digitalWrite(closePin, LOW); break; } } void setStatus () { if ((millis() - lastRemote) > remoteDelay){ if (logSendVal != 0) { statusAutoState = (statusAutoState == LOW) ? HIGH : LOW; statusRemoteState = LOW; digitalWrite(statusAuto, statusAutoState); digitalWrite(statusRemote, statusRemoteState); } else if (statusAutoState == LOW || statusRemoteState == HIGH) { statusAutoState = HIGH; statusRemoteState = LOW; digitalWrite(statusAuto, statusAutoState); digitalWrite(statusRemote, statusRemoteState); } } else { if (logSendVal != 0) { statusAutoState = LOW; statusRemoteState = (statusRemoteState == LOW) ? HIGH : LOW; digitalWrite(statusAuto, statusAutoState); digitalWrite(statusRemote, statusRemoteState); } else { statusAutoState = LOW; statusRemoteState = LOW; digitalWrite(statusAuto, statusAutoState); digitalWrite(statusRemote, statusAutoState); } } if (millis() < remoteDelay && (statusAutoState == LOW || statusRemoteState == LOW)) { statusAutoState = HIGH; statusRemoteState = HIGH; digitalWrite(statusAuto, statusAutoState); digitalWrite(statusRemote, statusAutoState); } } void loop () { getRemote(); Serial.print ("\t\t|\t"); if ((millis() - lastRemote) > remoteDelay){ getLight(); } setStatus(); sendData(); Serial.print ("\t|\t"); Serial.print (sendVal); if (sendVal != -1) logSendVal = sendVal; Serial.print ("\t|\t"); Serial.println (logSendVal); sendVal = -1; delay (loopDelay); } 7.2 Client-Software #include <p18f13k50.h> #include <delays.h> #pragma config WDTEN = OFF #pragma config FOSC = IRC #pragma config MCLRE = OFF #define ON_N_CHANNEL 1 #define OFF_N_CHANNEL 0 #define ON_P_CHANNEL 0 #define OFF_P_CHANNEL 1 char blink_dly_count; char for_var; void warning_sig(char times){ for(for_var = 0; for_var < times; for_var = for_var LATC = 0; Delay1KTCYx(6); LATCbits.LATC6 = ON_N_CHANNEL; Delay1KTCYx(6); LATC = 0; } } void startup_sig(void){ LATC = 0; LATCbits.LATC6 = ON_N_CHANNEL; LATCbits.LATC7 = ON_N_CHANNEL; Delay1KTCYx(70); LATCbits.LATC7 = OFF_N_CHANNEL; Delay1KTCYx(110); LATC = 0; } void eng_off_sig(void){ LATC = 0; Delay1KTCYx(15); LATCbits.LATC6 = ON_N_CHANNEL; Delay1KTCYx(70); LATC = 0; } void main (void) { ANSEL = 0; // disable UCFG = 0; UCON = 0; // CONFIGURE EVERYTHING TRISA = 0b00111000; LATA = 0; TRISB = 0; LATB = 0; +1 ){ TRISC = 0; TRISCbits.RC3 = 1; TRISCbits.RC4 = 1; startup_sig(); while(1){ Delay1KTCYx(20); if(PORTAbits.RA5 == 0 && PORTAbits.RA4 == 0) continue; LATCbits.LATC0 = ON_N_CHANNEL; LATCbits.LATC7 = ON_N_CHANNEL; Delay1KTCYx(50); if(PORTCbits.RC3 == PORTCbits.RC4){ warning_sig(10); continue; } if(PORTAbits.RA5) LATCbits.LATC1 = ON_N_CHANNEL; else LATCbits.LATC2 = ON_N_CHANNEL; blink_dly_count = 0; while(PORTAbits.RA3 == 0 && (PORTCbits.RC3 != PORTCbits.RC4)){ Delay1KTCYx(1); blink_dly_count+= 1; if(blink_dly_count == 25) LATCbits.LATC7 = ON_N_CHANNEL; else if(blink_dly_count == 50){ LATCbits.LATC7 = OFF_N_CHANNEL; blink_dly_count = 0; } } warning_sig(3); eng_off_sig(); } } 7.3 Montageanleitungen Warema Stückliste: 1 Oberkasten (Bild 1) 2 Trägerwinkel für Oberkasten (Bild 2 ) 2 Erhöhungen für Oberkasten (Bild 3 ) 2 Stahlwinkel für Solarpanel (Bild 4 ) 1 Solarpanel (Bild 5 ) 1 Stahlwinkel für Lampe (Bild 4 ) 1 Kunststoffabdeckung für Lampe 1 Lampe 1 12 V DC Motor 3 Lager (Bild 6 ) 3 Texbandrollen (Bild 7 ) 3 Deckel für Lager (Bild 8 ) 3 Texbänder (Bild 9 ) 2 Wendestangen ( verschiedene Längen ) (Bild 10 ) 2 Feststellschrauben für Wendestangen (Bild 11 ) 3 Haltestifte für Texbänder (Bild 9 ) 1 WAREMA-Steuerung (Bild 12 ) 1 Externe Steuerung 2 Winkel zur Wellenaufnahme (Bild 13 ) 1 Endstab 1 Federwelle mit Behang Bild 1 Bild 2 Bild 3 Bild 4 Bild 5 Bild 6 Bild 7 998 Bild 8 998 Bild 9 998 Bild 10 Bild 11 Bild 12 Bild 13 1. Winkel zur Wellenaufnahme auf Untergrund verschrauben ( waagerecht ausrichten ) 2. Federwelle mit aufgewickeltem Behang in die Wellenaufnahmen einhängen ( nochmals Parallelität zur Fensterkante prüfen ) 3. Erhöhungen für den Oberkasten bohren ( Durchmesser 5,5 ) 4. Erhöhungen zusammen mit Trägerwinkel auf Untergrund verschrauben ( Parallelität zur Federwelle prüfen ) 5. Lager in den Oberkasten einbauen 6. Texbänder in die Texbandrollen einziehen und mit den Haltestiften befestigen. Texbandrollen in die Lager setzen 7. Deckel auf die Lager setzen 8. Wendestangen durch die Lager und die Motoraufnahmen führen und mit den Feststellschrauben befestigen 9. Die richtige Gradzahl des Solarpanels und der Haltewinkel berechnen. 10. 2 Haltewinkel für das Solarpanel biegen und bohren ( Maße siehe Detailbild ) 11. Haltewinkel für die Lampe biegen und bohren ( Maße siehe Detailbild ) 12. Alle drei Haltewinkel am Untergrund befestigen ( Parallelität zu den Trägerwinkeln prüfen; Abstand der Haltewinkel für das Solarpanel anhand der Gewinde beachten ) 13. Aluplatte für die WAREMA-Steuerung bohren 14. WAREMA-Steuerung an der Aluplatte befestigen 15. Aluplatte mit Steuerung am Untergrund befestigen 16. Die Externe Steuerung am Untergrund befestigen 17. Solarpanel an den Haltewinkeln befestigen 18. Die Lampe mit der Kunststoffabdeckung am Haltewinkel befestigen 19. Den Oberkasten in die Trägerwinkel einhängen und verschließen 20. Endstab in die Stoffschlaufe des Behangs und die Schlaufe in den Aufzugsbändern an den ausgeschnittenen Stoffecken einschieben (Aufzugsbänder nicht verdrehen!) 21. 20 bis 30 Umdrehungen (im Uhrzeigersinn) Vorspannung mithilfe einer Zange auf die Federwelle aufbringen 22. Welle wieder einhängen 23. Motor mit der Steuerung verbinden 24. ( Endpunkte programmieren ) 25. Testfahrt