Radio mit Drehimpulsgebern             

von Günther Zöppel                  
Elektronik-Labor  Literatur  Projekte  Lernpakete  Contest14        


 

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
 


Elektronik-Labor  Literatur  Projekte  Lernpakete  Contest14