Elektronik im Arduino-TestLab    
                        

Elektronik-Labor  Mikrocontroller  PicoBasic  TestLab        




Download (Update 27.5.25): TestLab30.zip

18.6.25: Verstärker-Grundschaltungen
12.6.25:
Dioden und LEDs im TestLab 
28.5.25: 
Statische Ladungen und Felder
27.5.25: Messungen im Arduino-Testlab
26.5.25: Elektronik im Arduino-TestLab  

Der Schwerpunkt der Elektronik verschiebt sich immer weiter in die Digitaltechnik. Die analoge Schaltungstechnik gerät mehr und mehr in Vergessenheit und wird scheinbar überflüssig. Aber tatsächlich spielt sie immer noch eine große Rolle auch dann, wenn der Schwerpunkt eines Projekts im Digitalen liegt. Hier versuche ich eine Brücke zwischen analoger und digitaler Elektronik zu schlagen, denn am Ende muss man beide Bereiche kennen.

Ein übliches Elektronik-Labor ist vollgestopft mit teuren Mess- und Testgeräten. Aber hier reicht ein kleiner Mikrocontroller, der viele dieser Aufgaben übernehmen soll. Verwendet wird das Arduino-Testlabor auf der Basis eines Arduino Nano. Alternativ könnte man auch einen RPi Pico oder den preiswerten Tiny3216 verwenden. Alle Versuche werden auf einem Steckboard aufgebaut. Das Testlabor und die untersuchten Schaltungen finden Platz darauf, sodass alles schön kompakt bleibt. Die Stromversorgung übernimmt der PC über das USB-Kabel. Die gesamte Entwicklung des TestLab und der vereinfachten Programmiersprache PicoBasic findet man hier: PicoBasic

Vorbereitungen   

Die verwendete Windows-Software heißt TestLab30 und kann hier geladen werden: TestLab30.zip, Das Zip-Archiv muss zuerst entpackt werden. Das Verzeichnis TestLab30 kann an einen beliebigen Ort oder auf den Desktop gelegt werden.  



Wenn das nicht schon passiert ist, muss man zuerst die nötige Firmware in den Nano laden. Im Unterverzeichnis Firmware findet man den Arduino-Sketch PicoBasicNano23 mit PicoBasic und dem TestLab in der aktuellen Version 2.3. Der Nano ist meist ein Arduino-Clone. Deshalb muss man in den Werkzeugen ATMega328P (Old Bootloader) und zusätzlich den verwendeten COM-Port (hier COM4) wählen. Dann kann man die Firmware in den Nano hochladen.



Nach dem Start des TestLab erscheint zuerst das PicoBasic-Fenster. Hier kann man einfache Programme schreiben und starten, die für Experimente oder besondere Messungen gebraucht werden. Beim ersten Mal muss man hier den verwendeten Mikrocontroller (Nano) und die aktuelle COM (hier COM4:) auswählen. Diese Einstellungen werden in TestLab. Ini gespeichert und sind dann beim nächsten Start wieder aktiv.



Später kann man aber gleich ins TestLab wechseln und mit einfachen Experimenten beginnen. Die verschiedenen Messgeräte und Steuerungen werden nach und nach vorgestellt.

Ein Klick ins Help-Menü zeigt die verwendbaren Anschlüsse des Systems.




LED-Ansteuerung



Im ersten Versuch sollen vier LEDs angesteuert werden. Die verwendeten LEDs hatten interne Vorwiderstände von 1 kOhm. Sie waren aber trotzdem noch zu hell, deshalb haben alle zusammen noch einen gemeinsamen Widerstand von 10 k in der Leitung nach GND bekommen. Man kann aber auch LEDs ohne interne Widerstände nehmen, weil der gemeinsame Widerstand den Strom begrenzt. 10 k wurde gewählt, weil die verwendeten LEDs sehr effektiv waren. Bei manchen Typen reicht auch 1 k. Normalerweise bekommt allerdings jede LED ihren eigenen Widerstand. Der gemeinsame Widerstand führt zu einem besonderen Verhalten.
 
Als Ausgänge dienen die Ports P0 bis P3. Man kann sie sich vereinfacht wie Umschalter zwischen GND (0 V) und Vdd (+5 V) vorstellen. Sie müssen allerdings zuerst als Ausgänge geschaltet werden. Dazu dient das Kommando Pdir = 255, was alle acht Ports als Ausgänge einrichtet. Mit Pout = 1 schaltet man dann die erste LED ein. Die folgenden werden mit P = 2, P = 4 und P = 8 aktiviert. Man kann diese Zahlen auch addieren und mit Pout = 15 alle vier LEDs einschalten.



Am Ausgang P0 wird zusätzlich der analoge Eingang AD0 angeschlossen. Damit hat man eine Art Voltmeter. Im ausgeschalteten Zustand wird 0 angezeigt und im eingeschalteten Zustand 255 für Vollausschlag, d.h. 5 V. Falls kleinere Widerstände verwendet werden, kann im eingeschalteten Zustand auch etwas weniger gemessen werden, weil die Umschalter tatsächlich aus Transistoren bestehen, die selbst einen gewissen Einschaltwiderstand haben. Die Eingänge AD1 und AD3 zeigen als offene Eingänge auch irgendetwas an, was aber nur aussagt, auf welche Spannung sich diese Eingänge zufällig aufgeladen haben.



Bis jetzt wurden die Ausgänge manuell umgeschaltet. Es geht jedoch auch automatisch, wenn man ein kleines Programm dazu verwendet. Dazu schaltet man auf die PicoBasic-Programmieroberfläche um. Man kann das Programm selbst eingeben. In diesem Fall wurde jedoch das fertige Programm Count.pbas aus dem Verzeichnis Start verwendet, nur die Wartezeit in Delay ms = 250 geändert und dann mit Run gestartet. Sofort beginnen die LEDs nach einem vorgegebenen Muster zu blinken. Die Programmierung in PicoBasic ist hier nicht das zentrale Thema. Wer sich da einarbeiten will, sei auf das Thema PicoBasic verwiesen.

              REM Count
0x09FF  Pdir = 255
              L1:
0x4500  Pout = A
0x2800  A = A + 1
0x1964  Delay ms = 250
0x2001  Goto L1:

Das Programm zählt eine Variable A hoch und gibt ihren Inhalt an die acht Ausgänge aus. Wenn man die Zahlen 0 bis 15 als Binärzahlen schreibt, erkennt man, dass P0 am schnellsten blinkt, P1 halb so schnell, und jede folgende LED noch einmal halb so schnell.
0000, 0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000, 1001 usw.



Der analoge Eingang A0 im Testlab kann auch als Eingang eines einfachen Oszilloskops dienen. Die Ablenkgeschwindigkeit wurde hier auf 0,25 s/div eingestellt. Auf dem Schirm sieht man das regelmäßige Umschalten im Takt von 250 ms.Genauso kann man auch die anderen Ausgänge beobachten. Auch ein Zweikanal- und ein Dreikanal-Oszilloskop gibt es, um mehrere Ausgänge gleichzeitig zu beobachten.



Jetzt wird der Eingang AD0 an den gemeinsamen Vorwiderstand angeschlossen. Damit hat man zugleich auch eine Stromstärkemessung für den Gesamtstrom durch alle vier LEDs. Das Oszillogramm zeigt einen seltsamen Verlauf. Wenn man genau hinsieht, erkennt man fünf unterschiedliche Ströme für keine, eine, zwei, drei und vier gleichzeitig leuchtende LEDs.




Ganz grob betrachtet misst das Oszilloskop entweder null oder den halben Ausschlag, also ca. 2,5 V. Das bedeutet einen Strom von 2,5 V / 10 k = 0,25 mA. Dieser Strom teilt sich auf alle gerade leuchtenden LEDs auf. Wenn man eine einzelne LED betrachtet, sieht man eine in vier Stufen schwankende Helligkeit. Wenn man den Stromverlauf allerdings ganz genau erklären will, wird es kompliziert. Hier spielt nämlich die LED-Kennlinie mit hinein, die später noch genauer untersucht werden soll.  

Leistungstreiber

Im Bild ganz oben sieht man eine Glühlampe mit 12V/3W. So etwas kann der Mikrocontroller nicht allein schalten, dazu wird ein Leistungstreiber gebraucht. In diesem Fall wurde ein NPN-Transistor BC337 verwendet. Er kann laut Datenblatt dauerhaft 800 mA schalten und hat eine Stromverstärkung von mindestens 100. Die Lampe braucht 250 mA bei 12 V und hat einen Nennwiderstand von rund 50 Ohm. Der Kaltwiderstand ist aber etwa 10-fach kleiner, sodass man im ersten Moment des Einschaltens mit einem Strom von ca. 1 A bei 5 V rechnen muss. Im Betrieb sinkt der Strom dann auf ca. 150 mA an 5 V, was mit einem Labornetzteil festgestellt wurde. Der Basiswiderstand wurde mit 1 k festgelegt, was einen Basiswiderstand von knapp 5 mA ergibt und einen maximalen Kollektorstrom von mindestens 500 mA.



Der analoge Eingang AD0 wurde direkt mit dem Kollektor verbunden. Damit wird die Kollektor-Emitterspannung gemessen. Sie sollte bei einem idealen Schalter im eingeschalteten Zustand bei 0 V liegen. Der Transistor hat aber immer eine gewisse CE-Restspannung.



Im Oszillogramm sieht man das Einschaltverhalten des Transistors. In y-Richtung wird eine Spannung bis 5 V dargestellt, also 0,5 V pro Skalenteil. Am Anfang ist der Glühfaden noch kalt und niederohmig, sodass ein großer Kollektorstrom fließt. Man sieht eine CE-Restspannung von 1,25 V, die dann nach rund einer halben Sekunde auf 0,75 V sinkt. An der Lampe selbst sieht man ebenfalls das verzögerte Aufleuchten und ein langsames Abnehmen der Helligkeit. Beides ist auf die Wärmekapazität des Glühfadens zurückzuführen. Das schwache Durchschalten des Transistors führt zu seiner stärkeren Erwärmung.

Insgesamt ist die Helligkeit der Glühlampe gering, weil sie nur an 5 V betrieben wird und tatsächlich nur rund 4 V bekommt. Mit dem verwendeten Leistungstreiber könnte man auch 12 V anschließen, sodass sie mit voller Helligkeit blinkt. Aber Achtung! Der AD-Wandler darf nur Spannungen bis 5 V messen! Bei höherer Spannung an AD0 oder einem beliebigen anderen Pin des Controllers kann er zerstört werden. Die Verbindung AD0 - Kollektor muss also dann unbedingt entfernt werden.

Siehe auch: Taschenbuch mit genaueren Informationen zum Aufbau des Systems:



Taschenbuch: https://www.amazon.de/dp/B0F27M4NX6
Ebook: https://www.amazon.de/dp/B0F26JKYVJ
Software-Download (Update 27.5.25):  PicoBasicArduino.zip


Elektronik-Labor  Mikrocontroller  PicoBasic  TestLab