|
[ electronic 159 ] [ Seitenende ] [ zurück ] |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
electronic 159 – Programmieren 4 Der
analoge/digitale Batterie-Tester mit Bit-Anzeige Damit sich mit dem bisherigen „Python“-Programm „mini-programm_03_19.py“ auch die am Port „Pin P1“
gemessene Bitwerte anzeigen lassen, ersetzen wir im Quellprogramm als erstes
die Variable „digital_pin_p1“ durch die neue Variable „volt_pin_p1“, um auf diese Weise zum Ausdruck zu bringen, dass es sich
bei der neuen Variablen um eine solche handelt, die jetzt umgerechnete Spannungswerte bearbeitet und speichert. Dabei erfolgt das Ersetzen der bisherigen Variable „digital_pin_p1“ mittels der Funktion „Suchen
& Ersetzen“.
Da es in der Entwicklungsumgebung des „Calliope mini“ keine „Suchen
& Ersetzen“-Funktion gibt, laden wir uns das
bisherige „Python“-Programm „mini-programm_03_19.py“ in einen eigenen,
externen (Windows-) Programmier-Editor namens „Notepad++“,
führen dort die entsprechenden Änderungen mittels der Funktion „Suchen
& Ersetzen“
durch und speichern den neuen Quellkode im „Python“-Programm „mini-programm_04_01.py“ ab. Jetzt wo die Variable „digital_pin_p1“ umbenannt wurde,
steht sie wieder für das Programmieren zur Verfügung. Und zwar für das
Einlesen und die Anzeige der Bitwerte (siehe roter Kasten): (Bild vergrößern: auf
Bild klicken! Webverzeichnis
mini-programm_04_02.py) Als nächstes führen
wir mit dem Batterietester eine Spannungsmessung an einem ganz kleinen
Messwiderstand RMess durch, messen dabei
den Bitwert = 14 Bit und rechnen diesen mittels Dreisatz in den Spannungsabfall UMess wie folgt um: 1023
Bit → 3,3 V 14 Bit
→ x V x
= 3,3 V / 1023 Bei der Spannungsmessung
beträgt dabei der Motorstrom IMotor = 220 mA,
wobei es zu beachten gilt, dass dieser wegen der Reihenschaltung
auch durch den sehr kleinen Messwiderstand RMess
fließt, sodass sich dessen Widerstandswert wie folgt berechnet: RMess = UMess / IMotor
=
41 Jetzt ist es auch an der
Zeit, die Frage zu beantworten, wie man an einen solch kleinen Widerstand
gelangt! Kann man den kaufen und wenn ja, wo? Da der kleine Messwiderstand ja
auch vom großen Motorstrom IMotor = 220 mA
durchflossen wird, stellt sich noch die Frage über wie viel Leistung dieser
verfügen muss, damit er nicht durchbrennt: PMess = UMess * IMess
=
41 mV * 220 mA = 9 020 * 10-6 W = 9,020 * 103 * 10-6 W = 9,020 * 10-3
W = 9,020 mW ≈ 9 mW Zum Glück ist wegen des
sehr kleinen Spannungsabfalls UMess = 41 mV am
Messwiderstand RMess auch die Wärmeverlustleistung PMess = 9 mW sehr klein, sodass
man sich keine Sorgen machen muss, dass der Messwiderstand
eventuell durchschmoren könnte. Hier
beim Elektronik-Versender „Conrad“
aus Hirschau/Bayern kann man sich z.B. einen Messwiderstand der Größe
0,1 Ω =
100 mΩ
mit einer Verlustleistung von 1 Watt zum Preis von 4,15 € bestellen. Bei zwei
in Reihe zu
schaltenden Messwiderständen wären das dann schon 8,30 € zzgl. Versandkosten!
- Aber es geht natürlich auch
wesentlich preiswerter! Ganze 0,15595 €, also rund 16 Eurocent zzgl.
Versandkosten kostet unserer Spezial-Messwiderstand mit folgenden Nennwertangaben: U = 250 V, I = 2 A vom Typ
„F“, d.h. „flink“ für eine schnelle Reaktion im Sinne des schnellen
Durchschmelzens im Falle, dass die Stromstärke von I = 2 A überschritten
wird! Und, man höre und staune!
Der „Spezial“-Messwiderstand der Größe RMess = 186,4 mΩ (siehe
oben) befindet sich sogar in unserem Elektronik-Baukasten
„electronic 159“ und zwar in Form
einer Feinsicherung,
die sich in der Batteriehalterung [19] befindet und das
Batteriepack gegen einen Kurzschluss
absichert! Und das Schöne daran ist, dass es im Elektronik-Baukasten bis zu
zwei (Ersatz-) Sicherungen gibt, sodass wir eine davon als unseren Messwiderstand
nehmen können, den wir ja weiter oben ausführlich berechnet haben! - Jetzt, wo wir die Größe des
Messwiderstandes RMess = 0,1864 Ω (siehe oben)
kennen, können wir diesen ins obenstehende „Python“-Programm „mini-programm_04_02.py“ aufnehmen und mit diesem
den Messtrom IMess
( = ISicherung = IMotor) wie folgt berechnen: R = U / I = UMess
/ IMess → IMess = UMess / RMess
= 0,041 V / 0,1864 Ω = 0,041 Das Messen und Bestimmen
von sehr kleinen Widerständen und dessen Widerstandswerten kann sehr
schwierig sein, weil man nicht ausschließen kann, dass die kleinen
Widerstände der Messleitungen je nach Leiterquerschnitt und Länge auf dem vom
Messobjekt zum Ohmmeter in
die Messung mit einfließen und diese gegebenenfalls verfälschen. Im vorliegenden Fall kommt
erschwerend noch hinzu, dass der Gleichstrommotor [24] verhältnismäßig viel Motorstrom IMotor = 220 mA
zieht, sodass sich die beiden in Serie
geschalteten 1,5 Volt Batterien vom Typ „Mignon AA“ relativ schnell entladen
mit der unangenehmen Folge, dass sich die Batteriespannung,
der Laststrom
und damit auch der Messtrom IMess (
= ISicherung = IMotor
) durch den Messwiderstand RMess = 0,1864 Ω fortwährend
verkleinern! Deshalb wird der nicht mit konstanter Drehzahl
laufende Gleichstrommotor [24] durch die Glühlampe [18]
ersetzt. Außerdem wird das „Python“-Programm „mini-programm_04_02.py“ zum Strommessprogramm „mini-programm_04_03.py“ weiter entwickelt, indem
die indirekt zu messende und anzuzeigende Stromstärke mit der Variablen „ampere_pin_p1“
einfach aus dem kleinen Spannungsabfall
UMess = 0,041
V = 41 mV
berechnet wird: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_03.py) Bevor es daran geht, das
obenstehende „Python“-Programm
weiter zu entwickeln, geht es nachfolgend noch darum zu klären, wie denn die Hardware des „Calliope mini“,
d.h. die Anschlüsse „Masse „GND“, „Pin P1“ und „Pin P2“ mit der nachfolgenden Schaltung „schaltung_04-01.ewb“ der Elektronik-Simulation „Electronics Workbench“
verbunden werden müssen, um · den
Spannungsabfall UMess = 48,5 mV am Messwiderstand RMess = 0,1864 Ω
sowie · den
Spannungsabfall ULampe = 2,1685 V am Lastwiderstand RLampe = 8,333 Ω messen zu können. Dabei gilt es zu beachten,
dass der Spannungsabfall UR Mess = 48,5 mV am Messwiderstand
RMess = 0,1864 Ω als auch der Spannungsabfall
ULampe = 2,217 V am Lastwiderstand RLampe = 8,52 Ω gegen Masse („┴“) gemessen wurden, sodass
im Spannungsabfall der Glühlampe [18] der Spannungsabfall des Messwiderstandes
bereits enthalten ist (siehe weiter unten in der Schaltung
„schaltung_04-01.ewb“ von „Electronics Workbench“)! 1.
Demzufolge
würde die Spannungsteilerformel RMess / RLampe
= UR Mess / ULampe zu falschen Ergebnissen
führen: RLampe = RMess
/ ( = 0,1864 Ω / ( 48,5 mV / 2,1685 V
) = 0,1864 Ω / ( 0,0485 V / 2,1685 V )
= 0,1864 Ω / ( 0,0224 ) = 8,3214 Ω FALSCH! 2.
Rechnet
man den Spannungsabfall der Messspannung
UMess = 48,5 mV aus dem
Spannungsabfall der Glühlampe [18] heraus, so folgt mit der Spannungsteileformel: RLampe = RMess
/ [ = RMess / [ UR
Mess / ( 2,217
V - 0,0485 V ) ] = RMess / [ UR
Mess / ( 2,1685 V ) ] → Siehe oben! = RMess /
[ 1 / ( ( ULampe / = 0,1864 Ω /
[ 1 / ( ( 2,217 V / 0,0485
V ) - 1 )
] = 0,1864 Ω / [ 1 / ( 45,71134 - 1 ) ] = 0,1864 Ω / [ 1 / 44,71134 ] = 0,1864 Ω /
[ 0,02237 ] = 8,333 Ω Zum Vergleich: Betriebsdaten
der Glühlampe [18] UNenn = 2,5 V INenn = 0,3 A Für
die Berechnung des ohmschen Widerstandes der Glühlampe [18]
folgt dann: R =
U / I → RGlühlampe = UNenn
/ INenn = 2,5 V / 0,3 A = 8,33 Ω
Nachfolgend also die Schaltung „schaltung_04-01.ewb“
der Elektronik-Simulation
„Electronics
Workbench“ als Vorstufe zu einer kombinierten Spannungs- und
Strommessung sowohl am Messwiderstand als auch an der Glühlampe [18]: (Bild
vergrößern: auf Bild klicken! Webverzeichnis schaltung_04-01.ewb) Wie aber konnte es dazu kommen, dass wir im Punkt 1.) bei
der Spannungsteilerformel versehentlich
mit der verketteten Spannung der Glühlampe [18]
gerechnet haben? Ganz einfach:
Eine elektrische/elektronische Schaltung ist dann potentialfrei,
wenn z.B. deren Stromversorgung (= Netzteil) auf der Netzseite mit 230 V~
Netzwechselspannung des Energieversorgers galvanisch von der
Niederspannungsseite (= Brückengleichrichter, Siebkondensatoren und ggf.
Längsregler für die Spannungsregelung) getrennt ist. Üblicherweise erfolgt dabei die galvanische
Trennung durch einen Transformator
mit je einer Primärwicklung (= Spule mit vielen Windungen) auf der
230 V~
Wechselspannungsseite des Energieversorgers und einer Sekundärwicklung (=
Spule mit weniger als halb so vielen Windungen) auf der Niedervoltseite mit nachgeschalteter Gleichrichtung und ggf. Stabilisierung. Dabei bedeutet „galvanisch“, dass es zwischen der Primär- und Sekundärseite keine
elektrische Verbindung gibt. Also auch keine gemeinsame Masse („┴“)!
Beim Netztransformator sind zwar Primär- und Sekundärspule elektrisch
voneinander getrennt, aber nicht elektromagnetisch, da sich beide
Spulen in einem gemeinsamen, geschlossenen magnetischen Kreis nebst
(Wechselstrom-) Magnetfeld befinden. Das hat zur Folge, dass sich ein
Kurzschluss auf der Sekundärseite auch auf die Primärseite z.B. durch einen
größeren Strom durch die Primärspule auswirkt. Deshalb wird die Primärspule
des Transformators durch eine entsprechende Schmelzsicherung abgesichert, die
unter gar keinen Umständen geflickt, d.h. durch Silberpapier, Alufolie
oder ähnliches ersetzt werden darf! Sogenannte „Klingeltransformatoren“
sind wegen ihrer losen magnetischen Kopplung durch einen entsprechenden
Luftspalt im magnetischen Kreis kurzschlussfest! Dies ist das
besondere Merkmal, das aber gleichzeitig durch einen entsprechenden Nachteil,
nämlich dass die sekundär induzierte Wechselspannung nicht stabil ist, d.h.
bei einer größeren Belastung „in die Knie geht“, sich maßgeblich verringert,
erkauft werden. Personal-Computer (PCs), Desktop-PCs,
Mini-Tower-PCs usw. verfügen alle über ein
entsprechend dimensioniertes, teils auch großes PC-Netzteil,
das als Schaltnetzteil ausgelegt ist. Demzufolge ist der Netztransformator
ziemlich klein, da er nur für die galvanische Trennung und die
Potentialfreiheit gegenüber der Netzwechselspannung von 230 V~
zuständig ist. Die eigentliche Regelung der ausgangsseitigen Gleichspannung
zwecks Stromversorgung des Motherboards sowie
der Festplatte, des CD-ROM und/oder DVD-Laufwerks
erfolgt dann in der nachgeschalteten
Spannungsstabilisierung mittels Leistungselektronik. Die netzseitige
Stromversorgung mittels 230 V~ Wechselspannung auf der Primärseite
erfolgt über ein sogenanntes dreipoliges (Euro-) Kaltgeräte-Anschlusskabel
vom Typ „C14“. Eines der drei Litzenkabel ist für den gelbgrünen Schutzleiter
vorgesehen, um im Falle eines Kurzschlusses den Kurzschlussstrom über den
Schutzleiter zum Erdpotential hin der Schukosteckdose abzuleiten. Gleiches
gilt, falls durch einen Defekt die lebensgefährliche Netzwechselspannung von
230 V~ am
PC-Blechgehäuse anliegen sollte. Um einen lebensgefährlichen Stromschlag zu
verhindern, wird deshalb die Fremdspannung über den gelbgrünen Schutzleiter
zum Erdpotential hin abgeleitet, d.h. „vernichtet“. Sollte es wider Erwarten im
Haushalt elektrische Geräte geben, die eine kleine, teils ungefährliche
Fremdspannung (= Brummspannung,
fehlerhafte Abschirmung bei NF-Verstärkern der Stereoanlage, Fehlspannung
z.B. aufgrund nicht ausreichender Isolierung einer Herdplatte
von bis zu 80 V~) ins das Haushaltsnetz einspeisen, dann liegt diese Fehl-
oder auch Kriechspannung
mit geringer Stromstärke auch am Schutzleiter des PCs und damit auch am
PC-Gehäuse an. Feststellen lässt sich eine
Fehlspannung u.a. mittels eines Spannungsprüfers
oder durch einen kleinen Kontaktfunken, wenn man ein geerdetes Elektrogerät
oder Zusatzgerät an ein anderes anschließt. Dabei kommt es zu einer kleinen
Funkenentladung, sobald man den Stecker einsteckt. Zu Fehlspannungen kommt es
gelegentlich, wenn verschiedene NF-Verstärker und Lautsprecherverstärker an
teils unterschiedliche Phasen des
Energieversorgers bei Drehstrom
angeschlossen werden und über keine eigene, d.h. gemeinsame durchgeschleifte Erdung (= gelbgrüne
Schutzkontaktleitung) verfügen. Dies hat dann zur Folge, dass die
Mikrofon-Verstärkeranlage aufgrund der Fehlspannung quasi unter Strom steht.
Sobald der Redner oder Sänger mit dem Mund die per Drahtgeflecht abgeschirmte
Mikrofonkapsel berührt, bekommt er einen leichten, aber nicht tödlichen
Stromschlag. Gefährlich wird es aber,
wenn die Verstärkeranlage oder Teile davon bei einem Open-Air-Festival in
einer heftigen Regenschauer feucht werden oder sogar in einer kleinen
Wasserpfütze stehen. Dann vergrößert sich die Fehl- und Fremdspannung wegen
der „verbesserten“ Leitfähigkeit maßgeblich, sodass ein Stromschlag beim
Berühren der unter (Fremd-) Spannung stehenden Verstärkeranlage tödlich sein
kann.
Doch nun wieder zurück zu
den beiden Spannungsmessungen am Port „Pin P1“ (= parallel dem Messwiderstand) und „PinP2“ (=
parallel zum Lastwiderstand der Glühlampe [18]). Da wir jetzt aber die Glühlampe [18]
als Lastwiderstand verwenden und
diese mit der Batteriespannung von
zwei in Serie
geschalteten 1,5 V Batterien versorgen, messen wir den Messwiderstand in
Form der Schmelzsicherung neu aus,
indem wir über den Port „Pin P1“
den Spannungsabfall parallel zur Schmelzsicherung messen 1023 Bit → 3,3 V 33
Bit → x V x = 3,3 V / 1023 und mittels des mit einem
Multimeter gemessenen Laststromes von ILast = IMess
= 260 mA den Messwiderstand
RMess wie folgt berechnen: RMess = UMess / IMess = 97 mV / 260 mA
= 0,3731 Ω Im Vergleich zum bisher
gemessenen und berechneten Messwiderstand
RMess = 0,1864
Ω stellt sich die Frage, weshalb dieser ungefähr nur halb
so groß ist (siehe weiter oben!). Der Grund dafür ist der,
dass das zur Laststrommessung verwendete Digital-Multimeter
für die Strommessung nur drei Strommessbereiche für Gleichstrom hat,
und zwar: ·
Strommessbereich 1: → 2 mA, Strommessbereich 1.1 → 20 mA fehlt, ·
Strommessbereich 2: → 200 mA Strommessbereich 2.1: → 2 A fehlt, ·
Strommessbereich 3: → 20 A Wie man sieht, liegen die
drei Strommessbereiche zu weit auseinander, sind die Sprünge zwischen den
Messbereichen mit je dem 100-fachen Abstand zueinander eindeutig zu
groß, sodass die Messgenauigkeit leidet! Schließlich sollen
Spannungs-, Strom- oder Widerstandsmessungen stets im oberen Drittel
der Messskala
vorgenommen werden, jedenfalls bei analogen Drehspul-Messinstrumenten! Man braucht halt immer,
entsprechend dem Messbereich bzw. der Messskala, eine möglichst große Messspannung,
sodass dementsprechend auch ein möglichst großer Messtrom
entsteht. Aber es gibt natürlich noch
weitere Gründe, weshalb der bisher gemessene und berechnete Messwiderstand nur halb so groß
war als der neue berechnete. Bei der Messung und
Berechnung des bisherigen, zu kleinen Messwiderstandes kam eine Stromversorgung · mit
nur einer 1,5 Volt Batterie in der Batteriehalterung [19] zum Einsatz, · die
zudem auch noch mit UBatterie < 1 V
ziemlich „verbraucht“, d.h. entladen war und demzufolge den Laststrom von bis
zu ILast = 220 mA überhaupt nicht
zur Verfügung stellen konnte und, · dass es sich bei dem Laststrom ILast = 220 mA in Wirklichkeit um keinen
gemessenen, sondern um den zweiten Messwert aus der aufgenommenen Wertetabelle handelt. Wenn wir, wie in der
bisherigen Schaltung „schaltung_04-01.ewb“ zu
sehen ist, den Port „Pin P2“ an
der Rundbuchse „2“
des „Calliope
mini“ verwenden, um die Spannung ULampe
parallel am Lastwiderstand RLampe zu
messen, dann beinhaltet diese wegen des Masseanschlusses („┴“)
auch den kleinen Spannungsabfall UMess = 97 mV am Messwiderstand RMess,
sodass vom Port „Pin P2“
aus gegen Masse („┴“) beide
Spannungsabfälle am
Lastwiderstand RLampe und
am Messwiderstand RMess (=
Schmelzsicherung) erfasst werden (siehe weiter oben)! Wenn man aber nur den Spannungsabfall
parallel zum Lastwiderstand RLampe
haben möchte, dann muss man den kleinen Spannungsabfall
parallel zum Messwiderstand RMess
wie folgt herausrechnen: ULampe = UPin_P2 - Da der Laststrom ILast = IR Mess = ILampe überall
gleich groß ist, lässt sich nun der Lastwiderstand
RLampe gemäß dem Ohmschen Gesetz
wie folgt berechnen: RLampe = ULast / ILast = ULampe
/ IR Mess = 1,936 V / 243 mA = 1,936 V / 0,243 A = 7,9671 Ω Die ins Ohmsche Gesetz
eingesetzten Werte für die Spannung ULampe sowie den Strom IR Mess wurden alle mit dem „Python“-Prgramm „mini-programm_04_04.py“ an den Ports „Pin P1“ (= Messwiderstand) und „Pin P2“
(= Lampenwiderstadt) des „Calliope mini“ gemessen: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_04.py) Bezüglich des obenstehenden
„Python“-Programms
muss noch geklärt werden, wie der Wert
„7.9467“
ermittelt wurde und was es mit diesem auf sich hat (siehe grüner Kasten). Wir messen am Port „Pin P2“ gegen Masse die
Gesamtspannung Uges = UBatterie = ULampe
+ UR Mess und zwar in Form des Bitwertes mit der Variablen „digital_pin_p2“
von dem wir allerdings noch den Spannungsabfall am Messwiderstand UR Mess
wie folgt bitmäßig(!) subtrahieren
müssen: ·
Statement ampere_pin_p2 =
3.3 / 1023 * (digital_pin_p2 - digital_pin_p1) Durch die Umrechnung liegt
der Variableninhalt der Variablen „ampere_pin_p2“ bereits als Wert der Stromstärke
vor, sodass wir mittels des Ohmschen Gesetzes ILampe
= ULampe / RLampe
den Lampenwiderstand (= Lastwiderstand) wie folgt berechnen können: ·
Statement ampere_pin_p2 = ampere_pin_p2 / 7.9467 # Ohm; Glühlampe,
2 * 1,5 V Batterien Dabei handelt es bei der Variablen „ampere_pin_p2“
und deren Inhalt bereits um den Wert
des Spannungsabfalls an
der Glühlampe
[18] und bei dem Wert „7.9467“ [Ω] um
den ohmschen
Widerstand der Glühlampe RLampe. Bildet man von beiden
Werten den Quotienten „ampere_pin_p2 / 7.9467“, so erhält man gemäß dem Ohmschen
Gesetz ILampe = ULampe
/ RLampe bereits als Ergebnis die Stromstärke des Lampenstromes ILampe = 0,243 A. Wegen der besseren
Lesbarkeit in der Laufschrift, wird die Stromstärke
des Lampenstromes ILampe = 0,243 A
noch in Milliampere [mA] umgerechnet: ILampe = 243 mA
(siehe grüner
Kasten oben). Bei der Berechnung des
Skalierungsfaktors in Form des Lastwiderstandes
RLampe = 7.9467 Ω … 7.9625 Ω lässt sich beobachten und feststellen, · dass kleine Spannungsänderungen am kleinen Messwiderstand RMess zu großen Laststromänderungen ∆ILampe führen und · dass große Spannungsänderungen am größeren Lampenwiderstand RLampe zu kleinen Laststromänderungen ∆ILampe führen. (Zum Vergrößern bitte auf das Bild klicken!) Und da
beide Widerstände als Spannungsteiler in Reihe geschaltet sind, beeinflussen sich diese fortwährend
wechselseitig. Dabei lassen sich beide Widerstände auch als Balkenwaage mit sehr unterschiedlichen Balkenlängen links und
rechts der Drehachse und sehr unterschiedlichen Hebelarmkräften vergleichen. Demzufolge
ist die Balkenlänge des Lampenwiderstandes RLampe
um ein Vielfaches länger und gegenüber Änderungen der eingeleiteten Kraft
sensibler als die kurze Balkenlänge des Messwiderstandes RMess,
sodass der Lampenwiderstand RLampe mit
der vielfachen Balkenlänge über einen sehr großen Hebelarm nebst
Hebelarmkräften verfügt: (Zum Vergrößern bitte auf das Bild klicken!) Wie man
anhand der nachfolgenden Tabelle sieht, ist das Ermitteln des richtigen Skalierungsfaktors
in Form des Lastwiderstandes RLampe = 7,9467 Ω … 7,9625
Ω sehr mühselig und zeitaufwendig, sodass
es sich anbietet, die Skalierung zwischen dem Messwiderstand RMess und dem Lastwiderstand RLast der Glühlampe [18] zukünftig
automatisch, d.h. programmgesteuert, vorzunehmen (siehe weiter oben grüner Kasten im Programmkode):
Um das Auftreten der Kettenspannung ULampe
gegen Masse („┴“) mit ULampe = UPin_P2 - in der Schaltung „schaltung_04-01.ewb“ zu vermeiden, muss man den
Masseanschluss („┴“) wie folgt auf den Mittelpunkt des Spannungsteilers legen: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
schaltung_04-02.ewb) Wie man in der
obenstehenden Schaltung sieht, liegt der Masseanschluss
(„┴“) jetzt auf dem Mittelpunkt des Spannungsteilers, sodass es aus der Sicht des Ports „Pin Pin P2“ keine
Kettenspannung
mehr gibt, weil die beiden Teilspannungen
ULampe und UR Mess
einander entgegengesetzt gepolt sind: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
schaltung_04-02.ewb) Obwohl man den Port „Pin GND“, d.h. den Minuspol
des „Calliope
mini“ elektrotechnisch und potentialmäßig
sehr wohl auf Masse („┴“) legen kann, stört das die Eingänge der A/D-Wandler an
den Ports „Pin P1“
oder „Pin P2“ in
keinster Weise mit der Folge, dass wir am Eingang des A/D-Wandlers am
Port „Pin P1“ wider Erwarten keine
analoge Spannung mehr messen können und demzufolge auch keinen Bitwert
mehr als Ergebnis der A/D-Umwandlung mehr angezeigt bekommen! Was aber ist der Grund
dafür, dass der A/D-Wandler am Port „Pin P1“ nicht mehr funktioniert, während der A/D-Wandler am
Port „Pin P2“ sehr wohl (noch)
funktioniert? Wenn man sich die beiden
blauen
Spannungspfeile in der obenstehenden Schaltung anschaut, dann fällt auf,
wie bereits erwähnt, dass beide Spannungspfeile und damit auch die Spannungen entgegengesetzt
gepolt sind. Der Knackpunkt dabei ist aber der, dass wir es waren,
die die Masse („┴“) auf die Mittelanzapfung
des Spannungsteilers RLampe
und RMess gelegt haben, während sich
gleichzeitig die Eingänge Port „Pin P1“
und „Pin P2“
der A/D-Wandler des „Calliope mini“ nicht daran stören bzw. im
Falle des Port „Pin P1“
sogar die Zusammenarbeit verweigern! Der Grund dafür ist ein
ganz einfacher, nämlich der, dass
die Eingänge Port „Pin P1“ und „Pin P2“ der A/D-Wandler
des „Calliope mini“ stets nur analoge (Eingangs-) Spannungen in einen
digitalen Bitwert umwandeln, wenn die Eingänge
Port „Pin P1“ und „Pin P2“ auf positivem Potential („+“) liegen! Und, diese Bedingung ist
bei der obenstehenden Schaltung „schaltung_04-02.ewb“
nur für den Eingang am Port „Pin P2“
erfüllt, nicht aber für den Port
„Pin P1“
(siehe entgegengesetzt gerichteter blauer Spannungspfeil)! Jetzt sind wir zwar
schlauer und auch sensibler bezüglich der richtungsabhängigen Spannungsbepfeilung,
aber zugleich auch etwas ratlos, da die Eingänge an den Ports „Pin P1“ und „Pin P2“ nur funktionieren,
wenn diese auf positivem Potential
(„+“) liegen: UPin P1, P2 ≥ 0 V Was wir also bräuchten wäre
ein sogenannter Inverter. In der Digitaltechnik gibt es (digitale) Inverter
und zwar in Form eines sogenannten „NICHT“-Gatters. Wir brauchen aber keinen
digitalen, sondern einen analogen Inverter! Wie man anhand des
Schaltsymbols gemäß „US ANSI 91-1984“-Norm sieht, (Zum
Vergrößern bitte auf das Bild klicken! Quelle: Wikipedia) besteht der digitale
Inverter hardwaremäßig aus einem sogenannten Operationsverstärker
(siehe „Dreieck“), dem ein invertierender, analoger Wandler (siehe kleiner
„Kreis“) nachgeschaltet ist. In Wirklichkeit lässt sich aber der
Operationsverstärker (OPV) von vorn herein von außen so beschalten, dass der Ausgang „out“ ein invertiertes,
analoges Ausgangssignal, d.h. mit umgekehrter Polarität
gegenüber Masse („┴“) liefert. Dazu braucht der
OPV aber zwei Versorgungsspannungen mit je einer „+5 Volt“- und einer
„-5 Volt“-Versorgungsspannung. Aber da wir in dem Elektronik-Baukasten „electronic
159“, der ja für Anfänger und Einsteiger in die
Elektrotechnik/Elektronik ab 8 Jahren gedacht ist, keinen OPV haben, müssen
wir uns etwas anderes einfallen lassen! Beispielsweise könnten wir
einen sogenannten „Brückengleichrichter“
verwenden, der normalerweise dafür gedacht ist, um eine Wechselspannung („~“)
mittels seiner vier (Gleichrichter-) Dioden (=
Halbleiter)
in eine pulsierende Gleichspannung
(„=“) umzuwandeln. Zwar gibt es im
Elektronik-Baukasten „electronic 159“ eine
spezielle Diode, nämlich die rote Leuchtdiode [17], die zwar rot leuchtet, aber wegen des dazu
erforderlichen Vorwiderstandes (siehe Rückseite) nur Ströme von z.B. ILED,
rot = 20 mA durchlässt. Da aber der (Gleichstrom-) Motor [24] oder die
(Glüh-) Lampe [18] einen Nennstrom vom mehr als dem Zehnfachen aufnehmen,
scheidet die Möglichkeit eines Brückengleichrichters, der aus vier roten
Leuchtdioden (LEDs) besteht, von vornherein aus.
Demzufolge bräuchten wir also tatsächlich vier Dioden, die sich für den
Gleichrichterbetrieb eignen oder noch besser einen entsprechenden
Gleichrichter, in dem intern vier Gleichrichterdioden verbaut sind. Das Problem beim
Brückengleichrichter, der intern aus 2 x 2 Gleichrichterdioden besteht, wäre
aber, dass dieser erst aber einer eingangsseitigen Spannung von mehr als 2 x
0,7 V Durchlassspannung einer einzelnen Diode, insgesamt also größer 1,4 V,
arbeiten würde. Zur Erinnerung: die Eingangsspannung des analogen
A/D-Wandlers am Port „Pin P1“ des „Calliope mini“ beträgt gerade mal UPin P1 = 90 mV, d.h. neunzig
Tausendstel (= „Milli“ = 0,001 = 10-3)
Volt! Wir müssen uns also noch
etwas Drittes als Lösung des Problems „Falsche Polarität am
A/D-Wandler Port ‚Pin P1’“ einfallen lassen! Wie wäre es z.B., wenn wir
uns einen Spannungs-Inverter selbst bauen bzw. programmieren,
indem wir den die Spannung bzw. den Spannungsabfall ganz einfach zwischen
den beiden Ports „Pin P1“ und
„Pin P2“
messen und dabei die Masse („┴“) des Ports „Pin GND“ einfach weglassen?! Doch bevor wir loslegen,
sollten wir uns noch überlegen, welche Spannung bzw. welchen Spannungsabfall
wir zwischen den beiden Ports
„Pin P1“ und
„Pin P2“
messen wollen bzw. sollten. Sollten wir den Spannungsabfall parallel zur (Glüh‑) Lampe [18]
oder besser zum Messwiderstand (= Schmelzsicherung) messen? Prinzipiell sollte es am
analogen Eingang des Inverters, d.h. zwischen den beiden Ports „Pin P1“ und „Pin P2“
eine möglichst große Eingangsspannung geben, sodass sich der
Bitbereich von [ 0 … 1023 ] mit 1024 verschiedenen
Bitwerten voll ausschöpfen lässt. Und, da wir eine Eingangsspannung in Form
des anliegenden Spannungsabfalls erfassen, sollten wir den Spannungsabfall an
der (Glüh‑)
Lampe [18] messen, da deren Lastwiderstand
RLampe um ein Vielfaches größer
ist als der Messwiderstand RMess
für die Strommessung: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
schaltung_04-03.ewb) Wir führen gleich eine Spannungsmessung parallel
zum Lastwiderstand RLampe
durch, indem wir den Spannungsabfall, wie in der obenstehenden Schaltung zu
sehen, an die beiden Ports „Pin P1“ und
„Pin P2“
des „Calliope
mini“ heranführen. Dabei messen wir mit dem
neuen „Python“-Programm „mini-programm_04_05.py“ (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_05.py) Wie exakt der Spannungsabfall ULampe in
Form der anliegenden Eingangsspannung an den beiden Ports „Pin P1“ und „Pin P2“
des „Calliope
mini“ gemessen wird, wird anhand der nachfolgenden Berechnung
deutlich: ULampe = 3,3 V / 1023 Bit * [ 1023 Bit - ( Bitwert Pin P2 -
Bitwert Pin P1 ) ] = 3,3 V
/ 1023 Bit * [ 1023 Bit - Bitwert Pin P2 + Bitwert Pin P1 ] = 3,3 V /
1023 Bit * [ 1023 Bit - 639 Bit + 318 Bit ] = 3,3 V / 1023 =
3,3 V / 1023 * 703 = 2,2677 V ≈ 2,29 V → Messfehler gegenüber Multimeter-Anzeige
von 2,03 V ≈ +12,8 % Dass wir unsere Messspannung,
d.h. den Spannungsabfall an der Glühlampe [18]
als Lastwiderstand, jetzt als Differenzspannung ∆UMess = UPort
P2 - UPort P1 ohne
Masseanschluss („┴“) messen, ist schon eine
feine Sache, da wir es demzufolge beim Spannungsabfall an der Glühlampe nicht
mehr mit einer Kettenspannung zu tun haben und uns über den Masseanschluss („┴“) des „Calliope mini“ keine
Gedanken mehr machen müssen, d.h. diesen nicht mehr anschließen
müssen! Insgesamt kann man sagen,
dass wir wegen der Differenzspannung ∆UMess = UPort
P2 - UPort P1 ohne
Massean-schluss („┴“) quasi das Steigungsdreieck
der Widerstandsgeraden
der Glühlampe als Lastwiderstand nebst Zwei-Punkte-Form anwenden, sodass eine eventuell in der Schaltung
vorhandene Konstantstromquelle I0
mit I0 ≠ 0 die für die Parallelverschiebung der
Widerstandsgeraden aus dem Ursprung des Koordinatenkreuzes heraus
verantwortlich wäre, folgenlos bleibt und nicht zu falschen
Messergebnissen führt: (Zum
Vergrößern bitte auf das Bild klicken!) Um herauszufinden, ob sich
unser neues Digitalvoltmeter auch universell verwenden lässt,
entfernen wir den bisherigen Messwiderstand
RMess ohne den Port „Pin P1“ selbst auf null Volt, d.h.
auf Masse („┴“) des Ports „Pin „GND“ zu legen, sodass wir ab sofort den Spannungsabfall ∆UPin 1, 2 am
Lastwiderstand RLampe
völlig potentialfrei messen! Wenn wir dann außerdem in
der obenstehenden Schaltung die Konstantstromquelle
mit dem Konstantstrom I0 entfernen,
dann bedeutet dies praktisch, dass sich das Steigungsdreieck parallel
nach unten verschiebt, aber eben nicht zwangsläufig bis in den Koordinatenursprung: (Zum
Vergrößern bitte auf das Bild klicken!)
Was aber bedeutet dies
praktisch? Praktisch bedeutet dies,
dass die Schaltung mit den beiden 1,5 Volt in Serie geschalteten Batterien in der Batteriehalterung [19]
zusammen mit der in Reihe
geschalteten Glühlampe [18] ihr eigenes Massepotential mit null Volt hat, nämlich aufgrund unserer
persönlichen, individuellen, d.h. auch willkürlichen Festlegung! Dabei
macht es aber aus der Sicht der Elektrotechnik absolut Sinn, dass wir die Masse entsprechend der Schaltung
festlegen!
Doch zurück zur Schaltung
mit dem Spannungsteiler,
bestehend aus den beiden Widerständen RLampe
und RMess und dem „Python“-Programm „mini-programm_04_05.py“.
Im Zusammenhang mit der Masse („┴“) und dem positiven oder
negativen Massepotential werfen
wir noch einen Blick in die Vergangenheit, in die Historie der Elektrizität
und deren Entwicklung. Und zwar zu der Zeit, wo die Straßenbahnen noch von
Pferden gezogen wurden. Das war am 26. November 1832 als in New York die
erste Pferdebahn
eröffnet wurde. Wenn man wissen wollte, wo die Pferdebahn fuhr und welche
Strecke sie befuhr, dann musste man nur der Spur der Pferdeäpfel zwischen den
Gleisen folgen. Kritische Zeitgeister befürchteten dann auch, dass New York
mit dem wachsenden Streckennetz der Pferdebahnen eines Tages im Pferdemist
ersticken würde. Doch bevor es dazu kam, wurde die Pferdebahn im Mai 1881,
also rund 50 Jahre später, von der elektrisch betriebenen Straßenbahn
abgelöst. Und zwar in Lichterfelde in Berlin. Dabei fuhren die von Werner von
Siemens gebauten Wagen auf einer 2,5 km langen
Strecke mit einer Geschwindigkeit von maximal 20 km/h, wobei die
Stromversorgung des 3,7 kW (5 PS) starken Motors über beide
Fahrschienen, die als Hin- und Rückleiter dienten, erfolgte. Wegen der 180 V
Gleichspannung wurden die Gleise über eine vom übrigen Verkehr getrennte
Trasse geführt, wobei das Betreten der Gleise verboten war. Zwecks Isolation
der beiden Leiter wurden Holzschwellen verwendet. Ob und falls ja, welche der
beiden Stromschienen dabei als Masse („┴“)
herangezogen wurde, ist nicht bekannt. >> Am
15. Mai 1881 fanden erste Fahrten für den Publikumsverkehr statt. Der
Andrang war vormittags noch mäßig, stieg aber zum Nachmittag hin an, sodass
der einzige Triebwagen mehrfach voll belegt war. „Dabei ward von den
Zurückgebliebenen vielfach die Gelegenheit benutzt, um sich durch Betasten der
beiden Schienen mit nassen Fingerspitzen gratis elektrisieren zu lassen. Auch
eine neue Errungenschaft der Verkehrsmethode.“[10] Der fahrplanmäßige
Verkehr auf der Elektrischen Eisenbahn in Lichterfelde, wie die Bahn
seinerzeit genannt wurde, begann am Folgetag. Der Abschnitt vom Bahnhof bis
zur Wilhelmstraße war zu diesem Zeitpunkt noch nicht in Betrieb. In den
ersten Tagen nach der Eröffnung kam es zu einzelnen Vorfällen, bei denen
Pferde die Leitungen durch gleichzeitiges Betreten beider Schienenköpfe
überbrückten und mehr oder weniger heftige Schläge erlitten.[11] Um
dem zu begegnen, wurden an den Wegeübergängen isolierte Schienenstücke
eingebaut und die Leitungen unterirdisch miteinander verbunden. Der Wagen
befuhr die Übergänge mit Schwung. Später
wurden Schütze installiert, die beim Befahren der
Übergänge eingeschaltet wurden, sodass die besagten Gleisabschnitte
kurzzeitig unter Spannung standen.[3] << (Quelle: Wikipedia) 1890 wurde dann die
Stromversorgung mittels einer Oberleitung vorgenommen, sodass die
Stromrückführung über beide Schienen mit Erdpotential erfolgte. 1893 wurde
dann die Betriebsspannung der Bahn von 180 auf 500 Volt Gleichspannung angehoben
mit der Folge, dass die Schienen wegen der höheren Gleichspannung geerdet,
d.h. auf Erdpotential gelegt
werden mussten, das dann dem Minuspol der Stromrückführung entsprach. Demzufolge lagen also
die Schienen auf negativem („-“) Massepotential
(„┴“). Diesbezüglich muss man
wissen, dass das an sich neutrale Erdpotential
sowohl dem Ausgleich positiv als auch negativ geladener Potentiale zur
Verfügung steht, je nachdem um welche Art von Ladungen es sich handelt. Das
sieht man auch bei Gewittern bei dem es nicht nur Blitze gibt, die von einer
Wolke aus in die Erde einschlagen, sondern auch umgekehrt, von der Erde aus
in eine Wolke, je nachdem, ob sich in einer Gewitterwolke positive oder
negative Ladungen gebildet haben! Bei der ersten großen
Funkausstellung wurden 1924 in Berlin die ersten deutschen
Rundfunk-Röhrenempfänger vorgestellt, die die sogenannten Detektorempfänger
bis Ende der 1920er Jahre ablösten. Ab den 1960er Jahren wurden wiederum die
Röhrenradios durch die mit Dioden
und Transistoren (= Halbleiter) bestückten
Radios abgelöst. Bei den Dioden und Transistoren handelte es sich um solche
aus dem Halbleitermaterial Germanium
(Ge), sodass die Gerätemasse („┴“)
wegen der Emitteranschlüsse der PNP-Transistoren
mit dem Pluspol stets auf positivem Spannungspotential lagen. Als dann ab Mitte der
1960er Jahre die PNP-Transistoren
aus Germanium durch NPN-Transistoren
aus Silizium ersetzt
wurden, wechselte die Gerätemasse („┴“)
wegen der Emitteranschlüsse der NPN-Transistoren
mit dem Minuspol
auf negatives Spannungspotential. Dabei ist es mir dann auch
passiert, dass mein erstes Transistor-Kofferradio, das noch aus PNP-Germanium-Transitoren
aufgebaut war, und an das ich Jahre später einen externen UKW-Stereo-Dekoder,
der dann schon aus NPN-Silizium-Transistoren bestand, anschloss,
wegen der unterschiedlichen Massepotentiale
(Germanium = „+“ und Silizium = „-“) und der fehlenden galvanischen
Trennung einen heftigen Kurzschluss
auslöste, der aber zum Glück nur die Schmelzsicherung im externen
Stromversorgungsnetzteil zerfetzte. Also immer dann, wenn man
es mit zwei mit teils unterschiedlicher Elektronik
ausgerüsteten Geräten oder Schaltungen und deren Stromversorgung zu
tun hat, sollte man sich vorab darüber informieren, ob und welche positiven
oder negativen Spannungspotentiale auf die Gerätemasse („┴“) oder das neutrale Erdpotential (=
gelb-grüner Schutzleiter
„PE“ am Gehäuse) gelegt wurden. Im Zweifelsfall sollte man
deshalb bei Spannungs- oder Strommessungen
stets ein (digitales) Multimeter im
Kunststoffgehäuse mit eigener Stromversorgung ohne Schutzleiter oder
(Schutz-) Erdung verwenden, die meistens intern mit einer 9 Volt Blockbatterie
betrieben werden.
Für unseren „Calliope mini“-Rechner bedeutet dies, dass
wir diesen im Zweifelsfall, wenn wir nicht wissen wie die Gerätemasse („┴“)
oder der Anschluss des gelb-grünen Schutzleiters
ausgeführt ist, mit dem Strom aus dem mitgelieferten Batteriepack
versorgen. Früher oder später kann es
dabei aber vorkommen, dass die beiden 1,5 Volt Batterien vom Typ „Micro AAA“ im Batteriepack
bereits mehr oder weniger stark entladen sind, sodass die Versorgungsspannung „3v3“
von UBatterie = +3,3 V, die sich übrigens an der großen
Rundbuchse „+“
(oben rechts neben der kleinen Micro-USB-Buchse)
messen lässt, nicht mehr ausreicht, um den „Calliope mini“
mit Energie, d.h. Spannung und Strom, zu versorgen, sodass es dadurch dann
auch unbemerkt zu fehlerhaften Spannungs-
oder Strommessungen
kommen kann, weil der kleine Rechner nicht mehr richtig rechnet!
Nichtsdestotrotz werden wir
das bisherige „Python“-Programm „mini-programm_04_05.py“ um eine Testfunktion zum Testen der Versorgungsspannung am
Port Pin „+“, d.h. an der großen
Rundbuchse mit der „+3v3“-Stromversorgung,
wie folgt erweitern: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_06.py) Wie man im obenstehenden
Screenshot sieht, wird das Testprogramm
zum Testen der „+3v3“-Versorgungsspannung an
der großen Rundbuchse „+“
gleich zu Beginn im Programmblock „beim Start“
programmiert und später beim Programmstart ausgeführt. Zu diesem Zweck messen wir
am Port „Pin P2“
mit dem integrierten A/D-Wandler
die (Gleich-) Spannung an der großen Rundbuchse
„+“.
Und zwar mittels der beiden Statements im schwarzen
Kasten (siehe obenstehendes Bild). Da die vom A/D-Wandler am
Port „Pin P2“ eingelesene Spannung
sofort in einen äquivalenten Binärwert umgewandelt wird, rechnen wir diese zwecks
Laufschriftanzeige im LED-Display ebenfalls sofort in einen entsprechenden Dezimalwert
mittels Dreisatz wie folgt um: 1023 Bit → 3,3
V 1021 Bit → x V x = 3,3 V / 1023 Dabei entspricht 1 Bit der
Spannung U1 Bit = 3,3 V / 1023 Da der vom A/D-Wandler
eingelesene und automatisch in Bit
umgerechnete Bitwert 10212
vom obenstehenden „Block“-Programm „mini-programm_04_06.py“ nicht
angezeigt wird, wurde dieser rückwärts aus der angezeigten Spannung
von U1021 Bit = 3,29 V errechnet! Frage: Was passiert, wenn wir im
obenstehenden Programm anstelle des Dezimalwertes
„3.3“
(siehe grüner Kasten) den Dezimalwert „3.29 V“
der an der großen Rundbuchse „+“
tatsächlich gemessenen „+3v3“-Versorgungsspannung
ins Programm einpflegen? Antwort: Dann würden wir im Programm
den Quotienten
von vormals 3.3 / 1023 = 0,0032258 V/Bit auf nunmehr 3.29 / 1023 = 0,0032160
V/Bit entsprechend verringern, sodass das Programm nicht mehr richtig
rechnet, weil sich der interne A/D-Wandler „an die interne Abmachung 3.3 V = 1023
Bit“ der Umrechnung hält! - Im blauen Kasten wird dann der eingelesene und bereits
umgewandelte Dezimalwert der gemessenen „+3v3“-Versorgungsspannung
auf drei Nachkommastellen abgeschnitten! Anstelle des · Statements „abschneiden“ lässt sich aber auch das · Statements „runden“ einsetzen, wobei dann z.B.
der Wert 3,296 kaufmännisch auf 3,3 aufgerundet werden würde! – Im roten Kasten des obenstehenden „Block“-Programms „mini-programm_04_06.py“ wird die an der großen Rundbuchse „+“
gemessene und zwischenzeitlich berechnete „+3v3“-Versorgungsspannung U+3v3 in
einen Textstring
umgewandelt und zusammen mit dem Anzeigetext
„U Pin
+3v3 = “ als Laufschrift im 9 x 9 Matrix großen LED-Display
angezeigt. (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_06.py) Im pinkfarbenen Kasten wird in der engl. „If then … else“, d.h. “Wenn dann … ansonsten”-Abfrage
der berechnete und bis auf drei Nachkommastellen abgeschnittene Messwert, der
in der Variablen „volt_pin_3v3“
gespeichert ist, mittels Vergleich „volt_pin_3v3 > 2“
ausgewertet und durch Aufleuchten der grünen J
oder roten L (Kombi-) RGB-LED
(R = Rot, G = Grün, B = Blau) nebst Smiley
angezeigt. Nur wenn
der Wert der Variablen
„volt_pin_3v3“ > 2 Volt ist,
leuchtet die RGB-LED grün J, um anzuzeigen, dass die Versorgungsspannung an der großen Rundbuchse
„+“ bzw. „+3v3“ ausreichend groß ist, um möglichst
fehlerfrei zu rechnen zu können. Die Smiley-Anzeige sowie das Aufleuchten
der RGB-LED
dauern dabei insgesamt bis zu 5000 ms = 5 * 1000 ms =
5 * 1000 * 1/100 s =
5 s an
und erlischt dann wieder. Setzt man abschließend im
Programm die Farbe der RGB-LED mit der hexadezimalen Farbaufteilung „RRGGBB“ = „00000016“ auf schwarz, so erlischt diese wieder. Mit der hexadezimalen Farbaufteilung „RRGGBB“ = „FFFFFF16“ würde die RGB-LED hellweiß leuchten. Wandelt man in der Programmierumgebung des „Calliope mini“
den obenstehenden „Block“-Programmkode in
die „Python“-Programmiersprache
um, dann sieht der „Python“-Sourcecode
folgendermaßen aus: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_06.py) Bevor wir aber das
bisherige Programm erweitern, nehmen wir noch ein paar Verbesserungen vor
(siehe grüne Kärsten),
als da sind: · Für
das Anzeigen der gemessenen Spannung genügt uns eine Genauigkeit von zwei
Nachkommastellen. Demzufolge wird der Skalierungsfaktor
für die Anzahl der Nachkommastellen von bisher 1000 auf nur noch 100
abgeändert. Außerdem wird die gemessene und berechnete Spannung mit der Variablen „volt_pin_3v3“ nicht
mehr abgeschnitten, sondern bei den zwei Nachkommastellen kaufmännisch
auf- oder abgerundet. · Da
die anfangs vorangestellten Laufschriften „Voltmeter“ und „Test +3v3“ zwecks
Information des Anwenders bei der Anzeige doch einiges an Zeit erfordern und
den Anwender auf eine kleine Geduldsprobe stellen, wurde vor der
Anzeige des gemessenen Spannungswertes mit dem ein weiteres Statement spiele Note Mittleres C für 1 Schlag in den
Sourcecode eingefügt. Zu guter Letzt wurde das · Statement LED-Anzeige aktivieren <falsch> entfernt,
da mit diesem die 9 x 9 Matrix LED-Anzeige deaktiviert wurde,
sodass die Laufschriftanzeige bei der nächsten
Anzeige dunkel blieb! (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_07.py) Mit dem eigenständigen Programmblock „wenn Knopf B gedrückt“,
der permanent im Hintergrund läuft, lässt sich der Taster „B“ jederzeit
drücken, um sich den eingelesen Spannungswert der Variablen „volt_pin_3v3“ wiederholt anzeigen lassen zu
können: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_07.py) Wenn man sich das
obenstehende „Block“-Programm im
„Python“-Sourcecode
anschaut, dann fällt auf, dass sich die Laufschriftanzeige an
mehreren Stellen wie z.B. im Programmblock
„on_button_pressed_b()“ wiederholt
(siehe rote Kästen): (Bild
vergrößern: auf Bild klicken! Webverzeichnis mini-programm_04_07.py) Als nächstes lagern wir den
Programmkode aus den roten Kästen aus (siehe oben), indem wir diesen
quasi in die · Funktion „def
anzeigen_PIN_3v3(get_Name)“ verschieben. Dabei fällt sofort auf,
dass der Funktion im Funktionskopf der Textstring „Test +3v3 …“ beim Funktionsaufruf · anzeigen_PIN_3v3("Test +3v3 ...") mit auf den Weg gegeben
wird, der wiederum von der Variablen „get_Name“
entgegengenommen und innerhalb der Funktion zwecks weiterer
Verarbeitung und Nutzung zur Verfügung gestellt wird: ·
basic.show_string(get_Name) Durch das Auslagern von Programmkode in die Funktion „def anzeigen_PIN_3v3(get_Name)“ sieht das neue „Python“-Programm „mini-programm_04_08.py“ recht übersichtlich aus: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_08.py) Wie man sich anhand des „Python“-Programms „mini-programm_04_09.py“
selbst überzeugen kann, lässt sich das obenstehende „Python“-Vorgängerprogramm
noch dahingehend optimieren, indem man die Variable „volt_pin_3v3“ mit in den Funktionskopf der · Funktion „def
anzeigen_PIN_3v3(get_Name, get_volt_pin_3v3)“ aufnimmt. Dabei muss der Funktionsaufruf
selbst auch noch entsprechend angepasst werden (siehe rote Kästen): · anzeigen_PIN_3v3("Test +3v3 ...", volt_pin_3v3) (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_09.py) Um die Stromversorgung
des „Calliope
mini“ am großen Rundloch
(„+“),
d.h. am Port „Pin +3v3“
überprüfen zu können, mussten wir den Port
„Pin +3v3“
mit dem Anschluss am großen Rundloch („2“),
d.h. dem Port „Pin P2“, verbinden
und nach dem erfolgreichen Test mit der Versorgungsspannung U+3v3
> 2 V wieder von dieser trennen. Damit sich die dann
nachfolgende Messung der Lastspannung ULast
= UGlühlampe nebst dem Messwiderstand RMess der Schmelzsicherung fehlerfrei
durchführen lässt, muss zuvor überprüft und sichergestellt werden, dass die
Verbindung am großen Rundloch („+“)
mit dem Port „Pin +3v3“ und am großen Rundloch („2“) mit dem Port „Pin P2“
definitiv aufgehoben wurde. Zu diesem Zweck müssten die
beiden Ports „Pin +3v3“ und
„Pin P2“
abgefragt werden, was aber so nicht geht, weil es sich eben beim
großen Rundloch („+“)
mit dem Port „Pin +3v3“ um
die Stromversorgung
externer Schaltungskomponenten handelt. Demzufolge lässt sich am Port „Pin P2“ ( =
großes Rundloch („2“) )
nur das Spannungspotential
abfragen. Liegt es auf dem Potential
des Ports „Pin +3v3“ (
= großes Rundloch („+“) ),
dann besteht eine elektrische Verbindung von diesem zum Port „Pin P2“ ( = großes Rundloch
(„2“) ),
sodass gilt: UPin P2 = UPin
+3v3 Ist diese Bedingung
erfüllt, so wird dies durch die Laufschrift
„U Pin P2
= ON!", durch grünes
Aufleuchten der RGB-LED und durch die Anzeige
eines lächelnden Smileys
J im
9 x 9 Matrix großen LED-Display angezeigt (siehe grüner
Kasten in der Funktion „status_PIN_P2(…)“ ):
(Bild
vergrößern: auf Bild klicken! Webverzeichnis mini-programm_04_10.py) Ist die Bedingung im ·
Statement if get_volt_pin_p2 == volt_pin_p2: wider Erwarten nicht
erfüllt, so wird dies durch die Laufschrift
„U Pin P2
= OFF!", durch rotes
Aufleuchten der RGB-LED und durch die Anzeige
eines schmollenden Smileys
L im
9 x 9 Matrix großen LED-Display angezeigt (siehe blauer
Kasten im obenstehenden Quellkode). Interessant ist übrigens
auch noch der Funktionsaufruf „status_PIN_P2(…)“
(siehe roter Kasten in Zeile 103 im
obenstehenden Quellkode): ·
Statement boolean_switch_measure = status_PIN_P2("Status Pin P2 ... ",
memo_volt_pin_p2) Wie man sieht, werden beim Funktionsaufruf „status_PIN_P2(…)“ zwei Werte, und
zwar der als Laufschrift anzuzeigende Textstring
„Status
Pin P2 ...“ sowie die am Port
„Pin P2“ ( = großes Rundloch
(„2“) )
gemessene Spannung UPin P2 = UPin +3v3, an die Funktion selbst
übergeben. Wie wir ja bereits wissen,
wird die Funktion „status_PIN_P2(…)“ ohne
Rückgabewert ganz einfach mit dem ·
Statement status_PIN_P2("Status Pin P2 ... ", memo_volt_pin_p2) aufgerufen. Da aber unsere Funktion „status_PIN_P2(…)“ im vorliegenden Fall auch
noch den booleschen Rückgabewert ·
Statement return boolean_switch_measure nach
dem Funktionsaufruf an den aufrufenden Programmblock des Hauptprogramms zurückliefert,
muss dieser noch wie folgt erweitert werden: ·
Statement boolean_switch_measure = status_PIN_P2("Status Pin P2 ... ",
memo_volt_pin_p2) Jetzt wissen wir nicht nur,
wie sich eine Funktion aufrufen lässt, sondern auch, wie sich mittels
des Funktionsaufrufs
ein Variablenwert
aus der Funktion
selbst an das aufrufende Hauptprogramm zurückgeben lässt! Bei dem ·
Statement boolean_switch_measure = status_PIN_P2("Status Pin P2 ... ",
memo_volt_pin_p2) wird also zunächst die Funktion „status_PIN_P2(…)“ aufgerufen und nachdem
diese abgearbeitet wurde, wird dann wieder ins Hauptprogramm zurückgekehrt und
dabei der Rückgabewert der Funktion „status_PIN_P2(…)“ ans Hauptprogramm,
d.h. der boolesche Variablen
boolean_switch_measure,
übergeben. - Nachdem die Stromversorgung
des „Calliope
mini“ am großen Rundloch
(„+“),
d.h. am Port „Pin +3v3“
überprüft wurde, kann mit der eigentlichen Spannungsmessung ULampe an
der Glühlampe
[18] als Lastwiderstand fortgefahren werden, wobei diese extra
durch Tastendruck
auf den Taster „A“
veranlasst werden muss. Dabei gilt es zu beachten,
dass die eigentliche Spannungsmessung ULampe an
der Glühlampe
[18] als Lastwiderstand nur dann erfolgen darf, wenn zuvor
die Stromverbindung am großen Rundloch
(„+“)
mit dem Port „Pin +3v3“ und am großen Rundloch („2“) mit dem Port „Pin P2“
definitiv aufgehoben wurde: (Bild
vergrößern: auf Bild klicken! Webverzeichnis mini-programm_04_10.py) Aus diesem Grund wird in
der Funktion „on_button_pressed_a()“
als erstes die Spannung am Port „Pin P2“ (
= großes Rundloch („2“) )
gemessen und mit dem gespeicherten Wert der beim Programmstart gemessenen
Spannung am Port „Pin +3v3“ (
= großes Rundloch („+“) )
wie folgt verglichen (siehe roter Kasten): ·
Statement „if memo_volt_pin_p2 > volt_pin_p2:” Sobald die Bedingung im
Statement erfüllt ist, wird der diesbezügliche boolesche Schalter „boolean_switch_measure“ auf den Wert „True“
gesetzt, werden · der
Textstring „U Pin +3v3 = OFF!“
als Laufschrift und · das
Smiley J im 9 x 9 großen
LED-Matrix-Display angezeigt, um auf diese
Weise mittels · des
Aufleuchten der grünen RGB-LED zu signalisieren, dass die
ursprüngliche Verbindung zwischen dem großen Rundloch („+“) mit dem Port „Pin +3v3“ und dem großen Rundloch („2“) mit dem Port „Pin P2“
definitiv aufgehoben wurde. Abschließend wird dann die eigentlichen Spannungsmessung
ULampe an der Glühlampe [18]
als Lastwiderstand durchgeführt und der Textstring
"U
Lampe = 1.65 V" als Laufschrift angezeigt (siehe grüner Kasten). Achtung: Der tatsächliche
Spannungsabfall an der Glühlampe [18] als Lastwiderstand beträgt aber ∆ULampe =
1,87 V (je nach verbleibender Kapazität der beiden in Serie geschalteten 1,5 Volt Batterien vom
Typ „Mignon AA“). Die Spannungsdifferenz
von ∆ULampe - ULampe =
1,87 V – 1,65 V = 0,22 V ist darauf zurückzuführen, dass wir bis jetzt am Port „Pin P2“ ( =
großes Rundloch („2“) ) nur die Spannung im Punkt P2 des
Steigungsdreiecks messen (siehe Bild
weiter oben). Mit dem „Python“-Programm „mini-programm_04_11.py“
wird nun auch die die Spannung am Port „Pin P1“ ( = großes Rundloch
(„1“) )
gemessen, die der Spannung im Punkt P1 des Steigungsdreiecks
entspricht (siehe Bild
weiter oben). Wenn wir jetzt mit einem
herkömmlichen Multimeter die Stromstärke
∆ILampe = 260 mA durch die Glühlampe [18]
messen, dann lassen sich erste Berechnungen, die aber noch trivial (=
einfach) sind, durchführen: RSteig = ∆U / ∆I = ( U2 - U1 ) / ∆I þ =
( UPin P2 - UPin P1 ) / ∆ILampe → FALSCH! =
( 2,37 V – 1,51 V ) / 260 mA → … (Die Stromstärke der Glühlampe [18] wurde gemessen!) =
( 0,86 V ) / 260 mA = 0,00330769 KΩ ≈ 3,308 Ω → FALSCH! RSteig = ∆U / ∆I = ( U2 - U1 ) / ∆I þ =
( UPin P2 - UPin P1 ) / ∆ISteig → RICHTIG! =
( 0,86 V ) / 103,2 mA = 0,00833 KΩ = 8,33 Ω → RICHTIG (siehe weiter unten!)
Da das Steigungsdreieck
wegen I0
aus dem Koordinatenursprung heraus verschoben sein kann, wir aber den Konstantstrom I0
noch nicht berechnet haben bzw. noch nicht berechnen können,
muss man zunächst davon ausgehen, dass der Steigungswiderstand RSteig nicht
identisch ist mit dem Lastwiderstand RLampe,
sodass ∆ISteig ≠ ∆ILampe ist! Schließlich handelt es sich
bei dem Lastwiderstand
RLampe um einen
tatsächlich vorhandenen, d.h. physischen
( = greifbar körperlichen) und physikalischen
Widerstand, der z.B. bei Überlastung (= zu hohe Spannung) abrauchen oder
abfackeln kann!
Dabei gilt es insbesondere
zu beachten, dass das Steigungsdreieck durch den rechten Winkel sowie die beiden
Messpunkte P2 ( U2, I2 )
und P1
( U1, I1 )
geometrisch bzw. koordinatenmäßig definiert ist.
Und bisher kennen wir aufgrund der Messung durch das Programm „mini-programm_04_11.py“ (siehe Webverzeichnis)
nur die beiden Spannungen UPin P2 = 2,37 V und UPin P1 = 1,51 V (siehe oben). Da aber die beiden Spannungen UPin P2 = 2,37 V und UPin P1 = 1,51 V parallel zur Glühlampe [18]
gemessen wurden und wir die Betriebsdaten
der Glühlampe [18] UNenn = 2,5 V INenn = 0,3 A kennen,
sodass sich der ohmsche Widerstand RLampe
der Glühlampe
[18] wie folgt berechnet, R =
U / I → RLampe = UNenn
/ INenn = 2,5 V
/ 0,3 A = 8,33 Ω lassen sich mit diesem auch
die beiden Ströme I2 und I1
durch die Glühlampe [18] wie folgt berechnen: I2 =
UPin P2 / RLampe = 2,37 V / 8,33 Ω = 2,37 I1 =
UPin P1 / RLampe = 1,51 V / 8,33 Ω = 1,51 Bildet man nun den Differenzenquotienten,
so folgt: RSteig = ∆U / ∆I
= ( U2 - U1 ) / ( I2 - I1 ) = ( UPin P2 - UPin P1 )
/ ( I2 - I1 ) = ( 2,37 V - 1,51 V ) / ( 284,5 mA - 181,3 mA ) =
0,86 V / 103,2 mA = 0,00833 KΩ
≈ 8,33 Ω
Mittels der Geradengleichung ∆ISteig = 1 / RSteig * ∆USteig + I0
lässt sich der Konstantstrom I0 wie folgt berechnen: ∆ISteig = 1 / RSteig * ∆USteig + I0 → I0 =
∆ISteig – ( 1 / RSteig * ∆USteig ) = 103,2 mA - ( 1 / 8,33 Ω * 0,86 V ) = 103,2 mA - (
0,12005
A/ = 103,2 mA - (
120,05
mA * 0,86 ) = 103,2 mA - 103,24 mA ≈ 103,2 mA - 103,2 mA = 0 mA → ∆ISteig = 1 / RSteig * ∆USteig = 1 / 8,33 Ω * 0,86 V = 0,12005 A/ = 103,2 mA Probe 1: ∆ISteig = 1 / RSteig * ∆USteig → RSteig = ∆USteig / ∆ISteig = ∆USteig / ∆ISteig = 0,86 V / 103,2 mA = 0,00833 KΩ = 8,33 Ω Probe 2: I2 = 1 / RSteig * UPin P2 = 1 / 8,33 Ω * 2,37 V = 0,120048 A/ Wie bereits weiter oben
ausgeführt, beträgt die mit einem herkömmlichen Multimeter gemessene Stromstärke ∆ILampe = 260 mA durch die Glühlampe [18]. Diesbezüglich gilt es die
Frage zu klären, weshalb die gemessene Stromstärke ILampe = 260 mA geringer ist als die im Punkt P2 ( UPin P2, I2 )
berechnete Stromstärke mit I2 = 284,5 mA: ULampe = ILampe * RLampe = 260 mA * 8,33 Ω ≈ 2,17 V Logisch! Wenn die Spannung
bzw. der Spannungsabfall an der Glühlampe [18] mit ULampe = 2,17 V niedriger
ist als die im Messpunkt P2
( UPin P2, I2 ) digital
mit dem Programm „mini-programm_04_11.py“
gemessene Spannung, dann ist auch die Stromstärke
ILampe = 260 mA entsprechend geringer!
Tabula
Rasa – alles zurück auf Anfang Wenn man
sich zulange mit ein und derselben Sache befasst, sich in diese verrannt hat,
die aus irgendwelchen Gründen nicht so wie gedacht, wie gewünscht
funktioniert, dann sollte man eine mehrtägige Pause machen. Nach der
mehrtägigen Pause sollte man sich wieder auf das Altbewährte besinnen, die
Dinge quasi bei Null, d.h. von vorn beginnen und streng systematisch vorgehen
und sich Schritt für Schritt vom bereits bekannten Sachstand bzw. vom dem was
mit Sicherheit funktioniert nach vorn bewegen. Was wir
bereits wissen und was auch einwandfrei funktioniert, ist, dass sich an den Ports „Pin P1“ (= große Rundbuchse „1“) und „Pin P2“ (= große Rundbuchse „2“) gegen Masse „┴“ am Port
„Pin „-“ analoge (Gleich-) Spannungen messen, in
digitale, d.h. binäre Bitwerte umwandeln und als dezimale Spannungswerte in
Volt [V] umrechnen und in dem 9 x 9 großen LED-Diesplay
als Laufschrift anzeigen lassen: 3,3 V → 1023 Bit 0,1 V → x Bit x = 1023 Bit / 3,3 V * 0,1 V =
3,1 Bit ≈ 3 Bit oder 1023
Bit → 3,3 V 1 Bit
→ x V x = 3,3 V / 1023 Bit * 1 Bit
= 0,00323 V = 3,23 mV ≈ 3 mV Was wir
ferner wissen, ist, dass das digitale Multimeter immer wieder
und wieder andere Spannungswerte angezeigt hat als das von uns programmierte Digitalvoltmeter. Dafür kann
es verschiedene Gründe geben wie z.B. die unterschiedliche
Messempfindlichkeit von z.B. 50 mV bei einem analogen Drehspulmessgerät
oder die Auflösung von [ 0 … 1023 ] = 1024 Bit mit
3,23 mV / 1 Bit bei einem analogen/digitalen A/D-Wandler. Da wir selbst keinen
Eingriff in das Digitalvoltmeter vornehmen können, weil intern alles exakt
aufeinander abgestimmt und miteinander fest verbaut ist, gleichen wir beide
Geräte miteinander ab, indem wir unser programmiertes Digitalvoltmeter an das
Multimeter (= Spannungsmessgerät) anpassen. Zu diesem Zweck messen wir
mit dem Multimeter
die intern stabilisierte 3,3 Volt Betriebsspannung des „Calliope mini“-Rechners am Port „Pin 3v3“ (= großes Rundloch „+“) gegen Masse „┴“ am Port „Pin -“ (=
großes Rundloch „-“)
mit der Spannung U3v3 = 3,22 V und übernehmen diesen Wert in das Programm „mini-programm_04_12.py“: · Statement „memo_volt_pin_p2 = 3.22”
(siehe Hauptprogramm) Dabei gilt es zu beachten,
dass wir die mit dem Multimeter gemessene 3,3 Volt Betriebsspannung auf die Spannung U3v3 = 3,22 V
angleichen und nicht auf einen Bitwert: 3,3 V → 1023 Bit 3,22
V → x Bit x = 1023
Bit / 3,3 V * 3,22 V = 998,2 Bit ≈ 998 Bit → Im Vergleich zum
Bitwert 1023 ist das schon ein Unterschied! Da wir im Programm „mini-programm_04_12.py“
(siehe Webverzeichnis) nicht mehr die externe Spannung U3v3
direkt am Port „Pin +3v3“ (=
großes Rundloch „+“) referenzieren, d.h. einlesen und abspeichern, sondern
vielmehr den Spannungswert U3v3 = 3,22 V,
den wir mit dem externen Multimeter zwischen dem Port
„Pin 3v3“ (=
großes Rundloch „+“)
gegen Masse
„┴“ am Port „Pin -“ (=
großes Rundloch „-“)
gemessen haben, entfällt der entsprechende Programmblock im Hauptprogramm
komplett: (Zum
Vergrößern bitte auf das Bild klicken!) Des Weiteren entfallen die Funktionen ·
status_PIN_P2(get_Name: str, get_volt_pin_p2:
number), ·
measure_PIN_P1(get_Name: str, get_volt_pin_p1:
number), ·
measure_PIN_P2(get_Name: str, get_volt_pin_p2:
number) und ·
anzeigen_PIN_PX(get_Name: str, get_volt_pin_px: number), sodass das Programm „mini-programm_04_12.py“
(siehe Webverzeichnis) ziemlich abgespeckt und damit gut
überschaubar ist. Übrig bleiben neben dem
Hauptprogramm die bisherigen Funktionen · on_button_pressed_a() und · on_button_pressed_b() Dabei dient die Funktion on_button_pressed_a()
dazu, sozusagen auf Tastendruck auf den Taster „A“, die Spannungsmessungen an den Ports „UPin
P2“ (= großes Rundloch „2“) sowie „UPin
P1“ (= großes Rundloch „1“) auszulösen und abzuspeichern. Mit der Funktion on_button_pressed_b()
lassen sich dann die gespeicherten Spannungswerte
UPin P2 und UPin P1
wieder abrufen und im 9 x 9 Matrix LED-Display als Laufschrift anzeigen: (Bild
vergrößern: auf Bild klicken! Webverzeichnis
mini-programm_04_12.py) (Zum
Vergrößern bitte auf das Bild klicken!) Wir starten das Digitalvoltmeter-Messprogramm „mini-programm_04_12.py“
(siehe Webverzeichnis)
und warten bis die Laufschrift-Anzeige
„Voltmeter"
komplett durchgelaufen ist. Als nächsten drücken wir
den Taster
[14], halten diesen gedrückt, drücken den Taster „A“ auf dem „Calliope mini“,
um den Messvorgang an
den beiden Ports „Pin P2“
und „Pin P1“
auszulösen. Sobald die zuerst gemessene
Spannung UPin 2 = 2,04 V
als Laufschrift im 9 x 9 Matrix LED-Display des „Calliope mini“
angezeigt wird, können wir den Taster [14] wieder loslassen. Durch Drücken auf den Taster „B“ auf dem „Calliope mini“
lassen wir uns dann die gemessenen und gespeicherten Messwerte wie z.B. die
als Zweites gemessene Spannung UPin 1 = 0,003 V
sowie die Lampenspannung ULampe = 2,04 V
als Laufschrift im 9 x 9 Matrix LED-Display des „Calliope mini“
anzeigen.
Demzufolge berechnet sich
der Spannungsabfall parallel zur Glühlampe [18] mit ULampe = 2,037 V
≈ 2,04 V aus der Differenz
der an den beiden Ports „Pin P2“
und „Pin P1“
anliegenden Spannungen: ULampe = UPin P2 – UPin
P1 = 2,04 V – 0,003 V = 2,037 V
≈ 2,04 V Dabei beträgt die mit dem Multimeter
gegen Masse „┴“
gemessene Spannung UPin 2 = 2,02 V (= - 1 %). Diesbezüglich müssen wir
aber noch der Frage nachgehen, was der Spannungswert
UPin P1 = 0,003 V der zweiten Spannungsmessung parallel
zum Messwiderstand RMess
praktisch bedeutet: 3,3 V
→
1023 Bit 0,003 V → x Bit x = 1023 Bit / 3,3 V * 0,003 V = 0,93 Bit ≈ 1 Bit
→
Wenn man die als Messwiderstand RMess
zusätzlich eingefügte Schmelzsicherung (250 V, 2 A) mit dem Widerstandsmessgerät,
volkstümlich auch „Ohmmeter“ genannt, des Multimeters misst, so kommt man
auf den Wert RMess = 0,2 Ω,
sodass sich der Spannungsabfall am Messwiderstand RMess
bei einem Laststrom von ILast = ILampe
= IMess = 260 mA
wie folgt berechnet: IMess = UMess / RMess
→
UMess = IMess * RMess
=
260 mA * 0,2 Ω = 52 mV = 0,052 V Da die Schmelzsicherung
(250 V, 2 A) als Messwiderstand RMess
mit dem Wert RMess = 0,2 Ω
doch extrem klein ist und der resultierende Spannungsabfall mit UMess = 0,052 V
ebenfalls sehr klein ist, verwenden wir als nächstes ein größeren Messwiderstand mit RMess = 1,5 Ω,
betätigen oben auf der Experimentierplatte den Taster [14], um den Stromkreis
zu schließen, halten den Taster [14] einige Sekunden lang gedrückt und
messen mit dem Amperemeter des Multimeters die
Stromstärke IMess = 250 mA, sodass sich
der Spannungsabfall am Messwiderstand RMess
wie folgt berechnet: UMess = IMess * RMess
=
250 mA * 1,5 Ω = 375 mV = 0,375 V Des Weiteren messen wir die
Versorgungsspannung UBatt = 2,1 V
bei Belastung, d.h. beim Einschalten der Glühlampe [18],
die an den beiden Batterieanschlüssen, d.h. zwischen Plus- und Minuspol der Batteriehalterung [19]
mit den beiden in Serie
geschalteten 1,5 Volt Batterien vom Typ „Mignon AA“ anliegt und berechnen den
Widerstand RLast = RLampe
der Glühlampe
[18] wie folgt: ULampe = UBatt - UMess =
2,1 V - 0,375 V = 1,725 V RLampe = ULampe / ILampe
= ULampe / IMess
= 2,1 V / 250 mA
= 2,1 V / 0,250 A = 8,4 Ω ≈ 8,33 Ω
Jetzt wo wir wissen, dass
sich die Spannung ULampe an
der Glühlampe
[18] und die Spannung UMess am
Messwiderstand RMess
wegen der verketteten Spannungen gegen Masse „┴“ an den beiden Ports
„Pin P2“
und „Pin P1“ nicht
gleichzeitig messen lassen, können wir einen „Trick“ anwenden und die Spannung UMess am
Messwiderstand RMess
berechnen, vorausgesetzt, dass die beiden Widerstände RLampe und RMess wertmäßig bereits bekannt sind (siehe oben): Berechnung
der Lampenspannung ULampe mittels Spannungsteilerformel ULampe / UBatt = RLampe / ( RLampe
+ RMess ) =
1 / [ 1 + ( RMess / RLampe
) ] ULampe =
1 / [ 1 + ( RMess / RLampe
) ] * UBatt
= UBatt /
[ 1 + ( RMess
/ RLampe ) ] =
2,1 V / [ 1 + ( 1,5 Ω /
8,33 Ω ) ] = 2,1 V / [ 1 + 0,1800720288115246 ]
= 2,1 V / [ 1,180072 ] =
2,1 V / [ 1,180 ] = 1,7797 V
≈ 1,78 V Berechnung der Messspannung UMess mittels Spannungsteilerformel UMess / ULampe = RMess / RLampe → UMess =
RMess / RLampe
* ULampe =
1,5 Berechnung des Lampenstroms ILampe ILampe =
ULampe /
RLampe =
1,78 V / 8,33 Ω = 1,78 Da es im Experimentierkasten
„elektronik 159“ keinen Messwiderstand RMess 1,5 Ω
gibt, verwenden wir alternativ den kleinen Lautsprecher [20],
dessen (Gleichstrom-) Spulenwiderstand, meistens 4 Ω oder 8 Ω,
leider nicht bekannt ist und deshalb explizit berechnet werden muss. Zu diesem Zweck tauschen wir den bisherigen Messwiderstand RMess 1,5 Ω
gegen den kleinen Lautsprecher [20] aus dem
Experimentierkasten aus, starten das neue Digitalvoltmeter-Messprogramm „mini-programm_04_13.py“
(siehe Webverzeichnis)
mit nur einer Messspannung am Port „Pin P2“ (= großes Rundloch „2“) und nehmen folgende Messwerte
auf: UBatt = 2,17 V, ULampe = 1,84 V → UMess = UBatt
- ULampe =
2,17 V - 1,84 V = 0,33 V þ ILampe = 221 mA → ULampe / UBatt = RLampe / ( RLampe
+ RMess ) → RLampe /
( RLampe + RMess
) = ULampe / UBatt → 1 / ( 1 + RMess
/ RLampe ) = ULampe / UBatt → 1 + RMess / RLampe = UBatt / ULampe → RMess / RLampe
= ( UBatt / ULampe ) - 1
→ RMess = [ (
UBatt / ULampe ) - 1 ] * RLampe
= [
( 2,17 = [ (
0,17935 ) ] * 8,33 Ω =
1,4939855 Ω = 1,494 Ω ≈ 1,5
Ω Das ist jetzt richtig
interessant! Da staunt der Laie und der Fachmann wundert sich! Schließlich
hat der kleine Lautsprecher [20] aus dem
Experimentierkasten definitiv einen (Gleichstrom-) Spulenwiderstand
von 4 Ω oder 8 Ω, sodass der größere (Mess-) Widerstand
schon jetzt bewirkt, dass die Glühlampe [18] nicht mehr hell leuchtet,
sondern nur noch schwach glimmt! Was sich also durch das
Verwenden des Lautsprechers [20] als größerer Messwiderstand RMess
ändert, sind die äußeren elektrischen Umstände, während sich aber an
dem (Berechnungs-) Programm selbst intern nichts geändert hat, sodass
sich bei der Berechnung wieder der alte Messwiderstand RMess = 1,5 Ω einstellt! Wenn wir also den Lautsprecher [20]
als größeren Messwiderstand RMess
einsetzen, dann müssen wir diesen gleichzeitig auch im (Berechnungs-)
Programm ändern! Aber wir wissen ja noch nicht, welchen
Widerstandswert der Lautsprechers [20] tatsächlich hat! Erst wenn
wir die Stromstärke ILampe durch die Glühlampe [18] mit einem externen Multimeter messen, lässt sich
der neu in die Schaltung eingebrachte Messwiderstand
RMess in Form
des kleinen Lautsprechers [20] wie folgt
berechnen: ILampe = 137 mA → ULampe = ILampe * RLampe = 137 mA
* 8,33 Ω = 0,137 RMess = UMess / IMess = ( UBatt
- ULampe ) / ILampe = ( 2,18 V - 1,14 V ) / 137 mA = ( 1,04 V ) / 0,137 A = 7,59
Ω ≈ 7,6 Ω
(Bild
vergrößern: auf Bild klicken! Webverzeichnis mini-programm_04_13.py) Werfen wir abschließend
noch einen Blick auf die Schaltung mit nur einem Messeingang und zwar am Port
„Pin P2“
(= großes Rundloch „2“) und der Schmelzsicherung (
250 V, 2 A ) als Messwiderstand RMess = 0,2 Ω: (Zum
Vergrößern bitte auf das Bild klicken!) Wenn man sich die
obenstehende Schaltung mit dem Messeingang
am Port „Pin P2“ (=
großes Rundloch „2“) anschaut, dann könnte man auf den ersten Blick meinen,
dass der Spannungsabfall der Glühlampe [18] gegen
Masse „┴“
gemessen wird, obwohl bei der Spannungsmessung die Batteriespannung UBatt
als Versorgungsspannung gemessen wird, sodass gilt: ULampe = UBatt
- UMess Wenn man sich dann noch die
Berechnung des Spannungsabfalls
der Glühlampe
[18] im obenstehenden Quellkode mit dem ·
Statement U_Lampe = U_Batt / ( 1 + R_Mess / R_Lampe ) anschaut, dann wird
deutlich, dass es sich beim Spannungsabfall
der Glühlampe
[18] um keine Kettenspannung handelt in der der
Spannungsabfall am Messwiderstand bereits enthalten ist, da wir die
Lampenspannung mittels der Spannungsteilerformel berechnen: ULampe / UBatt = RLampe / (
RLampe + RMess ) → Zähler und Nenner durch RLampe
dividieren! ULampe / UBatt = 1 / ( RLampe / RLampe + RMess / RLampe ) ULampe / UBatt = 1 / [ ( RLampe + RMess )
/ RLampe ] ULampe / UBatt = 1 / ( 1 + RMess / RLampe ) ULampe = UBatt / ( 1 + RMess / RLampe ) ULampe = UBatt / (
1 + RMess / RLampe ) → Siehe Statement
oben! ULampe = UBatt / ( RMess / RLampe + 1 ) Probe: ULampe = UBatt / ( RMess / RLampe + 1 ) =
2,11 V / ( 0,2 = 2,11
V / ( 1,02401 ) = 2,06 V þ
Was also tun? Wenn wir im Berechnungsprogramm mit der Spannungsteilerformel arbeiten,
sodass verkettete Spannungen in der Berechnung nicht vorkommen,
dann sollten wir das auch bei der Spannungsmessung am Port „Pin P2“ gegen
Masse „┴“ tun und auf die Verwendung
eines Messwiderstandes RMess mit
verketteter Spannung verzichten! Und, da das Steigungsdreieck
wegen I0
aus dem Koordinatenursprung heraus verschoben sein kann, setzt sich
der Gesamtstrom durch die Glühlampe [18] wie folgt zusammen: RSteig = ∆U / ∆I = ( UPin P2 - UPin P1 ) / ∆ISteig = ( UPin P2 - UPin P1 ) / ( ∆ILampe - I0 ) → RSteig *
( ∆ILampe - I0
) = ( UPin P2 - UPin P1 ) ( ∆ISteig - I0
) = 1 / RSteig * ( UPin P2 - UPin P1 ) → - I0 =
1 / RSteig * ( UPin P2 - UPin P1 ) - ∆ISteig → I0 = - 1 / RSteig * ( UPin P2 - UPin P1 ) + ∆ISteig → I0 = ∆ISteig - 1 / RSteig * ( UPin P2 - UPin P1 ) Für ∆USteig = ( UPin P2 - UPin P1 ) = 0 V folgt: I0 = ∆ISteig Für die Geradengleichung ∆ISteig = 1 / RSteig * ∆USteig + I0
folgt: ∆ISteig = 1 / RSteig * ∆USteig + I0 = 1 / RSteig * ∆USteig + ISteig = 2 * ISteig = ISteig = ½ * ∆ILampe = ½ * 260 mA = Berechnet man den Lampenwiderstand RLampe
anhand der Betriebsdaten, so stellt sich heraus, dass dieser
größer ist als der oben berechnete Steigungswiderstand RSteig: Betriebsdaten
der Glühlampe [18] UNenn = 2,5 V INenn = 0,3 A Für
die Berechnung des ohmschen Widerstandes der Glühlampe [18]
folgt dann: R =
U / I → RGlühlampe = UNenn
/ INenn = 2,5
V / 0,3 A = 8,33 Ω Dafür, dass Lampenwiderstand RLampe
größer ist als der oben berechnete Steigungswiderstand RSteig,
gibt es hauptsächlich nachfolgenden Grund: · die
Spannungsmessung
parallel zum Lampenwiderstand RLampe
erfolgt zwischen der beiden analogen Eingängen an den Ports „Pin P1“ und „Pin P2“ ( = große Rundlöcher „1“ und „2“) ohne Masseanschluss („┴“), sodass es sich um eine relative
Spannungsmessung handelt. RMess = 186,4 mΩ → siehe weiter oben im Abschnitt „Der
analoge/digitale Batterie-Tester mit Bit-Anzeige“ UMess = IMess * RMess = 260 mA *
186,4 mΩ = 48 464 * 10-3
mV = 48,46 mV Wendet man die Spannungsteilerformel auf die beiden Widerstände
RSteig und RMess
an, so folgt: RSteig / RMess = USteig / UMess → RSteig = ( USteig / UMess ) * RMess = (
0,86 Hier geht’s dann weiter! RLampe = ULampe / ILampe → ULampe = RLampe * ILampe Schauen wir uns als
nächstes die Geradengleichung ∆ILampe = 1 / RSteig * ∆USteig + I0
an: I0 = ∆ILampe - 1 / RSteig * ∆USteig = 260 mA - 1 / 3,308
Ω * 0,86 V = 0,260 A - 0,25998 A = 0 Berechnung des Lampenwiderstandes RLampe
mittels der Geradengleichung: ILampe = 1
/ RLampe * ULampe + I0 → mit
I0 = 0 → ULampe =
ILampe * RLampe = 260 mA * 3,308 Ω = 0,260 → Steigungswiderstand
RSteig = ∆ULampe / ∆ILampe = 0,86 V / 260 mA = 0,0033077 KΩ
= 3,308 Ω =
1 / ( 0,86 V / 260 mA
) * ULampe + 260 mA = 1 / ( 3,308 V/A
) * 0,86 V + 260 mA = 0,259976 A + 0,260 A =
0,1696 A - 0,0396 A = 0,13 A = 130 mA þ
IMotor =
1 / RSteig * UMotor + I0
IMotor - I0 = ( 1 / RSteig ) * UMotor ( IMotor - I0 ) / UMotor = 1 / RSteig UMotor / ( IMotor - I0 ) = RSteig þ UMotor = RSteig * ( IMotor - I0 ) RMotor = UMotor / IMotor = RSteig * ( IMotor - I0 ) / IMotor RMotor = RSteig * ( 1 - I0 / IMotor
) = 5,895 Ω * ( 1 + 39,6
mA / 130 mA ) = 5,895 Ω * 1,305 = 7,693
Ω þ per Festlegung am Minuspol („-“)
der Batteriehalterung,
während gleichzeitig der „Calliope mini“ ebenfalls über seine eigenes Massepotential
von null Volt am Port „Pin GND“
verfügt! Der Grund dafür ist eben
der, dass beide, d.h. der „Calliope mini“ und die Glühlampen-Schaltung
über ihre eigene, potentialfreie Spannungsversorgung
verfügen! - Aber es gibt noch eine
weitere, praktische Bedeutung des Ganzen! Nämlich den, dass sich die beiden Ports „Pin P1“ und „Pin P2“
auch als Ausgang, d.h. abgehende, einstellbare Spannungsquellen programmieren
lassen! Da aber nur ein sehr
kleiner Ausgangsstrom IPin 1,2, out ≤ 15 mA
zur Verfügung steht, lassen sich weder die Glühlampe [18]
noch der Gleichstrommotor [24] an den beiden Ports „Pin P1“ und „Pin P2“
betreiben, da diese einen wesentlich größeren Laststrom ILast ≥ 200 mA
ziehen! Aber dies ist kein Grund zur Verzweiflung, da es im
Elektronikbaukasten ja noch die rote Leuchtdiode [17] gibt, die sich über die
beiden Ports „Pin P1“
und „Pin P2“
ansteuern lässt. Dazu aber später mehr (siehe Versuch 14: Der Gebrauch einer
Leuchtdiode auf Seite 13 des Handbuchs). Trotzdem stellt sich
natürlich die Frage, wie man herausfinden kann, welche maximale Stromstärke
die beiden Ports „Pin P1“
und „Pin P2“
zur Verfügung stellen können. Wenn man den Innenwiderstand RInnen
der beiden Ports „Pin P1“
und „Pin P2“
kennen würde, dann ließe sich die max. Stromstärke in Form des Kurzschlussstroms
und der Leerlaufspannung an
den Ports wie folgt berechnen: IKurz = ULeer / RInnen → RInnen = ULeer
/ IKurz =
3,3 V / 15 mA = 0,22 KΩ = 220 Ω Da die Ausgangsspannung UPin P1 bei einer Belastung von I
Pin P1 = 15 mA aber bereits „in die Knie geht“, d.h. auf UPin P1 = 1,5 V
absinkt, folgt für den Innenwiderstand RInnen am
Port „Pin P1“: RInnen = UPin
P1 / IPin P1 =
1,5 V / 15 mA = 0,10 KΩ = 100 Ω Was aber, wenn wir einen
der beiden Ports „Pin P1“
und „Pin P2“
tatsächlich gegen Masse, d.h. Port „Pin GND“ kurzschließen
und mit einem Amperemeter die Stromstärke des Kurzschlussstroms messen
würden, löst sich dann der „Calliope mini“ in einer Rauchwolke auf? Da der „Calliope mini“
hardwaremäßig mit dem „micro:bit“-Rechner
der BBC London kompatibel ist, müssen wir selbst keinen Kurzschlusstest durchführen, da dies
schon andere für uns getan haben: >> Einige haben sich
ja schon Sorgen gemacht, ob die vielen englischen Schüler nicht laufend
Kurzschlüsse an den Ports verursachen und damit alles in Rauch aufgehen
lassen. Aber bisher wurden noch keine schwarzen Wolken über den britischen
Inseln gesichtet. Und das hat einen Grund, den ich ganz zufällig entdeckt
habe: Die Entwickler des Micro:bit unter der
Federführung der BBC haben nämlich einen Kurzschluss-Sicherung für die Ports
eingebaut! Das ganze habe ich ganz
zufällig gefunden, als ich die Belastbarkeit und den On-Widerstand
der Ports untersuchen wollte. Wenn ich den Ausgang hochohmig mit 10 kOhm belaste, ist noch alles normal. Es kommen ca. 3,3 V
raus. Eine Belastung mit nur
100 Ohm ging manchmal gerade noch. Die Spannung am Port war dann schon auf
ca. 1,5 V zusammengebrochen. Das bedeutet 15 mA, und mehr geht nicht! Wenn ich nämlich die Belastung
noch etwas erhöhe, schaltet der Port ab! Beim ersten Mal dachte ich, Schreck
lass nach, alles durchgebrannt. Aber nach einem Reset
ist alles wieder wie neu. << (Quelle: Elektronik-Labor
von Burkhard Kainka) Interessant ist bei dem Belastungstest, dass der Autor von
einer Versorgungsspannung URundloch + = U+3v3 = 3,3 V
gegenüber der Masse („┴“) = Rundloch („-“) ausgeht, was aber nicht
unbedingt immer so sein muss. Wenn wir den „Calliope mini“
mittels des Micro-USB-Kabels über die USB 2.0-Buchse am Personal Computer (PC) mit
Strom versorgen, dann haben wir es gemäß dem USB-Standard
mit einer Nennsspannung UUSB, Nenn = 5 V zu
tun, wobei die USB-Spannung
am USB 2.0 (High-Powered-Port) auch niedrigere oder
höhere Werte im Bereich [ 4,75 V, …, 5,25 V ]
annehmen kann. Dabei darf die Stromstärke
durch ein angeschlossenes Gerät bis zu IUSB 2.0 ≤ 0,5 A
betragen. Allerdings erst nach Freigabe durch den Host-Controller (engl. „host“, d.h. Gast gebender Controller). Bis dahin gilt
eine maximale Stromstärke von „nur“ 0,1 A; das entspricht bei einer Spannung
von 5 Volt gleich der Leistung P mit PUSB 2.0, min =
U * I = UUSB,
Nenn * IUSB, min = 5 V * 0,1 A = 0,5 W Der Stromverbrauch des „Calliope mini“
sollte übrigens ebenfalls nicht mehr als 100 mA betragen! Wegen des zulässigen „USB 2.0“-Spannungsbereichs
von [ 4,75 V,
…, 5,25 V ] müssen wir also sehr wohl damit rechnen, dass die USB-Spannungsversorgung
des „Calliope
mini“ durchaus vom Mittelwert 5 V abweichen kann und damit
dann auch die Versorgungsspannung
von +3,3 V an
der Rundbuchse („+“)
bzw. („+3v3“).
So beträgt z.B. die („+“) Spannung an der Rundbuchse („+“) gerade mal 3,12 V im Leerlauf! Wenn man den „Calliope mini“
früher oder später auch mobil einsetzt, d.h. die mitgelieferte
Batteriehalterung mit den zwei 1,5 Volt Batterien vom Typ „Micro AAA“
verwendet, dann werden die Batterien je nach Nutzung eher früher als später
entladen sein, sodass die Batteriespannung dann auf weniger als 3 Volt
absinkt mit der unangenehmen Folge, dass sich unsere Messungen mit dem
digitalen Voltmeter verfälschen. Im ungünstigsten Fall auch noch ohne
dass wir es merken! Wenn wir z.B. die mit dem „Calliope mini“
mitgelieferte Batteriehalterung mit den zwei 1,5 Volt
Batterien vom Typ „Micro AAA“
verwenden, dann beträgt die Batteriespannung
UBatterie = 3,03 V bei fabrikneuen
Batterien! Ersetzen wir diese z.B. gegen wieder aufladbare 1,5 V NiMH-Batterien
mit einer Batteriespannung UBatterie = 2,48 V (=
- -18,15 % ), dann verfälscht sich die Spannungsmessung
mit dem „Python“-Programm „mini-programm_04_05.py“
parallel zur Glühlampe [18] auf nur noch 0,805 V (1,315 V 2,48 V Spannung des
Batteriepacks (= 100 % / 3,03 V * 2,48 V = -18,15 % !!!) 1,391 V Messung mit USB-Spannungsversorgung 0,805 V Messung mit dem
Batteriepack (= 100 % / 1,391 V * 0,805 V = -42,128 % !!!) Wir führen wieder eine
Spannungsmessung aus und messen den Spannungsabfall
ULampe in Form der anliegenden
Eingangsspannung an den beiden Ports
„Pin P1“ und
„Pin P2“
des „Calliope
mini“, wobei es aus der Sicht des „Calliope mini“ zu
beachten gilt, dass der Port „Pin P1“ nicht
auf Masse des
Ports „Pin GND“ liegt: ULampe = 3,0 V / 1024 Bit * [ 1024 Bit - ( Bitwert Pin P2 -
Bitwert Pin P1 ) ] = 3,0 V
/ 1024 Bit * [ 1024 Bit - Bitwert Pin P2 + Bitwert Pin P1 ] = 3,0 V /
1024 Bit * [ 1024 Bit - 719 Bit + 404 Bit ] = 3,0 V / 1024 =
3,0 V / 1024 * 709 = 2,077 V → Messfehler gegenüber Multimeter-Anzeige
von 2,07 V ≈ +0,338 % |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
[ electronic 159 ] [ Seitenanfang ] [ zurück ] |
|