190kHz Signalplotter und Signalgenerator

Hier ein sehr einfacher vier Kanal Signalplotter mit einer Samplerate von 190kHz. Als Hardware wird nicht mehr benötigt als ein ATMEGA8 mit einer seriellen Schnittstelle zum PC. Allerdings muss die PC Schnittstelle eine Datenübertragungsrate von 230,4kBaud unterstützen. Für den AVR wird darüberhinaus ein für genaue Baudraten ausgelegter Quarz benötigt (z.B. 14,7456MHz). Ein andere Controller als ein ATMEGA8 wäre auch möglich, sofern mindestens 1KB RAM zur Verfügung steht. Aufgrund der einfachen Hardware lässt sich der Signalplotter auch schnell und problemlos auf einem Steckbrett aufbauen. Verwenden lässt sich der Signalplotter beispielsweise zusammen mit einem Infrarot Empfänger (TSOP1738) zur Analyse von Signalen von Infrarot Fernbedienungen. Da die Hardware quasi schon vorhanden war, wurde das Programm um einen vier Kanal Oszilloskop Modus mit 3k/s Sample Rate pro Kanal, einem vier Kanal Voltmeter und mit Hilfe eines R2R Netzwerks um einen Signalgenerator erweitert.

Digital Signalplotter Modus

Es werden parallel vier Kanäle mit einer Sampleraten von rund 190kS/s digital erfasst. Die Eingänge können mit einem Trigger belegt werden. Anstelle des vierten Kanals kann auch eine beliebige logische Verknüpfung der ersten drei dargestellt werden. Somit lassen sich beispielsweise unterschiede zwischen zwei Signalleitungen darstellen.
Trotz der verhältnismäßig niedrigen Samplerate und für eine serielle Schnittstelle hohe Datenrate, reicht diese nicht aus um kontinuierlich 190000 Messungen pro Sekunde zu übertragen. Um eine derartige Samplerate dennoch zu ermöglichen, werden bis zu 15 Messungen in ein Byte zusammengefasst, sofern die Eingangspegel bei allen 15 Messungen die selben waren. Daraus wiederum folgert dass bei häufigen Pegelwechseln eine größere Datenmenge anfällt. Diese wird im AVR in einem FIFO gespeichert, der sich wieder leert sobald weniger Pegelwechsel erfolgen. Bei anhaltend häufigen Pegelwechsel gehen somit aber unvermeidlich Messungen verloren. Das genaue zum PC gesendete Datenformat ist in dem Quelltextpaket beschrieben.

Analog Signalplotter Modus

Im Unterschied zum vorherigen Modus werden hier die Eingänge mit dem internen A/D Wandler erfasst. Somit geschieht die Abfrage der einzelnen Kanäle nacheinander. Die Samplerate ist recht niedrig. Zum PC werden 7 Bit A/D Werte übertragen, auf eine Zusammenfassung der Werte wie oben wurde verzichtet. Logische Funktionen lassen sich nicht einstellen, dafür aber eine Triggerschwelle. 3kS/s sind relativ wenig, um aber beispielsweise eine klassische Blinkschaltung (Astabile Kippstufe) zu untersuchen reicht dies aber aus.

Voltmeter Modus

Die vier Eingänge werden mit dem 10 Bit A/D Wandler mehrfach ausgelesen und ein 12Bit Mittelwert zum PC übertragen, dort wird der Wert in Volt umgerechnet und angezeigt. Damit die angezeigte Spannung korrekt ist, muss die Schaltung möglichst genau mit 5V betrieben werden.

Signal Generator Modus

Am PC lässt sich eine beliebige Spannungskurvenform aus 256 Werten mit der Maus einstellen. Diese wird zum AVR übertragen. Dort werden die 256 Werte mit einer einstellbaren Zeit von 0,243ms bis 4551 ms (0,949µs bis 17,8ms pro Einzelwert) ausgegeben. Ein R2R Netzwerk als D/A Wandler erzeugt daraus eine analoge Spannung. Da die mit einem R2R Netzwerk erzeugte Spannung lastabhängig ist, wird an den Ausgang ein OP als Spannungsfolger betrieben. So lassen sich auch kleine Verbraucher wie LEDs gut anschließen. Mit einem ATMEGA8 ist der D/A Wandler auf 6 Bit begrenzt. Mit einem AVR, der alle 8 Pins von PORTB herausführt hat, wäre mit kleinen Softwareänderungen auch ein 8 Bit D/A Wandler möglich.

Das PC Programm

Derzeit gibt es von meinem Programm nur eine Version für Linux. Das PC Programm verwendet die Grafikbibliothek GLUT. Diese ist für Linux und Windows verfügbar. Eine Portierung für Windows dürfte daher relativ einfach sein. Ich selbst werde jedoch keine Portierung vornehmen da ich Windows (fast) nie verwende.

Bilder

(Klicken vergrößert)
Screenshot des PC Programms
Bild der Schaltung ohne R2R Netzwerk
Screenshot des PC Programms
Schaltung auf Breadboard
Jetzt mit geätzter Platine (leider mit ein paar kleine Designfehlern)
Gehäuse von außen
Gehäuse von innen mit Schaltung
Schaltung in Plastikgehäuse

Software und Schaltplan

Die Verwendung der Software und Schaltpläne erfolgt auf eigene Verantwortung. Ich hafte nicht für Schäden falls meine Software oder Schaltpläne welche verursachen sollte. Eine Funktionsfähigkeit und/oder Fehlerfreiheit wird nicht garantiert.
Die Software Version 1.1 besitzt nur den ersten Modi und diesen mit weniger Funktionen als Version 2.1, dafür kommt sie ohne Rückkanal vom PC zum AVR aus.
signal-plot-v2_10.zip
Version 2.1 der PC und AVR Software (GPL)
signal-plot-v2_10-schaltplan.png
Schaltplan Version 2.1 - passend zu Software Versionen 1.1, 2.0 und 2.1
signal-plot-v1_10.zip
Version 1.1 der PC und AVR Software (GPL)
signal-plot-v1-schaltplan.png
Schaltplan Version 1.0 - passend zur Software Version 1.1

Bei einem erneuten entwerfen würde ich ändern:





Zur Startseite

Projekt aus dem Jahr: 2006
Beschreibung zuletzt aktualisiert: 17.08.2015