mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ersatzsteuerung fernbedienung


Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

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

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die taster habe ich alle ausgemessen und vermerkt.

was soll man denn noch vereinfachen?

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Stefan M. (celmascant)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah - jetzt bin ich vom schlauch runtergefallen :-)

werde mal die spannungen ausmessen...

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an den ersten 6 leitungen liegen 3.2v an.
die anderen haben nichts.

wie kann man das nun mit dem avr machen?

Autor: Dominique Görsch (dgoersch)
Datum:

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

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mit normalem multimeter gemessen.

die spannung liegt aber dauerhaft an den ersten pins an.

Autor: Dominique Görsch (dgoersch)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
die 3.2v sind wahrscheinlich die betriebsspannung, die von den 2 aa 
batterien kommt.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Dominique Görsch (dgoersch)
Datum:

Bewertung
0 lesenswert
nicht 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. ;)

Autor: Onoff - der russische Schalter (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Onoff - der russische Schalter (Gast)
Datum:
Angehängte Dateien:
  • preview image for 1.png
    1.png
    8,5 KB, 135 Downloads

Bewertung
0 lesenswert
nicht 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)

?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Onoff - der russische Schalter (Gast)
Datum:
Angehängte Dateien:
  • preview image for 2.png
    2.png
    8,81 KB, 132 Downloads

Bewertung
0 lesenswert
nicht 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

Autor: Onoff - der russische Schalter (Gast)
Datum:

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

Autor: MaWin (Gast)
Datum:

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

Autor: Onoff - der russische Schalter (Gast)
Datum:

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

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Onoff - der russische Schalter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach nochwas...

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

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.