hi, ich habe eine platine aus einer fernbedienung an der das tastenfeld mit einem 20poligen flachbandkabel verbunden ist. die fernbedienung hat jetzt 36 tasten. auf dem tasterfeld sind die taster alle wild miteinander verbunden, woraus sich folgende situation ergibt: es kommt z.b. vor, dass die tasten 1 und 3 und 5 alle an pin 1 vom flachbandkabel hängen usw. wenn ich nun also pin 1 und 5 überbrücke, dann wird die taste 1 gedrückt. die pinkombination 1 und 12 ergibt dann wieder was anderes wie 1 und 18. usw... wie kann ich das ganze jetzt mit einem avr ansteuern? Was bräuchte ich zwischen den microcontroller und dem 20poligen stecker der fernbedienung? mfg
Verschaltung der Taster ausmessen und dann Gedanken drüber machen, wie / ob man da was vereinfachen kann (KV-Diagramm)
die taster habe ich alle ausgemessen und vermerkt. was soll man denn noch vereinfachen?
Bei 20 Adern ergäbe sich im besten Falle 10 x 10 = 100 Kreuzungspunkte. Für eine Tastatur mit 36 ( = 6 x 6) Tasten bräuchstet du aber maximal 6 + 6 = 12 Adern, um alle Kreuzungspunkte ansprechen zu können. Sind denn alle 20 Adern beschaltet, oder hat man einfach nur ein Flachbandkabel mit 20 Kontakten genommen, weil da grade Stecker davon da waren? Stelle doch einfach mal den Schaltplan der von dir ermittelten Tastenverschaltung hier ein, vielleicht gibt es ja ein paar Vorschläge dazu.
es sind alle adern von den 20 beschaltet as kommt auch mal vor, das ein pin von den 20 pins an nur einen taster gehen und dann wiederrum ein anderer pin zu 4 tastern gleichzeitig geht. hier mal die tasten der fernbedienung und die dazugehörenden pins taste 1 - pin 1 und 5 taste 2 - pin 1 und 8 taste 3 - pin 1 und 13 ... taste 9 - pin 8 und 17 usw... einen schaltplan habe ich noch nicht. mir geht es ja um das stück bauteil, welches ich verbauen kann, damit man sowas mit einem avr ansteuern kann.
Sepp schrieb: > es sind alle adern von den 20 beschaltet > as kommt auch mal vor, das ein pin von den 20 pins an nur einen taster > gehen und dann wiederrum ein anderer pin zu 4 tastern gleichzeitig geht. > > hier mal die tasten der fernbedienung und die dazugehörenden pins > > taste 1 - pin 1 und 5 > taste 2 - pin 1 und 8 > taste 3 - pin 1 und 13 > ... > taste 9 - pin 8 und 17 > usw... Das ganze läuft unter dem Begriff "Matrix". Wie Wegstaben Verbuchsler schon schrieb, könntest Du 100 Tasten unterbringen, davon werden bei Dir wohl nur 36 benutzt. > einen schaltplan habe ich noch nicht. Also einfach mal eine 10x10 Matrix aufmalen und die Tasten passend einzeichnen (so ähnlich): Pin1 = Spalte1, Pin2 = Spalte2, ... Pin5 = Zeile1, Pin 8 = Zeile2, ... Ohne sauberem Plan kommst Du nicht weiter. > mir geht es ja um das stück bauteil, welches ich verbauen kann, damit > man sowas mit einem avr ansteuern kann. Das Stück Bauteil heißt "Anschlussleitung". Und wenn Dein AVR nicht genügend IOs für Deine Matrix übrig hat und Du keinen größeren AVR benutzen möchtest, käme ggf noch ein Multiplexer (3-zu-8 oder 4-zu-16) oder ein Schieberegister hinzu.
aber wie schalten denn deine "anschlussleitungen" dann die pins 1 und 5 für die taste 1 zusammen. ich will ja keine spannung raufgeben, sondern einfach nur die zwei pins überbrücken. also nichts anderes machen, als wenn man die taste der fernbedienung gedrückt hätte. habe da eher an ein paar optokoppler gedacht...
Die Matrix funktioniert aber anders: Du gibst Spannung auf eine "Spalte", bei dir z.B. Pin1 und fragst dann die "Zeilen" ab. Dafür brauchst du aber einen Schaltplan wo du das ablesen kannst.
ich glaube ihr versteht mich falsch... ich habe eine funkfernbedienung, von der ich die platine ausgebaut habe. an diese platine möchte ich den avr anschliessen. der avr soll mir dann die funkfernbedienung bedienen, so als ob ich die tasten selber gedrückt habe. dau brauch och doch aber ein art schalter/taster... ich will nicht das tastenfeld an den avr anklemmen.
Natürlich willst du nicht (nur) das Tastenfeld an den AVR anklemmen, sondern deine Funk-Platine. Und der AVR muß nun so machen als ob er Tastenfeld wäre. Soweit Richtig? Ich gehe weiter davon aus, daß du sowohl das orginal Tastenfeld als auch die AVR ersatzschaltung gleichzeitig nutzen möchtest (wenn nicht, wäre es auch egal) Soweit auch richtig? Also muß "irgendwie" der AVR parallel zu den Tasten angeklemmt sein. Deine Idee mit "ein paar Optokoppler" ist ja ganz nett, aber dies wäre nur notwendig, falls eine galvanische Trennung gefordert ist. In diesem Fall wären es 36 Optokoppler (also eine Portkarten-große Platine zur Kopplung), sowie (falls du die Tastenmatrix nicht ermitteln kannst oder möchtest) maximal 72 Leitungen welche Parallel zu deinen bisherigen Tasten liegen. Das wäre dann dein "irgendwas zwischen AVR und 20-poligen Stecker der Funksteuerung". Dein vorgeschalteter AVR müßte dann 36 Ausgangsleitungen haben, um 36 Optokoppler anzusteuern. Falls du es dir jedoch einfacher machen willst, dann brauchst du sowas gar nicht, und läßt den AVR direkt selbst die Arbeit machen. Identifiziere die Verschaltung der Tasten-Matrix (wesentlich hier ist zu orakeln welches welches Eingangs- und welches Ausgangsleitungen sind). Dann nimm dir deinen AVR, und klemme deine 20 Strippen dran. z.B. 7 Ausgangs(-Spalten) und 15 Eingangs(-Zeilen). Die elektrische Ankopplung an die Platine ist recht simpel (direkt, oder Schutzwiderstand). Dann noch ein bischen Programm in den AVR, der das Tastenfeld simuliert, bzw. der simulierte TAstendruck-Anforderungen entgegen nimmt. Ach ja: Mit welchen Steuerbefehlen fütterst du denn eigentlich deinen AVR, d.h. durch was wird er denn angeregt, irgendwelche Tastendrücke zu simulieren?
ich will nur die fernbedienungplatine nutzen. das tastenfelb wird später nicht mehr eingesetzt. der avr soll also die tasten simulieren. mir geht es darum, das ich mit dem avr makros drücken kann. also so, als wenn ich die tastenreihenfolge von z.b. 1-9 von hand gedrückt hätte. der avr wird also feste makros eingespeichert bekommen, die ich dann per ir abfragen will. nochmal zur vollständigkeit: rc5 in den avr avr an die platine der fernbedienung Die tastermatrix habe ich komplett ausprobiert und oben ein paar beispiel hingeschrieben. die optokoppler wollte ich nicht ur glavanischen trennung nutzen, sondern als tasterersatz. evtl. gibts hier auch andere möglichkeiten, damit die pins zu überbrücken.
> ich will ja keine spannung raufgeben, doch, das willst du (du weißt es blos noch nicht) > sondern einfach nur die zwei pins > überbrücken. also nichts anderes machen, als wenn man die taste der > fernbedienung gedrückt hätte. Deine FB Steuerelektronik macht ja folgendes: Sie gibt auf irgend einer Spalte der Tastenmatrix eine 0 oder 1 "raus" (*1), und liest auf irgendeiner Zeile der Tastenmatrix eine 0 oder 1 "rein", sofern diese Taste (die diese 2 Leitungen miteinander verbindet) gedrückt wurde. Dann und nur dann interpretiert die FB diese Taste als gedrückt, wenn das zuvor gesagte zutrifft. Ein parallel zu diesen Leitungen liegender AVR kann nun genau selbiges simulieren: Der AVR liest regelmäßig alle Spalten ein. Er "erkennt" dann daß auf irgendeiner Spalte der Matrix durch die FB-Steuerelektronik grade eine 0 oder 1 angelegt wird. Da der AVR "weiß" daß er nun grade deise Taste drücken (simulieren) soll, legt er auf der passenden Spalte eine simulierte 0 oder 1 an. Schon denkt sich die FB-Einlese-Elektronik "holla, da ist ja eine 0 oder 1, da ist dann wohl diese Taste gedrückt", und macht daraufhin was imemr sie machen muß. *1 Die umständliche Formulierung mit "0 oder 1" kommt daher, daß ich nicht weiß, wie deine TAstenmatrix funktioniert. Vermutlich wird sie alles auf 1 gepullt haben, und zum Abfragezeitpunkt die Signalleitungen auf 0 runter ziehen. Der Ruhezustand Könnte aber auch anders rum sein, daß müßtest dzu ausmessen.
ah - jetzt bin ich vom schlauch runtergefallen :-) werde mal die spannungen ausmessen...
an den ersten 6 leitungen liegen 3.2v an. die anderen haben nichts. wie kann man das nun mit dem avr machen?
Womit gemessen? Für ein Multimeter dürfte der Impuls zum Messen zu kurz sein.
mit normalem multimeter gemessen. die spannung liegt aber dauerhaft an den ersten pins an.
1 2 3 4 5 6 | | | | | | A--o--o--o--o--o--o | | | | | | B--o--o--o--o--o--o | | | | | | C--o--O--o--o--o--o | | | | | | D--o--o--o--o--o--o | | | | | | E--o--o--o--o--o--o | | | | | | F--o--o--o--o--o--o Die Tastenmatrix wird Zeilen- oder Spaltenweise abgefragt, deswegen liegen auf deinen 6 Leitungen auch nicht konstant 3,2V sondern ein pulsierendes Signal - zu schnell als das es das Multimeter erfassen könnte. Beispiel: 1) Die Elektronik legt Spannung an A an und liest den Zustand von 1-6 aus. 2) Spannung weg. 3) Spannung an B, wieder Zustand der Eingänge 1-6 lesen. 4) Spannung weg. ... Wenn z.B. die Taste mit dem großen O gedrückt wurde, liegt genau dann an Eingang 2 Spannung an, während die Zeile C versogt wird.
die 3.2v sind wahrscheinlich die betriebsspannung, die von den 2 aa batterien kommt.
Hi >Die Tastenmatrix wird Zeilen- oder Spaltenweise abgefragt, deswegen >liegen auf deinen 6 Leitungen auch nicht konstant 3,2V sondern ein >pulsierendes Signal - zu schnell als das es das Multimeter erfassen >könnte. Zur Ermittlung der gedrückten Taste richtig. Allerdings ist es denkbar, das die ansteuernden Leitungen erstmal alle auf H liegen um das Drücken einer Taste zu detektieren und der Scanvorgang wird erst danach gestartet. MfG Spess
Ja stimmt, möglich. Muss er halt austesten und -messen. Da er aber uns immernoch ein Schaltbild seiner Matrix schuldet, hab ich auch wenig Lust mich da weiter rein zu knien. ;)
hier die matrix: die roten zahlen sind die leitungen, wo mit dem mulitmeter gemessen die 3.2v anliegen. die blauen zahlen sind die leitungen, die keine spannung haben. die kleinen schwarzen zahlen sind die taster von 1 bis 36
Du kaufst dir Analogmultiplexer, z.B. 3 x CD4051. Die Adressleitungen kommen an Ausgaenge des AVR, die Leitungen 1..6 an die Eingaenge eines 4051, dessen Ausgang an den Ausgang der beiden anderen 4051, und an deren EIngaenge kommen die Anschluesse 7..20 deniner Platine. Masse des AVR verbindest du noch mit Masse der Fernbedienung. Dann kann der AVR waehlen, welche Taste gedrueckt ist, ohne dass du dir zu viele Gedanken um die Fernbedienung machen musst.
ich habe 2h stunden gesucht und nichts gefunden: was sind denn die adressleitungen und die augänge von dem 4051? im anhang mal ein erster versuch(der bestimmt nicht läuft) ?
Ungefähr so. Es gaenbe noch andere Anschlussvarianten, wenn du nicht so viele Portanschluesse am uC belegen willst, aber das scheiont ja nicht noetig zu sein. Eingänge sind X0..X7, Ausgang ist X. Sie heissen je nach Hersteller anders. Du verbindest alle 3er (rechts am Blattrand) miteinander. Du legst alle INH an Masse. Du schliesst die benoetigten Versorgungsspannungen an die 4051 an. Du legst PIN14 noch an IC3, so dass bei beiden je ein Eingang frei bleibt (das ist der, mit dem du inaktiv schalten kannst, du kannst X7 nehmen, ich hätte jetzt X0 genommen)
so, habe es mal geändert - siehe anhang und was muss ich nun an die 4051er schicken, damit ich die Taste 1 gedrückt bekomme? taste 1 ist ja wie oben in der matrix zu sehen die komination aus pin 1 und 9
achso - die spannungsversorgungen habe ich mal weg gelassen, das ist nicht das problem...
es sollte doch auch gehen, wenn an ic2 alle 8 eingänge belegt sind und bei ic3 dann 2 frei sind.
Nein, denn wie aktivierst du dann eine Taste an IC3? Da IC2 immer eine Taste auswählt, kannst du mit IC3 nicht eine einzelne andere drücken, du wuerdest sie gleichzeitig mit der von IC2 drücken lassen. Du könnteste allerdings IC2 mit INH abschalten, aber das braucht einen zusätzlichen Port-Pin.
das habe ich mir schon gedacht. mit den ihn pin kann ich den 4051 sozusagen ausschalten, wenn der nicht mit masse belegt ist. dazu muss ich den auch mit an den avr klemmen und bei nichtgebrauch einfach auf "1" stellen. richtig?
> mit den ihn pin kann ich den 4051 sozusagen ausschalten Ja. > was macht den der pin vee(pin 7) an dem 4051? Negativste zu schaltende Spannung der Analogschalter, als GND
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.