Guten Abend, gibt es eine Schaltung, mit der ich die Impulse eines Drehencoders in ein "Lauflicht" übersetzen könnte, mit der man die Led´s in die eine Richtung und in die andere steuern kann? Ich will damit einen Audiowahlschalter bauen. Da nehme ich dann 4066er. Vielen Dank im Voraus! P.S.: Da ich nicht programmieren kann, wäre es gut, wenn es eine Schaltung aus Logik IC´s oder so gäbe.
Manu O. schrieb: > P.S.: Da ich nicht programmieren kann, wäre es gut, wenn es eine > Schaltung aus Logik IC´s oder so gäbe. Da wäre es wohl einfach, wenn du ein bisschen programmieren lernst. Sonst könnte das in ein böses TTL-Grab ausarten.
Drehencoders -> Lauflicht -> LEDs -> Audiowahlschalter -> 4066er. Verstehe ich nicht. Kannst du eine Skizze anhängen?
Hi, super simple Angelegenheit, wenn ich mich nicht vertue. Einen Up/Down Counter dessen Richtungs / Takt Eingang direkt an den A und B Leitungen des Drehencoders hängen. Der Zählausgang geht dann an die Select Leitungen eines Demultiplexers. Der Eingang des Multiplexers liegt auf High Pegel. Daraus ergibt sich dann dein "Lauflicht" am Ausgang... Damit kannst du dann auch direkt an die Enable Eingänge deines 4066ers. Das Prellen musst du nur irgendwie in den Griff bekommen..
:
Bearbeitet durch User
Wenn man mit dem Drehschalter die 4066 und LEDs ansteuert, wird es schon recht digital. Oder muss es noch digitaler werden?
Jost .. schrieb: > Einen Up/Down Counter dessen Richtungs / Takt Eingang direkt an den A > und B Leitungen des Drehencoders hängen. Supi, da hat jemand noch nicht mitbekommen, daß Drehencoder prellen, also bei jedem Schritt einige Impulse abgeben , die deine Schaltung alle zählt. Wenn du so was schon mal in der Praxis aufgebaut hättest, wüsstest du, daß die LEDs nicht in Reihenfolge, sondern wild durcheinander springen. Man müsste zumindest den Drehencoder vorher entprellen, dann kann man ihn auch gleich richtig auswerten. Mit einem Microcontroller ist das 1 IC. Ohne uC beginnt das Problem damit, daß ein CD4017 nicht rückwärts zählt, ein CD4510 nicht decodiert, sowieso unklar ist ob er bis 7, 8 oder 10 zählen soll. Man braucht also geschätzt 4 ICs. Manu O. schrieb: > Hat jemand hierzu ein fertiges Programm für einen Pic? Auch ein PIC kann C (aber die Ports heissen anders)
1 | #define quadrature_input (PORTA&3) |
2 | // bit 0 und bit 1 sind Quadratureingaenge |
3 | #define MAXCOUNT 6 |
4 | static char table[4][4]={{0,1,-1,0},{-1,0,0,1},{1,0,0,-1},{0,-1,1,0}}; |
5 | char position, new_quadrature_value, last_quadrature_value |
6 | void main(void) |
7 | { |
8 | TRISA=1; // alles Eingänge |
9 | TRISB=0; // alles Ausgänge |
10 | position=0; |
11 | last_quadrature_value=quadrature_input |
12 | while(1) |
13 | { |
14 | new_quadrature_value=quadrature_input; |
15 | position=(position+table[last_quadrature_value][new_quadrature_value])%MAXCOUNT; |
16 | PORTB=(unsigned char)1<<position; |
17 | last_quadrature_value=new_quadrature_value; |
18 | _delay_ms(5); |
19 | } |
20 | } |
Manu O. schrieb: > Und welche Pins sind bei diesem Programm benutzt? Bit 0 und 1 von PORTA sind die Drehencodereingänge, und wie viele Ausgänge PORTB hat ist unbekannt weil du trotz Hinweis immer noch nicht gesagt hast zwischen wievielen Positionen du denn umschalten willst.
Manu O. schrieb: > Und das Programm funktioniert auf Anhieb? Wahrscheinlich nicht, zumindest ein Semikolon fehlt schon mal, aber inhaltlich ist alles drin was nötig ist.
Die Idee an sich ist mir noch nicht klar, wofür braucht man bei einem Auswahl-Umschalter einen Drehimpulsgeber? Hast Du 320 Quellen? Mit 8 kommst Du auf dem Drehimpulsgeber doch nur auf eine halbe Umdrehung. Also ja, machen um das mal gemacht zu haben, sicher, der Weg ist das Ziel und so, das Ergebnis ist doch aber eher unpraktisch. Man muss da auch immer sehr feinfühlig dran drehen. Der einzige Vorteil der mir dazu einfällt ist, dass man überdrehen kann. Einen Drehschalter kann man auch per Mikrocontroller einlesen, damit das "digitaler" wird, mir gefällt da die Lösung mit vielen gleichen Widerständen zwischen den Anschlüssen vom Drehschalter, das erzeugt viele Spannungs-Stufen von 0V bis z.B. 5V die man über einen einzelnen Analog-Eingang einlesen und auswerten kann.
Rudolph R. schrieb: > Mit 8 kommst Du auf dem Drehimpulsgeber doch nur auf eine halbe > Umdrehung. > Man muss da auch immer sehr feinfühlig dran drehen. Das ist doch wohl eine Sache der Auswertung. Es zwingt einen keiner, bei jeder Flanke weiter zu schalten. In Hardware kann das natürlich etwas aufwändiger werden, mit einem µC aber völlig problemlos.
Wolfgang schrieb: > Das ist doch wohl eine Sache der Auswertung. Es zwingt einen keiner, bei > jeder Flanke weiter zu schalten. In Hardware kann das natürlich > etwas aufwändiger werden, mit einem µC aber völlig problemlos. Solange man dafür einen nicht rastenden Drehimpulsgeber findet könnte das was werden, okay. Mit den normalen, rastenden Drehimpulsgebern würde sich das aber etwas blöd anfühlen wenn der z.B. bei jedem dritten Impuls weiter schaltet.
Rudolph R. schrieb: > Mit den normalen, rastenden Drehimpulsgebern würde sich das aber etwas > blöd anfühlen wenn der z.B. bei jedem dritten Impuls weiter schaltet. Bei einem satt rastenden Geber hat man auch nicht das Problem, dass mein sehr feinfühlig drehen muss, um jede Stufe zu erwischen. Wer weiß schon, welchen Typ Manu da im Hinterkopf hat.
Manu O. schrieb: > Hat jemand hierzu ein fertiges Programm für einen Pic? Habe ich auch schon mal eines als Beispiel für unsere Studierenden geschrieben. http://www.hs-ulm.de/users/vschilli/Mikrocontroller/_downloads/uC_quick-X.pdf 5.3 Encoder rotiert LEDs Der Encoder wird da über Interrupts ausgewertet, weil es in dem Kapitel eben um IR geht... (Kann man aber leicht mit der Auswertung vonMaWin ersetzen)
Rudolph R. schrieb: > Die Idee an sich ist mir noch nicht klar, wofür braucht man bei einem > Auswahl-Umschalter einen Drehimpulsgeber? > Hast Du 320 Quellen? Du hast nicht weit genug gedacht - der TO übrigens auch nicht. Das ist alles. Es geht ja nicht nur darum, irgenwelche LED's anzusteuern, sondern auch darum, diverse Audioquellen umzuschalten. Etwa so, wie es Sony vor gefühlten 100 Jahren mit einem damaligen 4 Bit µC in seinen Hifi-Verstärkern tat. Aber dazu sind nicht nur Portpins mit LED's daran gefragt, sondern auch passende Steuercodes per I2C an den NF-Umschalt-IC. W.S.
W.S. schrieb: >> Die Idee an sich ist mir noch nicht klar, wofür braucht man bei einem >> Auswahl-Umschalter einen Drehimpulsgeber? >> Hast Du 320 Quellen? > > Du hast nicht weit genug gedacht - der TO übrigens auch nicht. Das ist > alles. > > Es geht ja nicht nur darum, irgenwelche LED's anzusteuern, sondern auch > darum, diverse Audioquellen umzuschalten. Etwa so, wie es Sony vor > gefühlten 100 Jahren mit einem damaligen 4 Bit µC in seinen > Hifi-Verstärkern tat. > > Aber dazu sind nicht nur Portpins mit LED's daran gefragt, sondern auch > passende Steuercodes per I2C an den NF-Umschalt-IC. Du hast eher nicht durchschaut, worauf ich hinaus wollte. Mir ging es rein um die Haptik, um die mechanische Umsetzung, nicht um die Elektronik die dahinter die Quellen dann tatsächlich umschaltet. :-) Und mir sind leider keine Drehimpulsgeber bekannt die mit 8 Impulsen pro Umdrehung kräftig einrasten.
WENN Du einen Drehencoder hast, welcher pro Rastung nur einen Schritt macht, könntest Du diesen direkt an A0 und A1 von einem 4052 (anstelle 4066) anschließen - ohne Controller. Aber vermutlich wird das nicht so sein ... Diesen Umstand musst Du in Deinem Programm allerdings auch berücksichtigen. Es gibt nämlich unterschiedliche Drehgeber. Qualitativ besser für das Audiosignal ist allerdings der Drehschalter. Gruß Jobst
Wolfgang schrieb: > Wer weiß schon, > welchen Typ Manu da im Hinterkopf hat. Das ist auch kein geeigneter Einbauort. Jedes Mal, wenn man in der Kaufhalle an der Kasse steht, dreht jemand aus Langeweile dran herum... MfG Paul
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.