HTL Ettenreichgasse 54 Diplomarbeit

Werbung
Inhaltsverzeichnis
HTL Ettenreichgasse 54
Elektrotechnik
OStR Dipl.-Ing. Dr. techn. Ewald GAUSTER
Dipl.-Ing. Hermann FREIBERGER
Diplomarbeit
5 AHETE 2014/2015
AVDIC Emir
IMAMOVIC Zoran
SHADI Belal
Seite 0 von 89
Inhaltsverzeichnis
Inhalt
Abstract ................................................................................................................................................... 3
Kurzfassung ............................................................................................................................................. 4
1.
2.
Allgemeines ..................................................................................................................................... 5
1.1.
Projektentstehung und Planung .............................................................................................. 5
1.2.
Aufgabenstellung..................................................................................................................... 5
1.3.
Aufgabenverteilung ................................................................................................................. 6
1.4.
Kooperation mit Firmen .......................................................................................................... 6
1.5.
Zusammenarbeit ..................................................................................................................... 7
1.5.1.
Positive Erfahrungen ....................................................................................................... 7
1.5.2.
Negative Erfahrungen...................................................................................................... 7
Beschreibung der elektronischen Komponenten .......................................................................... 8
2.1.
Blockschaltbild der einzelnen Bauteile.................................................................................... 8
2.2.
Arduino (Bartmann, 2011)....................................................................................................... 9
2.2.1.
Was ist Arduino? ............................................................................................................. 9
2.2.2.
Programmierung.............................................................................................................. 9
2.2.3.
Mikroprozessor.............................................................................................................. 10
2.3.
2.3.1.
Aufbau und Funktionsweise .......................................................................................... 16
2.3.2.
Fazit ............................................................................................................................... 16
2.4.
Fotowiderstand ..................................................................................................................... 16
2.4.1.
Funktionsweise .............................................................................................................. 17
2.4.2.
Eigenschaften ................................................................................................................ 17
2.4.3.
Fazit ............................................................................................................................... 18
2.5.
3.
Digitaler Luxsensor ................................................................................................................ 16
Spannungsregler .................................................................................................................... 18
Hardware....................................................................................................................................... 21
3.1.
Mechanik ............................................................................................................................... 21
3.1.1.
Konstruktionsprogramm ............................................................................................... 21
3.1.2.
Tischaufbau ................................................................................................................... 21
3.2.
Elektronik und Elektrik .......................................................................................................... 27
3.2.1.
Konstruktionsprogramm ............................................................................................... 27
3.2.2.
Ansteuerung LED-Leiste und Platinenentwürfe ............................................................ 28
3.2.3.
Sensorplatine ................................................................................................................. 37
3.2.4.
Platinenentwicklung ...................................................................................................... 38
3.2.5.
Verdrahtung .................................................................................................................. 40
Seite 1 von 89
Inhaltsverzeichnis
4.
Programmierung ........................................................................................................................... 42
4.1.
Ansteuerung des Displays ..................................................................................................... 42
4.1.1.
Anschließen des Displays und Controller ...................................................................... 42
4.1.2.
Programmcode für die Displayansteuerung.................................................................. 42
4.1.3.
Anzeige des Displays...................................................................................................... 43
4.1.4.
Einlesen der Werte eines Sensors und Ausgabe auf das Display .................................. 44
4.1.5.
Controller-, Sensor- und Displayanschluss .................................................................... 44
4.1.6.
Warnmeldung beim Über- und Unterschreiten der Werte........................................... 47
4.2.
5.
Pulsweitenmodulation .......................................................................................................... 49
4.2.1.
Theorie zur Pulsweitenmodulation ............................................................................... 49
4.2.2.
Tastgrad ......................................................................................................................... 51
Lichtregelung................................................................................................................................. 53
5.1.
If-Vergleiche .......................................................................................................................... 53
5.2.
Regelkreis .............................................................................................................................. 54
5.3.
Lichtmessungen ..................................................................................................................... 60
5.4.
Lichtregelung mit LDR ........................................................................................................... 64
5.4.1.
Praktisches Beispiel ....................................................................................................... 66
5.4.2.
Problematik des LDR-Regelkreises ................................................................................ 66
6.
Strombedarf .................................................................................................................................. 69
7.
Bedienungsanleitung .................................................................................................................... 71
7.1.
Erste Schritte ......................................................................................................................... 71
7.2.
Funktionsbeschreibung ......................................................................................................... 71
8.
Erweiterungsmöglichkeiten.......................................................................................................... 72
9.
Danksagungen............................................................................................................................... 73
10.
Verzeichnisse ............................................................................................................................ 74
10.1.
Abbildungsverzeichnis ....................................................................................................... 74
10.2.
Quellenverzeichnis ............................................................................................................ 76
10.3.
Literaturverzeichnis ........................................................................................................... 76
11.
Anhang ...................................................................................................................................... 77
11.1.
Programmanhang .............................................................................................................. 77
10.4.
ACAD - Zeichnung vom Tisch ............................................................................................. 89
Seite 2 von 89
HTL Wien 10
Kurzfassung
AVDIC
Abstract
The goal of our diploma thesis is the manufacture of a „Smart Desk“, which is equipped with
two microcontrollers, different sensors, light sources and a display. Several light sensors
capture the lighting conditions and send the data to a light control which creates a
comfortable working atmosphere. The luminosity should be adapted dependent on different
external factors like the sunlight. Additional sensors measure the temperature, as well as the
humidity and output the values on a display. In case of deviation of the standard values it is
adjusted in a simulation and warning is outputted.
Five light depending resistors are mounted on the desks surface which act as light sensors
and measure the incidence of light. Their data is transmitted to the microcontroller. The light
is regulated on a set value and a constant illumination is given. Five LED bars, which are
installed above the light sensors on a panel, are controlled over a microcontroller. The panel
is fixed with two metal profiles. The control of the LED bars is managed through a pulse
width modulation signal which is sent by the microcontroller. A constant current source
makes sure that the currents of the LED bars are limited.
Under the desk a temperature and humidity sensor is attached and sends the measured
values to the microcontroller. The values are outputted to a display that is integrated into
the table top. If the measured values are above or under the standard value, a warning
message is written on the display and a warning signal is sounded. This signal sounds so long
as the standard value is achieved.
A control switch regulates between “manual” and “automatic” mode. At the “manual” mode
the light intensity can be adjusted arbitrarily with a potentiometer. In the “automatic” mode
the light is automatically controlled on a set value and because of this there is even
illumination on the hole are of the desk surface.
Saving of energy is very relevant and because of that the current consumption is captured.
The results are outputted on an internet site. Thus the current saving can be compared to
full intensity of the LED bars.
Seite 3 von 89
HTL Wien 10
Kurzfassung
AVDIC
Kurzfassung
Das Ziel der Diplomarbeit besteht aus der Fertigung eines Smart Desk’s, der mit zwei
Mikrocontrollern, verschiedenen Sensoren, sowie Lichtquellen und einem Display
ausgestattet ist. Durch mehrere Lichtsensoren werden die auftretenden Lichtverhältnisse
erfasst und die Daten zur Schaffung eines angenehmen Arbeitsklimas der Lichtregelung
zugeführt. Die Lichtstärke soll in Abhängigkeit von äußeren Faktoren, wie zum Beispiel durch
Sonneneinstrahlung, dynamisch nachgeregelt werden. Weitere Sensoren erfassen die
Temperatur und die Luftfeuchtigkeit im Tischbereich und geben die Werte auf einem Display
wieder. Bei Abweichungen von den Normbereichen wird in einer Simulation nachgeregelt
und eine Warnung ausgegeben.
Auf dem Tisch sind fünf lichtabhängige Widerstände angebracht, die als Sensoren fungieren
und den Lichteinfall messen. Diese Daten werden weiter auf den Mikrocontroller gesendet
und verarbeitet. Das Licht wird auf einen Sollwert geregelt und somit herrscht immer eine
konstante Beleuchtungsstärke auf der Tischoberfläche. Dazu werden fünf LED-Leisten
einzeln angesteuert, die über den Sensoren auf einer Platte montiert sind. Diese ist über
zwei Metallprofile mit dem Tisch verbunden und wird als Vorrichtung bezeichnet. Die
Ansteuerung der LED-Leisten erfolgt über ein Arduino-Modul, welches ein
pulsweitenmoduliertes Signal aussendet. Eine Konstantstromquellenschaltung sorgt dafür,
dass der Strom der LED-Leisten begrenzt wird.
Unter dem Tisch ist ein Temperatur-/Luftfeuchtigkeitssensor montiert, der die Messdaten an
den Mikrocontroller auf dem Arduino-Board sendet. Die Ausgabe dieser Werte erfolgt auf
einem Display, das im Tisch integriert ist. Außerdem wird beim Verlassen der Normbereiche
eine Warnmeldung als Text ausgegeben und ein Warnsignal ertönt. Dieses Warnsignal ertönt
solange bis der jeweilige Normbereich wieder erreicht ist.
Durch Betätigen eines Auswahlschalters kann zwischen automatischem- und manuellem
Betrieb gewechselt werden. Beim manuellen Betrieb kann die Helligkeit nach Belieben
eingestellt werden. Beim automatischen Betrieb wird das Licht laufend nachgeregelt.
Da Energiesparen ein aktuelles Thema ist, wird der Strombedarf durch einen
Klappkernwandler erfasst und auf einer Internetseite ausgegeben. Somit kann die
Stromeinsparung mit der vollen Aussteuerung der LED-Leisten verglichen werden.
Seite 4 von 89
HTL Wien 10
1. Allgemeines
AVDIC
1. Allgemeines
1.1.
Projektentstehung und Planung
Die Projektidee entwickelte sich im Laufe der ersten Monate des fünften Schuljahres. Unsere
Überlegungen fingen mit einem lichtgeregelten Raum an. Die Lichtquellen in diesem Raum
sollten so nachgeregelt werden, dass im Raum auch bei verschiedenen Einflüssen überall die
gleiche Helligkeit herrscht. Die Sensoren die die Lichtverhältnisse aufnehmen, sollten
gleichmäßig im Raum verteilt sein. Insgesamt war die Idee dahinter Energie zu sparen und
eine konstante Beleuchtung im Raum herzustellen. Am Jahresanfang wurde die
Diplomarbeitsidee mit einem Lehrer diskutiert.
Jedoch kamen bei dieser einige Schwierigkeiten auf. Deshalb sind wir zu einer neuen
gekommen, die vom Prinzip her der alten ähnelte. Unsere neue Idee war es einen Smart
Desk zu konstruieren, der ein angenehmes Arbeitsklima schaffen kann.
1.2.
Aufgabenstellung
Viele Menschen arbeiten täglich für einen längeren Zeitraum an einem Tisch. Beim Lernen
oder anderen Tätigkeiten wechseln die Umgebungseinflüsse und oft ist es schwierig die gute
Konzentration über ein längeres Intervall aufrecht zu erhalten. Dafür sind die ausreichende
Beleuchtung und ein angenehmes Raumklima von besonderer Bedeutung. Der Smart Desk
erfasst alle wichtigen Daten und bereitet die Informationen so auf, dass das Licht, die
Temperatur und die Luftfeuchtigkeit je nach Bedarf nachgeregelt werden können.
Meilensteine der Diplomarbeit:

Aufbau und Programmierung eines Prototypen mit einem
Sensor und einer Lichtquelle (Ende November)

Kommunikation zwischen Mikrocontroller und den
Lichtsensoren herstellen (Ende Dezember)

Lichtmessung am Tisch und Regelung der Lichtstärke auf
den Normwert anpassen (Ende Dezember)

Messung der Temperatur und Luftfeuchtigkeit im Raum und
Ausgabe der Werte auf eine Anzeige mit Warnmeldung bei
Über- oder Unterschreitung der Normwerte (Ende Januar)

Fertigstellung des Tisches samt Verdrahtung der Busleitung
(Ende Februar)

Inbetriebnahme, Fehlerkorrektur, Verbesserungen
(Ende März)
Seite 5 von 89
HTL Wien 10
1.3.
1. Allgemeines
AVDIC
Aufgabenverteilung
Die Aufgabenverteilung war nicht von Anfang an festgelegt. Erst als der richtige
Arbeitsprozess begann, wurden die Aufgaben verteilt. Jeder aus der Gruppe sollte sich mit
einem Thema beschäftigen. Oft waren die Aufgaben themenübergreifend, sodass jeder
ungefähr wusste, womit sich der andere in der Gruppe beschäftigt. Da die Gruppe aus drei
Personen besteht, kam es auch oft dazu, dass zwei gleichzeitig an einer Aufgabe arbeiteten,
wie z.B. am Aufbau und an der Konstruktion des Tisches. Da die finanziellen Mittel der
Schule begrenzt sind, war es wichtig diese effizient zu nützen. Das bedeutet, dass
Materialien zuerst in der Schule oder im Materiallager der Schule gesucht werden und diese
dann möglicherweise vorhanden sind. Die notwendigen Sensoren wurden alle bestellt und
von der Schule bezahlt.
1.4.
Kooperation mit Firmen
Kooperationen mit Firmen waren erwünscht. Deshalb wurden verschiedenen Firmen
kontaktiert und danach gefragt, ob sie bereit wären die Diplomarbeit Smart Desk mit
Sponsoring zu unterstützen.
Der „Smart Desk“ sollte ein robustes Konstrukt haben und natürlich auch stilvoll sein. Der
Projektbetreuer bot der Gruppe einen alten Bürotisch an, der schon etwas abgenutzt war
und auch keinen smarten Eindruck machte. Stattdessen setzte sich ein Gruppenmitglied mit
den Firmen Neudoerfler und Bene in Kontakt. Die Firma Bene war interessiert und lud die
Gruppe zum Treffen ein.
Diese Zusammenkunft fand Ende November 2014 in einem Schauraum im 1. Wiener
Gemeindebezirk statt. Die Projektidee wurde vorgestellt und fand Anklang bei der
Ansprechperson der Firma Bene. Während des Gesprächs erfuhren die Diplomanden, dass es
bereits vorhandene Innovationen der Firma Bene im Bereich Büro- bzw. Arbeitsmöbel gibt.
Die Ansprechperson sagte unserer Diplomarbeitsgrupppe Unterstützung zu.
Wir bekamen ein Angebot uns mit einer schwedischen Softwarefirma in Kontakt zu setzen.
Diese sollte uns Unterlagen zum besseren Verständnis des Datenbusses zuschicken. Nach
längerer Überlegung wurde der Entschluss gefasst dem Angebot nicht nachzukommen. Das
Aneignen einer neuen Programmiersprache und das Beschäftigen mit dem Datenbus würde
zu viel Zeit in Anspruch nehmen. Dennoch erhielten wir einen Tisch von der Firma Bene. Ein
großes Problem war gelöst.
Noch ein wichtiges Segment der Diplomarbeit ist die Beleuchtung. Die Gruppe entschied sich
für eine Beleuchtung mit LED-Technologie. Durch die Zusammenarbeit mit einem
ehemaligen Schüler der HTL Wien 10 wurden LED-Leisten von der Firma BEST gesponsert.
Seite 6 von 89
HTL Wien 10
1. Allgemeines
AVDIC
Zusammenarbeit
1.5.
Als wir uns entschlossen die Diplomarbeit durchzuführen, war eine der Prioritäten, dass
jeder von jedem etwas lernen kann. Es ist wichtig, dass man anderen bei ihren Ideen für das
weitere Vorgehen zuhört. Ohne Kompromiss kommt man bei einer Teamarbeit nicht voran.
Ein weiterer wichtiger Aspekt beim Zusammenarbeiten ist, dass auch wenn man nicht
derselben Meinung wie die Kollegen ist, über positive und negative Aspekte jeder Meinung,
auch seiner eigenen, diskutieren kann. Möglicherweise stellt sich die eigene als mangelhaft
heraus und das muss akzeptiert werden.
Bei unserem Team funktionierte die Zusammenarbeit relativ gut. Von Anfang teilten wir die
zu erledigenden Aufgaben gleichmäßig auf. Es kam auch vor, dass beispielsweise einer aus
unserem Team viel für die Schule zu tun hatte und dafür die anderen einen Teil seiner Arbeit
für diesen Zeitraum übernahm. Die Diplomarbeit beanspruchte viel Zeit. Oft arbeiteten wir
auch nach Unterrichtsende in der Schule. Dabei verging die Zeit sehr schnell.
Ab und zu gab es innerhalb des Teams Streitereien. Diese dauerten nicht lange, da wenn
zwei stritten, der dritte die beiden versöhnte. Im Großen und Ganzen ist die
Zusammenarbeit bis jetzt gut vorangegangen.
Bei dem bisherigen Verlauf des Projekts darf die Rolle unserer Projektbetreuer nicht
vernachlässigt werden. Auch andere Lehrer die unser Projekt nicht betreuten, waren bereit
uns bei unseren Problemen zu helfen. Beide Projektbetreuer wurden laufend über den Stand
der Dinge informiert.
1.5.1. Positive Erfahrungen
Im Laufe der Diplomarbeit sammelten wir sehr viele positive Erfahrungen für unser Leben.
Diese kann man als Bereicherung sehen, die man nicht bezahlen kann:




Firmentreffen Bene
Tüfteln, Herumtesten
Internetrecherche
Problemlösung
1.5.2. Negative Erfahrungen
Einige waren:




Unterschätzen von Problemen
Falsche Zeiteinschätzung, die ein Vorhaben beansprucht
Mühsames Fehlersuchen
Warten auf Bestellungen
Seite 7 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
2. Beschreibung der elektronischen Komponenten
2.1.
Blockschaltbild der einzelnen Bauteile
Das einfache Blockdiagramm veranschaulicht die physikalische Verdrahtung der einzelnen
Komponenten. Insgesamt werden zwei Mikrocontroller verwendet. Der erste „Arduino 1“ ist
mit den fünf LED-Leisten, den dazugehörigen Fotowiderständen und dem Potentiometer
verbunden. Im automatischen Betrieb gibt das Potentiometer den Sollwert der Ansteuerung
der LED-Leisten vor. Der zweite Mikroprozessor „Arduino 2“ ist mit dem Display, dem
Temperatur- und Feuchtesensor und dem Piezoslautprecher verbunden.
Abbildung 1: Einfaches Blockschaltbild der Komponenten
Der zweite Mikrocontroller übernimmt auch die I2C Kommunikation. Diese ist im Diagramm
orange gekennzeichnet. Die blauen Leitungen zeigen die parallele Übertragung. Die
Fotowiderstände geben analoge Werte von 0-1023 aus. Das heißt, sie verfügen über eine 10
Bit Auflösung. Die LED-Leisten haben eine 8 Bit (0-255) und das Potentiometer eine 10 Bit (01023)Auflösung.
Seite 8 von 89
HTL Wien 10
2.2.
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Arduino (Bartmann, 2011)
2.2.1. Was ist Arduino?
Arduino ist eine aus Soft- und Hardware bestehende Physical-Computing-Plattform.
Physical Computing bedeutet im weitesten Sinne Systeme durch die Verwendung
von Hardware und Software zu erstellen und umfasst solche, die sich mit den Menschen und
der digitalen Welt beschäftigen.
Soft- als auch Hardware sind zufolge von Open Source quelloffen. Die Programmierung
erfolgt in der Programmiersprache C beziehungsweise C++. Vom Hersteller vorgegebe
umfangreiche Bibliotheken und Beispielprogramme vereinfachen die Programmierung
erheblich.
2.2.2. Programmierung
Die Programmierung ist relativ einfach. Im Grunde genommen besteht das Programm aus
zwei Teilen:


Setup()
Loop()
Das Setup wird beim Starten des Boards einmalig aufgerufen, dabei ist es egal, ob gerade das
Programm über die USB Schnittstelle hochgeladen wird oder ein Reset durchgeführt wird. Im
Setup werden die einzelnen Pins als Eingänge oder Ausgänge definiert.
Die Befehle in der Loop werden durchgehend durchlaufen, solange das Board in Betrieb ist.
Die Struktur soll an einem Beispielprogramm erläutert werden. Vor dem Setup werden die
einzelnen Variablen definiert. Die Abbildung 2 zeigt ein Programm, das auch in den
Beispielprogrammen unter „Blink“ zu finden ist. Dabei handelt es sich um das einfachste
Programm, nur um die Funktionen des Setups und der Loop zu veranschaulichen. Die
Befehle sind in den Kommentaren beschrieben.
Abbildung 2: Arduino Beispielprogramm
1
Seite 9 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
2.2.3. Mikroprozessor
2.2.3.1. Allgemeines
Das Herzstück der Diplomarbeit ist das Arduino Uno Mikrocontroller Board (siehe Abbildung
3). Es basiert auf einem ATmega328.
2
Abbildung 3: Arduino Uno Mikrocontroller Board
Der Mikroprozessor lässt sich sowohl über die USB Schnittstelle, als auch über ein Netzteil
versorgen.
2.2.3.2.
Eigenschaften
3
Abbildung 4: Eigenschaftes des Arduino Uno
Wie man in der Abbildung 4 sieht, wird der Prozessor extern entweder über die USBSchnittstelle oder eine Spannungsquelle mit 5V versorgt. Dazu verfügt er über 14 digitale
Eingangs- bzw. Ausgangspins, die der Anwender als Eingang oder Ausgang definieren kann,
sowie sechs analoge Eingänge. Sechs der digitalen Ausgänge können zur
Pulsweitenmodulation genutzt werden.
Außerdem kann das Arduino Board auch mit 3,3V betrieben werden. Dies liegt an den
moderneren Bauteilen der Mikroelektronik, die mit einer niedrigeren Spannung versorgt
werden. Sie werden nicht mehr auf 5V Betriebsspannung ausgelegt, sondern auf 3,3V.
Seite 10 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Weiters besitzt es zwei nicht flüchtige Speicher (Flash und EEPROM) zu je 32kB und 1kB und
einen flüchtigen mit 2kB (SRAM). Der Mikroprozessor wird mit 16 MHz getaktet. Dazu dient
der interne Quartz. Zum besseren Verständnis wird der Kern des Mikroprozessors, der
Atmega328 und die AVR CPU genauer beschrieben. Somit sind einige Programmabläufe
leichter verständlich.
2.2.3.3. Blockdiagramm
In Abbildung 5 wird das Blockdiagramm des ATmega328 dargestellt und darauf folgend
werden einzelne Begriffe erklärt.
4
Abbildung 5: Blockdiagramm ATmega328

Power Supervision POR / BOD & RESET
Am Eingang zwischen Masse und +5V befindet sich die Spannungsüberwachung (Power
Supervision, BOD = Brown-out detector). Diese beobachtet kritische Einschaltzustände, wie
zum Beispiel das langsame Hochfahren der Spannung. Außerdem dient das POR „power on
reset“ dazu, dass beim Einschalten oder bei einem Neustart die Adresse des Mikroprozessors
auf Null gesetzt wird.
Seite 11 von 89
HTL Wien 10

2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Watchdog
Der „Watchdog Timer“ und sein Oszillator sind mit der Spannungsüberwachung verbunden.
Der „Watchdog“ (Wachhund) muss in regelmäßigen Intervallen mit einem Bit gesetzt
werden, ansonsten leitet er den Neustart des Prozessors ein. Der Neustart stellt den vom
Anwender zuletzt programmierten Ausgangszustand her.

debugWIRE
Mit der Spannungsüberwachung ist auch der „debugWire“ (debug = Fehler suchen)
verbunden. Über diese Verbindung kann der Prozessor- und der Speicherzustand extern
ausgelesen werden. Das erleichtert die Fehlersuche.

PROGRAM LOGIC
In der „Program Logic“ arbeitet der Prozessor das Programm ab.

Flash
Die vollständige Bezeichnung heißt „Flash-EEPROM“ und dieser ist ein nicht flüchtiger
Speicher. Dadurch wird die Speicherung der Programmierung auf dem Mikrocontroller mit
niedrigem Energieverbrauch optimiert.
 SRAM
 „Static random access memory“
Dies ist der Arbeitsspeicher des Mikroprozessors. Er ist ein flüchtiger Speicher und besteht
aus Flipflops.
 EEPROM
 „electric erasable read only memory“
EEPROM ist ein elektrisch formatierbarer Speicher und ist nicht flüchtig.
 AVR CPU
 „Central processing unit“
In der CPU befinden sich die zentrale Recheneinheit (ALU => „arithmetic logic unit“) und die
Register, die schnellsten Speicher. Die CPU wird später genauer beschrieben.

8 Bit T/C
Diese Einheit ist ein 8 Bit „Timer“ und „Counter“ (Zähler). Dadurch wird das Zählen bis 28 =
256 ermöglicht. Das Timing hängt von der Anzahl der Bits ab. Bei 28 ist das Timing bis 256 μs
möglich.
Seite 12 von 89
HTL Wien 10

2. Beschreibung der einzelnen Komponenten
IMAMOVIC
A/D Converter
Der Analog-Digital-Wandler konvertiert analoge in digitale Werte. Dabei ist zu
unterscheiden, ob die Spannungen „single ended“ (d.h. auf Masse bezogen) oder
differenziell (von Masse unabhängig) erfasst werden. Die Anzahl der Bits steht für die
Auflösung der Spannung in Stufen. Der Atmega328 verfügt über einen 10 Bit ADC und kann
daher die Spannung in 1024 Stufen darstellen (210 = 1024). Bedeutend sind auch die
Abtastrate (wie oft kann er diese Spannung messen, bei 10kHz = 10000 Mal pro Sekunde)
und die Anzahl der Kanäle. In dem Fall stehen acht Kanäle zur Verfügung.

Internal Bandgap
„Internal Bandgap“ ist eine Spannungsreferenz, die sehr unabhängig von der Temperatur ist.
Die Referenz ist Teil des Analog-Digital-Wandlers.

Analog Comparator
Wie der Name schon sagt, handelt es sich hierbei um einen analogen Komparator, der zwei
analoge Werte vergleicht und als Ausgang digital zeigt, welche der beiden
Eingangsspannungen höher ist. Dadurch lassen sich beispielsweise analoge Sensorwerte
digitalisieren. Dabei wird immer eine Ja/Nein-Entscheidung getroffen (Beispielsweise wird
überprüft, ob der gemessene Wert den Normwert überschreitet). Die If-Abfragen in
Programmabläufen können im analogen Komparator stattfinden.

USART
USART („universal synchronous/asynchronous receiver transmitter“) ist eine serielle
Schnittstelle und dient zum Senden und Empfangen von Daten. Dabei handelt es sich um
eine Messgeräteschnittstelle, die Spannungen zwischen 0 und 15V schaltet.
Zum Beispiel: Schnittstelle RS232.

SPI
„serial peripheral interface“ ist ebenfalls eine serielle Schnittstelle und dient der
Kommunikation innerhalb des Mikroprozessors mit Daten- und Taktsignal.

TWI
„two wire interface“ ist der I2C-Bus. Aus rechtlichen Gründen gibt es zwei Bezeichnungen
dafür, technisch gesehen sind die beiden aber ident. „two wire“ steht für die zwei Leitungen
SDA (Datenbus) und SCL (Taktleitung). Beim Prozessor Atmega328 ist die Taktleitung als
analoger Eingang A5 und der Datenbus als analoger Eingang A4 definiert.
Seite 13 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
Abbildung 6: I2C Schaltungsbeispiel
IMAMOVIC
5
In Abbildung 6 sind drei Geräte am I2C-Bus angeschlossen. Die beiden Busleitungen werden
über zwei Pull-Up-Widerstände gegen 5V geschaltet. Bei der seriellen Datenübertragung gibt
es grundsätzlich immer einen Master und ein oder mehrere Slaves. Wenn mehrere Master in
Betrieb sind, so spricht man vom Multi-Master Mode. Hier ist es wichtig, dass die zwei
Master sich nicht gegenseitig stören. In der Diplomarbeit wird die genaue Funktionsweise
der I2C Kommunikation im Kapitel 4. Programmierung erläutert.

Ports
Im anderen Ende, gegenüber der Spannungsüberwachung, befinden sich drei Ports (B, C und
D). Zu einem Port gehören acht Pins, die als digitale Ein- oder Ausgänge definiert werden
können, und ein Datenrichtungsregister DDR. Port C hat aufgrund von Platzmangel am
Prozessor nur sieben Pins. Der Datenbus geht quer durch den Baustein und, wie auf der
Abbildung 8 zu sehen ist, mehrere Einheiten sind mit ihm verbunden. Außerdem gehören die
Anschlüsse „XTAL1“ und „XTAL2“ dem Quartz, der die Frequenz bestimmt.
In der Abbildung 7 wird das Blockdiagramm der AVR Architektur gezeigt, anschließend
werden die wichtigsten Begriffe erläutert.
6
Abbildung 7: AVR Architektur
Seite 14 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Zur Maximierung der Leistung und Effizienz werden beim ATmega328 die Speicher- und
Busleitungen für die Programmierung und die Daten getrennt geführt.
Die Mikrocontroller besitzen die RISC Architektur („reduced instruction set computer“).
Diese verfügt über ca. 100-150 Befehle.
Nun zu den einzelnen Begriffen:

Status and Control
Das ist ein Register, das über den Zustand der ALU (zentrale Recheneinheit) Auskunft gibt.

General Purpose Register
In der RISC Architektur werden frei verwendbare Register verwendet, welche sich beliebig
als Daten- oder Adressregister einsetzen lassen. Diese Register erlauben die Rechenvorgänge
der ALU und speichern die Zwischenergebnisse dort. 32 steht für die Anzahl der Register (32
Bytes für den allgemeinen Gebrauch) und 8 für die 8 Bit-Breite des Datenbusses.

ALU
Die ALU ist die zentrale Recheneinheit. Sie führt die Rechenvorgänge durch.
 Program Counter
 Befehlszähler, der im Hintergrund mitläuft. Der Zählerwert wird gespeichert.

Flash Program Memory
Hier sind die einzelnen Befehle des Mikrocontrollers gespeichert. In der RISC Architektur gibt
es ca. 100-150 Befehle.

Instruction Decoder
Hier definiert der Hersteller, wie die einzelnen Befehle abzuarbeiten sind. Zu jedem Befehl
gibt es ein Mikroprogramm, das vom Hersteller programmiert wurde und im Chip
gespeichert ist. Dieses Programm ist ein Algorithmus im Prozessor und dient dem Steuern
des Rechenwerks.

Instruction Register
Hier landet der Inhalt des Programmspeichers von der Adresse "Programm Counter" immer
zuerst, da ja der AVR erstmals selber schauen muss, was für ein Befehl das wohl ist. Jedes
Befehlswort beinhaltet kodiert drei Dinge: "WAS", "WOHER" und "WOHIN". Einiges kann
direkt im SRAM oder in den Register eine Auswahl treffen, einiges muss weiter zum
„Instruction Decoder“.
Zusammenfassend gilt, dass sowohl der „Instruction Decoder“ als auch das „Instruction
Register“ für die Ausführung des Befehls zuständig sind.
Seite 15 von 89
HTL Wien 10
2.3.
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Digitaler Luxsensor
Der TSL2561 Digitalluxsensor erfasst präzise Werte von 0,1 bis 40000 Lux.
7
Abbildung 8: Digitaler Luxsensor
2.3.1. Aufbau und Funktionsweise
Dieser Sensor verfügt über ein digitales Interface (I2C) und wird mit 3,3V über den
Mikroprozessor versorgt. Wie in der Abbildung 8 zu sehen ist, hat er sechs Anschlüsse.
Jedoch werden nur fünf genutzt. SCL (serial clock line) und SDA (serial data line), also Taktund Datenleitung, werden auf die I2C-fähigen Pins des Mikroprozessors geführt. Dabei ist zu
beachten, dass pro Mikroprozessor nur drei digitale Luxsensoren betrieben werden können.
Dies liegt an dem Address-Pin der Adresse, die im Programm definiert wird. Dabei können
drei Zustände auftreten: Wird der Pin nicht angeschlossen, so schreibt man im Programm
„FLOAT“. Wird er an 5V angeschlossen, dann „HIGH“ und wird er auf Masse angeschlossen
dann „LOW“.
Der Luxsensor ermittelt die Lichtstärke über die verschiedenen Anteile des Lichts, unter
anderem den Infrarotanteil, das volle Spektrum und das für uns Menschen sichtbare Licht.
2.3.2. Fazit
Der digitale Luxsensor schien uns zunächst viel besser geeignet als der Fotowiderstand.
Einerseits weil er den Wert digital als Luxwert ausgibt und andererseits da der I2C Aufbau
der Regelung erhalten bleibt. So werden Leitungen gespart, jedoch ist der Luxsensor zu träge
für die Regelung und wurde deshalb durch den Fotowiderstand ersetzt.
2.4.
Fotowiderstand
Ein Fotowiderstand (englisch light dependent resistor = LDR) ist ein lichtabhängiger
Widerstand, der über eine Halbleiterschicht verfügt. Der elektrische Widerstand hängt
reziprok proportional mit der Lichtstärke zusammen. Je höher der Lichteinfall, desto kleiner
wird der Wert des elektrischen Widerstandes.
8
Abbildung 9:Fotowiderstand
Seite 16 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
2.4.1. Funktionsweise
Bei Halbleitern, die für Fotowiderstände verwendet werden, wird nicht der innere
fotoelektrische Effekt genutzt, sondern es werden Übergänge zu Störstellen genutzt. Das
Licht ionisiert eine Störstelle im Kristallgitter und diese verbessert die elektrische
Leitfähigkeit nach einigen Millisekunden. Da die Ionisierung und die anschließende
Neutralisierung etwas lange dauert, erhält man eine relativ hohe Empfindlichkeit, aber
dadurch auch eine langsame Reaktion. Beim Fotowiderstand ist besonders auf die
Oberfläche zu achten. Kleinste Veränderungen der Mikrostruktur oder auch
Verunreinigungen führen zu Veränderung der elektrischen Leitfähigkeit und somit auch zur
Änderung des Widerstandes.
2.4.2. Eigenschaften
Auch nach langer Abdunkelung der Oberfläche des Fotowiderstandes verbleiben freie
Ladungsträger und verursachen einen sogenannten Dunkelstrom. Dieser ist eine Funktion
der Temperatur und kann durch die Zuführung von Kälte verringert werden. Folgende
Parameter kennzeichnen den Fotowiderstand:

Dunkelwiderstand:
Das ist der Widerstandswert des Fotowiderstandes bei Dunkelheit. In der Praxis ist dieser
typisch 1MΩ bis 100MΩ und wird erst nach langer Zeit (ca. 30-60 Sekunden) Dunkelheit
erreicht.

Hellwiderstand:
Dies ist der Widerstandswert bei einer Helligkeit von 1000 Lux und ist typisch 100Ω bis 2kΩ.

Ansprechzeit:
Die richtige Definition der Ansprechzeit lautet: Das ist die Zeit, die nach Einschalten einer
Beleuchtungsstärke von 1000 Lux nach Dunkelheit vergeht, bis der Strom 65 % seines
spezifizierten Wertes erreicht hat. In anderen Worten ist dies auch die Reaktionszeit des
Fotowiderstandes und beträgt in der Praxis 1 bis 3 Millisekunden.

Empfindlichkeitskurve:
Die Empfindlichkeitskurve, die in der Abbildung 10 zu sehen ist, zeigt den Zusammenhang
zwischen der Lichtstärke in Lux und dem elektrischen Widerstand in Ohm.
Seite 17 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
Abbildung 10: Empfindlichkeitskurve des Fotowiderstandes
IMAMOVIC
9
2.4.3. Fazit
In unserer Regelung werden fünf Fotowiderstände verwendet, die die fünf I2C Luxsensoren
ersetzt haben. Der wesentliche Grund für die Änderung der Sensoren liegt in der
Ansprechzeit.
Die digitalen Sensoren brauchten 10-15 Millisekunden für die Verarbeitung und Berechnung
der Werte. Der Fotowiderstand braucht lediglich 1 bis 3 Millisekunden, was die Lichtregelung
dynamischer macht.
2.5.
Spannungsregler
Der verwendete Spannungsregler ist ein linearer Längsregler. Da die LED-Leisten einen
konstanten Strom benötigen, wird mit Hilfe des Spannungsreglers eine Konstantstromquelle
konzipiert. Dabei wird an den Ausgang des Reglers ein Widerstand angeschlossen. Durch den
konstanten Widerstand und die konstante Spannung ergibt sich ein konstanter Strom.
b)
Abbildung 12: Interne Schaltung eines Längsreglers
a)
Abbildung 11: LM317T mit Beschriftung
11
10
Der Regler vergleicht die Ausgangsspannung mit der intern erzeugten Referenzspannung. Ist
die Ausgangsspannung zu niedrig, wird der interne Transistor, der den Ausgangsstrom führt,
stärker angesteuert. So verstärkt sich der Ausgangsstrom, bis die gewünschte
Ausgangsspannung erreicht ist.
Seite 18 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Wird die Ausgangsspannung jedoch zu groß, reduziert der Transistor den Strom, bis sich die
Spannung wieder stabilisiert hat. Der Transistor funktioniert wie ein variabler Widerstand.
Die Spannungsdifferenz zwischen Eingangs- und Ausgangsspannung fällt an ihm ab.
Ein großer Nachteil des Spannungsreglers ist der relativ kleine Wirkungsgrad bzw. die
Verlustleistung. Die Spannung, die am Eingang zugeführt wird und am Ausgang nicht
benötigt wird, fällt am Transistor ab und wird dort in Wärme umgewandelt.

Wirkungsgrad (ohne Berücksichtigung des eigenen Strombedarfs)
𝜂 [%] =

𝑈𝐴𝑢𝑠𝑔𝑎𝑛𝑔
𝑈𝐸𝑖𝑛𝑔𝑎𝑛𝑔
14𝑉
∗ 100 = 16𝑉 ∗ 100 = 87,5%
Verlustleistung
Die LED-Leisten, die am Tisch angebracht sind, benötigen jeweils 500mA. Die
Eingangsspannung am Regler beträgt 16V und ausgegeben werden 14V. Somit fallen 2V am
Spannungsregler ab. Das entspricht einer Verlustleistung von:
PV = 2V * 0,5A = 1W

Kühlung
Es ist darauf zu achten, dass der Spannungsregler ausreichend gekühlt wird. Der LM317T
besitzt ein TO-220 Gehäuse. Laut Datenblatt hat dieses Gehäuse einen Wärmewiderstand
Sperrschicht-Umgebung von 50°C/W und einen Wärmewiderstand Sperrschicht-Hülle von
3°C/W. Die Außentemperatur beträgt ca. 20°C. Aus diesen Parametern ergibt sich dann das
Ersatzschaltbild der Konvektion.
J…Junction (=> Sperrschicht)
C…Case (=>Hülle)
A…Ambient (=> Umgebung)
Abbildung 13: Wärmeersatzschaltbild
RthJC => Wärmewiderstand zwischen Sperrschicht und Hülle
RthJA => Wärmewiderstand zwischen Sperrschicht und Umgebung
Bei einem Watt Verlustleistung ergibt sich eine Temperatur von 3°C zwischen Sperrschicht
und Hülle und 47°C zwischen Hülle und Umgebung. Inklusive der Umgebungstemperatur
ergibt dies eine Sperrschichttemperatur von 70°C.
Seite 19 von 89
HTL Wien 10
2. Beschreibung der einzelnen Komponenten
IMAMOVIC
Laut Datenblatt hält der Kristall des Spannungsreglers 125°C aus. Die Gesamttemperatur
beträgt laut Berechnung 70°C. Das bedeutet, dass kein Kühlkörper benötigt wird.
Aus empirischen Gründen wurde trotzdem einer angebracht, weil bei den ersten Versuchen
mit dem Ansteuern der LED-Leiste die Spannung „eingebrochen“ ist. Wenn der
Spannungsregler eine bestimmte Temperatur erreicht, bricht die Spannung ein und das
Gehäuse des Reglers wurde brennend heiß. Der Spannungsregler verfügt über eine interne
Schutzschaltung, welche bei Übertemperatur den Strom drosselt. Da damals das Problem
mit der Kühlung nicht bekannt war, griff ein Kollege den Regler an und verbrannte sich den
Finger.
Deswegen wurde anschließend ein Kühlkörper montiert. Es wurden erneut Versuche
gestartet und diesmal brach die Spannung nicht ein. Den eigentlichen Grund, wieso ein
Kühlkörper benötigt wird, wurde trotz Benutzung des Internets nicht gefunden. Und da uns
die Zeit fehlte, uns genauer mit dem Problem zu beschäftigen, wurde einfach ein
ausreichend großer Kühlkörper montiert, sodass die Spannung konstant blieb.
Seite 20 von 89
HTL Wien 10
3. Hardware
SHADI
3. Hardware
3.1.
Mechanik
3.1.1. Konstruktionsprogramm12
Das Programm AutoCAD ist ein sehr bedeutender Teil der CAD-Produktpallette
von Autodesk. Da das Unternehmen immer die neuesten Softwarekomponenten für Schüler
drei Jahre lang kostenlos zur Verfügung stellt, wurde die aktuellste Version „AutoCAD 2015“
verwendet. Diese Version und all ihrer Vorgänger wurden als grafischer Zeichnungseditoren
vom Unternehmen entwickelt, um die grafische Darstellung zu vereinfachen. Der Ursprung
des Programmes beruht auf einem einfachen CAD-Programm mit Programmierschnittstellen
zum Erstellen von technischen Zeichnungen. Viele Möglichkeiten wurden hinzugefügt,
welche die dreidimensionale Modellierung ermöglichen. Grundsätzlich basiert AutoCAD auf
einfachen Objekten, wie Linien, Polylinien, Kreisen, Bögen und Texten, welche die Grundlage
des vektororientiertem Zeichenprogrammes darstellen, um das Konstruieren von 3DObjekten zu ermöglichen.
3.1.2. Tischaufbau
3.1.2.1. Der Weg zum Tisch
Das Ziel der Diplomarbeit besteht aus der Fertigung des Smart Desks, der mit zwei
Mikrocontrollern, Sensoren, Lichtquellen und einem Display ausgestattet ist. Die ersten
Überlegungen waren, einen gewöhnlichen Tisch zu kaufen. Doch nach Absprache mit den
betreuenden Lehrern, wurden Sponsoranfragen an die Firmen Bene und Neudörfler
verschickt. In der E-Mail wurden die grundsätzlichen Ideen unserer Diplomarbeit vorgestellt.
Die Firma Bene erwies sich als kooperationsfreudig. Einige Wochen später konnte der Tisch
zur Verfügung gestellt werden. Er wurde in die 3D-Ansicht von AutoCAD gezeichnet (siehe
Abbildung 14).
Abbildung 14: Tisch in der 3D-Ansicht von AutoCAD
Seite 21 von 89
HTL Wien 10
3. Hardware
SHADI
Um mit den Arbeiten beginnen zu können, mussten zuerst die Zeichnungen konstruiert und
alles gut überlegt werden.
3.1.2.2. Fertigung der U-Stahl-Träger
Die Vorrichtung des Tisches musste montiert werden um mit den Messungs- und
Programmierungsarbeiten anfangen zu können. Dafür mussten die Träger gefertigt werden.
Da die ausreichende Kenntnis der Maschinenbau fehlte, wurde ein Fachlehrer der
Maschinenbauabteilung um Rat gebeten. Die Entscheidung fiel auf die U-Stahl-Träger, da sie
eleganter aussahen. Dies zu Folge wurde eine Zeichnung erstellt, wie die Träger ausschauen
müssen. Die Höhe der Träger wurde nach der Stärke der LED-Leisten definiert, da sie nur bis
zu einer gewissen Entfernung, von dem zu beleuchtenden Objekt, die versprochene
Lichtstärke vorweisen können. Hierbei wurde die 2-D-Ansicht von AutoCAD genutzt um die
Träger zu konstruieren, siehe Abbildung 15.
Abbildung 15:U-Stahlträger (Maße in cm)
Mit der Zeichnung konnten die Fertigungsarbeiten begonnen werden. In der
Schmiedewerkstätte unserer Schule wurde das Material bearbeitet. Hierbei wurden die
Stahlformrohre, die mit einander geschweißt werden, mittels Winkelsäge im 45° Winkel
geschnitten.
Die anderen Enden des Profils wurden in einem 23° Winkel geschnitten. Da dies aber mit der
Maschine nicht auszuführen war, musste dieser mit einem Winkelschleifer getätigt werden.
Als nächsten Schritt wurden die Befestigungslöcher mit der Standbohrmaschine gebohrt.
Anschließend wurden die Teile miteinander verschweißt.
Der letzte Arbeitsschritt war das Lackieren der U-Stahlträger. Als erstes wurde die
Konstruktion mit einen Metallentfetter gereinigt, bis diese silberhaft schimmerte.
Anschließend wurde ein Spraylack, bei dem kein Grundierungsbedarf besteht, auf dem UStahl gesprüht.
Seite 22 von 89
HTL Wien 10
3. Hardware
SHADI
3.1.2.3. Zusammenbau
Für die Vorrichtung des Tisches wurde eine Holzplatte mit den gleichen Maßen wie die des
Tisches benötigt. In der Schultischlerei wurde die Platte vom Haustischler zurecht
geschnitten. Anschließend wurden Löcher in der Vorrichtungsplatte und in der des Tisches
gebohrt. Diese dienen der Befestigung des tischen, des U-Stahls und der Vorrichtungsplatte
miteinander. Bevor die Vorrichtungsplatte auf den Tisch montiert werden konnte, mussten
die jeweiligen Befestigungsklemmen für die LED-Leisten und der Kabelkanal, der die
Versorgungskabeln der LED-Leisten beinhaltet, montiert werden. Als dies getan war, wurden
die Teile mit den passenden Torbandschrauben miteinander verbunden (siehe Abbildung
16).
Abbildung 16: Tisch mit Vorrichtung und LED-Leisten
Diese Weiterbearbeitung wurde auch in der 3D-Ansicht von AutoCAD ergänzt (siehe
Abbildung 17).
Seite 23 von 89
HTL Wien 10
3. Hardware
SHADI
Abbildung 17: Tisch mit Vorrichtung und LED-Leisten in der 3D Ansicht von AutoCAD
3.1.2.4. Sensor- und Displayplatzierung
Um die weiteren Komponenten des Tischs zu ergänzen wurde ein maßgenaues Rechteck in
die Ecke der Tischplatte geschnitten und das Display eingepasst und geklebt. Der
Feuchtigkeitssensor wurde gleich neben dem Display auf der unteren Seite der Platte
geklebt.
Für die einzelnen Sensoren wurden jeweils ein Loch unterhalb der dazugehörigen LED-Leiste
gebohrt. Dies wurde aus Genauigkeitsgründen gewählt, um mehr Licht von der Leiste
aufnehmen zu können und eine ideale Dimmung zu gewährleisten. Dadurch kann mehr
Energie gespart und ein besserer Wirkungsgrad erreicht werden.
Für die Sensoren wurden quadratische Sensorabdeckungen aus Plexiglas mit den Maßen
40x40x30mm gefertigt. Um die Sensoren vor unabsichtlichem Abdecken oder mechanischem
Schaden zu schützen. Die Lokalität der Sensoren und deren Abdeckungen können in der
Abbildung 18 nachvollzogen werden.
Seite 24 von 89
HTL Wien 10
3. Hardware
SHADI
Abbildung 18: Grundriss der Tischplatte
3.1.2.5. Hauptschalter
Das Ziel der Diplomarbeit war das Schaffen eines angenehmen Arbeitsplatzes, der so wenig
Energie wie möglich verbraucht. Allerdings geht ein Großteil der Energie im Standby-Modus
verloren und aus diesem Grund wurde einen Hauptschalter montiert, der es ermöglicht den
Tisch mit all seinen Funktionen auszuschalten. Dazu wurde die Stromversorgung eines
Steckdosenverteilers mit einem Schalter, der auf der unteren Seite der Tischplatte montiert
wurde, unterbrochen. Somit können alle Versorgungsleitungen, die an dem Verteiler
angeschlossen sind, vom Netz genommen werden.
3.1.2.6. Gerätebox
Um die Ansteuerungskomponenten, auf denen die Diplomarbeit basiert, leichter
demonstrieren zu können, wurde eine Box, in der alle unsere Regelkomponenten platziert
sind, gefertigt. Diese wurde in der rechten Seite, ganz am Rand des Tisches montiert, siehe
Abbildung 18. Um ein gewissen Abstand zwischen den Komponenten zu schaffen, der die
Verdrahtung erleichtern soll, wurden eine Länge von 300mm, eine Breite von 185mm und
eine Höhe von 110mm gewählt. Die Anordnung der Komponenten in der Gerätebox können
der Abbildung 19 entnommen werden.
Seite 25 von 89
HTL Wien 10
3. Hardware
Abbildung 19: Anordnung der Komponenten in der Grundrissansicht der Gerätebox
Abbildung 20: Kühlungsschlitze und Anschlusslöcher in der Vorderansicht der Gerätebox
Seite 26 von 89
SHADI
HTL Wien 10
3. Hardware
SHADI
Da die Spannungsregler auf der Lichtansteuerungsplatine gekühlt werden müssen, wurden
diese Kühlkörper bestückt. Dazu mussten die Seiten der Platine, mit den Spannungsreglern,
nahe des Gehäuses der Box gerichtet werde. Desweitern wurden ihnen gegenüber
Kühlschlitze gefräst, um eine ausreichende Kühlung zu gewährleisten. Um eine
Kontaktierung der Komponenten zu ermöglichen, wurden in den Seitenplatten Langlöcher
ebenfalls gefräst (siehe Abbildung 20).
3.2.
Elektronik und Elektrik
3.2.1. Konstruktionsprogramm13
EAGLE ist ein EDA-Programm, welches von der Firma CADSoft entwickelt wurde, um die
Herstellung von Leiterplatten zu erleichtern. Die Abkürzung EDA steht für Electronic Design
Automation. Der Name EAGLE ist ein Initialwort, das sich aus „Einfach Anzuwendender
Grafischer Layout-Editor“ zusammensetzt. Die Software ermöglicht die Arbeit mit einem
Layout- und einem Schaltplan-Editor.
Die erweiterbare Bauteil-Datenbank ermöglicht es, verschiedene Bauteile in die Schaltungen
einzubinden und verringert somit die Suchzeiten nach passenden Bauteilen. Da auch eine
vom Unternehmen gratis zur Verfügung gestellte Version vorhanden ist, welche für den
nichtkommerziellen Einsatz geeignet ist, konnte die Software legal und ohne viel Aufwand
genutzt werden. Das Programm stellt dem Anwender ein Schaltplanblatt, mit der Größe
einer halbe Europakarte, also eine Platine mit den Maßen100 mm × 80 mm und zwei
Signallagen zur Verfügung. Dies war für unser Vorhaben mehr als ausreichend.
Seite 27 von 89
HTL Wien 10
3. Hardware
AVDIC
3.2.2. Ansteuerung LED-Leiste und Platinenentwürfe
3.2.2.1.
Vorüberlegungen
Abbildung 21: LED-Leiste
Um erste Versuche zu tätigen, wurde eine LED-Leiste als Lichtquelle verwendet. In dem
Lieferumfang war ein Netzteil vorhanden, doch dieses konnte nicht genutzt werden, da eine
Dimmung nicht möglich war. Deshalb war es notwendig etwas anderes zu entwickeln.
Zuerst wurde der durch die LED-Leiste fließende Strom gemessen. Dazu musste das
Netzteilkabel aufgeschnitten und ein Amperemeter mit Hirschmannklemmen in Serie
geschaltet werden. Der Strom stimmte mit der Beschreibung in der Anleitung überein und
betrug 445 mA. Die Spannung des Netzeils im Leerlauf betrug 11,89 V, was auch ungefähr
der Beschreibung (12V) entsprach.
Damit ein konstanter Strom fließen kann und dieser auch nicht überschritten wird, begann
die Entwicklung einer Konstantstromquellenschaltung, die den Strom auf 500mA begrenzt.
Abbildung 22:Schaltung für Konstantstromquelle
Die Schaltung wurde zuerst ohne LED-Leiste und ohne das Arduino-Modul auf einem
Steckbrett aufgebaut. Statt der LED-Leiste wurde ein Amperemeter eingebaut und statt dem
Arduino-Modul eine 5V Spannungsquelle.
Seite 28 von 89
HTL Wien 10
3. Hardware
AVDIC
Annahme (siehe Abbildung 22)
UE=16V; IC=500mA; ULM317=2V; UCE=0,5V; IB=8mA
𝑈𝐿𝑀317 = 𝑓(𝐼𝑐, 𝜃)
14
Abbildung 23: Diagramm aus dem Datenblatt des LM317
Die Eingangsspannung beträgt 16 V. Am Spannungsregler LM 317 fallen bei 500mA Strom
nach Datenblatt, siehe Abbildung 23, 2V ab. Das ist in der Abbildung 23 erkennbar, da bei
einer Raumtemperatur von ungefähr 20°C und 500mA Strom, die Input – Output Differenz
2V beträgt, siehe rot markierter Bereich. Vier 10Ω - Widerstände werden parallelgeschaltet,
damit ein Widerstandswert von 2,5 Ohm erreicht wird. Dieser ist notwendig damit 500mA
Strom fließen. Außerdem teilt sich die Verlustleistung durch die Parallelschaltung auf vier
Widerstände auf.
𝑅1 =
1
1
1
1
1
10Ω + 10Ω + 10Ω + 10Ω
= 𝟐, 𝟓Ω
Der Spannungsabfall am Widerstand R1 beträgt 1,25V.
𝑈𝑟1 = 𝑅1 ∗ 𝐼 = 2,5Ω ∗ 500𝑚𝐴 = 𝟏, 𝟐𝟓𝑽
Damit eine Dimmung der Lichtquelle möglich ist, wurde noch ein NPN-Transistor eingebaut,
der lediglich zum Schalten dient. Der Spannungsabfall auf dem Widerstand R2 ist 4,3V groß.
Dieser wird mit der Kirchhoff’schen Maschenregel berechnet.
+𝑈𝑟2 + 0,7𝑉 − 5𝑉 = 0 𝑈𝑟2 = 5𝑉 − 0,7𝑉 = 𝟒, 𝟑𝑽
Ein Basisstrom von 8mA ist ausreichend zum Durchschalten des Transistors. Der Widerstand
R2 errechnet sich aus dem ohmschen Gesetz.
𝑅2 =
4,3𝑉 4,3𝑉
=
= 𝟓𝟑𝟖Ω
𝐼𝑏
8𝑚𝐴
In der Schaltung wurde ein 560Ω Widerstand eingebaut.
Bei der Messung hat das Amperemeter einen Strom von 470mA angezeigt und dieser ist
auch nicht gestiegen wenn die Eingangsspannung erhöht wurde. In der folgenden Formel
Seite 29 von 89
HTL Wien 10
3. Hardware
AVDIC
wird die Ausgangsspannung im Leerlauf berechnet, indem alle Spannungsabfälle von der 16V
Eingangsspannung abgezogen werden.
𝑈𝑎 = 𝑈𝑒 − 𝑈𝑙𝑚317 − 𝑈𝑟1 − 𝑈𝑡1, 𝑐𝑒
𝑈𝑎 = 16𝑉 − 2𝑉 − 1,25𝑉 − 0,5𝑉 = 𝟏𝟐, 𝟐𝟓𝑽
12,25V sind ausreichend und sogar mit etwas Reserve versehen.
Eine wichtige Erkenntnis dieser Messung war, dass diese Lösung nicht die optimalste ist, da
viel Energie im Spannungsregler in Wärme umgewandelt wird und dieser sehr heiß wird.
Deshalb ist ein Kühlkörper unumgänglich.
3.2.2.2. Entwurf 1 der Konstantstromquelle
Da die Strombegrenzung durch die Schaltung glückte, wurde die Platine hergestellt. Die
Schaltung dazu wurde im Programm EAGLE gezeichnet.
Abbildung 24: Konstantstromquelle konstruiert mit EAGLE (Schaltplan-Ansicht)
In der Abbildung 24 ist die Schaltung für die Konstantstromquelle zu sehen. Da fünf
Lichtquellen angesteuert werden sollten und es von Vorteil war jede einzeln anzusteuern,
wurde diese Schaltung sechs Mal hergestellt. Da es auf der Platine noch Platz gab, wurde
noch eine zu den fünf notwendigen hinzugefügt. Die fertige Platine wird in Abbildung 25
dargestellt.
Seite 30 von 89
HTL Wien 10
3. Hardware
AVDIC
Abbildung 25: Sechs Konstantstromquellenschaltungen in der Board-Ansicht
Da der erste Versuch glückte, war die Aufgabe nun die Schaltung über den PWM-Pin des
Arduino-Moduls zu steuern. Deshalb wurde die Schaltung nochmals mit einer LED-Leiste
aufgebaut. Als Kühlkörper für den Spannungsregler LM317 wurde eine Metallklemme
verwendet. Nach einigen Überlegungen stellte sich ein mögliches Problem heraus. Falls in
unserer Schaltung ein Fehlerstrom auftreten würde, könnte das Arduino-Board und der
damit verbundene Laptop beschädigt werden. Deshalb wurde entschieden sicherheitshalber
eine Potentialtrennung mittels Optokopplerschaltung aufzubauen.
3.2.2.3. Entwurf 2 der Konstantstromquellenschaltung
Als Optokoppler wurde der PC817 genommen. Der Widerstand R3, in Abbildung 26 zu sehen,
wurde so dimensioniert, dass max. 10mA fließen.
𝑅3 =
𝑈
𝐼
16𝑉
= 10𝑚𝐴 = 𝟏, 𝟔𝒌Ω
Anfangs wurde der Widerstand R4 in Abbildung 26 beim PWM-Pin mit 800Ω dimensioniert,
dass bei einem angenommenen Spannungsabfall 4 V am Widerstand ein Strom von 5mA
fließen soll. Der maximale Strom der Optokopplerleuchtdiode ist nach Datenblatt 20mA
(siehe Abbildung 28).
𝐼4 =
𝑈
𝑅
4𝑉
= 800Ω = 𝟓𝒎𝑨
Der Spannungsabfall der LED, die im Optokoppler integriert ist, wurde mit 1V angenommen.
Seite 31 von 89
HTL Wien 10
3. Hardware
AVDIC
Abbildung 26: Schaltung für die Konstanststromquelle mit Potentialtrennung
Wenn auf dem PWM-Pin das höchste Steuersignal anliegt, schaltet der Optokoppler durch
und der Strom fließt von der 16V-Versorgung durch den Widerstand R3 über den Transistor
im Optokoppler gegen Masse. Die LED-Leiste leuchtet nicht, da der Transistor BD139(T1)
nicht an der Basis angesteuert wird.
Liegt auf dem PWM-Pin das geringste Steuersignal, dann schaltet der Transistor im
Optokoppler nicht durch und somit wird der BD139 (T1) angesteuert und die LED-Leiste
leuchtet.
Beim Testen, der in Abbildung 26 dargestellten, Schaltung wurde auch bei vollem
Steuersignal die LED nicht ganz dunkel. Daher wurde der Widerstand beim Optokoppler
kleiner dimensioniert. Die Überlegung ging in die Richtung, dass mehr Strom dazu führt, dass
der Optokoppler vollkommen durchschaltet. Deshalb wurde die Schaltung ein wenig
verändert. Der Optokopplerbaustein wurde so angeschlossen, dass der integrierte Transistor
direkt den BD139 (T1) ansteuert. Diese Änderung hat zur Folge, dass die Logik nicht mehr
negiert ist. Bei einem Steuersignal von logisch 1 sollte die LED-Leiste leuchten und bei einem
von logisch 0 sollte sie dunkel sein. In der Abbildung 27 ist die etwas veränderte Schaltung
abgebildet.
Seite 32 von 89
HTL Wien 10
3. Hardware
AVDIC
Abbildung 27: Schaltung für Konstantstromquelle mit Potentialtrennung
Dem Datenblatt vom Optokoppler PC817 (Abbildung 28) können verschiedenste
Maximalwerte entnommen werden. Die Forward voltage der LED beträgt bei
Raumtemperatur 1,4 Volt.
Abbildung 28: Datenblatt des Optokoppler
15
Der Arduino-PWM-Pin kann bei vollem Duty-Cycle eine Spannung von 5V erreichen. Diese
Spannung weniger dem Spannungsabfall an der LED im Optokoppler ergibt 3,6V die auf dem
Widerstand abfallen sollten. Da 20mA der maximale Strom war, wurde der Widerstand R4
auf 180Ω verringert.
𝑅4 =
3,6𝑉
= 𝟏𝟖𝟎Ω
20𝑚𝐴
Bei vollem Steuersignal funktionierte alles einwandfrei und die LED-Leiste leuchtete mit der
stärksten Intensität , doch das Interessante war, dass bei ungefähr halben Steuersignal, die
Lichtquellen nicht gleichmäßig leuchteten, sondern stark flackerten, was nicht sehr
angenehm für das Auge war. Dieses Problem musste gelöst werden.
Seite 33 von 89
HTL Wien 10
3. Hardware
AVDIC
Die erste Überlegung war, dass möglicherweise der Widerstand R3 niedriger dimensioniert
werden sollte, damit der Transistor BD 139 besser durchschaltet. Der R3 wurde davor mit
1,6k dimensioniert, damit ungefähr 10mA fließen. Doch da R3 und R4 in Serie sind,
verringert sich der Strom. Wird mit den ursprünglichen Werten der Widerstände gerechnet,
so fließt ein Strom von 7,4mA. Der Widerstandswert wurde so verkleinert, dass ungefähr
20mA flossen. Der neue Entwurf ist in Abbildung 29 zu sehen.
𝑈
16𝑉
Ursprünglicher Strom:
𝐼3 =
Neuer Strom:
𝐼3 = 𝑅 = (470+270)Ω = 𝟐𝟏, 𝟔𝒎𝑨
𝑅
𝑈
= (1,6𝑘+560)Ω = 𝟕, 𝟒𝒎𝑨
16𝑉
Abbildung 29: Verbesserte Schaltung für Konstantstromquelle mit Potentialtrennung
Die Schaltung wurde wieder mit LED-Leisten aufgebaut. Diese leuchteten heller als zuvor,
doch das Flackern war noch immer da. Die nächsten Überlegungen waren, dass vielleicht das
Arduino-Board das Flackern verursacht. Deshalb wurden alle LED-Leisten mit einem ArduinoPIN verbunden und alle leuchteten ohne zu flackern. Danach wurde jede LED-Leiste einem
PWM-Ausgang zugeordnet und nacheinander dazu geschaltet. Zwei dieser leuchteten bei
halbem Steuersignal ohne zu Flackern, jedoch ab der dritten flackerten alle drei Lichtquellen.
Der Fehler musste also beim Arduino-Board liegen.
Seite 34 von 89
HTL Wien 10
3. Hardware
SHADI
Die Widerstände (R4) beim PWM-Pin wurden vergrößert, da möglicherweise aus dem
Arduino-Board zu viel Strom gezogen wird und die Spannung einbricht. Dadurch, dass vier
PWM-Ausgänge gleichzeitig verwendet werden, müsste das Board 4*20mA=80mA liefern,
was ziemlich an der Grenze liegt. Der R4 wurde auf 470Ω (Abbildung 36) erhöht und die
Ansteuerung funktionierte. Statt 20mA pro Pin fließen nur noch 7,7mA.
3,6𝑉
𝐼4 = 470Ω = 𝟕, 𝟕𝒎𝑨
3.2.2.4. Verbesserte Konstantstromquellenschaltung
Nach der Fertigung des zweiten Schaltungsentwurfs, wurde die Platine bestückt und
getestet. Bei der in Betriebsname wurde festgestellt, dass die Schaltung nicht funktionierte.
In Folge darauf wurde die Schaltung wieder auf einem Steckbrett realisiert, um die Funktion
der Schaltung zu überprüfen und bessere Messungspunkte zu schaffen, die das Auffinden
von Fehlern erleichtern sollten. Auf dem Brett funktionierte die Schaltung einwandfrei, was
den Verdacht auf die Platine lenkte. Beim Vergleich der beiden Schaltungen, wurde erkannt,
dass die beiden Strompfade nicht getrennt ausgeführt waren. Dadurch kam es zur Störung
der Schaltung.
Es wurde eine GND-Verbindung zu dem Arduino-Board-GND geschaffen und die Schaltung
wurde wieder in Betrieb genommen. Diesmal leuchteten die LEDs und es wurde beschlossen
eine neue Platine zu fertigen, welche getrennte GNDs hat. Um den Fehler zu beheben,
wurden die verschiedenen GNDs in die Schaltplan-Ansicht von EAGLE als Lötstifte
ausgeführt. Damit war die galvanische Trennung gewährleistet. Die Schaltung wurde neu
gezeichnet (siehe Abbildung 30) und ein neues Layout in der EAGLE-Bord-Ansicht (siehe
Abbildung 31) entwickelt.
Abbildung 30: Verbesserte Konstantstromquellenschaltung in der Schaltplan-Ansicht von EAGLE
Seite 35 von 89
HTL Wien 10
3. Hardware
SHADI
Abbildung 31: Verbesserte Konstantstromquellenschaltung in der Bord-Ansicht von EAGLE
Abbildung 32: Verbesserte Konstantstromquellenschaltung in der 3D-Anansicht von EAGLE
Die Platine wurde wieder bestückt und getestet. Dieses Mal leuchtet die LEDs wie gewünscht
und die Funktionsprüfung erfolgte fehlerlos.
Seite 36 von 89
HTL Wien 10
3. Hardware
SHADI
3.2.3. Sensorplatine
Da die Automatisierung der Lichtregelung auf LDRs (lichtabhängige Widerstände)
angewiesen ist und diese an dem Arduino-Bord angeschlossen werden müssen, wurde eine
Platine entwickelt, um die Versorgung der LDRs zu vereinfachen. Dazu wurden alle Regeln
und Normen von EAGLE befolgt.
Die Verschaltung des lichtabhängigen Widerstandes erfolgt, indem einer der beiden
Kontakte des Sensors an 5V angeschlossen und den jeweils anderen über einem
Nachwiderstand mit Masse verbunden wird. Um den Sensorwert vom LDR weiterleiten zu
können, muss eine Verbindung zwischen den LDR-Abgang und ein Arduino-PIN vorhanden
sein. Diese ermöglicht die Messung des Widerstandwertes, welcher im Programm eingelesen
und passend für die Lichtregelung umgerechnet wird.
Für die manuelle Lichtregelung mussten noch ein Potentiometer und ein Schalter an dem
Arduino angeschlossen werden. Diese benötigten auch die Spannungsversorgung des Bordes
und so konnten sie parallel zu den Sensoren angeschlossen werden. Der mittlere Anschluss
des Potentiometers musste auch wie die Abgriffe der LDRs zur Werterfassung an einem
Arduino-Pin angeschlossen werden. Bei dem Schalter handelt es sich um einen
Wechselschalter, der in automatischen Regelungsbetrieb mit dem GND-Anschluss und im
manuellen Betrieb mit der 5V-Versorgung des Arduino-Bordes verbunden wird.
Weiteres musste auch für die Ansteuerung des Displays und die Werterfassung vom
Luftfeuchtigkeits- und Temperatursensor eine Platine gefertigt werden. Bei dieser Platine
handelte es sich um Übergangsbahnen, welche den Übergang von Verbindungsdrähten in
Anschlussverbindungen zum Arduino darbieten. Statt einem Nachwiderstand für die
Werterfassung wie bei den LDRs, wird für den Luftfeuchtigkeits- und Temperatursensors
einen vorwiderstand verwendet.
In den folgenden Abbildungen kann sowohl die Schaltplan-Ansicht, die Bord-Ansicht als auch
die 3D-Ansicht von Eagle der Schaltung betrachtet werden.
Abbildung 33:Sensorplatine in der Bord-Ansicht von EAGLE
Seite 37 von 89
HTL Wien 10
3. Hardware
SHADI
Abbildung 34: Sensorplatine in der Schaltplan-Ansicht von EAGLE
Abbildung 35: Sensorplatine in der 3D-Ansicht von EAGLE
3.2.4. Platinenentwicklung
Nach dem Erstellen des Bord-layouts konnte die Platine gefertigt werden. Die
Platinenentwicklung basiert auf einer Folge von Bearbeitungsschritten, die nacheinander
ausgeführt werden müssen.
3.2.4.1. Bohren
Dazu wurde ein automatischer Platinenbohrroboter verwendet, für den die physische
Ansicht der Schaltung konvertiert werden musste. Dieser Roboter ist mit einem Computer
verbunden, der ihm die benötigten Informationen liefert. Dafür muss die Schaltungsdatei in
Seite 38 von 89
HTL Wien 10
3. Hardware
SHADI
den Bearbeitungsordner des Roboters kopiert werden. Dieser konvertiert im Anschluss die
Datei (siehe Abbildung 36).
Abbildung 36: Die von der EAGLE Bord-Ansicht in die Bohr-Ansicht des Roboters konvertierte Schaltung
Nach der Konvertierung erscheint eine Liste, die die Reihenfolge der zu verwenden Bohrer
angibt (siehe Abbildung 37).
Abbildung 37: Bohrerreihenfolge-Meldung
Vor dem Start des Bohrvorgangs muss der erste Bohrer im Bohrfutter des Roboterarmes
eingespannt werden. Wird der Bohrvorgang gestartet, so nullt der Roboter den
eingespannten Bohrer, indem er ihn gegen einer Metallfläche, die sich neben den
Schraubstock, in dem die Rohplatine eingespannt ist, drückt. Nach dem Annullen beginnt der
Bohrer mit dem Bohren der Löcher, welche imDurchmesser mit dem eingespannten Bohrer
übereinstimmen.
Ist dieser Schritt vollendet, so stoppt der Bohrroboter und gibt das Zeichnen zum Einsetzen
des nächsten Bohrers mit dem angegebenen Durchmesser. Dieser Vorgang wird so lang
wiederholt, bis alle Löcher mit dem jeweiligen Durchmesser gebohrt wurden. Eine Platine,
die bereits alle Löcher für die Bestückung besitzt, wird als Endprodukt erhalten.
3.2.4.2. Laminieren
Bevor mit dem Laminieren begonnen werden kann, muss die Platine gründlich gesäubert
werden. Dazu muss die Kupferschicht der Platine mit weicher Stahlwolle gerieben werden,
bis diese leicht glänzend und entfettet ist.
Anschließend wird die Platine mit einer Folie beklebt. Diese muss sorgfältig geklebt sein und
darf keine Blasen vorweisen. Die Folie darf auch nicht viel größer als die Platine sein. Die
abstehenden Teile sollen geknickt und auf die Rückseite der Platine geklebt werden.
Zum Abschließen des Vorganges muss nur noch die beklebte Platine durch das Laminiergerät
geschoben werden.
Seite 39 von 89
HTL Wien 10
3. Hardware
SHADI
3.2.4.3. Belichten
Der Sinn hinter dem Belichten ist, die Übertragung der Schaltung auf die laminierte Platine.
Dies dient nicht der optischen Ansicht, sondern der Weiterverarbeitung der Platine. Zum
Belichten wird eine Kopie der physischen Ansicht der Schaltung auf ein Belichtungsblatt
gedruckt. Diese wird auf die innere Seite des Belichtungsgeräts gelegt. Anschließend wird die
Platine mit der kupferbeschichteten Seite auf den Ausdruck gelegt, der Deckel des
Belichtungsgeräts geschlossen und die Platine für zwei Minuten belichtet. Nach dem
Belichten sehen die Stellen die weggeätzt werden sollen, optisch anders aus und können mit
den weiteren Verfahren entfernt werden.
Danach wird die Platine eingespannt und für weitere zwei Minuten in einem mit
Natriumpersulfat gefülltes Gerät, welches die Platine mit der Lösung bespritzt, gesteckt.
Dadurch wird die Folie von den wegzuätzenden Stellen entfernt. Nach der zweiminütigen
Behandlung muss die Platine gewaschen werden, sonst würde die Lösung mehr von der Folie
entfernen als erwünscht.
3.2.4.4. Ätzen
Beim Ätzen wird die Platine wieder eingespannt und in das Ätzgerät eingeführt. Diesmal wird
die Platine mit Ammoniumpersulfat bespritzt, welches die blanken Kupferstellen der Platine
wegätzt. Die Platine wird für fünf Minuten mit der Lösung bespritzt.
Nach diesem Vorgang muss die Platine wieder in eine Schale, die mit einer fünfprozentigen
Natriumlösung gefüllt ist, eingelegt werden, bis die restlichen Folienteile von den
Platinenbahnen gelöst werden. Dieser Prozess beansprucht ungefähr weitere zwei bis drei
Minuten.
Zum Schluss muss die Platine nur noch getrocknet und die Leiterbahnen mit einem
isolierenden Spray, der sich beim Anlöten der Bauteile löst und die Lötverbindung nicht
beeinträchtigt, besprüht werden. Nach dem die Isolierschicht getrocknet ist, kann mit dem
Bestückungsprozess der Platine begonnen werden.
3.2.5. Verdrahtung
Um die Versorgungsleitungen der LED-Leisten durch den U-Stahl führen zu können, musste
ein Schlauch in dessen Innere verlegt werden. In dem sind die Drähte bis unter dem Tisch in
den zweiten Kabelkanal und dann durch die Tischöffnung auf die Oberfläche der Tischplatte
geführt. Anschließend wurden diese auf der Platine gelötet und die Funktion ein letztes Mal
überprüft.
Dadurch, dass die Lichtstärke in Abhängigkeit von äußeren Faktoren, wie die durch die
Fenster eindringende Sonneneinstrahlungen, für verschiedene Raumbereiche dynamisch
nachgeregelt werden soll, mussten mehrere Lichtsensoren verwendet werden, um die
auftretenden Lichtverhältnisse zu erfassen und die Daten zur Schaffung eines angenehmen
Arbeitsklimas an den für die Lichtregelung zugeordneten Arduino-Bord zu leiten. Die
Versorgung der Sensoren erfolgte durch deren Parallelschaltung an die Versorgungs-PINs
von Arduino. Die einzelnen Leitungen wurden mit Hilfe von Isolierband verklebt, mit
Seite 40 von 89
HTL Wien 10
3. Hardware
SHADI
Kabelschellen entlang der Tischlänge verlegt und durch die Tischöffnung zum Arduino-Bord
geführt.
Für das Display musste zusätzlich zur Versorgungsleitungen eine SDA- und eine SCL-Leitung
geführt werden. Diese dienen der Kommunikation der Komponenten untereinander und mit
dem Arduino-Bord. Da der Luftfeuchtigkeits- und Temperatursensor direkt neben dem
Display befestigt war, wurden seine drei Drähte (zwei Versorgungsleitungen und eine
Adressleitung) mit denen des Displays verklebt und anschließend mit Kabelschellen entlang
der Tischbreite verlegt. Anschließend wurden auch diese Drähte durch die Tischöffnung auf
die Oberfläche der Tischplatte geführt und in das jeweilige Arduino-Bord integriert.
Seite 41 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
4. Programmierung
4.1.
Ansteuerung des Displays
4.1.1. Anschließen des Displays und Controller
Ein I2C Display ist im Grunde genommen ein einfaches Display mit 16 Pins. Zwischen den
Pins und dem Mikrocontoller ist ein I2C Modul angebracht, dass die serielle Kommunikation
ermöglicht. Aus 16 Leitungen werden nur vier: SDA, SCL, VCC und GND.
Abbildung 38: Schaltung Arduino mit Display
Beim Controller Arduino UNO sind die Pins A4 und A5 vom Hersteller als I2C Pins definiert:
SDA = A4 / SCL = A5. Das Modul, das am Display angebracht ist, enthält die zwei PullupWiderstände. Einen zwischen 5V und der Datenleitung SDA und den anderen zwischen 5V
und der Taktleitung SCL.
4.1.2. Programmcode für die Displayansteuerung
Zuerst müssen die benötigten Bibliotheken eingebunden werden. Dann werden die Pins des
16-Pin Displays definiert und anschließend dem I2C-Modul zugeordnet. Die „loop“-Schleife
bleibt leer.
Abbildung 39: Einbinden der Bibliotheken
Seite 42 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
Abbildung 40: Setup & Loop Programmierung
4.1.3. Anzeige des Displays
Abbildung 41: Anzeige des Displays
Um die Kommunikation mit I2C Bauteilen zu ermöglichen wird die Adresse des jeweiligen
Bauteils benötigt. Dazu wird ein bestimmter, vorgegebener Programmcode, in Arduino auch
Sketch bezeichnet, verwendet, der die Adressen aller I2C Bauteile am Datenbus anzeigt.
Diese Adressen werden benötigt, um erst einmal die Kommunikation zwischen dem
Mikroprozessor und den I2C Komponenten zu ermöglichen. Den Sketch gibt es als
Standardprogramm im Internet und dieser ist immer derselbe.
Seite 43 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
Die Ausgabe im Serial Monitor schaut dann so aus:
Abbildung 42: Ausgabe im Serial Monitor
Dieses Programm dient dem Scannen der I2C fähigen Bausteine am Bus. Damit kann dann
die Adresse des Bausteins ermittelt werden, die für das weitere Programmieren wichtig ist.
4.1.4. Einlesen der Werte eines Sensors und Ausgabe auf das Display
Die nächste Aufgabe ist es zwei Werte, die von einem Sensor erfasst werden, auf das Display
auszugeben. Der Sensor ist ein DHT22 und misst die Lufttemperatur und die Feuchtigkeit
digital. Die Ausgabe erfolgt dann gleich in den Standard SI-Einheiten und muss nicht im
Programm umgerechnet werden.
Abbildung 43: Temperatur- und Feuchtesensor
16
Wie auf der Abbildung 43 zu sehen ist hat dieser Sensor 4 Anschlüsse.
4.1.5. Controller-, Sensor- und Displayanschluss
In Abbildung 58 wird klar verdeutlicht, wie die Anschlüsse des Sensors zu belegen sind. Der
erste Pin ist auf 5V zu schalten, der zweite wird mit einem digitalen Eingang am
Mikrocontroller über einen 10k Ohm Widerstand verbunden. Dieser hat die Funktion eines
Pullup-Widerstandes. Der dritte Pin wird laut Hersteller nicht verwendet. Und der Letzte
wird auf Massepotenzial geschaltet.
Der Sensor ist in der Lage, Temperaturen im Bereich von -40 bis +80°C und Luftfeuchte im
Bereich von 0 bis 100% zu messen, wobei die Genauigkeit beim Messen der Temperatur bei
0,5°C und bei der Luftfeuchtemessung bei 2% liegt. Die beiden Sensoren sind in einem
Gehäuse angebracht und am oberen Ende befindet sich eine Bohrung, die das Befestigen an
diverse Orte erleichtert.
Seite 44 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
Verdrahtung:
Abbildung 44: Schaltung Arduino, Temperatur- und Feuchtesensor & Display
Das Prinzip ist einfach und wie später in der Programmierung ersichtlich, klar
nachzuvollziehen. Die Sensorwerte werden über Pin 9 eingelesen und über die I2C
Kommunikation an das Display gesendet. Anzumerken ist, dass der Sensor nicht I2C fähig ist.
Die Befehle werden in den Kommentaren genau beschrieben. Das Prinzip ist folgendes: Die
Werte der Temperatur und Luftfeuchtigkeit werden auf zwei verschiedene Variable
geschrieben und nachher mit den Befehlen „serial.print“ auf den „Serial Monitor“ und mit
„lcd.print“ direkt auf das Display ausgegeben. Die Einheit baud im „void setup“ stellt die
serielle Datenübertragungsrate in Bits per second dar. Die Werte werden in 100
Millisekunden Zyklen abgefragt und auf das Display geschrieben.
Abbildung 45: Programmierung für die Ausgabe am Display
Seite 45 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
Ergebnis:
Abbildung 46: Ausgabe am Display
Zur Überprüfung der Signale wurde ein Oszilloskop an die zwei Busleitungen angeschlossen
um die genaue Kommunikation bzw. den Datenaustausch von Master und Slave zu
verstehen. Zuerst hat das Display nichts ausgegeben, obwohl im Serial Monitor sehr wohl
das richtige Signal angezeigt wurde. Der Fehler war, dass im Programm die Zeiteinstellung
für das Erneuern der Daten falsch eingestellt wurde. Nämlich auf einige Millisekunden und
somit „flackerte“ das Display nur. Dies wurde mit Hilfe des Oszilloskops konstatiert. Durch
die richtigen Einstellungen im Befehl „delay()“ konnte dieses Problem jedoch gelöst werden.
SDA
Adresse
R/W
ACK
Daten 8Bit ACK
SCL
Abbildung 47: : I2C Kommunikation mit der Darstellung einzelner Bits
Um den Datenaustausch und die Kommunikation zum Display herzustellen, sendet der
Master (Mikrocontroller) eine Start-Condition aus. Das ist ein spezieller Zustand am seriellen
Bus. Der Master zieht die Datenleitung (SDA) von „1“ = 5V auf „0“ = 0V während die
Seite 46 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
Taktleitung weiterhin auf „1“ ist. Nun beginnt der Datenaustausch. Die ersten sieben Bits
sind im Bild als Adresse hervorgehoben und stehen für die normale Adresse und die GeräteSub-Adresse. Vier Bits gehören zu der Adresse, sind vom Hersteller vorgegeben und können
vom Anwender nicht geändert werden. Die weiteren drei Bits gehören zu der schon
erwähnten Geräte-Sub-Adresse, die vom Baustein selbst abhängig sind und vom Anwender
geändert werden können. Mit Hilfe dieser sieben Bits kann der I2C-Baustein, das Display,
adressiert werden. In diesem Fall ist die Adresse des Displays 3F HEX und benötigt sechs Bits,
wie auch auf der Datenleitung im Bild zu sehen ist. Das achte Bit gibt an, ob der Master
schreiben oder lesen (read or write) will. In diesem Fall ist es das Schreiben auf das Display.
Das neunte Bit ist das sogenannte „Acknowledge-Bit“, also eine Antwort vom Slave an den
Master, in der dieser mitteilt, dass er nun aktiv und bereit ist. Nach der Bestätigung des
Slaves hat der Master acht Bits zum Schreiben auf das Display (Slave) zur Verfügung. In
diesem Fall werden nur vier Bits als Datenbits (im Programm) definiert, wie es auch auf der
Datenleitung zu sehen ist. Der letzte Taktimpuls ist das erneute Acknowledge-Bit. Jedoch
bleibt die Datenleitung jetzt auf „0“ und die Kommunikation wird nicht unterbrochen, wie in
Abbildung 61 zu sehen ist. Der Zyklus wird im Programm als Befehl delay() eingestellt.
delay(100) bedeutet, dass sich der Datenaustausch alle 100 Millisekunden wiederholt.
4.1.6. Warnmeldung beim Über- und Unterschreiten der Werte
Der Piezolautsprecher hat zwei Anschlüsse. Einer wird mit einem digitalen Ausgangspin
verbunden, der andere mit Masse. Wenn die Warnmeldung ausgegeben werden soll,
schaltet der Mikroprozessor den digitalen Ausgang 11 auf „HIGH“. Das Piepsen des
Lautsprechers beginnt.
Abbildung 48: Piezolautsprecher und Arduino
Die Parameter „t“ (Temperatur) und „h“ (Luftfeuchtigkeit) haben bestimmte Normwerte, die
ein normgerechter Arbeitsplatz einhalten sollte. Da die Temperatur und Luftfeuchtigkeit
nicht direkt beeinflussbar sind, wurde die Regelung der zwei Größen mit Warnmeldungen
simuliert.
Seite 47 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
Beispielsweise wenn die Temperatur höher als 30°C ist, so wird auf das Display „Klima an“
ausgegeben. Wenn sie unter 17°C ist, „Heizung an“.
Wenn die Luftfeuchte höher als 65% ist, so wird ein Lüfter mit „Lüfter an“ simuliert. Und
wenn diese den Wert von 35% unterschreitet, so wird der Luftbefeuchter aktiviert.
In der Programmierung wurde dies mit vier Wenn-Abfragen realisiert. Falls die beiden
Parameter sich im Normbereich befinden, werden diese Abfragen einfach übersprungen und
beim nächsten Programmablauf erneut durchgeführt.
Zusätzlich wird bei jeder Warnmeldung der Piezolautsprecher aktiviert, damit der Nutzer des
Tisches darauf aufmerksam wird und einen Blick auf das Display wirft. Um die Simulation
nicht allzu nervig zu gestalten, wurde die Zeit des aktiven Piezolautsprechers auf 100
Millisekunden und die, in der er das LOW-Signal bekommt (sprich leise ist) auf vier Sekunden
gesetzt. So ergibt sich ein Wechsel zwischen 100 ms laut und 4s leise, der sich immer
wiederholt, solange der Normbereich nicht erreicht wird.
Abbildung 49: Programmierung der Warnmeldung
Seite 48 von 89
HTL Wien 10
4.2.
4. Programmierung
IMAMOVIC
Pulsweitenmodulation
4.2.1. Theorie zur Pulsweitenmodulation

Pulsamplitudenmodulation
Im Allgemeinen lässt sich die Energieaufnahme von Verbrauchern durch die Veränderung
der Höhe der Versorgungsspannung regulieren.
Abbildung 50: Spannung als Funktion der Zeit17
Die Fläche unter der Kurve ist dabei ein direktes Maß für die Energie die dem System
zugeführt wird. Bei geringerer Energie ist die Helligkeit der LED-Leiste geringer, bei höherer
Energie entsprechend heller. Dieses Prinzip ist sehr einfach, wurde aber jedoch durch die
Pulsweitenmodulation ersetzt, da es mit einem Mikrocontroller wesentlich einfacher ist
Pulse mit einem definiertem Puls/Pausen – Verhältnis zu erzeugen als eine Spannung zu
variieren.

Pulsweitenmodulation
Jedoch gibt es noch einen zweiten Weg, die dem System zugeführte Energie zu verändern.
Anstelle der Veränderung der Spannungshöhe, ist es möglich die volle Versorgungsspannung
über einen gewissen Zeitraum anzulegen.
18
Abbildung 51: Rechtecksignal
Beim Verfahren, das von Phillips entwickelt wurde, wird der Verbraucher (z.B. LED, Heizung
etc.) in schneller Folge ein- und ausgeschaltet. Wegen der hohen Frequenz ist das Schalten
der
LED-Leiste
für
das
menschliche
Auge
nicht
sichtbar.
Werden die Ausschaltphasen gegenüber den Leuchtphasen verlängert, erscheint das Licht,
Seite 49 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
das die LED abgibt, dunkler. Sind die Leuchtphase im Vergleich zu den Ausschaltphasen
länger, erscheint das Licht heller.
Abbildung 52: Prinzip der Pulsweitenmodulation
19
Die Abbildung 52 zeigt das zeitliche Vergrößern der Pulsbreite. In der Praxis wird die LEDLeiste mit steigender Pulsbreite mehr Licht abgeben. Die Fläche unter der Kurve ist die
abgegebene Spannung, die dem System zugeführt wird. Ein Gleichstrommotor wird
langsamer laufen, wenn er mit einer geringeren Spannung versorgt wird, und schneller
laufen, wenn er mit einer höheren Spannung versorgt wird.
LED-Leisten werden nicht mit Hilfe der Spannung gedimmt, sondern mit dem
Versorgungsstrom. Dass der Strom im Normalfall über einen Vorwiderstand auf einen
konstanten Wert gebracht wird, ist durch das Ohm’sche Gesetz dieser Strom bei konstantem
Widerstand direkt proportional zur Höher der Versorgungsspannung. Diese Spannung wird
durch eine Taktung in Summe reduziert. Die Taktung erfolgt mit ca. 490 Hertz, also 490 Takte
pro Sekunde mit PWM-Technik. Das heißt, dass die LED hundert Mal pro Sekunde ein- und
ausgeschaltet wird. Im Durchschnitt erkennt das menschliche Auge bis zu 75 Lichtwechsel
pro Sekunde.
Diese Lösung hat den Vorteil, dass die Spannung nicht geregelt werden muss, sondern der
Verbraucher immer mit derselben Spannung versorgt wird. Und genau das ist das Prinzip der
Pulsweitenmodulation. Durch die Abgabe von Pulsen wird die abgegebene Energiemenge
gesteuert.
Seite 50 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
4.2.2. Tastgrad
Der Tastgrad oder auch „duty cycle“ genannt, gibt für die periodische Folge von Impulsen
das Verhältnis von Impulsdauer zu Periodendauer an. Der Grad wird dimensionslos von 0100% angegeben.
𝑇𝑎𝑠𝑡𝑔𝑟𝑎𝑑 =
𝜏
𝑇
τ… Impulsdauer
T…Periodendauer
Durch die Veränderung des Tastgrades lässt sich der arithmetische Mittelwert der Spannung
einstellen. Diese Variation des Mittelwertes erfolgt verlustlos im Vergleich zu einer
Änderung über einen Vorwiderstand. Deswegen wird diese Methode häufig bei Regelungen
verwendet, bei denen die Spannung variiert werden muss. Zum Beispiel: Bei Heizungen oder
LED’s.
Im folgenden Abschnitt werden die Tastgrade von 1%-99% am praktischen Beispiel der LEDLeisten Ansteuerung verändert. Die Abbildungen wurden mit einem Oszilloskop erfasst und
ausgewertet. Die Frequenz der Pulsweitenmodulation beträgt 490 Hz.
a) 1% Tastgrad
Abbildung 53: 1% duty cycle
Abbildung 54: 25% duty cycle
Seite 51 von 89
HTL Wien 10
4. Programmierung
IMAMOVIC
b) 50% Tastgrad
Abbildung 55: 50% duty cycle
to…Impulsdaue
r
To…Periodendauer
Die Periodendauer beträgt ca. zwei Millisekunden und die Impulsdauer eine Millisekunde.
Daraus ergibt sich ein Tastgrad von 50% und es entsteht ein symmetrischer Puls.
c) 75% Tastgrad
Abbildung 56: 75% duty cycle
d) 99% Tastgrad
Abbildung 57: 99% duty cycle
Seite 52 von 89
HTL Wien 10
5. Lichtregelung
AVDIC
5. Lichtregelung
Ein Schwerpunkt der Diplomarbeit liegt in der Regelung. Genauer gesagt in der
Lichtregelung. Die Vorgabe ist es eine gleichmäßige Helligkeit zu ermöglichen. Diese soll
außerdem auf äußere Einflüsse reagieren wie z.B. die Helligkeit der Sonne. Falls das
einfallende Sonnenlicht stark ist, soll die Regelung die LEDs herunterdimmen, da die
Beleuchtung schon ausreichend gewährleistet ist. Ist es jedoch im Raum sehr dunkel,
beispielsweise an einem regnerischer Tag, so wird die Lichtstärke der LEDs hinaufgeregelt.
Abbildung 58: Arduino-Modul
In der Abbildung 58 ist das Arduino-Modul mit den digitalen Pulsweitemodulationspins
(PWM-Pins) dargestellt. Von diesen aus werden die LED-Leisten angesteuert.
5.1.
If-Vergleiche
Um dieses Vorhaben zu realisieren, mussten viele Methoden ausprobiert werden, um zur
richtigen Lösung zu gelangen. Der erste Regelversuch bei unserer Lichtregelung basierte auf
If-Bedingungen. Die If-Bedingung ist ein Befehl in der Programmiersprache C mit der das
Arduino-Board programmiert werden kann.
Funktion: wenn ein bestimmter Fall eintritt, geschieht etwas.
Bsp:
if (Variable > 0)
{
printf(„Variable ist größer als 0“)
}
Das obige Beispiel zeigt, dass wenn eine Variable größer als 0 ist, wird „Variable ist größer als 0“ ausgegeben
durch den Befehl printf.
Der Luxwert wird mit dem Sensor gemessen. Danach findet ein Vergleich statt. Falls der
Sensorwert in einem bestimmten Bereich liegt, sollte der Ausgang sich verändern. Abbildung
59 zeigt den Ausschnitt des Programms.
HTL Wien 10
5. Lichtregelung
AVDIC
Abbildung 59: Programmausschnitt der If-Vergleiche
In der Praxis hat das nicht gut funktioniert, da der Sensorwert etwas geschwankt hat.
Weitere Versuche wurden getätigt.
5.2.
Regelkreis
Der Wert, der auf die PWM-Pins ausgegeben wird, muss berechnet werden. Dazu wurde
eine Formel20 entwickelt.
Zuerst wird 500 Lux als Sollwert festgelegt, da in den meisten Büros oder Gebäuden 500 Lux
der vorgeschriebene Normwert ist. Danach findet ein Vergleich zwischen dem momentanen
Sensorwert und Istwert statt. Die Differenz davon wird gebildet und das Ergebnis ist die
Variable e. Der Wert, der auf den PWM-Pin des Arduinoboards ausgegeben wird, ist y. Dieser
entsteht durch eine Multiplikation eines Faktor Kp für das P-Glied mit der Variable e. Das
wäre ein P-Regler. Falls dieser nicht ausreicht, kann noch ein I-Regler hinzugefügt werden.
Dieser bildet sich aus der Multiplikation mit einem Faktor für das I-Glied, einer Abtastzeit Ta
und der Summe der Abweichungen esum.
s…Sensorwert [Lux]
e…Differenz zwischen Soll- und Istwert bzw. Abweichung vom Sollwert
Kp…Einstellwert für das P-Glied
Ki…Einstellwert für das I-Glied
Ta…Abtastzeit [ms]
esum…Ist die Summe aller bisherigen Abweichungen
y…Ausgang; dieser wird auf den PWM-Pin des Arduinoboards geschrieben und regelt die Helligkeit
der LED-Leisten
Seite 54 von 89
HTL Wien 10
5. Lichtregelung
Formel für Abweichung vom Sollwert:
Formel für Summe aller Abweichungen:
𝑒 = 500 − 𝑠
𝑒𝑠𝑢𝑚 = 𝑒𝑠𝑢𝑚 + 𝑒
Formel für P-Regler:
𝑦 = 𝐾𝑝 ∗ 𝑒
Formel für PI-Regler:
𝑦 = 𝐾𝑝 ∗ 𝑒 + 𝐾𝑖 ∗ 𝑇𝑎 ∗ 𝑒𝑠𝑢𝑚
AVDIC
Nun wurde das Ganze mit der Programmiersprache C in Arduino umgesetzt. Da auf einem
Arduino-Board maximal drei Luxsensoren betrieben werden können, mussten diese mit den
jeweiligen LED-Leisten aufgeteilt werden. Auf einem Laptop wurden Luxsensor1 und
Luxsensor2 mit den dazugehörigen Lichtleisten betrieben. Auf dem anderen Laptop wurden
die restlichen drei Sensoren mit drei LED-Leisten betrieben. Das Prinzip blieb jedoch gleich.
Abbildung 60: Regelkreis
Abbildung 60 zeigt den Regelkreis mit P(I)-Regler mit den davor beschriebenen Ein- und
Ausgangsgrößen.
Abbildung 61: Blockschaltbild der Regelung
In der Abbildung 61 wird das Prinzip der Regelung in einem Blockschaltbild grafisch
dargestellt.
Berechnung des Sensorwertes und Ausgabe auf den PWM-Pin
Abbildung 62: Berechnung im Programm
Als erstes wurde nur eine LED-Leiste mit P-Regler angesteuert. Das funktionierte, doch beim
Versuch alle fünf LED-Leisten anzusteuern, schwangen die LED-Leisten gegengleich und es
Seite 55 von 89
HTL Wien 10
5. Lichtregelung
AVDIC
sah wie ein Blinklicht aus. Auch das Verändern des Proportionalfaktors Kp führte zu keiner
Verbesserung.
Im nächsten Schritt wurde ein PI-Regler eingesetzt, da dieser nicht so schnell auf
Änderungen reagiert und besser ausregelt.
Die Abtastzeit Ta wurde wie folgt berechnet. Da die PWM-Pins vom Arduino-Board eine
Frequenz von 490Hz haben, beträgt Ta 2,04ms.
𝑇=
1
1
=
= 𝟐, 𝟎𝟒𝒎𝒔
𝑓 490𝐻𝑧
Abbildung 63: : Programmausschnitt Regelkreis
Diese Änderung im Programm dämpfte das Schwingen sichtbar, doch ein neues Problem war
das esum des I-Reglers. Die Summe aller bisherigen Abweichungen esum wurde immer
soweit heraufaddiert, dass diese zu groß wurde. Dies hatte zur Folge, dass der Ausgang y3 zu
groß wird und den Bereich von 0-255 verlässt. Das PWM-Signal kann nur Werte von 0-255
annehmen. Falls der Ausgangswert größer als 255 wird, dimmen die LED-Leisten herunter.
Nach einer gewissen Zeit nahm esum sogar negative Werte an, weil der Wert einfach zu groß
wurde.
Weitere Versuche erfolgten wieder mit einem P-Regler. Das Schwingen der LED-Leisten ließ
deuten, dass sich diese gegenseitig beeinflussen. Um herauszufinden wie stark diese
Beeinflussung ist, wurden verschiedene Lichtmessungen vorgenommen.
Seite 56 von 89
HTL Wien 10
5. Lichtregelung
IMAMOVIC
Bis das richtige Programm erstellt wurde, waren einige Ansätze notwendig. Im folgenden
Abschnitt wird der Anfang der Regelung vorgestellt. Die Programmierung, die in den
folgenden Abbildungen zu sehen ist, beschäftigt sich ausschließlich mit dem Auslesen der
Sensoren und der Regelung der LED-Leisten. Hier wurde noch mit den digitalen Luxsensoren
gemessen. Im folgenden Beispiel werden nur zwei LED-Leisten mit zwei Sensoren
angesteuert, da es sich nur um das Prinzip und die Funktionsweise der Programmierung
handelt.
Zuerst werden die Bibliotheken geladen. Im aktuellen Fall die „Wire“ für die I2C
Kommunikation und die „TSL2561“ für die Sensoren. Anschließend werden die Ein- und
Ausgänge und die Parameter, die zur Berechnung beziehungsweise Regelung notwendig
sind, definiert.
Abbildung 64: Einbinden der Bibliotheken & Definieren der Variablen
Noch vor dem Setup wird die Adressierung der digitalen Luxsensoren festgelegt. Dies ist
notwendig, damit die Sensoren ordentlich funktionieren (siehe Kapitel „Beschreibung der
einzelnen Komponenten“).
Im Setup werden dann die beiden LED-Leisten als Ausgänge definiert. Dies war auch der
Fehler bei der Programmierung. Die LED-Leisten wurden nicht definiert und das Programm
funktionierte nicht korrekt. Danach wurde der vom Hersteller vorgegebene Programmteil,
also die Berechnung des Luxwertes, eingebunden.
Abbildung 65: Berechnung des Luxwertes
HTL Wien 10
5. Lichtregelung
IMAMOVIC
Das Ergebnis der Berechnung, der digitale Wert der Lichtstärke, wird auf die Variable „x1“
geschrieben. Dasselbe wird auch mit dem zweiten Sensor „x2“ durchgeführt und daraus der
Mittelwert z gebildet. Der Mittelwert wurde mit einer Gewichtung versehen.
z = (((0.65*x1) + (0.35*x2))/2)
Der Sensor von x1 befindet sich am Rand des Tisches und wird stärker gewichtet als der
Sensor x2. Dies liegt daran, weil der Sensor am Rand weniger von den anderen LED-Leisten
beeinflusst wird, als seine benachbarte LED. Somit bildet sich der Mittelwert zu 65% aus dem
Wert von x1 und 35% von x2.
Nun zu der Regelung:
In die Regelung ist ein PI Regler integriert. Dieser wurde gewählt, da er durch das
Proportionalglied ziemlich schnell reagiert und durch das Integralglied auch relativ schön
ausregelt.
Abbildung 66: Regelung (nur Proportionalglied)
Dazu werden einige Hilfsvariablen verwendet: e1, esum1 und y1 für den ersten Block Sensor
plus LED-Leiste. Zuerst findet eine Subtraktion statt. Der Mittelwert z wird von der Zahl 500
subtrahiert. 500 deswegen, weil die gewünschte Helligkeit auf der Tischoberfläche 500 Lux
erwünscht ist. Danach wird esum1 berechnet, der Wert ergibt sich aus esum1 addiert mit e1.
Dies dient dem Hinaufzählen und gehört zum Integralglied der Regelung. Einerseits
verlangsamt sich dadurch die Regelung, andererseits ergibt sich dadurch eine minimale
Regelabweichung.
Zuletzt wird y1 berechnet. Das ist der analoge Wert (von 0-255, 0…Aus 255…volle Helligkeit),
der die Lichtstärke der LED-Leiste bestimmt. Er wird auf den Ausgang, auf dem die LED
angeschlossen ist, ausgegeben und ergibt sich, wie schon oben angeführt, aus dem
Proportionalglied und dem Integralglied. Beim Proportionalglied wird der Wert von e1 mit
dem Proportionalfaktor multipliziert, in dem Fall ein Faktor von 0,565. Und beim
Integralglied wird der Wert von esum1 mit dem Integrierfaktor und der 0,00204
multipliziert. Diese Dezimalzahl ergibt sich aus der Frequenz der Pulsweitenmodulation von
490 Hz. Dabei wird der Kehrwert genommen also 1 / 490 = 0,00204. Der Integrierfaktor
wurde anfangs auf Null gesetzt, um die Auswirkungen mit und ohne den Faktor zu sehen.
Aus diesen drei Faktoren ergibt sich das Integralglied. Anschließend wird das
Proportionalglied mit dem Integralglied addiert und ergibt die Ausgangsvariable y1.
Seite 58 von 89
HTL Wien 10
5. Lichtregelung
IMAMOVIC
Die Zahl 1 nach jeder Variable steht für den ersten Block, also Sensor 1 und LED-Leiste 1.
Dieselben Berechnungen werden dann auch für die restlichen Blöcke durchgeführt.
Abbildung 67: Analoge Ausgabe auf die LED Leisten
Wie schon oben angeführt, wird die LED-Leiste mit dem analogen Wert der
Ausgangsvariable y angesteuert. Dazu wird der Befehl „analogWrite“ verwendet.
Der nächste Schritt dient lediglich zur Optimierung der Regelung. Dabei handelt es sich um
eine Wenn- (if-) Abfrage, die lautet: Wenn der Wert von y größer ist als 255, dann wird der
Wert 255 auf die LED-Leiste ausgegeben. Das wurde so realisiert, denn wenn der Wert über
255 steigt, dann flackert die LED-Leiste, beziehungsweise sie gibt völlig unrealistische Werte
aus.
Also wurde so programmiert, dass wenn eine Pulsweite von 255 oder höher laut Sensorik
notwendig ist um den gewünschten Helligkeitswert am Tisch zu erreichen, dann soll die LEDLeiste volle Leistung abgeben. Mehr als 100% Leistung geht jedochnicht.
Abbildung 68: If-Abfrage
Seite 59 von 89
HTL Wien 10
5.3.
5. Lichtregelung
AVDIC
Lichtmessungen
Drei Messungreihen wurden durchgeführt. Bei der ersten sollte nur die mittlere LED-Leiste
bei verschiedenen Stärken leuchten. Die anderen zwei Messungen sind ähnlich verlaufen mit
dem Unterschied, dass einmal eine Leiste am Rand in Betrieb war und das andere Mal fast
am Rand. In der Abbildung 69 ist der Tisch mit der Vorrichtung und den darauf platzierten
LED-Leisten dargestellt. Die gelb gefärbten Pfeile sollen die Abstrahlung der LEDs illustrieren.
Die Zahlen über den LED-Streifen zeigen jeweils bei welcher Messung welche Lichtquelle in
Betrieb war.
Abbildung 69: Grafische Darstellung der Lichtverteilung
Abbildung 70: Grundrisse der Tischplatten
Seite 60 von 89
HTL Wien 10
5. Lichtregelung
AVDIC
Abbildung 70 soll die Position der LED-Leisten und Sensoren veranschaulichen. In der Ansicht
A ist die Platte der Vorrichtung aus der Grundansicht abgebildet und zeigt, dass der Abstand
zwischen den LED-Leisten 33cm ist. Ansicht B zeigt die Tischplatte von oben. Die Sensoren
sind in denselben Abständen wie die dazugehörigen Lichtquellen verteilt.
Bei jeder Messung wurde der jeweilige Ausgang, der die Helligkeit der LED bestimmt in 20%Schritten erhöht. Die Luxwerte aller fünf Sensoren wurden aufgenommen. Die Messwerte
bei 0% am Ausgang wurden lediglich aufgenommen um sicher zu gehen, dass alle
Luxsensoren funktionieren. Danach wurden die Abstrahlungswerte berechnet. Diese
ergaben sich aus dem Verhältnis vom Luxwert des Sensors, der direkt unter der
angesteuerten LED-Leiste war und dem Luxwert eines benachbarten Sensors.
Bei der ersten Messungen wäre es das Verhältnis von LuxS3 zu LuxS4 z.B.:
𝛼1(𝑆4) =
𝐿𝑢𝑥𝑆4 108
=
= 0,7248 = 72,48%
𝐿𝑢𝑥𝑆3 149
Das bedeutet, dass der Sensor4 72,48% von der Leiste3 beeinflusst wird. Bei den Sensoren
die unmittelbar neben der leuchtenden LED-Leiste waren, ist die Bezeichnung der
Abstrahlung α1. Die Sensoren die um eins weiter waren mit α2, um zwei weiter mit α3 und
um drei weiter α4. In der Tabelle unterhalb sind alle Messwerte mit den Rechenwerten
abgebildet.
α=Abstrahlung
S=Sensor
1
2
3
Ausgang
LuxS1 LuxS2 LuxS3 LuxS4 LuxS5
LED
in % AnalogWrite lux
lux
lux
lux
lux
0
0
5
5
5
5
5
LED-Leiste
20
51
19
40
55
41
19
3 in
40
102
32
72
102
74
33
Betrieb
60
153
45
106
149 108
46
80
204
58
138
195 141
60
100
255
71
169
241 174
73
20
40
60
80
100
51
102
153
204
255
58
107
155
203
250
20
51
10
40
102
13
60
153
17
80
204
21
100
255
25
Tabelle 1: Lichtmessungen
40
72
105
136
166
20
33
48
60
71
9
14
18
21
25
7
9
11
12
13
LED-Leiste
1 in
Betrieb
19
33
46
59
72
42
75
107
140
173
56
106
153
202
249
43
78
113
149
183
LED-Leiste
4 in
Betrieb
Seite 61 von 89
α1 (S4)
α2 (S5)
α2 (S1)
α1 (S2)
74,55%
72,55%
72,48%
72,31%
72,20%
α1 (S2)
68,97%
67,29%
67,74%
67,00%
66,40%
α1 (S5)
76,79%
73,58%
73,86%
73,76%
73,49%
34,55%
32,35%
30,87%
30,77%
30,29%
α2 (S3)
34,48%
30,84%
30,97%
29,56%
28,40%
α2 (S2)
33,93%
31,13%
30,07%
29,21%
28,92%
34,55%
31,37%
30,20%
29,74%
29,46%
α3 (S4)
15,52%
13,08%
11,61%
10,34%
10,00%
α3 (S1)
17,86%
12,26%
11,11%
10,40%
10,04%
72,73%
70,59%
71,14%
70,77%
70,12%
α4 (S5)
12,07%
8,41%
7,10%
5,91%
5,20%
α1 (S3)
75,00%
70,75%
69,93%
69,31%
69,48%
HTL Wien 10
5. Lichtregelung
AVDIC
Durchschnittsluxwerte pro Sensor bei 60% Steuersignal
120,00
100,00
80,00
60,00
40,00
20,00
0,00
S1
S2
S3
S4
S5
Abbildung 71: Durchschnittssensorwerte in Lux bei 60%-Steuersignal
Bei der Abbildung 71 kann deutlich erkannt werden, dass der Sensor S3 in der Mitte am
stärksten beleuchtet wird, was auch zu erwarten war.
Die untere Abbildung 72 stellt die gegenseitige Beeinflussung der LED-Leisten grafisch in
einem Balkendiagramm dar. Eine wichtige Feststellung war, dass die gegenseitige
Beeinflussung stärker war, als vermutet. Der Sensor, der unmittelbar neben dem direkt
angeleuchteten Sensor lag, wurde um ungefähr 70% beeinflusst. Dies sollte in der Regelung
als Faktor berücksichtigt werden.
Gegenseitige Beeinflussung der LED-Leisten
100,00%
90,00%
80,00%
70,00%
60,00%
50,00%
40,00%
30,00%
20,00%
10,00%
0,00%
S1
S2
LED-Leiste3 in Betrieb
S3
LED-Leiste1 in Betrieb
Abbildung 72: Beeinflussung der LED-Leisten bei 60%-Leistung
Seite 62 von 89
S4
LED-Leiste4 in Betrieb
S5
HTL Wien 10
5. Lichtregelung
AVDIC
Als nächstes wurden die Mittelwerte für die Abstrahlung und die Sensorwerte gebildet. Die
Werte bei 60% Steuersignal wurden für diese Berechnung Mittelwert α1 71,03%
herangezogen.
Mittelwert α2 30,53%
Mit diesen Werten sollten fünf Gleichungssysteme mit fünf
Variablen aufgestellt werden. Dies wurde auch umgesetzt.
𝑆1 = 1 ∗ 𝑙1 + 𝛼1 ∗ 𝑙2 + 𝛼2 ∗ 𝑙3 + 𝛼3 ∗ 𝑙4 + 𝛼4 ∗ 𝑙5
𝑆2 = 𝛼1 ∗ 𝑙1 + 1 ∗ 𝑙2 + 𝛼1 ∗ 𝑙3 + 𝛼2 ∗ 𝑙4 + 𝛼3 ∗ 𝑙5
𝑆3 = 𝛼2 ∗ 𝑙1 + 𝛼1 ∗ 𝑙2 + 1 ∗ 𝑙3 + 𝛼1 ∗ 𝑙4 + 𝛼2 ∗ 𝑙5
𝑆4 = 𝛼3 ∗ 𝑙1 + 𝛼2 ∗ 𝑙2 + 𝛼1 ∗ 𝑙3 + 1 ∗ 𝑙4 + 𝛼1 ∗ 𝑙5
𝑆5 = 𝛼4 ∗ 𝑙1 + 𝛼3 ∗ 𝑙2 + 𝛼2 ∗ 𝑙3 + 𝛼1 ∗ 𝑙4 + 1 ∗ 𝑙5
Mittelwert α3
Mittelwert α4
11,36%
7,10%
S1=
S2=
S3=
S4=
S5=
72,33
85,67
101,33
93,00
56,67
Tabelle 2: Mittelwerte
Die Unbekannten l1, l2, l3, l4, l5 waren die Faktoren, die bei jeder LED-Leiste berücksichtigt
werden um die gegenseitige Beeinflussung auszugleichen. Mit dem Rechenprogramm
Octave errechnete man sich die Werte. Doch diese waren unrealistisch. Die nächste
Überlegung war es, alle LED-Leisten über einen Ausgang anzusteuern. Damit die anderen
Sensoren doch noch einen Funktion haben, wurde ein Mittelwert der Sensoren gebildet, der
mit einer Gewichtung versehen wurde. Da auf einem Arduino drei Sensoren waren, wurde
der Mittelwert wie folgt berechnet.
Die Gewichtung sollte die Sensoren, die am Rand sind „bevorzugen“, da diese in geringerem
Maß beeinflusst werden als die anderen. Deshalb der Faktor 0,8 beim x5. Die Faktoren
zusammengezählt mussten 1 ergeben.
Abbildung 73: Umsetzung im Programm
Das Schwingen der LED-Leisten war minimal sichtbar. Nur wenn sich die Lichtverhältnisse
änderten, kam es zum Einschwingen, was für die Augen nicht besonders angenehm war.
Unsere weitere Überlegung war, was die Ursache des Schwingens sein könnte. Die PWMFrequenz liegt bei 490Hz. An dieser konnte es nicht liegen, da das Auge zu träge ist, um diese
zu erkennen.
Das Programm in Arduino wurde auf das Nötigste gekürzt. Alle Befehle, die nicht essentiell
waren, wurden gelöscht. So blieb nur noch die Berechnung. Eine wichtige Erkenntnis davon
war, dass die Regelung sichtbar schneller wurde als zuvor. Die Ausgaben im Programm
verlangsamten die Regelung. Doch sie war noch immer nicht schnell genug, damit das
Flackern für das Auge nicht sichtbar ist. Wenn es am Programm und an Arduino nicht liegen
konnte, blieb nur noch der Sensor. Bei diesem wurde nachgeforscht, wie schnell die Daten
gesendet werden. 101ms waren standardmäßig eingestellt. Diese wurden auf 13ms
reduziert. Die Regelung war noch schneller geworden und es schien als wäre das Problem
gelöst, doch bei sprungartiger Änderung der Lichtverhältnisse haben die LED-Leisten noch
immer sichtbar geflackert.
Seite 63 von 89
HTL Wien 10
5. Lichtregelung
AVDIC
Abbildung 74: Definition der Integrationszeit des Luxsensors im Programm
Die Luxsensoren hatten eine zu große Totzeit. Und die Regelung kann dann nur träge sein.
Deshalb wurden für die Regelung die Luxsensoren durch einfache LDRs (Photowiderstände)
ausgetauscht, da diese viel schneller reagieren und für das Regeln besser geeignet sind.
5.4.
Lichtregelung mit LDR
Als neue Sensoren wurden LDRs (Photowiderstände), die ihren Widerstand in Abhängigkeit
des Lichts verändern, integriert. Um mit diesen regeln zu können, muss ein Spannungsteiler
gebildet werden.
Abbildung 75: Schaltung für LDR
In der obigen Abbildung 75 ist der Spannungsteiler abgebildet. Zwischen den zwei
Widerstandsanteilen wird eine Leitung herausgeführt und auf einem analogen Pin auf dem
Arduino-Board angeschlossen. Von diesen gibt es insgesamt sechs Stück (A0 – A5). Dieses
Pins haben eine 10-Bit Auflösung. 210 = 1024 𝐵𝑖𝑡. Das bedeutet, dass dieser Eingang einen
Wert zwischen 0 und 1023 annehmen kann. Es ist jedoch unrealistisch, dass der Wert auf 0
kommt, da der 10k Widerstand immer vorhanden ist. Diese Schaltung wurde für alle fünf
LDRs realisiert. Nach einigen Messungen stellte man fest, dass im Bereich von 980 die
Helligkeit relativ gut und angenehm ist. Deshalb wurde dieser Wert als Sollwert für die
Regelung genommen.
Abbildung 76: Berechnung im Programm
In der Abbildung 77 sind das Arduino-Modul mit den Anschlüssen und die Fotowiderstände
in einem Schaltplan dargestellt. Außerdem erkennt man auch die Ausgänge des Arduinos
von dem aus die fünf LED-Leisten angesteuert werden.
Seite 64 von 89
HTL Wien 10
5. Lichtregelung
Abbildung 77: Schaltplan von der Regelung mit LDR
Abbildung 78: Verbindungen am Steckbrett
Abbildung 78 zeigt die Umsetzung des Schaltplans auf dem Steckbrett.
Abbildung 79: Regelkreis mit Fotowiderstand
Der neue Regelkreis mit einem Fotowiderstand (LDR) als Sensor ist in Abbildung 79 erkennbar.
Seite 65 von 89
AVDIC
HTL Wien 10
5. Lichtregelung
AVDIC
5.4.1. Praktisches Beispiel
𝑒 = 980 − 𝐿𝐷𝑅
𝑦 = 1 ∗ 𝐿𝐷𝑅
Die Variable e ist noch immer die Abweichung vom Sollwert. LDR bezeichnet den Sensorwert
des lichtabhängigen Widerstandes. Ist der Wert von LDR z.B. 950, da es im Raum hell ist, so
hat die Abweichung einen Wert von 30. Dieser Wert wird mit einem Faktor multipliziert.
Nach einigen Versuchen erschien 1 als Faktor am praktischsten. Deshalb wird ein
Ausgangssignal von 30 (0-255) auf den Ausgang y geschrieben. Die Folge daraus ist, dass die
LED-Leiste mit einer geringen Stärke leuchtet, was auch das Ziel war.
𝑒 = 980 − 950 = 30
𝑦 = 1 ∗ 30 = 30
5.4.2. Problematik des LDR-Regelkreises
Bei der Annahme, dass der LDR abgedeckt wird, sinkt der Wert auf dem analogen Eingang (01023) auf beispielsweise 420, was auch ein realistischer Wert unseren Versuchen zu Folge
ist. Die Abweichung e beträgt dann 560 und auf den Ausgang wird 560 geschrieben. Da der
Ausgang jedoch nur einen Wert von 0 -255 annehmen kann, ist der Wert 560 nicht zu
verwerten.
𝑒 = 980 − 420 = 560
𝑦 = 1 ∗ 560 = 560
Um das zu verhindern, wurde ein Datentyp der Programmiersprache C gewählt, der einen
nicht so hohen Wert hat (siehe Abbildung 80). Dem Datentyp unsigned char wird 1 Byte
Speicherplatz zugeordnet und deshalb gibt es nur Werte von 0 bis 255.
Abbildung 80: Verschiedene Datentypen der Programmiersprache C
21
Ein weiterer Bestandteil, der eingebaut wurde, ist der Wechsel zwischen automatischem und
manuellem Betrieb, siehe Abbildung 81. Beim automatischen Betrieb übernimmt der
Arduino-µC mit den LDRs das Regeln und stellt die Lichtintensität der Lichtquellen ein. Im
manuellen Betrieb kann die Helligkeit stufenlos mit einem Potentiometer eingestellt werden.
Dazu muss lediglich ein Schalter betätigt werden. Wenn dieser auf das HIGH-Signal
geschaltet wird, wechselt der Tisch in manuellen Betrieb. Ausgeschaltet wird der manuelle
Betrieb, indem der Schalter auf ein LOW-Signal geschaltet wird.
Seite 66 von 89
HTL Wien 10
5. Lichtregelung
AVDIC
Abbildung 81: Schaltung vom Wechsel Automatik - Manuell
Abbildung 82 zeigt die wesentlichen Teile des fertigen Programms und die Programmzeilen
wurden daneben näher beschrieben.
Abbildung 82: Programmausschnitt der manuellen Einstellung mittels Potentiometer
Zur Verbesserung der Lichtregelung, wurde noch eine Abfrage hinzugefügt. Falls die
Helligkeit so hoch ist, dass sie den Sollwert überschreitet, wird die jeweilige Leiste
ausgeschaltet. Durch Herumprobieren erwies sich eine Wartezeit von 5000ms oder 5s als
komfortabel. Das bedeutet, dass beim Überschreiten des Wertes 980 die Differenz e1 kleiner
Seite 67 von 89
HTL Wien 10
5. Lichtregelung
AVDIC
als 0 wird und in diesem Fall wird die LED-Leiste für 5s abgeschaltet. Fünf Sekunden wurden
gewählt, weil diese Zeit ausreicht, damit das Hinaufregeln der übrigen LED-Leisten ersichtlich
ist.
Abbildung 83: Blockschaltbild der Regelung/Steuerung
In der Abbildung 83 ist das fertige Blockschaltbild dargestellt. Der Schalter entscheidet ob das Licht
geregelt oder gesteuert wird.
Seite 68 von 89
HTL Wien 10
6. Strombedarf
IMAMOVIC
6. Strombedarf
Der gesamte Strombedarf aller LED-Leisten wird mit Hilfe eines Klappkern-Stromwandlers
erfasst. Der Stromwandler ist vor dem Netzteil angeschlossen und misst den Wechselstrom.
Die Messung läuft die ganze Zeit so lange der Hauptschalter betätigt ist.
Abbildung 84 Datenloggerbox mit Klappkernwandler
22
Vom Stromwandler führen zwei Leitungen zu der Datenloggerbox. Beim Konfigurieren der
Box können die Parameter der Erfassung eingestellt werden. Der Stromwandler nimmt
lediglich den Momentanstrom auf. Deswegen wird eine Kennlinie erstellt, in der der
Strombedarf zeitabhängig betrachtet werden kann. Auf der x-Achse ist die Zeit und der yAchse die Stromstärke in Ampere aufgetragen. Die Box ist mit einer Cloud-Plattform
verbunden. Das bedeutet, dass mit jedem Rechner die Daten der Erfassung jederzeit
angesehen werden können. Auch bei manchen Smartphones gibt es Applikationen, die den
Zugriff auf die Erfassungsdaten ermöglichen. Und falls nicht, so lassen sich am Mobiltelefon
mit Internetzugriff im Browser trotzdem die Daten aufrufen.
 Informationen zum Stromwandler:
Der Stromwandler (auch Klappkernwandler genannt) ist ein Sensor, der den Strom einer
Phase induktiv erfassen kann. In Abhängigkeit der Stromstärke erzeugt der Sensor eine
Spannung zwischen 0 und 10 Volt. Dabei entsprechen 10V dem Nennstrom des
Stromwandlers, also 10A.
Achtung:
Bei der Anbringung des Stromwandlers ins System ist darauf zu achten nur die Phase (ohne
Neutralleiter) durchzuführen, da sich sonst die Magnetfelder aufheben würden. Beim
Wandler sind auf beiden Seiten zwei Buchstaben eingraviert. Nämlich „K“ für Kraftwerk und
„L“ für Last. Deswegen sollte auf die Polung geachtet werden: Anschluss K versorgungsseitig
und L in Richtung zu den LED-Leisten.
Die Auswertung der Kennlinien erfolgt im Webbrowser. Der Momentanstromverbrauch wird
jede Minute gemessen und kann auf der Homepage von „linemetrics“ aufgerufen werden. In
den Abbildungen 85 und 86 ist auf der x-Achse die Zeit und auf der y-Achse der
Momentstrom des Wechselstromes aufgetragen.
Seite 69 von 89
HTL Wien 10
6. Strombedarf
IMAMOVIC
 Tageskurven vom Strombedarf der LED-Leisten
Einerseits ist der Sinn der Regelung die konstante Beleuchtung der Tischoberfläche.
Andererseits wird dadurch Energie gespart. Auch wenn dies relativ wenig ist, zeigen die
unten angeführten Kurven einen Unterschied. Dabei wird ein Arbeitstag von 8 bis 16 Uhr
simuliert, wie er in den meisten Unternehmen üblich ist.
o Messung an einem teilweise sonnigen Tag mit der Regelung
Abbildung 85: Strombedarf mit Regelung
Bemerkenswert hier ist, dass von 8 Uhr bis kurz vor Mittag, die Kurve leicht absinkt. Ab
diesem Zeitpunkt treten dann Spitzen nach oben oder unten auf. Dies hat zwei Gründe:
Entweder die Sonne scheint stärker und die LED-Leisten dimmen auf minimalste Helligkeit.
Oder das Sonnenlicht wird durch Wolken gedämmt und die LED-Leisten werden stärker
angesteuert.
o Messung mit voller Aussteuerung der LED-Leisten
Abbildung 86: Strombedarf bei voller Aussteuerung der LED-Leisten
Wie hier deutlich zu sehen ist, wird werden grob geschätzt 0,4A an Strom eingespart.
Natürlich ist dies nur ein Schätzwert vom Momentanwert der Stromstärker, aber dadurch
wird der Bedarf an Strom und dadurch auch an Energie reduziert.
Seite 70 von 89
HTL Wien 10
7. Bedienungsanleitung
SHADI
7. Bedienungsanleitung
7.1.
Erste Schritte
 Um den Tisch in Betrieb nehmen zu können, müssen Sie den weißen Stecker, der mit
dem Zentralsteckdosenverteiler verbunden ist, an eine Spannungsversorgung
(Steckdose) mit einer Einspeisespannung von 230V anschließen.
 Schließen Sie alle drei Stecker an den Zentralsteckdosenverteiler an.
 Betätigen Sie den Hauptschalter des Tischs.
7.2.
Funktionsbeschreibung
Der Benutzer kann zwischen zwei Modi wählen. Der erste Modus ist der voll automatische
Betrieb des Tisches. Dieser ermöglicht eine vollkommen ausgeglichene Beleuchtung Ihres
Arbeitsplatzes und eine Anzeige der Temperatur- und Luftfeuchtigkeitswerte auf ein kleines
Vierzeilendisplay. Zusätzlich wird auch eine Warnmeldung, in Form eines digitalen Tons,
ausgegeben, welche im Falle eines zu niedrigen Luftfeuchtigkeitswertes ertönt. Um diese
Betriebsform zu verwenden, stellen Sie den Regelungsschalter auf „Automatisch“. Um den
zweiten Modus zu aktivieren, stellen Sie den Regelungsschalter auf „Manuell“. Diese
Betriebsform erlaubt Ihnen die Beleuchtung manuell mit Hilfe eines Drehreglers
(Potentiometer) zu dimmen und alle anderen Funktionen des Tischs wie beim voll
automatischen Betrieb zu nützen.
Die Tischhöhe kann mit Hilfe von zwei Tastern verstellt werden.
In der folgenden Graphik kann die Lokalität der Bedienungsfelder nachvollzogen werden.
Abbildung 87:Lageplan der Bedienungsfelder in der Vorderansicht der Tischplatte
Seite 71 von 89
HTL Wien 10
8. Erweiterungsmöglichkeiten
AVDIC
8. Erweiterungsmöglichkeiten
Beim aktuellen Tisch wurde berücksichtigt, dass Erweiterungen möglich sein sollen. Schon in
der Projektplanung sind uns viele in den Sinn gekommen, doch aus zeitlichen Gründen
kamen wir nicht dazu diese zum Implementieren. Das Erweitern sollte einen nicht allzu
hohen Aufwand erfordern.
Der mechanische Ein-Ausschalter könnte durch einen Bewegungsmelder ersetzt werden.
Dieser könnte unter dem Tisch platziert werden, damit er nicht stark ins Auge fällt. Wenn
sich jemand dem Tisch nähert sollen die Lichtquellen angehen, sowie die Sensoren und das
Display. Falls sich einige Zeit lang niemand nähert, wird der Smart Desk ausgeschaltet.
Damit die Beleuchtung für jedermann tauglich ist, sollten Warmweiß- und
Kaltweißlichtquellen kombiniert werden. Die jetzigen LED-Leisten haben einen warmweißen
Farbton. Zu den vorhandenen könnte jeweils eine kaltweiße LED-Leiste montiert werden. So
kann beispielsweise jemand der in der Früh noch müde ist, den Farbton auf Kaltweiß ändern.
Außerdem könnten beide Farbtöne kombiniert werden und die Anteile manuell festgelegt
werden.
Ein wichtiger Punkt, der die Benutzerfreundlichkeit kennzeichnet, ist die Bedienung. Ein
Touchpad von dem aus alles steuerbar wäre, wäre von Vorteil für die Konsumenten. Der
Wechsel von Automatik- in Manuellbetrieb und das Einstellen der Lichtintensität wären mit
einem Fingerwischer möglich. Alle Messwerte und Vergleichswerte könnten angezeigt
werden.
Bei Überlegungen bezüglich Aufbau und Konstruktion erschien uns eine Vorrichtung aus
Plexiglas als gute Lösung. Die Nachteile waren der Aufwand und die Kosten. Doch der große
Vorteil läge im Design. Darüber hinaus würde auch mehr Licht auf die Oberfläche des Tisches
dringen, da Plexiglas mehr Licht durchlässt als Holz.
Da heutzutage fast jedes Smartphone NFC (near field communication) hat, könnte der Smart
Desk den Benutzer erkennen und die Verhältnisse an dessen Wünsche anpassen und sofort
den Tisch in der gewünschten Höhe ausrichten und die Lichtquellen mit der gewünschten
Helligkeit betreiben. Vielleicht werden eines Tages solche Tische in die Massenproduktion
gehen und in jedem Büro oder Schulgebäude vorhanden sein.
Seite 72 von 89
HTL Wien 10
9. Danksagungen
Smart_Desk
9. Danksagungen
Anfangs möchten wir uns sehr herzlich bei unseren Sponsoren bedanken.
Außerdem bedanken wir uns bei unseren betreuenden Professoren, ohne die die
Diplomarbeit nicht auf so einen hohen Stand gekommen wäre. Durch ihrer Erfahrung und
Fachkenntnisse konnten Sie uns immer auf neue Lösungswege aufmerksam machen und uns
aufs Neue motivieren.
Dipl.-Ing. Hermann FREIBERGER
OStR Dipl.-Ing. Dr. techn. Ewald GAUSTER
Des Weiteren bedanken wir uns bei unsere Jahrgangsvorständin für ihre Unterstützung bei
unserer Lichtregelung
Fr. Dipl.-Ing. Johanna ULLRICH
und bei den Fachlehrern, die uns bei praktischen Arbeiten unterstützt haben
FL Dipl. –Päd. Leopold WAYSSMAIER
FL Ludwig ZIMMEL
Außerdem sind wir unsererm Schuldirektor und unserem Abteilungsvorstand besonders
dankbar
Dir. Mag. Stefan WENKA
AV. Dipl.-Ing. Johannes DORFNER
Seite 73 von 89
HTL Wien 10
ANHANG
Smart_Desk
10. Verzeichnisse
10.1. Abbildungsverzeichnis
Abbildung 1: Einfaches Blockschaltbild der Komponenten..................................................................... 8
Abbildung 2: Arduino Beispielprogramm ................................................................................................ 9
Abbildung 3: Arduino Uno Mikrocontroller Board ................................................................................ 10
Abbildung 4: Eigenschaftes des Arduino Uno ....................................................................................... 10
Abbildung 5: Blockdiagramm ATmega328 ............................................................................................ 11
Abbildung 6: I2C Schaltungsbeispiel...................................................................................................... 14
Abbildung 7: AVR Architektur................................................................................................................ 14
Abbildung 8: Digitaler Luxsensor ........................................................................................................... 16
Abbildung 9:Fotowiderstand ................................................................................................................. 16
Abbildung 10: Empfindlichkeitskurve des Fotowiderstandes ............................................................... 18
Abbildung 11: LM317T mit Beschriftung ............................................................................................... 18
Abbildung 12: Interne Schaltung eines Längsreglers ............................................................................ 18
Abbildung 13: Wärmeersatzschaltbild .................................................................................................. 19
Abbildung 14: Tisch in der 3D-Ansicht von AutoCAD ............................................................................ 21
Abbildung 15:U-Stahlträger (Maße in cm) ............................................................................................ 22
Abbildung 16: Tisch mit Vorrichtung und LED-Leisten .......................................................................... 23
Abbildung 17: Tisch mit Vorrichtung und LED-Leisten in der 3D Ansicht von AutoCAD ....................... 24
Abbildung 18: Grundriss der Tischplatte ............................................................................................... 25
Abbildung 19: Anordnung der Komponenten in der Grundrissansicht der Gerätebox ........................ 26
Abbildung 20: Kühlungsschlitze und Anschlusslöcher in der Vorderansicht der Gerätebox ................ 26
Abbildung 21: LED-Leiste ....................................................................................................................... 28
Abbildung 22:Schaltung für Konstantstromquelle ................................................................................ 28
Abbildung 23: Diagramm aus dem Datenblatt des LM317 ................................................................... 29
Abbildung 24: Konstantstromquelle konstruiert mit EAGLE (Schaltplan-Ansicht)................................ 30
Abbildung 25: Sechs Konstantstromquellenschaltungen in der Board-Ansicht.................................... 31
Abbildung 26: Schaltung für die Konstanststromquelle mit Potentialtrennung ................................... 32
Abbildung 27: Schaltung für Konstantstromquelle mit Potentialtrennung .......................................... 33
Abbildung 28: Datenblatt des Optokoppler .......................................................................................... 33
Abbildung 29: Verbesserte Schaltung für Konstantstromquelle mit Potentialtrennung ...................... 34
Abbildung 30: Verbesserte Konstantstromquellenschaltung in der Schaltplan-Ansicht von EAGLE .... 35
Abbildung 31: Verbesserte Konstantstromquellenschaltung in der Bord-Ansicht von EAGLE ............. 36
Abbildung 32: Verbesserte Konstantstromquellenschaltung in der 3D-Anansicht von EAGLE ............ 36
Abbildung 33:Sensorplatine in der Bord-Ansicht von EAGLE ................................................................ 37
Abbildung 34: Sensorplatine in der Schaltplan-Ansicht von EAGLE ...................................................... 38
Abbildung 35: Sensorplatine in der 3D-Ansicht von EAGLE .................................................................. 38
Abbildung 36: Die von der Bord-Ansicht von EAGLE in die Bohr-Ansicht des Roboters konvertierte
Schaltung ............................................................................................................................................... 39
Abbildung 37: : Bohrerreihenfolge-Meldung ........................................................................................ 39
Abbildung 38: Schaltung Arduino mit Display ....................................................................................... 42
Abbildung 39: Einbinden der Bibliotheken............................................................................................ 42
Abbildung 40: Setup & Loop Programmierung ..................................................................................... 43
Abbildung 41: Anzeige des Displays ...................................................................................................... 43
Abbildung 42: Ausgabe im Serial Monitor............................................................................................. 44
Abbildung 43: Temperatur- und Feuchtesensor ................................................................................... 44
Abbildung 44: Schaltung Arduino, Temperatur- und Feuchtesensor & Display ................................... 45
Seite 74 von 89
HTL Wien 10
ANHANG
Smart_Desk
Abbildung 45: Programmierung für die Ausgabe am Display ............................................................... 45
Abbildung 46: Ausgabe am Display ....................................................................................................... 46
Abbildung 47: : I2C Kommunikation mit der Darstellung einzelner Bits ............................................... 46
Abbildung 48: Piezolautsprecher und Arduino ..................................................................................... 47
Abbildung 49: Programmierung der Warnmeldung.............................................................................. 48
Abbildung 50: Spannung als Funktion der Zeit...................................................................................... 49
Abbildung 51: Rechtecksignal ............................................................................................................... 49
Abbildung 52: Prinzip der Pulsweitenmodulation................................................................................. 50
Abbildung 53: 1% duty cycle ................................................................................................................. 51
Abbildung 54: 25% duty cycle ............................................................................................................... 51
Abbildung 55: 50% duty cycle ............................................................................................................... 52
Abbildung 56: 75% duty cycle ............................................................................................................... 52
Abbildung 57: 99% duty cycle ............................................................................................................... 52
Abbildung 58: Arduino-Modul ............................................................................................................... 53
Abbildung 59: Programmausschnitt der If-Vergleiche ......................................................................... 54
Abbildung 60: Regelkreis ....................................................................................................................... 55
Abbildung 61: Blockschaltbild der Regelung ......................................................................................... 55
Abbildung 62: Berechnung im Programm ............................................................................................. 55
Abbildung 63: : Programmausschnitt Regelkreis .................................................................................. 56
Abbildung 64: Einbinden der Bibliotheken & Definieren der Variablen ............................................... 57
Abbildung 65: Berechnung des Luxwertes ............................................................................................ 57
Abbildung 66: Regelung (nur Proportionalglied)................................................................................... 58
Abbildung 67: Analoge Ausgabe auf die LED Leisten ............................................................................ 59
Abbildung 68: If-Abfrage ....................................................................................................................... 59
Abbildung 69: Grafische Darstellung der Lichtverteilung ..................................................................... 60
Abbildung 70: Grundrisse der Tischplatten ........................................................................................... 60
Abbildung 71: Durchschnittssensorwerte in Lux bei 60%-Steuersignal ................................................ 62
Abbildung 72: Beeinflussung der LED-Leisten bei 60%-Leistung .......................................................... 62
Abbildung 73: Umsetzung im Programm .............................................................................................. 63
Abbildung 74: Definition der Integrationszeit des Luxsensors im Programm ....................................... 64
Abbildung 75: Schaltung für LDR ........................................................................................................... 64
Abbildung 76: Berechnung im Programm ............................................................................................. 64
Abbildung 77: Schaltplan von der Regelung mit LDR ............................................................................ 65
Abbildung 78: Verbindungen am Steckbrett ......................................................................................... 65
Abbildung 79: Regelkreis mit Fotowiderstand ...................................................................................... 65
Abbildung 80: Verschiedene Datentypen der Programmiersprache C ................................................. 66
Abbildung 81: Schaltung vom Wechsel Automatik - Manuell ............................................................... 67
Abbildung 82: Programmausschnitt der manuellen Einstellung mittels Potentiometer ...................... 67
Abbildung 83: Blockschaltbild der Regelung/Steuerung ....................................................................... 68
Abbildung 84 Datenloggerbox mit Klappkernwandler .......................................................................... 69
Abbildung 85: Strombedarf mit Regelung ............................................................................................. 70
Abbildung 86: Strombedarf bei voller Aussteuerung der LED-Leisten .................................................. 70
Abbildung 87:Lageplan der Bedienungsfelder in der Vorderansicht der Tischplatte ........................... 71
Seite 75 von 89
HTL Wien 10
ANHANG
Smart_Desk
10.2. Quellenverzeichnis
10.3. Literaturverzeichnis
1. Bartmann, E. (2011). Die elektronische Welt mit Arduino entdecken.
2. Lunze, J. (2014). Regelungstechnik 1: Systemtheoretische Grundlagen, Analyse und Entwurf
einschleifiger Regelungen.
Seite 76 von 89
HTL Wien 10
ANHANG
11. Anhang
11.1. Programmanhang
 Lichtregelungsprogramm mit Fotowiderständen (LDR)
Seite 77 von 89
Smart_Desk
HTL Wien 10
ANHANG
 I2C Scanner
#include <Wire.h>
void setup()
{
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
Seite 78 von 89
Smart_Desk
HTL Wien 10
ANHANG
Smart_Desk
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");
nDevices++;
}
else if (error==4)
{
Serial.print("Unknow error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000);
// wait 5 seconds for next scan
}
 Temperatur- und Feuchtesensor, Display und Piezolautsprecher
// Einbinden des DHT22
#include "DHT.h"
// Library für DHT Sensor aufgerufen
#define DHTPIN 9
// DHT Sensor wird aus PIN 9 ausgelesen
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);
// DHT Type wird auf DHT22 festgelegt
// DHTPIN und DHTTYE in dht22 definiert
// Einbinden des LCDs
#include <Wire.h>
// Library für I2C aufgerufen
#include <LiquidCrystal_I2C.h>
// Library für LCD aufgerufen
LiquidCrystal_I2C lcd(0x3F,16,4);
// LCD Adresse auf 0x3F gesetzt, 16 Zeichen & 4 Zeilen LCD
int speaker= 11;
void setup()
{
pinMode(speaker, OUTPUT);
Seite 79 von 89
HTL Wien 10
ANHANG
Serial.begin(9600);
Smart_Desk
// Serielle Ausgabe beginnen mit 9600baud
Serial.println("DHT22 Serielle Ausgabe"); // Begrüßung beim Aufruf vom seriellen Monitor
dht.begin();
lcd.init();
// Auslesen des DHT22 beginnt
// Initialisierung des LCD
lcd.backlight();
// LCD Hintergrundbeleuchtung aktivieren
}
void loop()
{
//int LDR1 = analogRead(A0);
delay (500);
float t = dht.readTemperature();
schreiben
float h = dht.readHumidity();
schreiben
Serial.print("Temperatur: ");
Serial.print(t);
Serial.print(" C\t");
// Die Temperatur wird vom DHT22 ausgelesen, Wert in "t"
// Die Luftfeuchte wird vom DHT22 ausgelesen, Wert in "h"
// Ausgabe im Seriellen Monitor
// Ausgabe im Seriellen Monitor
// Ausgabe im Seriellen Monitor
Serial.print("Luftfeuchte: "); // Ausgabe im Seriellen Monitor
Serial.print(h);
Serial.println(" %");
// Ausgabe im Seriellen Monitor
// Ausgabe im Seriellen Monitor
lcd.setCursor(0, 1);
// Anfang auf Stelle 0, Zeile 0 setzen
lcd.print("Temp. :");
// Temp. : auf LCD ausgeben
lcd.setCursor(9, 1);
// Anfang auf Stelle 9, Zeile 0 setzen
lcd.print(t);
lcd.setCursor(15, 1);
lcd.print("C");
lcd.setCursor(0, 2);
lcd.print("Luftf.:");
// Wert von "t" wird am Display ausgeben
// Anfang auf Stelle 15, Zeile 0 setzen
// Einheit "C" wird auf das Display ausgegeben
// Anfang auf Stelle 0, Zeile 1 setzen
// Luft.: auf LCD ausgeben
Seite 80 von 89
HTL Wien 10
ANHANG
lcd.setCursor(9, 2);
lcd.print(h);
// Anfang auf Stelle 9, Zeile 1 setzen
// Wert von "h" ausgeben am Display ausgegeben
lcd.setCursor(15, 2);
lcd.print("%");
// Anfang auf Stelle 15, Zeile 1 setzen
// Einheit "%" auf LCD ausgeben
if ( h < 35) {
lcd.setCursor(0, 3);
lcd.print("Luftbefeuchter an");
digitalWrite(speaker, HIGH);
delay(100);
digitalWrite(speaker, LOW);
delay(4000);
}
if ( t > 30){
lcd.setCursor(0, 0);
lcd.print("Klima an");
digitalWrite(speaker, HIGH);
delay(100);
digitalWrite(speaker, LOW);
delay(4000);
}
if ( t < 17) {
lcd.setCursor(0, 0);
lcd.print("Heizung an");
digitalWrite(speaker, HIGH);
delay(100);
digitalWrite(speaker, LOW);
delay(4000);
}
if ( h > 65) {
Seite 81 von 89
Smart_Desk
HTL Wien 10
ANHANG
lcd.setCursor(0, 3);
lcd.print("Lüfter an");
digitalWrite(speaker, HIGH);
delay(100);
digitalWrite(speaker, LOW);
delay(4000);
}
if ( h < 35) {
lcd.setCursor(0, 3);
lcd.print("Luftbefeuchter an");
digitalWrite(speaker, HIGH);
delay(100);
digitalWrite(speaker, LOW);
delay(4000);
}
delay(1000);
}
 Regelung mit Mittelwert (LED-Leiste1 und LED-Leiste2)
#include <TSL2561.h>
#include <Wire.h>
int LEDLeiste1 = 3;
int LEDLeiste2 = 6;
int y1
= 0;
int y2
= 0;
int e1
= 0;
int e2
= 0;
int esum1
= 0;
int esum2
= 0;
int z
= 0;
TSL2561 tsl1(TSL2561_ADDR_FLOAT);
Seite 82 von 89
Smart_Desk
HTL Wien 10
ANHANG
TSL2561 tsl2(TSL2561_ADDR_HIGH);
void setup (void)
{
Serial.begin(9600);
pinMode(LEDLeiste1, OUTPUT);
pinMode(LEDLeiste2, OUTPUT);
tsl1.setGain(TSL2561_GAIN_16X);
tsl1.setTiming(TSL2561_INTEGRATIONTIME_101MS);
tsl2.setGain(TSL2561_GAIN_16X);
tsl2.setTiming(TSL2561_INTEGRATIONTIME_101MS);
}
void loop(void) {
tsl1.setGain(TSL2561_GAIN_16X);
tsl1.setTiming(TSL2561_INTEGRATIONTIME_101MS);
uint16_t x1 = tsl1.getLuminosity(TSL2561_VISIBLE);
uint32_t lum1 = tsl1.getFullLuminosity();
uint16_t infrarot1, gesamtSpektrum1;
infrarot1 = lum1 >> 16;
gesamtSpektrum1 = lum1 & 0xFFFF;
x1=(tsl1.calculateLux(gesamtSpektrum1, infrarot1));
uint32_t lum2 = tsl2.getFullLuminosity();
uint16_t infrarot2, gesamtSpektrum2;
infrarot2 = lum2 >> 16;
gesamtSpektrum2 = lum2 & 0xFFFF;
x2=(tsl2.calculateLux(gesamtSpektrum2, infrarot2));
z = (((0.65*x1) + (x2*0.35))/2);
Seite 83 von 89
Smart_Desk
HTL Wien 10
ANHANG
e1=(500-z);
esum1=esum1+e1;
y1 = (0.565*e1+0*esum1*0.00204);
e2=(500-z);
esum2=esum2+e2;
y2 = (0.565*e2+0*esum2*0.00204);
Serial.print("Mittelwert: "); Serial.println(z);
Serial.print("AnalogWrite1: ");Serial.println(y1);
Serial.print("AnalogWrite2: ");Serial.println(y2);
analogWrite(LEDLeiste1, y1);
analogWrite(LEDLeiste2, y2);
if (y1 > 255) {
analogWrite(LEDLeiste1, 255);
}
if (y2 > 255) {
analogWrite(LEDLeiste2, 255);
}
Serial.print("Lux1: "); Serial.println(tsl1.calculateLux(gesamtSpektrum1, infrarot1));
Serial.print("Lux2: "); Serial.println(tsl2.calculateLux(gesamtSpektrum2, infrarot2));
}
Seite 84 von 89
Smart_Desk
HTL Wien 10
ANHANG
 Einfaches Programm zum Dimmen der LED-Leisten
 If-Vergleiche
Seite 85 von 89
Smart_Desk
HTL Wien 10
ANHANG
Seite 86 von 89
Smart_Desk
HTL Wien 10
ANHANG
 Lichtregelungsprogramm mit Luxsensoren
Seite 87 von 89
Smart_Desk
HTL Wien 10
ANHANG
Seite 88 von 89
Smart_Desk
HTL Wien 10
ANHANG
10.4. ACAD - Zeichnung vom Tisch
Tischmaße
Seite 89 von 89
Smart_Desk
HTL Wien 10
ANHANG
Seite 90 von 89
Smart_Desk
Herunterladen