Nano V3 als Oszilloskop verwenden - AZ-Delivery

Wer sich mit den Grundlagen der Elektronik vertraut macht, der wird auf den Begriff „Schwingkreis“ treffen. Hier betrachten wir einen LC – Parallel-Schwingkreis. Solche Baugruppen finden sich auch heute überall in Radio – /Phono- /Hifi- und TV-Geräten. Auch in der Kfz-Elektronik sind LC – Baugruppen vertreten. In der Messtechnik ohnehin. Experten schwören auf analoge Filter hoher Güte, auch wenn es längst digitale Filter mit beeindruckenden Eigenschaften gibt.

Wer Elektronik und Computertechnik betreiben möchte, sollte Schwingkreise grundsätzlich verstehen.

Hier werden wir den Nano V3 mit ganz wenig Aufwand und Peripherie als Oszilloskop einsetzen. Ganz nebenbei werden Sie das „MSR-Labor“ kennen lernen, das auf „bare-bone“-C-Programmierung beruht und noch viel, viel mehr Funktionen mit dem Nano V3 realisiert. Es ist eindrucksvoll, was man alles damit machen kann, wenn man sich an den GCC-Compiler wagt und ganz tief eintaucht. Dazu später mehr.

Diese Teile benötigen wir für unser kleines Experiment:

Stückliste

1             Nano V3 Link

1             PWM Signalgenerator Link

1             OpAmp MCP602 Link

1             Widerstand 1kΩ, 0,25W Link

1             Widerstand 4,3kΩ, 0,25W Link

1             Widerstand 1MΩ, 0,25W Link

2             Kondensator 100nF Link

1             Kondensator 20nF Link

1             Kondensator 10nF Link

1             Elektrolytkondensator 2,2µF Link

1             Potentiometer Link

1             Induktivität 1,35H siehe Text

Empfohlen:

Fachbuch zum MSR-Labor Link

Was tut ein LC-Schwingkreis?

Eine Spule und ein Kondensator werden parallelgeschaltet. Das sieht dann z.B. so aus:

Der Widerstand von 39 Ω, der in Serie mit der Spule liegt, ist der sog. „parasitäre“ ohmsche Widerstand der Spule. Sie messen ihn mit einem Multimeter. Dieser Widerstand verschlechtert die Eigenschaften des Schwingkreises. Er kommt zustande, weil viele Windungen feinen Lackdrahtes um einen Spulenkern gewickelt wurden. Den Eisenkern der Spule zeigt der vertikale Strich am Schaltsymbol an.

Wenn wir diesen Schwingkreis an einen Sinusgenerator anschließen und bei konstanter Amplitude die Frequenz von null aus hoch laufen lassen, findet man bei der sog. „Resonanzfrequenz“ fr  einen deutlichen Anstieg der Amplitude am Schwingkreis. Das nennt man Resonanz. Man kennt das Phänomen auch aus der Mechanik, wo man oft Resonanzen vermeiden möchte, z.B. damit eine Brücke nicht bricht.

Wenn man mit einem Oszilloskop einen solchen Ablauf beobachtet - die Frequenz steigt von links nach rechts an - dann erkennt man die ausgeprägte Resonanz.

Wenn man weiß, an welcher Stelle auf der X-Achse welche Frequenz liegt, kann man den Resonanzpunkt direkt ablesen.

Ein recht elegantes Verfahren - ebenfalls mit dem Nano V3 - finden Sie hier: https://art-of-electronics.blog/labor-tagebuch/#LC_Resonanz

Resonanzfrequenz berechnen

Die Resonanzfrequenz des Schwingkreises lässt sich ganz einfach berechnen:

L ist die Induktivität der Spule, angegeben in „Henry“ [H]

C ist die Kapazität des Kondensators in „Farad“ [F]

[F] ist eine Größe, die kaum verwendet wird, weil es nur wenige so große Kondensatoren gibt. Meist benutzt man µF, nF, pF.

Wer nicht selbst rechnen möchte, kann auf eine Website zurück greifen, z.B.: 
https://www.redcrab-software.com/de/Rechner/Elektro/F0

Wer gerne generell mehr über Schwingkreise wissen möchte, ist hier gut aufgehoben:
https://www.rahner-edu.de/grundlagen/signale-richtig-verstehen/schwingkreise/

Schwingkreisgüte

Wenn Sie noch einmal auf das obige Foto des Oszilloskops schauen, haben Sie sich vielleicht gefragt, wieso der „Bauch“ des Bildes ein so runder „Bierbauch“ ist. Mit dem Begriff „Resonanz“ verbindet man doch eher einen spitzen, hohen Peak, der ganz deutlich über das Grundsignal hinaus geht.

Wie hoch der Resonanzpeak ist und wie deutlich er sich vom Grundsignal absetzt, das hängt von der sog. „Schwingkreisgüte“ ab, sie wird auch „Resonanzschärfe“ genannt. Der letztere Begriff sagt es schon: Wie scharf die Resonanz ist, hängt von der Güte des LC-Kreises ab. Das Formelsymbol für Güte ist Q - eine dimensionslose Zahl.

Man bezeichnet den Bereich links und rechts um die Spitze des „Bauches“, an dem die Amplitude um 3dB, also den Faktor ca. 0,7 zurückgegangen ist, als „Bandbreite“ des Schwingkreises.

Die Schwingkreisgüte rechnet sich dann ganz einfach:   Q = fr   /  Bandbreite

Da die Resonanzfrequenz in [Hz] angegeben ist und die Bandbreite ebenfalls, erhalten wir als Ergebnis eine dimensionslose Zahl.

Der Nano V3 als Oszilloskop im Einsatz

Soweit die Theorie. Wenn wir die Resonanzfrequenz und den Q-Wert eines Schwingkreises messen wollen, wäre unser Nano V3 als Oszilloskop eine großartige Lösung.

Wenn man allerdings die praktischen Möglichkeiten anschaut und ein wenig rechnet, macht sich bald Ernüchterung breit. Es ist eine recht anspruchsvolle Aufgabe und mit der klassischen, komfortablen IDE-Entwicklungsumgebung kaum realisierbar.

Hier möchte ich das Loblied auf einen unserer erfahrensten Elektroniker anstimmen, der eine Reihe von Büchern veröffentlicht hat, seine eigenen Websites betreibt und u.a. auch unser Oszilloskop-Thema in überzeugender Weise gelöst hat: Herrn Burkhard Kainka. Seine höchst empfehlenswerten Websites sind: http://elektronik-labor.de/ und http://www.b-kainka.de/. Unter seinem Namen finden Sie noch eine Menge mehr im Netz. Unbedingt anschauen - das lohnt sich.

Herr Kainka hat ein komplettes Elektroniklabor in den Nano V3 gepackt. Das Oszilloskop ist nur ein Teil davon. Alle Teile seines „MSR-Labors“ sind mit dem GCC-Compiler erstellt, so nahe an der Hardware, wie es nur möglich ist. Eine - für mich - unglaubliche Leistung und echt anstrengend. Man lernt alles komplett neu, wenn man auf den Komfort der IDE verzichten muss, um das notwendige Arbeitstempo zu bekommen. Man programmiert  „bare-bone C“.  Allein bei der Generierung eines Rechtecksignales ist der GCC-Sketch von Herrn Kainka rund 30 Mal so schnell, wie ein Sketch nur mit der IDE.

Wenn Sie das Oszilloskop (incl. des kompletten MSR-Labors) laden wollen, dann ist hier der Link (mit ausdrücklicher Genehmigung des Autors): http://www.elektronik-labor.de/AVR/ArduinoMSR.html

Installation des MSR-Labors

Das MSR-Labor besteht aus dem Nano V3, der mit einen WIN-Rechner kommuniziert - bei 1 MB/s Datenrate!  Alle Software dafür installieren wir nun.

Wenn man nur die Oszilloskop-Anwendung nutzen möchte, müsste das auch ohne das zugehörige Buch von B. Kainka mit dem Titel „Arduino Messlabor“ möglich sein. Ich habe die 15 € spendiert und bin dabei, viele der angebotenen Funktionen zu testen. Es ist professionell gemacht, für viele Zwecke mehr als ausreichend und eine Anwendung, die den Nano V3 bis an die Grenze des Möglichen nutzt.

Die Installation Schritt-für-Schritt:

  1. Besuchen Sie den Link http://www.elektronik-labor.de/AVR/ArduinoMSR.html
  2. Laden Sie die 300kB grosse ZIP-Datei zip herunter und entpacken sie diese
  3. Wenn Sie in den „entzippten“ Ordner schauen, finden Sie dort unter anderem:

    ArduinoMSR.exe
    ArduinoMSR2.exe
    DDS1
    DDS2
    LCFR.exe
    RSCOM.DLL
    MSR.ini
    MSR2.ini
    NanoMSR
    NanoMSR2

    Das „MSR“ Messlabor arbeitet mit dem Nano V3 als eigentlichem Messgerät. Dort werden Signale gemessen und auch generiert. Die Sketches in den Ordnern DDS1 und DDS2 sind Signalgeneratoren, die aber hier keine Rolle spielen.

    Das Frontend, das die Bedienung übernimmt und die Signale darstellt, ist eine VB6-Anwendung. Es ist die ArduinoMSR2.exe (wir verwenden hier nur die neuere Version …MSR2).

    Im Betrieb bleibt der Nano V3 bleibt mit dem Laptop als Bediengerät verbunden. Dafür starten sie später die ArduinoMSR2.exe Laptop und Nano V3 kommunizieren mit 1Mb/s über die serielle Schnittstelle.  Die Anweisungen sind Gruppen weniger Bytes - daher das hohe Tempo.

  1. Laden Sie nun den Sketch ino   Werfen Sie ruhig einen Blick in diesen kompakten Sketch. Sofort fällt ins Auge, dass die klassische Struktur void setup(), vorig loop() nirgends auftaucht. Schon erstaunlich, was das MSR2 leistet, mit weniger als 300 Zeilen Code. Eine Erklärung dieses „bare-bone C“-Codes finden Sie für jede einzelne Funktion ganz detailliert im erwähnten Buch auf insgesamt 150 Seiten. Dort sind die Grundlagen erklärt und zahlreiche Beispiele enthalten. Wenn Sie den Sketch geladen haben, einfach kompilieren und hochladen.
  1. Für die schnelle Kommunikation zwischen Nano V3 und dem PC muss eventuell noch der richtige COM-Port in der Datei ini eingetragen werden. Das ist eine reine Textdatei. Bitte öffnen Sie diese Datei und schauen Sie nach, ob schon der richtige COM-Port drin steht. Wenn nicht, dann bitte ändern und sichern. Achten Sie darauf, dass die Endung „.ini“ nicht verloren geht.

  2. Jetzt können sie auf dem WIN-Rechner die exe starten. Wenn jetzt eine Fehlermeldung auftaucht, überprüfen sie noch einmal Punkt 5.)

    Sie sollten jetzt bereits das virtuelle Oszilloskop sehen und eine Menge Knöpfe und Schieberegler, die zum MSR2 gehören.

Alles fertig? Dann ist es so weit - schon können wir mit den Messungen beginnen!

Unser Messaufbau

Wir sehen auf dem Breadboard neben dem Nano V3 ein paar Widerstände aus dem AZ-Widerstands-sortiment und zwei Kondensatoren. Ein kleines 10kΩ Trimmpoti kommt hinzu. Für den 220nF-Konden-sator nehmen wir 2x100nF + 1x20nF aus dem AZ-Keramikkondensator-Sortiment und schalten sie parallel. Der 2,2µF Kondensator kann ein Elko sein. Er hat seinen Pluspol auf der linken Seite.

Der 1 MΩ-Widerstand verbindet den Abgriff des Trimmpotentiometers, das die Vorspannung für den OpAmp einstellt, mit dem nicht-invertierenden Eingang des OpAmp.

Der 10nF-Kondensator ist einerseits mit dem Impulsgenerator verbunden und mit dem anderen Beinchen direkt am Schwingkreis. Dort liefert er – galvanisch getrennt – seine Rechteckimpulse beim Schwingkreis ab. Der 2.2µF-Kondensator und ein Beinchen des 10nF-Kondensators sind miteinander verbunden.

Was man hier nicht sieht, ist der Impulsgenerator, der kurze Rechteckimpulse über einen 10nF-Kondensa-tor an unsere Schaltung schickt. Es wird der PWM Signalgenerator dafür verwendet. Denn bei dieser Messung werden wir anders vorgehen, als im oben erwähnten Beitrag aus dem AoE-Blog. Dort hat man ein Sinussignal zugeführt und geschaut, bei welcher Frequenz der Schwingkreis Resonanz zeigt.

Diesmal werden wir dem Schwingkreis einen einzelnen, kurzen Impuls schicken. Damit stoßen wir die Schwingung an, die nach und nach an Signalstärke verliert. Diese gedämpfte Schwingung liefert uns mit einer eleganten, einfachen Messung die Resonanzfrequenz und auch die Schwingkreisgüte.

Hier zeige ich, wie das auf einem klassischen Oszilloskop ausschaut:

 

Man sieht ganz oben - etwas versteckt hinter der eingeblendeten Zahl „100µS“ - einen ganz kurzen Impuls von rund 15µs. Dieser Impuls stammt aus dem PWM Signalgenerator, der auf einen Duty-Cycle von 3% bei einer Frequenz von 20 Hz eingestellt ist. 97% der Zeit ist sein Signal „LOW“, 3% HIGH.

Direkt auf die fallende Flanke dieses Impulses folgt auf dem unteren Kanal, der direkt am Schwingkreis angeschlossen ist, ein Sinussignal mit ca. 1Vpp, das bei jeder weiteren Schwingung abnimmt. In der linken Hälfte des Bildes sieht man eine vollständige Schwingung.

Wenn man eine Schaukel oder ein Pendel anstößt, so ist das die mechanische Entsprechung zu unserem einmaligen „Schubs“. Schön daran: Allein aus einem solchen Bild können wir die Parameter ableiten, die den Schwingkreis bestimmen.

Jetzt messen wir mit dem Nano V3 MSR-Labor

Ziel ist, mit dem Nano V3 und dem MSR-Labor genau dieses Ergebnis nach zu vollziehen, das hier auf einem klassischen Oszilloskop dargestellt ist.  Dazu brauchen wir allerdings einen kleinen „Sidestep“. Das klassische Analogoszilloskop (wie oben) kann Spannungen bis 5 mV messen. Unser Nano V3 ist dafür nicht ausgelegt. Er braucht ein wenig Unterstützung. Wir müssen für eine ordentliche Darstellung das Signal des Schwingkreises verstärken, denn es beträgt maximal 1 Vpp (Vpp heißt „Volt -peak-peak“, die Spannung zwischen dem höchsten und kleinsten Wert unserer Sinuswelle).

Auf dem Steckbrett ist der kleine Vorverstärker zu sehen. Der simple Schaltplan sieht so aus:

Auswertung der Messung

Wir haben eine Spule von 1,35H verwendet und einen Kondensator von 220nF. Daraus ergibt sich eine Resonanzfrequenz von 292,04 Hz.

Nun schauen wir, was unser MSR-Labor dazu sagt:

  1. Wir haben zwischen den vertikalen, grünen Strichen (X-Achse) jeweils einen Zeitraum von 5 m
  2. Jetzt schauen wir mal, wie viele Schwingungen wir finden: Ich sehe 14 Stück.
  3. Diese 14 Schwingungen (von der 1. rechne ich noch ½ mit) laufen in ca. 48,75 ms ab.
  4. Diese Zeit wird für 14 Schwingungen gebraucht, also dauert eine Schwingung: 3,48 ms
  5. Daraus errechne ich eine Frequenz von fr = 1 / 3,48 ms =  287,35 Hz.

Die Abweichung 4,7 Hz geht auf das Konto des parasitären Widerstandes, der Spulenkapazität (die Spule selbst wirkt auch noch als Kondensator) und anderer Störungen.

Außerdem dämpft die Messeinrichtung selbst den Schwingkreis nochmals und bringt auch noch eine Streukapazität mit. Wie eng die Kopplung zwischen Schwingkreis und dem PWM-Generator ist, das beeinflusst die Messung ebenfalls.

Genauigkeit

Wir haben eine Abweichung - gegenüber der Berechnung - die gerade einmal 1,6% beträgt! Und dies mit einfachsten Mitteln, mit minimalem Aufwand.

Schwingkreisgüte berechnen

Nun wollen wir noch die Schwingkreisgüte bestimmen. Für Frequenzen bis ca. 1 MHz gibt es bei Messung mit der gedämpften Schwingung eine einfache Faustformel, die hinreichend genau ist:

  1. Wir schauen, nach wie vielen Schwingungen das Signal auf die Hälfte gefallen ist. Das scheint mir nach ca. 3 Schwingungen der Fall zu sein.
  2. Diesen Wert multipliziert man mit 5. Ergebnis dieser Rechnung ist die Spulengüte: Q = 3 x 5 = 15.

Wer im AoE-Blog nachschaut, der findet dort - für die identische Schaltung - einen Wert von 12. Hier haben wir eine etwas größere Abweichung von ca. 20%.

Ergänzungen

In den WIN-Programmen, die Herr Kainka mitliefert, gibt es eine Konfigurationsdatei „MSR2“. Dort ist der COM-Port eingetragen, den das Hauptprogramm „ArduinoMSR2“ benutzen soll. Wenn Sie beim Start des Hauptprogrammes eine Fehlermeldung erhalten, dann ändern Sie bitte in der Konfigurationsdatei die Einstellung und starten das Programm neu.

Sie bekommen außerdem eine Anwendung  „LCFR.exe“. Damit können Sie eine Schwingkreisberechnung durchführen.

Ich wurde in meinem Blog gefragt, woher ich die Induktivität von 1,35 H genommen habe. Es handelt sich dabei um die Drosselspule einer konventionellen Leuchtstofflampe, die ich auf LED umgestellt habe.
Die kleine „Luftspule“ - als Symbol in der Steckbrettansicht - ist nur „symbolisch“ gemeint!

Wer sich für weitere Anwendungen des MSR-Labors mit dem Nano V3 interessiert, wird in nächster Zeit im Art-of-Electronics Blog fündig. Gerade bin ich dabei, ergänzende Hardware für das MSR-Labor zu entwickeln, so dass man keine Verstärker mit auf einem Breadboard aufbauen muss etc.

Es wird auch einen ausführlichen Bericht über das MSR-Labor geben, vielleicht sogar in Zusammenarbeit mit Herrn Kainka, der seine Arbeit als „Open Source“ betrachtet und dazu ausdrücklich sein „Placet“ gab.

Für arduinoProjekte für fortgeschrittene

4 Kommentare

Andreas Wolter

Andreas Wolter

Herr Klein hat das Schaltbild aktualisiert und ausgetauscht.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Bernd-Steffen Großmann

Bernd-Steffen Großmann

Hallo Herr Klein, vielen Dank für Ihre Antwort! Ja es stimmt, der Schaltplan ist viel eindeutiger. Ich bevorzuge als Elektroniker sowieso diese Darstellung vor den immer verbreiteteren “realen” Fritzing-Bildern. Leider fehlt die Anbindung des Impulsgenerators über den 10nF Koppelkondensator darin. Vielleicht können Sie das noch im Beitrag ergänzen, damit es eindeutig wird.
Noch mal zu meiner 2. Frage, die Sie leider nicht beantwortet haben: wo ist die positive Platte vom 2,2 uF Elko? Da (wie im Oszi-Bild oben ersichtlich) ein positiver Impuls den Schwingkreis anstößt, nehme ich inzwischen an, dass der Pluspol des Elkos am 10 nF Koppelkondensator bzw. am nicht invertierenden Eingang des OPV liegt, richtig? Viele Grüße von Bernd-Steffen Großmann

Michael Klein

Michael Klein

Hallo Herr Großmann,
danke für die freundliche Rückmeldung :-) .. ich hatte ein wenig Sorge, dass der Beitrag vielleicht zu theoretisch rüber kommen könnte.
Sie haben völlig Recht: Die Fritzing-Darstellung könnte besser sein. Der Schaltplan hilft vielleicht ein wenig weiter: Der 1 MΩ-Widerstand verbindet des Abgriff des Trimmpotentiometers, das die Vorspannung für den OpAmp einstellt, mit dem nicht-invertierenden Eingang des OpAmp.
Der 10 nF-Kondensator ist einerseits mit dem Impulsgenerator verbunden und – diesen Teil erkennt man leider nur schlecht – sorry, mit dem anderen Beinchen direkt am Schwingkreis. Dort liefert er – galvanisch getrennt – seine Rechteckimpulse beim Schwingkreis ab. Man kann mit etwas Phantasie erkennen, dass der 2.2µF-Kondensator und ein Beinchen des 10 nF-Kondensators verbunden sind.
Viel Spass und viel Erfolg beim Nachbau,
viele Grüsse
Michael Klein

Bernd-Steffen Großmann

Bernd-Steffen Großmann

Hallo Herr Klein, ich hab mich mal wieder mit dem interessanten Projekt von Hr. Kainka „ Arduino-Messlabor“ befasst, einiges ausprobiert und nachgelesen. Dabei bin ich auch auf Ihren Beitrag gestoßen, der neue Aspekte und Möglichkeiten des o.a. Projektes aufzeigt. Das Ganze ist sehr lehrreich und interessant! Vielen Dank dafür! Allerdings habe ich beim Nachvollziehen der Schaltung zur Schwingkreis-Messung einige Probleme: in der Fritzing Schaltung ist der 10 nF Kondensator, über den die Impulse vom externen Generator eingekoppelt werden, zwar eingezeichnet, aber es ist nicht zu erkennen, wo die zweite Seite angeschlossen ist. Ich vermute mal an dem 1MOhm Widerstand, der auf der linken Seite „in der Luft hängt“, der dann aber auch noch mit dem +OPV-Eingang verbunden gehört. Wenn ich genau hinschaue, sehe ich da zwei gestrichelte Linien, die wahrscheinlich die fehlenden Verbindungen anzeigen. Im u.a. Schaltbild ist der Teil gar nicht gezeichnet, so dass ich nur vermuten kann, wie es richtig ist. Noch eine zweite Frage: ist der Pluspol vom 2,2 uF Elko auf der Schwingkreis-Seite oder am OPV-Eingang? Links ist relativ, da der Anschluss vom Elko auf der Schaltung gerade anders herum als auf dem Breadboard gezeichnet ist.
Mit freundlichen Grüßen, Bernd-Steffen Großmann

Kommentar hinterlassen

Alle Kommentare werden von einem Moderator vor der Veröffentlichung überprüft

Empfohlene Blogbeiträge

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery