Spaß an Technik: Elektronik & Mikrorechner Kurseinheit 11 11.10.2012 1. Elektronik Der Fototransistor Die Lichtschranke 3. Software Blinkprogramm mit Interrupt zur Wegmessung 2. Mikrorechnertechnik Interrupts 4. Anhang Daten 7-Segmentanzeige Daten Reflexlichtschranke Axel Schultze, DK4AQ, Email: dk4aq@t-online.de 1
Spaß an Technik: Elektronik Elektronik Bauteile,Theorie, Formeln... DARC, OV H08 DK4AQ, Axel Schultze 2
Der Fotortransistor Spaß an Technik: Software Fototransistoren sind Sperrschicht-Transistoren, deren Basis nicht elektrisch sondern durch Lichtstrahlung angeregt wird. Durch die losgeschlagenen Elektronen werden sofort vom Transistoreffekt um einen Faktor von ca. 100 verstärkt. Fototransistoren sind sehr empfindlich. Bedingt durch die Halbleitermaterialien liegt die spektrale Empfindlichkeit im Infrarot-Bereich. Schaltbild Fototransistor Aufbau eines Fototransistors Bauformen von Fototransistoren Quelle: http://www.rn-wissen.de Quelle: http://www.rn-wissen.de Quelle: Datenblatt Fa.Vishay Quelle: Katalog www.reichelt.de DARC, OV H08 DK4AQ, Axel Schultze 3
Die Lichtschranke Spaß an Technik: Software Lichtschranken bestehen im Bereich kurzer Abstände aus eine Leuchtdiode und einem Fototransistor als lichtempfindlichen Element. Damit das Tageslicht keinen Einfluss hat, wird häufig im Infrarotbereich gearbeitet. Als fertige Sensoren gibt zwei Arten der Lichtschranken : Gabellichtschranken und Reflektionslichtschranken Unterbrechung des Lichtstrahls Gabellichtschranke Reflexlichtschranke DARC, OV H08 DK4AQ, Axel Schultze 4
Spaß an Technik: Mikrorechnertechnik Mikrorechnertechnik Prinzipien,Strukturen, Eigenschaften... DARC, OV H08 DK4AQ, Axel Schultze 5
Spaß an Technik: Software Der Interrupt Atmega-Prozessoren sind intern mit 26 Interrupts ausgestattet. Davon sind ein großer Teil mit internen Strukturen wie Timern, AD-Wandlern usw. verbunden. Die Arduino-Software konfiguriert automatisch die meisten diese Interrupts für internen Gebrauch. Z.B. wird PWM, Servo.Betätigung, Serielle Schnittstellen u.v.m. Damit betrieben, ohne dass der Anwender etwas davon merkt. Arduino-Boards haben typischerweise mit zwei externe Interrupts verfügbar: Eingangspin Interruptnummer Die großen Boards haben weitere Pin D2: Interrupt Nr. 0 externe Interrupts verfügbar. Pin D3: Interrupt Nr. 1 Es können verschiedene Auslöse-Verhalten eingestellt werden : Attribut Auslöseverhalten LOW Interrupt wird ausgelöst solange der Pin auf 0V liegt FALLING Interrupt wird ausgelöst wenn eine fallende Flanke am Pin erkannt wird RISING Interrupt wird ausgelöst wenn eine steigende Flanke am Pin erkannt wird CHANGE Interrupt wird bei jeder Flanke ausgelöst (steigend oder fallend) DARC, OV H08 DK4AQ, Axel Schultze 6
Spaß an Technik: Software Anschluss einer Reflex-Lichtschranke an den Interrupt 0 (Pin D2) (1) DARC, OV H08 DK4AQ, Axel Schultze 7
Spaß an Technik: Software Funktion: Anschluss einer Reflex-Lichtschranke an den Interrupt 0 (Pin D2) (2) Die Leuchtdiode in der Lichtschranke wird über R1 und R2 mit Strom versorgt. Diese LEDs können maximal meist 20mA arbeiten. Die Summe von R1+R2 bestimmen den Strom durch die Leuchtdiode. R1 kann von 0...1kOhm eingestellt werden.. R2 sorgt dafür, dass der Maximalstrom nicht überschritten werden kann (Zerstörung der LED! ). Die Lichtstärke der Leuchtdiode kann so eingestellt werden. Der Fototransistor in der Lichtschranke schaltet durch die Beleuchtung zwischen Kollektor und Emitter durch und liefert so ein Rechtecksignal, was die Beleuchtung abbildet. Der Ausgang ist <1V wenn die Beleuchtung durch die LED erfolgt. Eine Unterbrechung des Lichtstroms bewirkt den Wert +5V am Ausgang. Der nachfolgende Transistor sorgt durch sein Schaltverhalten für steile Impulsflanken. Diese Funktion gilt für beide Sorten Lichtschranken. Bei der Reflexlichtschranke kann es jedoch durch mangelnden Kontrast oder nicht ausreichende Schwärzung der Markierungen zu Problemen kommen, wenn die Beleuchtung zu stark ist. Daher kann man in einem gewissen Bereich etwas erreichen indem man die Leuchtstärke der LED einstellt. Die Erkennung einer schwarzen Marke auf einem Sensorrad löst eine positive Flanke an Pin D2 aus. DARC, OV H08 DK4AQ, Axel Schultze 8
Spaß an Technik: Software Software Programmierung, Strukturen, Werkzeuge... DARC, OV H08 DK4AQ, Axel Schultze 9
Spaß an Technik: Elektronik & Mikrorechner _7segInterrupt (1) Definition der Ausgabe-Pins für die Anzeige Diese Variable wird in der Interrupt-Routine verändert! DARC, OV H08 DK4AQ, Axel Schultze 10
Spaß an Technik: Elektronik & Mikrorechner _7segInterrupt (2) Einstellen der Pins D5-D10 als Ausgabe-Pins Aktivierung des Interrupt 0 am Pin D2, Ankopplung der Interruptroutine pulse DARC, OV H08 DK4AQ, Axel Schultze 11
Spaß an Technik: Elektronik & Mikrorechner _7segInterrupt (3) Auswahl von Bitmustern aus einer Schiebewariablen und Ein- oder Ausschalten eines Anzeigesegmentes DARC, OV H08 DK4AQ, Axel Schultze 12
Spaß an Technik: Elektronik & Mikrorechner _7segInterrupt (4) Auswahl von Bitmustern aus einer Schiebewariablen und Ein- oder Ausschalten eines Anzeigesegmentes (Fortsetzung) DARC, OV H08 DK4AQ, Axel Schultze 13
Spaß an Technik: Software _7segInterrupt (5) Schieben des Bitmusters um eine Stelle nach links Wenn Schiebemuster zu weit nach links, dann Schiebemuster wieder nach rechts setzen. Wert von Einschalten auf Ausschalten setzen Reaktion im Hauptprogramm auf Änderungen durch die Interrupt-Routine! Interrupt-Routine! DARC, OV H08 DK4AQ, Axel Schultze 14
Spaß an Technik: Elektronik Anhang Datenblätter DARC, OV H08 DK4AQ, Axel Schultze 15
Anhang Warnungen zu Problemen wenn verschiedene Libraries Interrupts für verschiedene Zwecke verwenden (Die Timer hängen intern an Interrupts) http://letsmakerobots.com/node/28278 Pitfalls There exists some pitfalls you may encounter, when programming your Arduino and make use of functions or libraries that uses timers. Servo Library uses Timer1. You can t use PWM on Pin 9, 10 when you use the Servo Library on an Arduino. For Arduino Mega it is a bit more difficult. The timer needed depends on the number of servos. Each timer can handle 12 servos. For the first 12 servos timer 5 will be used (loosing PWM on Pin 44,45,46). For 24 Servos timer 5 and 1 will be used (loosing PWM on Pin 11,12,44,45,46).. For 36 servos timer 5, 1 and 3 will be used (loosing PWM on Pin 2,3,5,11,12,44,45,46).. For 48 servos all 16bit timers 5,1,3 and 4 will be used (loosing all PWM pins). Pin 11 has shared functionality PWM and MOSI. MOSI is needed for the SPI interface, You can t use PWM on Pin 11 and the SPI interface at the same time on Arduino. On the Arduino Mega the SPI pins are on different pins. tone() function uses at least timer2. You can t use PWM on Pin 3,11 when you use the tone() function an Arduino and Pin 9,10 on Arduino Mega. DARC, OV H08 DK4AQ, Axel Schultze 16
Anhang Bauelement Siebensegment-Anzeige VQE21 Gemeinsame Kathode Durchlassgleichstrom IF = 20 ma Spitzendurchlassstrom IFRM = 150 ma Durchlassgleichspannung Ufmax = 2,6 V Lichtstärke bei IF = 10 ma, IV = 230...1170 µcd Sperrgleichspannung UR = 6 V Sperrgleichstrom bei UR = 6 V, IRmax = 100 µa Rastermaß 2,54 mm Ziffernhöhe 12,7 mm Maße (BxHxT): 24,8x20x9,5 mm VQE21 von unten DARC, OV H08 DK4AQ, Axel Schultze 17
Anhang Reflektions-Lichtschranke ITR9904 DARC, OV H08 DK4AQ, Axel Schultze 18
Anhang Reflektions-Lichtschranke ITR9904 DARC, OV H08 DK4AQ, Axel Schultze 19
Ende DARC, OV H08 DK4AQ, Axel Schultze 20