Vierton-Elektronenorgel                


 Beitrag zum Schaltungswettbewerb 2013 von Hermann Nieder                       
Elektronik-Labor  Literatur  Projekte  Lernpakete  Kalender 


In der abgebildeten Grundversion der Schaltung mit einem 4093 wird beim Betätigen eines der vier Taster  ein Ton erzeugt , den der Piezo-Schallwandler auf dem Deckel einer kleinen Schachtel aus Karton links im Bild erklingen lässt. Dies sind die Schaltungseinzelheiten der Grundversion:
 
   
 
Mit  einem der Nand-Schmitt-Trigger des 4093,  sowie R1, P1 und C1 ist ein astabiler Multivibrator aufgebaut, der beim Einschalten der Spannungsquelle nicht aktiv ist, da der Eingang1 (Pin1, Pin6, Pin8 bzw. Pin13) des ICs über  R2 an Masse(GND) liegt. Erst wenn man diesen Anschluss über den betreffenden  Taster mit  dem Punkt +5V verbindet, startet der  Multivibrator. Sein Ausgangssignal ist über einen Kondensator mit dem Eingang einer Verstärkerstufe mit einem NPN-Transistor verbunden, an deren Ausgang der oben erwähnte Piezo-Schallwandler angeschlossen ist.
Pro Ton  benötigt man eine solche rot eingerahmte Teilschaltung, die der Übersichtlichkeit wegen nur einmal dargestellt ist. Mit einem  4093 lassen sich also vier Töne erzeugen.
 
Um die Wettbewerbsbedingungen einzuhalten und kein weiteres IC zu verwenden, wird hier mit T2, einem Widerstand von 220 Ohm, einer gerade vorhandenen Z-Diode  sowie einer Siliziumdiode dazu in Flussrichtung aus der Batteriespannung eine Spannung von ca. 5 V erzeugt, damit „stabile“ Töne erklingen können. Rechts über dieser Teilschaltung ist angedeutet, dass auch ein Spannngsregler µ78L05  mit zwei Kondensatoren diese Aufgabe übernehmen könnte.     
 
Die Trimmpotis lassen sich mithilfe eines vorhandenen Musikinstruments durch Vergleich der Töne bzw. mit einem eventuell verfügbaren  Frequenzmesser sowie einer Tabelle mit der Zuordnung von Tönen und Frequenzen (z. B: aus dem Internet) so einstellen, dass jeweils der Ton C, D, E  bzw. G erzeugt wird.  Drückt man  z. B. nacheinander die  „richtigen“  Tasten, so erklingen einige Töne des Refrains eines bekannten Weihnachtsliedes(„Jingle bells...“).
 
Die im Bild oben unterhalb der Taster vorhandenen Siliziumdioden haben in dieser Version der Schaltung keine Funktion und entfallen daher. 
Selbstverständlich lassen sich mit der oben vorgestellten Schaltung mit einem 4093 durch entsprechende Einstellungen an den vier Trimmpotis auch andere Töne und damit auch andere Tonfolgen  erzeugen.
   
 
Das Praktische der oben vorgestellten Schaltung besteht darin, dass man die Tonerzeugung auch automatisieren kann, indem man einen Mikrocontroller „die Tasten bedienen“ lässt. Wenn dieser an einem bestimmten Ausgang 1-Signal aufweist, wirkt sich dies genauso aus, wie wenn man eine bestimmte Taste drückt und damit dafür sorgt, dass der betreffende Eingang an +5V liegt, das heißt 1-Signal „erkennt“.
 
Version mit TPS-Steuerung


  
Hat man  z. B.  eine TPS zur Verfügung, dann kann diese bewerkstelligen, dass gerade der „richtige“ Multivibrator  eingeschaltet ist und damit gerade der passende Ton für eine bestimmte Zeit erklingt.
 
Ausgang A1 bringt dabei den Ton C, A2 den Ton D, A3 den Ton E und A4 den Ton G zu Gehör.
Die TPS-Ausgänge sind dazu jeweils an Pin1, Pin6, Pin8 sowie an Pin13 anzuschließen. Die Taster
werden also nicht betätigt.



 
Um den Mikrocontroller der TPS zu schützen, wurden wie im Bild zusätzlich vier Siliziumdioden (1N4148) von den Ausgängen A1, A2, A3 und A4 des HT46F47 (Anodenanschlüsse der Dioden) zu den Pins 1, 6, 8 sowie 13 (Katodenanschlüsse der Dioden) eingefügt, die über 10k an Masse(GND) liegen.
 
Die Wartezeiten in den Teilprogrammen müssten eventuell jeweils noch etwas verändert werden, aber das TPS-Programm funktioniert!  In Page0 steht das Grundprogramm, das beim Start einmal die Unterprogramme aufruft, damit die ersten Töne des Refrains der oben erwähnten Melodie erklingen.
 
 
0: 81  Page 1     ; Unterprogramm 1  aufrufen
1: D0   Call 0
2: 27 Wait 200 ms
3: 81  Page 1    Unterprogramm 1  nochmal aufrufen
4: D0   Call 0
5: 27 Wait 200 ms
6: 82  Page 2     ; Nun Unterprogramm 2 aufrufen
7: D0   Call 0
8: 30 Jmp -0     ; Darauf hier anhalten
 
In Page1 befindet sich Unterprogramm 1, also ab Adresse 10
 
0: 14  Port=4   ; Ton E
1: 27 Wait 200 ms
2: 10   Port=0       ; kein Ton
3: 27 Wait 200 ms; Pause
4: 14  Port=4
5: 27 Wait 200 ms
6: 10   Port=0
7: 27 Wait 200 ms
8: 14  Port=4
9: 27 Wait 200 ms
A: 27 Wait 200 ms
B: 10   Port=0
C: 27 Wait 200 ms
D: E0   Ret 0
 
In Page2 befindet sich Unterprogamm 2, also ab Adresse 20:
 
0: 14  Port=4        ; E
1: 27 Wait 200 ms
2: 10   Port=0
3: 27 Wait 200 ms
4: 18  Port=8        ; G
5: 27 Wait 200 ms
6: 10   Port=0
7: 27 Wait 200 ms
8: 11  Port=1        ; C
9: 27 Wait 200 ms
A: 10   Port=0
B: 27 Wait 200 ms
C: 12  Port=2       ; D
D: 27 Wait 200 ms
E: 10   Port=0
F: 27 Wait 200 ms
10: 14  Port=4      ; E
11: 27 Wait 200 ms
12: 27 Wait 200 ms
13: 10   Port=0
14: 27 Wait 200 ms
15: E0   Ret 0

 
Version mit Steuerung durch einen ATtiny13
 
Man kann auch die Tonerzeugung für die oben vorgestellte Schaltung an einen Mikrocontroller, wie den ATtiny13, „delegieren“. Auch in diesem Fall sind wie bei der  Steuerung durch eine TPS sicherheitshalber die vier oben erwähnten Siliziumdioden eingesetzt.
 
 


Ein Programm in Bascom-AVR, wie das Folgende, kann dann z. B. für die Steuerung verwendet werden.
 
$regfile = "attiny13.dat"
$crystal = 1200000
Config Portb = Output
 
Declare Sub Unterprog1
Declare Sub Unterprog2
 
C Alias Portb.0
D Alias Portb.1
E Alias Portb.2
G Alias Portb.3
 
Unterprog1
Waitms 200
Unterprog1
Waitms 200
Unterprog2
End
 
Unterprog1:
Set E
Waitms 200
Reset E
Waitms 200
Set E
Waitms 200
Reset E
Waitms 200
Set E
Waitms 400
Reset E
Waitms 200
Return
 
Unterprog2:
Set E
Waitms 200
Reset E
Waitms 200
Set G
Waitms 200
Reset G
Waitms 200
Set C
Waitms 200
Reset C
Waitms 200
Set D
Waitms 200
Reset D
Waitms 200
Set E
Waitms 400
Reset E
Waitms 200
Return




Elektronik-Labor  Literatur  Projekte  Lernpakete  Kalender