Radio mit Drehimpulsgebern
von Günther Zöppel
Vor
kurzem habe ich bei AK Modul-Bus zwei der obengenannten ICs bestellt,
zum Experimentieren. Eigentlich will ich mit diesen am aktuellen
Bastelwettbewerb teilnehmen, ich weiß aber momentan noch nicht, ob
ich´s zeitlich schaffe. Sie hatten ja in Ihrem Vorwort dazu angeregt,
historische Radios zu restaurieren. Ich habe mir mal wegen der
Bedienung Gedanken gemacht, um diese etwas an das "analoge Feeling"
älterer Radios anzupassen und bin dabei auf eine Lösung mittels
Drehimpulsgeber (STEC12E08 von Reichelt) gekommen.
Das
Gerät holt sich die nötige HF durch eine nur 17 cm lange
Teleskopantenne. Am Eingang wurde noch ein Schwingkreis eingefügt,
welcher Pi mal Daumen auf 98 MHz (Bandmitte UKW) abgestimmt
ist. Das
vermindert nochmals die Störungseinkopplung durch andere Quellen, da
die Spule so niederohmig ist, dass sie für tiefe Frequenzen praktisch
einen Kurzschluss darstellt. So konnte ich z.B. den sich in störendem
Knattern äußernden Einfluss einer mittels Schaltnetzteil betriebenen
Leuchte eliminieren.
Die auf dem Foto erkennbaren Leisten
unter dem aus der DDR übriggebliebenen Lautsprecher dienen zur besseren
Basswiedergabe - offenbar treten durch den damit erzeugten Luftspalt
Resonanzen im tieferen NF-Bereich auf. Erstaunlich, wie laut der kleine
Zwerg trotz Fehlen eines expliziten NF-Verstärkers spielt. Für
gemäßigte Arbeitsplatzbeschallung reichts allemal, wenn nicht gerade
Nebengeräusche übertönt werden sollen....
Funktionsbeschreibung:
Beim
Beschäftigen mit der Steuerung des Radio-ICs BK1068 habe ich
festgestellt, dass zur Auslösung der Funktionen Volume Up/Down,
Senderwahl, On/Off und Reset kurze Impulse von ca. 4ms Dauer
ausreichen. Um die vielen Taster zu sparen, die zur vollständigen
Bedienung des Radios nötig wären, kam ich auf die Idee, dafür
Drehimpulsgeber einzusetzen. Da bei einer Drehung der Impulsversatz
beim Typ STEC12E08 ca. 6ms beträgt, ist die Dauer der Impulse
ausreichend, was sich im Versuch bestätigte. Der jeweils zeitlich
zuerst erscheinende Impuls setzt sich durch. Offenbar ist die interne
Pinabfrage-Routine des ICs auf derartig kurze Impulse ausgelegt, auch
zur Tastenentprellung. Es ist nur darauf zu achten, dass man die Pins
sinnrichtig verbindet (Rechtsdrehung soll Lautstärkeerhöhung bzw.
Senderfrequenzerhöhung und entsprechend umgekehrt) bewirken.
Da
die Drehimpulsgeber auch eine zusätzliche Tastenfunktion haben, indem
man einfach auf die Achse drückt, können nochmals 2 unabhängige Impulse
erzeugt werden. Das legt nahe, die Bedienung wie in älteren Radios zu
organisieren (Volume-Poti mit Ein-Aus-Schalter und Senderwahl mit
Reset). Somit ist die ganze Bedienung auf 2 Elemente reduziert.
Das angehängte Schaltbild ist selbsterklärend.
Von der Logik her ist mir klar, wie sich Drehimpulsgeber
verhalten, deshalb dürfte meine Schaltung eigentlich nicht
funktionieren. Nun habe ich aber bei diesem Typ Drehimpulsgeber
oszilloskopisch festgestellt, dass derjenige Impulsschalter, nach
dessen Seite man dreht, eher einschaltet und länger in seinem Zustand
verharrt als der andere, d.h. die Impulse sind nach Einleiten der
Drehbewegung unterschiedlich lang. Vor Erreichen des nächsten
Rastschrittes werden beide Schalter durch mechanisch bedingte
Gegebenheiten wieder in die Neutralstellung (beide offen) versetzt. Das
reicht der IC-internen Abtastung offenbar, um die Schritte Volume bzw.
Sender Up/Down korrekt durchzuführen. Wenn man jedoch zu schnell dreht,
d.h. dem Geber nicht etwas Zeit zum Verharren in der Raststellung gibt,
kann es passieren, dass die Schaltung sich chaotisch verhält. Bei
langsamer gefühlvoller Drehung ist damit jedoch eine vernünftige
Bedienung möglich. Drauf gekommen bin ich eigentlich nur als Notlösung
beim Versuchsaufbau des Empfängers, weil ich gerade keine Taster da
hatte und die Impulsgeber dafür die Tasterfunktion wahrnehmen mussten.
Das ganze bedarf natürlich noch einiger Forschungsarbeit, wäre evtl.
ein Thema fürs Labor und die vielen auf diesem Gebiet tätigen Bastler?
Nachtrag 8.12.14:
Diesen Beitrag möchte ich wegen der zu geringen Alltagstauglichkeit
zurückziehen. Das Radio wurde jetzt der
UKW-Empfänger
Rabauke
Nachtrag 31.1.14:
BK1068 mit Drehimpulsgebern ansteuern – Projekt „Readers Digest“
Im
Rahmen des gerade laufenden Bastelwettbewerbes hatte ich vor einiger
Zeit mein Radio mit Drehimpulsgebern vorgestellt, welches jedoch durch
die dort noch nicht ausgereifte Schaltung als alltagsuntauglich
eingestuft werden musste. Daher habe ich jetzt die Schaltung „Readers
Digest“ entwickelt –
Rundfunk-
Empfänger-
Aufbau
durch
einen Radio-
Schaltkreis,
Dreh-
Impuls-
Geber
ersetzt
sämtliche
Tasten.
Die Schaltung nutzt zur eindeutigen Auswertung der
Drehimpulsgeber-Signale den bewährten ATTiny13. Die Firmware stammt
nicht von mir – warum das Fahrrad zum wiederholten Male erfinden, wenn
schon –zig zum Teil sehr gute Lösungen im www vorhanden sind. Mit
freundlicher Genehmigung des Kollegen mit dem Nicknamen Pirx vom AVR-Praxis-Forum
www.avr-praxis.de/forum/showthread.php?1352-Decoderschaltung-f%FCr-Drehimpulsgeber&s=98c7b2b40179f3d172cdd75912632b44 habe ich also die dort vorgestellte Lösung für meine Zwecke etwas modifiziert.
Die
Schaltung wurde zweimal aufgebaut, damit man die beiden Eingänge
unabhängig voneinander steuern kann. Die ATTiny´s wurden extern mit
einem Programmieradapter über USB programmiert und dann in die
Schaltung eingesetzt. Zu beachten ist lediglich, dass die interne
Taktfrequenz von 9,6 MHz voll ausgenutzt wird (beim Programmieren
CKDIV8 ausschalten), alle sonstigen Werkseinstellungen können so
belassen werden. Im Original waren die steuernden Low-Impulse an PB1
nur ca. 0,5µs lang, diese habe ich auf 40 ms verlängert, diese Zeit
erschien mir als guter Kompromiss zwischen Sicherheit der Bedienung und
ausreichender Zeit für die Funktionsabfrage seitens des BK1068 –
Quellcode und Beschreibung dazu sind unter o.a. Link einsehbar, auch
das Hex-File zur µC-Programmierung ist von dort downloadbar. Natürlich
ist dann (während der Ausgabe des Impulses) keine Abfrage der
Drehimpulsgeber möglich, das spielt aber hier keine Rolle, da der
verwendete Geber 24 Rastschritte per Vollumdrehung hat, und man
diese in 40ms x 24 = 0,96 s von Hand nicht schafft. Bei der Bedienung
wartet man eh immer nach jedem Rastschritt auf die adäquate Reaktion.
Das
größte Problem beim Entwickeln der Schaltung stellte die Realisierung
des Schaltelementes dar, welche den High- oder Low-Pegel von PB0 an den
jeweiligen Steuereingang des BK1068 (UP-Down-Funktion) 40 ms lang
übertragen soll. Versuche, dafür Transistoren, FETs, Dioden oder IC´s
mit Tristate-Ausgang zu verwenden, sind sämtlich gescheitert, Grund war
stets das Weglaufen der Spannung am Steuereingang durch die ständig
verbundenen Halbleiter und damit Fehlfunktionen. Zum Glück fanden sich
in der Bastelkiste noch ein paar DIL-Relais, die für diesen Zweck
hervorragend geeignet waren, da nach Öffnen des internen Reed-Kontaktes
galvanisch keine Verbindung mehr zum Steuereingang besteht. Diese
haben 500 Ohm Spulen-R bei 5V Ub, damit fließen im Einschaltfall 10mA,
welche der Ausgang PB1 (Grenzwert 40mA) verkraften kann. Die 40ms
Schaltdauer machen solche Relais auch problemlos mit. Zur Sicherheit
des µC-Ports beim Abschalten der Relaisspulen wurden noch
Si-Schutzdioden eingefügt, die die Gegeninduktion auf ungefährliche ca.
0,7V begrenzen. Um keine 5V auf die Steuereingänge des BK1068 zu legen
(dies würde den Grenzwert-Spezifikationen des IC´s laut AK Modul Bus
widersprechen) wurden zur Pegelanpassung im Einschaltfall noch die
Widerstände R2/R3 bzw. R7/R8 eingefügt, die den High-Pegel von ca. 5 V
an PB0 auf ca. 3 V herabsetzen. Im Falle des 0-Pegels stören diese
Widerstände nicht, da die Steuereingänge so hochohmig sind, dass sich
die Null trotzdem durchsetzt.
Die
Schaltung wurde zunächst erst einmal auf Steckbrett aufgebaut und damit
der Empfänger „Rabauke“ gesteuert. Dazu habe ich noch an PB0 und PB1
über Vorwiderstände jeweils eine LED angeschlossen, um während der
Inbetriebnahme die Zustände der Ports zu erkennen – das sieht man auch
im beigefügten Video – jeder Drehschritt lässt die linke LED an PB1
einmal für 40ms blinken, während die andere den statischen Pegel an PB0
anzeigt.. Nach Beseitigung aller o.a. Mängel ist damit eine
hervorragende Bedienung mit „Analogfeeling“ möglich - zumal man ja auch
die an jedem Impulsgeber vorhandenen Drucktaster mit verwenden kann
(wie im beigefügten Schaltbild gezeichnet) und so mit 2 Bedienelementen
auskommt. Sollte bei jemandem beim eventuellen Nachbau die Drehrichtung
verkehrt herum laufen (also dann linksrum lauter bzw.
Frequenzerhöhung), braucht man einfach nur die Leitungen A und B vom
Drehimpulsgeber zum µC vertauschen, dann klappt´s.
Geplant ist
mit dieser Schaltungsvariante demnächst die Realisierung eines
Küchenradios, worüber ich nach Fertigstellung desselben getrennt
berichten werde. Dort soll mittels Steckernetzteil und zusätzlichem
NF-Verstärker mit Mute-Schaltung (genauso wie bei meinem Projekt
„Mieze“) gearbeitet werden, das ist gegenwärtig in Planung und wird
leider für´s Einreichen zum Bastelwettbewerb nicht mehr fertig…..
Günther Zöppel
Pockau, im Januar 2015