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über hinaus 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 aus.

Voltmeter Modus

Die vier Eingänge werden mit dem 10 Bit A/D Wandler mehrfach ausgelesen (oversampling) 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 dem PC 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.

Bilder

Software und Schaltplan

Wie immer, Verwendung auf eigenes Risiko und ohne Gewähr.
Die Software Version 1.1 besitzt nur den digitalen Plot Modus und diesen mit weniger Funktionen als Version 2.1, dafür wird kein Rückkanal vom PC zum AVR benötigt.
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

Verbesserungsvorschläge

  • Direkt einen USB<->RS232 Wandler auf der Platine verwenden. Dann würden höhere Übertragungsraten problemloser funktionieren und die Schaltung könnte sich per USB mit Strom versorgen und bräuchte keinen Akku mehr.
  • Mehr Platz für die Kondensatoren auf der geätzten Platine