Das megaschnelle Oszilloskop

Wie aus einem Arduino ein Oszilloskop wird.

Ok, ich geb’s zu. Die Überschrift ist zweideutig. Denn das Arduino-Oszilloskop ist mit 2500 sps (samples per second) alles andere als schnell. Aber das Herzstück meines Arduinos ist nunmal ein ATMega328p, weshalb diese Überschrift gewissermaßen gerechtfertigt ist. Auch wenn dieses Arduino-Oszilloskop nicht das schnellste seiner Klasse ist, kann es doch sehr hilfreich sein, wenn man sich mal den Verlauf eines elektrischen Signals genauer anschauen möchte.

Der Aufbau des Oszilloskops ist sehr einfach. Man nehme einen Arduino (ganz egal welchen), starte die Software auf einem Mac- oder Linux-Rechner und füttere den analogen Eingang des Arduinos mit dem Signal, das man untersuchen möchte. Der Arduino lässt sich optional mit einer Verstärkerschaltung erweitern, das ist allerdings nicht zwangsläufig nötig. Mehr dazu in der Dokumentation des Software-Pakets.Die Software für Mac OS X ist ein Derivat des schon vorhandenen Projekts lxardoscope und ist (neben vielen weiteren Projekten) auf meiner Github Repo zu finden: lxardoscope for Mac.

Die ursprüngliche Software basiert auf X11 und XForms und ist mit seinen spezifischen Systemaufrufen nur für Linux konzipiert. Mir gelang es in den letzten Tagen die Software für Mac OS X zu portieren, sodass nun dieses schöne Oszilloskop für einen größere Benutzerbereich zur Verfügung steht. Dazu waren etliche Änderungen und Fehlerkorrekturen nötig, z.B. das Anpassen vieler Variablen, die aufgrund zu langer Eingabewerte von Mac OS X zu Overflow-Fehlern führten.

lxardoscope for Mac

Es lohnt sich, das Oszilloskop einmal auszuprobieren. Vor allem, wenn man gerade einen ungebrauchten Arduino übrig hat. Die Inbetriebnahme des Oszilloskops ist selbsterklärend, wichtig ist nur, dass beim Kalibrationsvorgang die beiden analogen Eingänge A0 und A1 mit Masse verbunden werden. Außerdem muss der Anschluss AREF des Arduinos mit VCC verbunden sein, ansonsten kalibriert sich das Oszilloskop nicht richtig. Wer selber an diesem Projekt arbeiten möchte, muss X11 und die Entwicklertools für Mac OS X installiert haben.

Download: lxardoscope for Mac.

Veröffentlicht am Juli 7, 2014 in Elektronik und mit , , getaggt. Setze ein Lesezeichen auf den Permalink. 9 Kommentare.

  1. Ralph Stiller

    Irgendwie bin ich zu dämlich die Anleitung zu verstehen und um die Software auf meinem Mac OS X 10.9 zum laufen zu bekommen :-(

    • Seltsam. Wo hängt`s denn? Unter Mac OS X 10.9 sollte es eigentlich ohne Problem funktionieren.
      Du musst allerdings XQuartz (https://xquartz.macosforge.org/trac/wiki/X112.7.7) und die Mac OS X Command Line Tools installiert haben.
      Um die Command Line Tools zu installieren benötigst du XCode (im App Store kostenlose erhältlich), danach in die Kommandozeile

      xcode-select --install

      eintippen und die nachfolgenden Fenster durchklicken um die Software zu installieren.
      Anschließend solltest du das Oszilloskop kompilieren und ausführen können, indem du mit der Kommandozeile in den Ordner „lxardoscope_0.95_Mac“ wechselst und

      make && ./lxardoscope

      eintippst.

      Melde dich noch mal, falls es nicht funktioniert oder falls du Hilfe brauchst.

  2. Ralph Stiller

    Vielen Dank für die schnelle Antwort.
    An dieser Stelle muss ich zugeben, dass ich ein „dummer“ Mac User bin :-)
    OK. die Command Line Tools habe ich installiert. Aber im App Store gibt es XCode 6.3, welches aber OS 10.10 verlangt. Versuche gerade XCode 6.2 herunter zu laden (von der Development Seite). Dann werde ich es noch einmal probieren.

  3. Naja, ich hätte vielleicht auch ein bisschen besser erklären können, wie man die Software kompiliert und nutzt. Es ist schließlich nicht selbstverständlich, dass man sich als Mac-User mit dieser Materie auskennt ;)

    Gut, dann lass es mich wissen, ob es funktioniert und ob du zurecht kommst.

  4. Ralph Stiller

    Danke schön.
    Ich weiß zwar noch nicht wie und warum, aber zumindest habe ich die Oberfläche am laufen.

  5. Ralph Stiller

    Aber nachdem ich die Schnittstelle ausgewählt habe, habe ich keine Kontrolle mehr über meinen Mac. Maus und Tastatur funktionieren nicht mehr.

  6. Tja, du hast recht. Ich habe das Oszilloskop bei mir gerade noch einmal ausprobiert und mein Computer hängt sich auch auf. Bei mir passiert das gleiche und ich habe keine Ahnung weshalb.

    Ich muss mich wohl auf Fehlersuche begeben. Derweil stufe ich die Software als nicht funktionsfähig ein. Wenn das Problem behoben ist, melde ich mich noch einmal, aber das kann vielleicht ein paar Tage dauern.

    Seltsam ist es ja, dass das Oszilloskop bei mir schon funktioniert hat – jetzt allerdings nicht mehr. Vielleicht gab es von Apple ein Softwareupdate, das nun Probleme bereitet.

  7. Ok, das Problem wurde behoben. Es lag daran, dass der Arduino ständig Daten an den seriellen Port schickte, aber die serielle Schnittstelle unter dem Datensturm in die Knie ging. Vermutlich ein Buffer-Overflow, der das ganze System lahmlegen konnte. Warum so etwas überhaupt passieren kann, weiß ich nicht. Eigentlich gehe ich davon aus, dass so etwas das Betriebssystem regeln sollte.

    Der Arduino schickt die Daten jetzt nur an den Computer, wenn er dazu aufgefordert wird. Das macht die Kommunikation ein bisschen langsamer, aber wenigstens kann so etwas nicht mehr passieren. Außerdem ist die Datenaufnahme nun vom Computer abhängig, was ggf. das Signal auf der zeitlichen Achse ein bisschen verzerrt. Aber da das Oszilloskop sowieso nur eine Spielerei ist, macht das auch keinen Unterschied.

    Die neue Version ist weiterhin mit dem Link erreichbar.

  1. Pingback: Tools: DSO Nano – Das Taschenoszilloskop | Plaintron Blog

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: