ATtiny13-Speicheroszilloskop
von Hermann Nieder
Die Software zum Lernpaket „Elektronikstart mit USB“ bietet ähnlich wie diejenige zum „Lernpaket Mikrocontroller“
u. a. auch die Möglichkeit, ein sehr einfaches Speicheroszilloskop
aufzurufen, wenn in den beigefügten ATtiny13 zuvor die Datei
Interface.hex übertragen wurde. Es kann entweder eine
Einkanalmessung oder eine Zweikanalmessung gestartet werden. Die
ausführlichen Erläuterungen im Handbuch regten mich dazu
an, ein vorhandenes Programmlisting in Visual Basic 5 von der CD
zum Lernpaket als Grundlage zu verwenden und es so zu erweitern, dass
eine farbige Darstellung der zeitlichen Verläufe von Spannungen
möglich ist, wie dies auf dem oben abgebildeten Screenshot zu
sehen ist. Nach dem Öffnen der COM-Schnittstelle ändert man
mit dem Schieber einer der beiden horizontalen Bildlaufleisten
die Farbe eines Figurenfelds rechts daneben und legt diejenige der
Linie im Oszillogramm fest, die dem zeitlichen Verlauf der
Messspannung entspricht. Zusätzlich kann mit einem von
drei Optionsfeldern die Linienbreite im Oszillogramm gewählt
werden. Mit einem von zwei anderen Optionsfeldern oben unter dem
Bildfeld kann eine Zweikanal- oder eine Einkanalmessung gestartet
werden. Im letzteren Fall werden die nicht benötigten
Befehlsschaltflächen usw. der Übersichtlichkeit wegen
ausgeblendet. Die Messwerte, die vom Mikrocontroller gesendet werden,
übernimmt das Programm in Visual Basic 5 bei einer Einkanalmessung
in ein Listenfeld. Mit der Schaltfläche „Oszillogramm
darstellen“ wird dieses darauf in einem Bildfeld angezeigt.
Für eine Zweikanalmessung stehen zwei Listenfelder für
die Übernahme der Messwerte zur Verfügung, die vom
angeschlossenen ATtiny13 übermittelt werden. Dies
veranschaulicht der folgende Screenshot .
Bei
einer Zweikanalmessung kann es sinnvoll sein, die Linienbreite z. B.
auf den Wert 2 zu setzen. Es besteht zusätzlich die
Möglichkeit, beim Drücken des Schaltfeldes
„Skala“ im Bildfeld eine Skala anzeigen zu lassen. Dies ist
der Plan zur Schaltung, mit der die abgebildeten Oszillogramme
aufgenommen wurden.
Eines
der D-Flip-Flops in einem CMOS-Baustein 4013 wird verwendet, um die
Frequenz der rechteckförmigen Spannung am Ausgang Out(Pin 5) des
NE556 zu halbieren. Die abgebildete Schaltung wird mit einer
stabilen Gleichspannung von 5 V betrieben, um den angeschlossenen
ATtiny13 nicht zu überlasten. Dieser ist nach den Angaben im
Handbuch zum Lernpaket mit der USB-Platine aus demselben zu
verbinden. Für die Aufzeichnung langsamer Vorgänge bis
zu einer Dauer von 5 Minuten ist zum Beispiel das Programm in Visual
Basic 5 geeignet, von dem der folgende Screenshot stammt.
Nach
dem Öffnen der Schnittstelle ändert man die Position des
Schiebers einer Bildlaufleiste und legt damit die Farbe des Punktes
rechts daneben sowie diejenige der betreffenden später
darzustellenden Linie im Spannungs-Zeit-Diagramms fest. Die jeweilige
Aufzeichnungsdauer kann mit einer von fünf Optionsfeldern
festgelegt werden. Die Beschriftung an der Zeitachse im Bildfeld
wird entsprechend verändert. Für die Messung mit dem
Zweikanal-Plotter wurde in der oben abgebildeten Schaltung die
Kapazität des Kondensators auf 100 µF erhöht, und der
Widerstandswert von R2 betrug nun 47k.Die für den Betrieb des
PC-Programms in Visual Basic 5 notwendige Funktionsbibliothek RSCOM.DLL
findet man auf den Seiten von Burkhard Kainka, wo sie heruntergeladen
werden kann.
Download VB-Projekte und Tiny13-Software: OsziT13_F.zip
Private Sub Command7_Click()
List1.Clear
List2.Clear
n = 0
'Timer1.Enabled = True
SENDBYTE 100
While n < 62
d = READBYTE
'ADC3-Werte
List2.AddItem Str$(d)
n = n + 1
Wend
End Sub
Abholen der Messwerte in VB (Ausschnitt)
k100: cpi Kom,100 ;Oszi 1 Kanal
brne K101
Oszi: ldi XL,96
ldi XH,0
ldi Count2,61
O100: rcall ADCrd8BitB4
st X+,A
dec Count2
brne O100 ;61 mal
ldi XL,96
ldi XH,0
ldi Count2,61
O101:
Ld A,X+
rcall WrCOM
dec Count2
brne O101 ;61 mal
k101: cpi Kom,101 ;Oszi 2 Kanal
brne K250
Oszi2:ldi XL,96
Ldi XH,0
Ldi Count2,31
O102: rcall ADCrd8BitB4
St X+,A
rcall ADCrd8BitB3
st X+,A
dec Count2
brne O102 ;61 mal
ldi XL,96
ldi XH,0
ldi Count2,62
O103:
Ld A,X+
rcall WrCOM
dec Count2
brne O103 ;61 mal
Assemblerprogramm im Tiny13 (Ausschnitt)