Spaß an Technik: Elektronik & Mikrorechner Kurseinheit 6 06.09.2012 0. Vorstellung der Ferienprojekte der Teilnehmer 1. Elektronik Halbleiterwiderstände Lichtabhängiger Widerstand (LDR) Temperaturabhängiger Widerstand (NTC) 2. Mikrorechnertechnik Prinzip eines D/A-Wandlers Prinzip eines A/D-Wandlers Der A/D-Wandler des ATmega328 3. Software Analog-Library Programm AnalogLDR1 Programm AnalogLDR2 4. Anhang Datenblatt Temperatursensor Datenblatt Lichtsensor Axel Schultze, DK4AQ, Email: [email protected] 1 Spaß an Technik: Elektronik Elektronik Bauteile,Theorie, Formeln... DARC, OV H08 DK4AQ, Axel Schultze 2 Spaß an Technik: Elektronik Halbleiter-Widerstände Aus Halbleitermaterial lassen sich Widerstände bauen, die ihren Widerstand abhängig von physikalischen Größe verändern. Diese Widerstände eignen sich gut als Sensoren. Beispiele sind : Si Si Si + 1.Temperaturabhängige Widerstände (NTC) 2. Lichtempfindliche Widerstände (LDR) 3. Spannungsabhängige Widerstände (VDR) Widerstände 1. und 2. beruhen auf dem Prinzip, dass durch äußere Energiezufuhr (Licht, Wärme) aus einem Halbleitergitter mit schlechter Leitfähigkeit Elektronen aus ihrem festen Verbund herausgeschlagen werden und dann als freie Elektronen die Leitfähigkeit verbessern. Je mehr Energie zugeführt wird, desto besser leitet der Halbleiterwiderstand. Si Energie Si Löcherstrom DARC, OV H08 DK4AQ, Axel Schultze Si Si + Si Elektronenstrom 3 Spaß an Technik: Elektronik Bauelement Lichtabhängiger Widerstand LDR (Light Dependent Resistor) Bauformen: vergossen und offen Schaltbild Iv (Lichtstrom) 1 footcandle (fc) = 10.76391 lux 6k 2fc Quelle: Reichelt, www.reichelt.de, Perkin Elmer, A 906009 Quelle: Wikipedia VT82N1: Dunkelwiderstand: > 100kOhm Widerstand bei 2fc (~20lx): typ. 6KOhm Widerstand bei 10lx: typ.12kOhm Kurvenauswahl: 1. Suche 2fc-Wert aus Tabelle 2. Zeichne den Widerstand in die Kurve ein 3. Zeichne Kurve durch den Punkt und parallel zur Linie mit dem geringsten Abstand DARC, OV H08 DK4AQ, Axel Schultze 4 Spaß an Technik: Elektronik Bauelement Temperaturabhängiger Widerstand NTC (Temperature Dependent Coefficient)) Schaltbild NTC - ϑ (Temperatur) 35000 NTC-Widerstände werden auch als Heissleiter bezeicnet. Der Kuvenverlauf ist nichtlinear und die Fertigungstoleranz ist erheblich. Man kann für Meßzwecke selektierte Toleranzklassen bekommen. Widerstand in Ohm 30000 25000 20000 15000 10000 5000 0 -20 -10 Quelle: www.conrad.de Quelle Voelkner-Katalog www.voelkner.com Epcos Heißleiter K164 4.7 K Ω K164 Ordering Code B57164K472J 0 10 20 30 40 50 60 Temparatur in Grad Celsius 70 80 Kurve erstellt mit Tabellenkalk. aus http://www.epcos.de/web/generator/ Web/Sections/DesignSupport/Tools/ DARC, OV H08 DK4AQ, Axel Schultze 5 Spaß an Technik: Mikrorechnertechnik Mikrorechnertechnik Prinzipien,Strukturen, Eigenschaften... DARC, OV H08 DK4AQ, Axel Schultze 6 Spaß an Technik: Mikrorechnertechnik Wie funktioniert ein D/A – Wandler ? Es gibt mehrere Arten von A/D-Wndlern. Ein sehr häufig verwendeter Typ basiert auf einem D/A-Wandler. Der ist relativ einfach auch in integrierten Schaltungen realuisierbar. Über die gestrichelten Leitungen Quelle: H.Lohninger, www.vias.org/mikroelektronik/da_converter.html wird ein Binärzähler angeschlossen, der immer ab Null höchläuft. Das WiderstandsNetzwerk ist so dimensioniert, das beim Zuschalten eines Zweiges sich die Ausgangsspannung um einen der Wertigkeit des geschalteten Binärbits entsprechenden erhöht. Die Summe der Spannungen am Ausgang entspricht der Addition der Binär-Wertigkeiten der eingeschalteten Zweige. Mit dieser Anordnung wird also bei Verwendung eines Zählers treppenförmig die Spannung hochlaufen. DARC, OV H08 DK4AQ, Axel Schultze 7 Spaß an Technik: Mikrorechnertechnik Wie funktioniert ein A/D-Wandler ? Quelle: H.Lohninger, http://www.vias.org/mikroelektronik/adc_succapprox.html Zur Erlangung eines schnelleren Ergebnisses kann man anstelle des einfachen Zählers auch ein etwas komplizierteres Verfahren nutzen. Man zählt erst die hochwertigen Bits des Zählers hoch bis der Vergleicher anzeigt: „zu hoch“. Nun nimmt man 1 Bit zurück und lässt von dem Stand aus die niederwertigen Bits weiterzählen bis der Vergleicher sagt „zu hoch“ und so weiter. („Suzessive Approximation“) Wenn man einen D/A-Wandler zur Verfügung hat, so lässt sich mit Hilfe eines analogen Vergleichers leicht ein A/D-Wandler darstellen. Es wird lediglich ein analoger Vergleicher (Comparator) benötigt und ein Zähler samt Steuerung. Wenn der Zähler von Null aus hochzählt, überschreitet die Ausgangsspannung des D/AWandlers irgendwann die Eingangsspannung. Dann wird der Komparator dieses erkennen und ein digitales Ausgangssignal erzeugen. Dieses Ausgangssignal hält den Zähler an. Der Zählerstand ist dann das Eregbnis der Wandlung. DARC, OV H08 DK4AQ, Axel Schultze 8 Spaß an Technik: Mikrorechnertechnik Der A/D-Wandler der Atmega328-Controllers (1) Gesamtschaltung zur Übersicht Quelle: Datenblatt Atmega328 www.atmel.com DARC, OV H08 DK4AQ, Axel Schultze 9 Spaß an Technik: Mikrorechnertechnik Der A/D-Wandler der Atmega328-Controllers (2) Ausschnitt A/D-Wandler Digitale AusgangsWerte Zähler Zähler und Ablaufsteuerung ReferenzSpannungen D/A-Wandler Analoge Eingangsspannung Vergleicher DARC, OV H08 DK4AQ, Axel Schultze 10 Spaß an Technik: Mikrorechnertechnik Der A/D-Wandler der Atmega328-Controllers (3) Eingebauter Sensor auf dem Chip zur Temperaturmessung Digitales Auswahl-Signal Ausschnitt Multiplexer Analoges Signal zum A/D-Wandler 8 AnalogEingänge Dem Eingang des A/D-Wandlers ist ein analoger Umschalter (Mutiplexer) vorgesetzt. Dadurch lassen sich nacheinander bis zu 8 Analogeingänge an den Wandler schalten. Die Auswahl ist über ein Steuerregister im Prozessor möglich und wird bei Arduino z.B. durch die Analog-Library gesteuert. Zusätzlich ist auf dem 9. Eingang ein interner Temperatursensor vorgesehen. DARC, OV H08 DK4AQ, Axel Schultze 11 Spaß an Technik: Mikrorechnertechnik Eigenschaften des ATmega328-Wandlers DARC, OV H08 DK4AQ, Axel Schultze 12 Spaß an Technik: Software Anschluß von Widerstandssensoren an Arduino Nano Arduino kann die verfügbaren Analog-Eingänge A0 bis A7 einlesen. Die Wandler erwarten eine Spannung zwischen 0 und 5V. Dieser Wert kann falls gewünscht auf 3,3V gelegt werden (externe Verbindung der Pins REF und 3,3V). 0...Uref → 0...1023 DARC, OV H08 DK4AQ, Axel Schultze 13 Spaß an Technik: Software Der Spannungsteiler Wenn man eine Widerstandsänderung mit einem Analog/ Digitalwandler messen will, dann kann man am besten einen Spannungsteiler verwenden. Einer der Widerstände ist fest, der andere ist der veränderliche Widerstand. U=R*I Iq = UB / (R1+R2) UA= U2 = Iq * R1 UB R1 U1 Iq UA R2 U2 UA = UB * R1 / (R1 +R2) Der Spannungsteiler teilt die Eingangsspannung Im Verhältnis R2 / (R1 + R2). Wenn R2 sich also verändert und die Eingangsspannung konstant bleibt, dann ändert sich die Ausgangsspannung abhängig vom Widerstand R2 nach der beschriebenen Formel. DARC, OV H08 DK4AQ, Axel Schultze 14 Anhang: Beschaltung mit Widerständen Dimensionierung der Widerstände Die Analogeingänge des ATmega328 haben folgende Eigenschaften: Der interne Pull-Up-Widerstand Rp beträgt 20...50 kΩ. Der interne Pull-Up-Widerstand kann durch Beschreiben des Eingangs (!) mit LOW abgeschaltet werden ! Der Eingangsstrom ohne Pull-Up beträgt maximal 1 µA. Für schnelle Wandlungen beträgt Ri dynamisch nur 1 kΩ ! Der interne Pull-Up-Widerstand Ru sollte abgeschaltet sein, da er tendenziell die Linearität verändert und durch seine hohe Toleranz einen ungünstigen Einfluss hat. Arduino hält den Widerstand bei ADEingängen abgeschaltet. Bei langsamen Messungen sollte der Strom durch den Spannungsteiler ca. 10-100 mal größer sein als der max. Eingangsstrom (Leckstrom). Bei schnellen Wandlungen (Auswertung von Signalen mit der maximalen Wandlungsrate ) sollte der Strom durch den Spannungsteiler wesentlich größer sein und damit der Gesamtwiderstand des Spannungsteiles wesentlich kleiner. Durch den hohen Stromfluss besteht die Gefahr der Erwärmung des Sensors . Evtl ist hier eine aktive Verstärkung notwendig. DARC, OV H08 DK4AQ, Axel Schultze 15 Spaß an Technik: Software Software Programmierung, Strukturen, Werkzeuge... DARC, OV H08 DK4AQ, Axel Schultze 16 Spaß an Technik: Elektronik & Mikrorechner Programme AnalogLDR1: Ein Widerstandssensor in einer Spannungsteilerschaltung soll über den A/D-Wandler eingelesen werden. Überschreitet die Helligkeit eione bestimmte Schwelle soll eine LED agesteuert werden. Man beachte die Richtung der Spannungsänderung ! AnalogLDR2: Bei Erhöhung der Helligkeit soll oberhalb der ersten Schwelle erst eine grüne LED, nach überschreiten einer zweiten Schwelle zusätzlich eine gelbe LED und bei weiter zunehmender Helligkeit eine dritte rote LED eingeschaltet werden. AnalogLDR3: Bei Erhöhung der Helligkeit soll oberhalb der ersten Schwelle erst eine grüne LED eingeschaltet werden, nach Überschreiten einer zweiten Schwelle eine gelbe LED eingeschalter und die grüne LED wieder ausgeschaltet werden. Bei weiter zunehmender Helligkeit soll eine dritte rote LED eingeschaltet werden und die gelbe LED wieder ausgeschaltet werden.. DARC, OV H08 DK4AQ, Axel Schultze 17 Spaß an Technik: Elektronik & Mikrorechner Aufbauvorschlag für AnalogLDR1 DARC, OV H08 DK4AQ, Axel Schultze 18 Spaß an Technik: Elektronik & Mikrorechner Schaltung für AnalogLDR1 DARC, OV H08 DK4AQ, Axel Schultze 19 Spaß an Technik: Elektronik & Mikrorechner AnalogLDR1(1) Symbolische Konstante für A1 als Analog-Eingang Festlegung von A1 als Analog-Eingang DARC, OV H08 DK4AQ, Axel Schultze 20 Spaß an Technik: Elektronik & Mikrorechner AnalogLDR1(1) Einlesen von AnalogEingang A1 Wenn LDR dunkel, dann LED AUS (LED lietgt gegen +5V) Wenn LDR hell, dann LED EIN (LED lietgt gegen +5V) DARC, OV H08 DK4AQ, Axel Schultze 21 Spaß an Technik: Elektronik & Mikrorechner Schaltung für AnaloLDR2 und AnalogLDR3 DARC, OV H08 DK4AQ, Axel Schultze 22 Spaß an Technik: Elektronik & Mikrorechner AnalogLDR2(1) Symbolische Konstanten für LED-Pins Symbolische Konstanten für Helligkeitsschwellen Initialisieren der LED-Ausgänge DARC, OV H08 DK4AQ, Axel Schultze 23 Spaß an Technik: Elektronik & Mikrorechner LDR-Wert einlesen AnalogLDR2(2) Rote LED Ein wenn Spannungswert Kleiner ROTSCHWELLE (sehr hell) Gelbe LED Ein wenn Spannungswert Kleiner GELBSCHWELLE (mittelhell) Rote LED Ein wenn Spannungswert Kleiner ROTSCHWELLE (dunkel)) DARC, OV H08 DK4AQ, Axel Schultze 24 Spaß an Technik: Elektronik & Mikrorechner Eigene Aufgabe AnaloLDR3: Wie muss das Programm AnalogLDR2 geändert werden, wenn jeweils nur ein der drei LEDs gleichzitig brennen soll ? Ein Ersetze den LDR durch einen NTC und passe durch Beobachtung der Spannungswerte über den Serial Monitor die Schwellen so an, dass der NTC durch Handerwärmung alle 3 Stufen durchläuft. LED grün LED gelb LED rot ROTSCHWELLE GELBSCHWELLE GRUENSCHWELLE Aus Helligkeit DARC, OV H08 DK4AQ, Axel Schultze 25 Spaß an Technik: Elektronik & Mikrorechner Komplexe Bedingungen Verzweigungen und Loops werden durch Bedingungen gesteuert. If ( a == b).... If (a != b).... If (a > b).... If (a < b).... If (a >= b).... If (a <= b).... If (a & b)..... If (a | b)...... Wenn a gleich b ist dann.... Wenn a ungleich b ist dann.... Wenn a größer als b ist..... Wenn a kleiner als b ist..... Wenn a größer oder gleich b ist dann.... Wenn a kleiner oder gleich b ist dann..... Wenn das Bitmuster a verUNDet mit dem Bitmuster b gleich 0 ist dann..... Wenn das Bitmuster a verODERt mit dem Bitmuster b gleich 0 ist dann..... Es sind auch Verknüpfungen von Bedingungen möglich: If ((a >b) && (a <= c)).... If ((a == c) || (d)).... Wenn a größer als b ist UND a kleiner oder gleich c ist dann..... Wenn a gleich c ist ODER d größer als Null ist.... (z.B. Digitaleingang)... Ergebnisse von Bedingungen können wahr (1) oder falsch (0) sein. Daher werden Rechenoperationen für 1-bit-Größen verwendet : UND &&, ODER ||, NICHT !, XOR ^ Achtung! Typische Fehlerquelle, & bedeutet eine bitweise VerUNDung eines Wortes ! DARC, OV H08 DK4AQ, Axel Schultze 26 Spaß an Technik: Elektronik Anhang Datenblätter DARC, OV H08 DK4AQ, Axel Schultze 27 Spaß an Technik: Elektronik T[°C ] R nom [Ohm] R min [Ohm] R max [Ohm] T[°C ] R nom [Ohm] R min [Ohm] R max [Ohm] -25 58126 50535 65716 50 1708,8 1570 1847,6 -20 43406 38147 48665 55 1418,6 1295,4 1541,8 -15 32937 29245 36629 60 1183,9 1074,7 1293,1 -10 25217 22611 27824 65 993,4 896,53 1090,3 -5 19392 17551 21234 70 837,47 751,53 923,42 0 15040 13733 16347 75 709,2 632,91 785,5 5 11743 10815 12672 80 603,16 535,36 670,95 10 9241,1 8579,9 9902,4 85 514,54 454,3 574,79 15 7330,3 6859 7801,6 90 440,61 387,02 494,21 20 5855 5519,7 6190,4 95 379,59 331,74 427,45 25 4700 4465 4935 100 328,26 285,46 371,06 30 3776,7 3561,2 3992,2 105 284,14 245,9 322,38 35 3071,3 2876,6 3266 110 246,74 212,52 280,96 40 2512,4 2337,7 2687,2 115 214,98 184,31 245,65 45 2066,4 1910,4 2222,4 120 187,87 160,34 215,4 125 164,42 139,71 189,14 DARC, OV H08 DK4AQ, Axel Schultze EPCOS NTC 4k7 K164 Widerstand abhängig von Temperatur Quelle: http://www.ep cos.com/desi gntools/ntc/ 28 Spaß an Technik: Elektronik Epcos Heißleiter K164 4.7 K Ω K164 Ordering Code B57164K472J 35000 30000 Widerstand in Ohm 25000 20000 15000 10000 5000 0 -20 -10 0 10 20 30 40 50 60 70 Temparatur in Grad Celsius DARC, OV H08 DK4AQ, Axel Schultze 29 80 Spaß an Technik: Elektronik VT82N1: 1 footcandle (fc) = 10.76391 lux 6k 2fc DARC, OV H08 DK4AQ, Axel Schultze 30 Anhang: Beschaltung mit Widerständen Dimensionierung Widerstände Die Analogeingänge des ATmega328 haben folgende Eigenschaften: Der interne Pull-Up-Widerstand Rp beträgt 20...50kΩ. Der interne Pull-Up-Widerstand kann durch Beschreiben des Eingangs (!) mit LOW abgeschaltet werden ! Der Eingangsstrom ohne Pull-Up beträgt maximal 1µA. Für schnelle Wandlungen beträgt Ri dynamisch nur 1kΩ ! Der interne Pull-Up-Widerstand Ru sollte abgeschaltet werden, da er tendenziell die Linearität verändert und durch seine hohe Toleranz einen ungünstigen Einfluß hat. Bei langsamen Messungen sollte der Strom durch den Spannungsteilern ca. 10-100mal größer sein als der max. Eingngsstrom (Leckstrom). Bei schnellen Wandlungen (Auswertung von Signalen mit der maximalen Wandlungsrate ) sollte der Strom durch den Spannungsteile wesentlich größer sein und damit der Gesamtwiderstand des Spannungsteiles wesentlich kleiner. Durch den hohen Stromfluss besteht die Gefahr der Erwärmung des Sensors . Evtl ist hier eine aktive Verstärkung notwendig. Langsame Signalauswertung: Bei einer Spannung von UB = 5V und einem max. Eingangsstrom von 5V sollte in die Summe Ru und Rv nicht größer als ca. 50...500k sein. DARC, OV H08 DK4AQ, Axel Schultze 31 Spaß an Technik: Ferienaufgaben Empfehlenswerte Quellen zum Nachlesen Angewandte Mikroelektronik, Das vorliegende elektronische Buch "Mikroelektronik" wurde von H. Lohninger als „Unterrichtsmaterial für diverse Lehrveranstaltungen an Universitäten und Fachhochschulen entwickelt und geschrieben. Die nun der Öffentlichkeit zur Verfügung gestellte online-Version ist naturgemäß gegenüber dem eigentlichen eBook deutlich eingeschränkt, sollte aber dennoch genügend Material bieten, um den Studierenden wie auch den Lehrenden einen ausreichenden Grundstock an Lehr- und Lernunterlagen zur Verfügung zu stellen. „ Eine sehr klare gut lesbare Darstellung von Verfahren und Funktionsgruppen. Auch als eBook. Zu empfehlen ! http://www.vias.org/mikroelektronik/index.html DARC, OV H08 DK4AQ, Axel Schultze 32 Ende DARC, OV H08 DK4AQ, Axel Schultze 33