Forum: Mikrocontroller und Digitale Elektronik ersatzsteuerung fernbedienung


von Onoff - der russische Schalter (Gast)


Lesenswert?

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

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Verschaltung der Taster ausmessen und dann Gedanken drüber machen, wie / 
ob man da was vereinfachen kann (KV-Diagramm)

von Onoff - der russische Schalter (Gast)


Lesenswert?

die taster habe ich alle ausgemessen und vermerkt.

was soll man denn noch vereinfachen?

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

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.

von Sepp (Gast)


Lesenswert?

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.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

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.

von Onoff - der russische Schalter (Gast)


Lesenswert?

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...

von Stefan M. (celmascant)


Lesenswert?

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.

von Onoff - der russische Schalter (Gast)


Lesenswert?

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.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

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?

von Onoff - der russische Schalter (Gast)


Lesenswert?

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.

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

> 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.

von Onoff - der russische Schalter (Gast)


Lesenswert?

ah - jetzt bin ich vom schlauch runtergefallen :-)

werde mal die spannungen ausmessen...

von Onoff - der russische Schalter (Gast)


Lesenswert?

an den ersten 6 leitungen liegen 3.2v an.
die anderen haben nichts.

wie kann man das nun mit dem avr machen?

von Dominique G. (dgoersch)


Lesenswert?

Womit gemessen? Für ein Multimeter dürfte der Impuls zum Messen zu kurz 
sein.

von Onoff - der russische Schalter (Gast)


Lesenswert?

mit normalem multimeter gemessen.

die spannung liegt aber dauerhaft an den ersten pins an.

von Dominique G. (dgoersch)


Lesenswert?

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.

von Onoff - der russische Schalter (Gast)


Lesenswert?

die 3.2v sind wahrscheinlich die betriebsspannung, die von den 2 aa 
batterien kommt.

von spess53 (Gast)


Lesenswert?

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

von Dominique G. (dgoersch)


Lesenswert?

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. ;)

von Onoff - der russische Schalter (Gast)


Angehängte Dateien:

Lesenswert?

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

von MaWin (Gast)


Lesenswert?

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.

von Onoff - der russische Schalter (Gast)


Angehängte Dateien:

Lesenswert?

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)

?

von MaWin (Gast)


Lesenswert?

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)

von Onoff - der russische Schalter (Gast)


Angehängte Dateien:

Lesenswert?

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

von Onoff - der russische Schalter (Gast)


Lesenswert?

achso - die spannungsversorgungen habe ich mal weg gelassen, das ist 
nicht das problem...

von MaWin (Gast)


Lesenswert?

PC0..PC2=000 für X0, PC3..PC5=010 für X2, PD0..PD2=111 für X7.

von Onoff - der russische Schalter (Gast)


Lesenswert?

es sollte doch auch gehen, wenn an ic2 alle 8 eingänge belegt sind und 
bei ic3 dann 2 frei sind.

von MaWin (Gast)


Lesenswert?

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.

von Onoff - der russische Schalter (Gast)


Lesenswert?

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?

von Onoff - der russische Schalter (Gast)


Lesenswert?

ach nochwas...

was macht den der pin vee(pin 7) an dem 4051?

von MaWin (Gast)


Lesenswert?

> 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
Noch kein Account? Hier anmelden.