Forum: Mikrocontroller und Digitale Elektronik Simulierung einer alten Matrixtastatur parallel zu einer bestehenden Tastatur


von Aaa A. (wasser)


Lesenswert?

Leider habe ich keine Elektrotechnik studiert und benötige von Euch 
etwas Unterstützung.

Ich habe eine Matrixtastatur mit 5 Spalten und 4 Zeilen welche über ein 
Flachbandkabeln an ein Gerät angeschlossen ist. Nun will ich die alte 
Tastatur weiter nutzen aber über einen PC und eine I/O-Karte ebenfalls 
Tastenbefehle senden können.
Auf der Seite 
http://www.avr-asm-tutorial.net/avr_de/keypad/keyboard.html habe ich 
mich über die Funktion einer Matrixtastatur informiert.
Die Lösung welche mir eingefallen ist: ich verwende kleine Relais welche 
über die I/O-Karte öffnen und schließen. Den Leistungsteilausgang aller 
Relais verbinde ich miteinander um so die Tastatur zu simulieren. Nun 
gehen Relais mechanisch „schnell“ defekt und ich kann diese nicht über 
meine günstige I/O-Karte steuern.
Kann ich hierfür nicht ein Transistor einsetzten? Welche würde ich aber 
benötigen denn die Wechselnde Spannung der Spalten würde diese ja 
zerstören? Wenn ich den Stromkreis meiner I/O-Karte nicht getrennt habe 
zerstöre ich mir so nicht auch meine Karte?
Als einzigen Auswege habe ich dann an einen „SN74LS151N Multiplexer 
Single 8:1“    RSNummer   307-654, gedacht. Könnte ich so einen 
einsetzten? Also zwei Stuck ein für Spalten und einen für Zeilen und die 
Ausgänge verbinde ich wieder. Würde diese aber ungerne verwenden.
Am liebsten wäre mir ein Transistor (aber ich weiß nicht welchen) 
welchen ich vor die I/O-Kate stelle und ich verbinde so die Kanäle 
miteinander. Geht das überhaupt so einfach?

Hoffe ich konnte mein Problem beschreiben, denn in Elektronik bin ich 
nicht so fit. Würde mich sehr über euch Hilfe freuen.

: Bearbeitet durch User
von Roland .. (rowland)


Lesenswert?

Aaa Aaa schrieb:
> Kann ich hierfür nicht ein Transistor einsetzten?

Grundsätzlich geht das schon. Allerdings muss man wissen, wie die Pegel 
der Schaltung sind, an der die Tastatur angeschlossen ist. Das kann man 
natürlich messen. Dann setzen Transistoren vorraus, dass die Steuerkarte 
nicht galvanisch getrennt ist von der Schaltung. Sollte das ein 
gefordertes Kriterium sein, bietet es sich an, Optokoppler einzusetzen, 
quasi isolierte Transistoren.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Aaa Aaa schrieb:
> Nun gehen Relais mechanisch „schnell“ defekt

Tun sie das?

von Max H. (hartl192)


Lesenswert?

Ich würde eine Optokoppler parallel zu jeder Taste einbauen.

Rufus Τ. Firefly schrieb:
> Aaa Aaa schrieb:
>> Nun gehen Relais mechanisch „schnell“ defekt
> Tun sie das?
Wenn man sie mit dem Hammer "einlötet" sicher ;-)

: Bearbeitet durch User
von Aaa A. (wasser)


Lesenswert?

Vielen Dank für die schnelle Antwortet.


Ich habe nur die 9 Leitungen. Keine zusätzliche Masse auf dem Flachband 
Kabel. Daher stammt die Überlegung der Trennung damit der Strom an die 
I/O-Karte wieder zurückfliegen kann.


Mit dem Messen der Pegel habe ich mir schwer getan weil ich nicht wusste 
gegen was ich messen soll. Es scheint aber so zu sein das die Tasten mit 
5 V abgefragt werden.


Das heißt ich könne ein Optokoppler nehmen. Dem macht das den nichts 
wenn auf einmal von der - Seite eine Spannung ansteht?

Wenn Ihr sagt ich kann einen normalen Transistor nehmen würde ich da 
auch machen. Viele Besser. !
Die Basis geht dann immer an die I/O-Karte. Die Kollektor verbinde ich 
alle zusammen und die Emitter gehen an die 9 Kabel.
Die Basis habe ich normal überall auf 0 Volt. Die Masse der I/O-Karte 
geht dann auch an den Kollektor-Verbund.
Folge--> jetzt tritt ab und zu an dem Emittern eine Spannung von 5 Volt 
auf. Der Transistor sperrt und nichts passiert. Kollektor stabil auf 0 
Volt.

Wenn ich jetzt eine Taste "Drücken" (als simulieren) möchte, setzte ich 
eine Spalte und eine Zeile auf hoch. 3 Volt auf die beiden Basisen.
folge--> jetzt fließt doch Strom vom der Basis in die I/O-Karte und 
Strom von der Zeile in die I/O-Karte? Zudem steht jetzt beim Kollektor 
der Spalte 5 Volt der Platine an. Der Transistor kann ja jetzt nicht 
mehr öffnen weil die 3 Volt von der Basis geringer sind? und wenn er 
öffnen würde, würde jetzt über ja der Strom vom Kollektor zum Emitter 
abfließen müssen. Das tritt ja dann ein wenn die Spalte mal auf 0 Volt 
gesetzt wird.
Wenn die Spalte auf 5 Volt ist. drückt der ganze Strom in die I/O-Karte? 
Spinnen dann nicht die anderen Transistor weil auf einmal am Kollektor 5 
V stehen von der Platine

Ich bin ganz ehrlich. So ganz verstanden habe ich das noch nicht. Nur 
über Transistoren zu lesen fällt mir echt schwer.
Wenn es geht und ich die so anschließen kann wie beschreiben perfekt. 
Welchen kann ich dann nehmen? Falls Ihr es mir erklären könntet würde 
ich mich noch mehr freuen, man will ja was lernen.


Ja das "schnell" war ja in "". Für Relais brauche ich auf alle fälle 
noch was weil das schafft die I/O-Karte nicht.

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ich habe vor Jahren für einige Multimedia Projekte MOC3043 parallel zu 
den Tasten von PS/2 Tastaturen geschaltet, um mit externen Sensoren dann 
diese Tasten auszulösen. Das hat selbst bei den billigsten Gummiklecks 
Keyboards für 9,95 DM funktioniert und war (weils ja Optotriacs sind), 
von der Polung der Tastenmatrix unabhängig.

Die LEDs der Optokoppler wurden dann von Sensoren zum Leuchten gebracht 
und damit die Show gesteuert.

von Max H. (hartl192)


Lesenswert?

Matthias Sch. schrieb:
> funktioniert und war (weils ja Optotriacs sind),
> von der Polung der Tastenmatrix unabhängig.
Gute Idee. Ich hätte erst die Polung gemessen und Optokoppler verwenden. 
Werd ich mir merken, falls ich irgendwann se etwas brauche...

von Aaa A. (wasser)


Lesenswert?

danke. werde mir Optokoppler besorgen und ausprobieren.

Aus reinem Interesse und weil ich mich auch gerne mit Elektronik weiter 
beschäftigen würden.
Stimmt das was ich über Transistoren geschrieben habe und könnte man 
diese auch verwenden?

Würde auch zwei Multiplexer SN74LS151N  funktionieren?

Viele Grüße

von Roland .. (rowland)


Lesenswert?

Nun, bei Transistoren muss man eben wissen, wie die Leitungen der 
Tastatur verschaltet sind. Es gibt in der Regel bei 
Matrixtastaturinterfaces die Leseleitungen (Spalte oder Zeile) und die 
Steuerleitungen (genau die Linie). Die Steuerleitungen werden zyklisch 
auf einen Pegel gelegt, zB. GND oder VCC und die Leseleitung gelesen. 
Wenn keine Taste gedrückt ist, dann werden die Leseleitungen mit Pullups 
oder Pulldowns auf dem Ruhepotential gehalten. Und hier ist eben die 
Frage, welche Pegel das sind. Werden die Steuerleitungen auf GND oder 
VCC gesetzt, wenn sie aktiv sind, und haben die Leseleitungen Pullups 
oder Pulldowns? Je nach dem, entscheidet dass, wie und welche 
Transistoren die Tastendrücke simulieren können.

Wenn Du Optotriacs einsetzt, wie Matthias vorgeschlagen hat, dann spielt 
es keine Rolle, wir die Pegel des Tastaturinterfaces sind.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Aaa Aaa schrieb:
> Würde auch zwei Multiplexer SN74LS151N  funktionieren?

Die Multiplexer sind nicht potentialgetrennt und können damit ungewollt 
falschrum reagieren, siehe Rolands Beitrag. Das gleiche Problem gibts 
bei normalen Transistoren, der Emitter folgt der Basis und das kann auch 
falsch sein.
Potenzialgetrennt sollte es also sein. Dazu gehen, wenn du die 
Polaritäten der Matrix ausmisst, normale Optokoppler des Feld-, Wald- 
und Wiesentyps (CNY17,PC817 etc.). Wenn du dir die Mühe des Ausmessen 
sparen willst, dann eben die Optotriacs, a là MOC3021-23 oder 
MOC3041-43. Den Nulldurchgangsdetektor der MOC304X Serie brauchst du 
hier allerdings wirklich nicht, es reichen die MOC3021-23.
Alternativ baust du dir einen eigenen USB Kontroller für deine 
Matrixtastatur. Da kann man z.B. V-USB nehmen oder (wenn du bereit bist, 
die Matrix anzupassen) eine alte USB Tastatur, aus der du die 
Kontrollerplatine räuberst.

von Aaa A. (wasser)


Lesenswert?

Danke.

Ich werde versuchen zu messen. Vielleicht verstehe ich es irgend wann. 
:)

Habe MOC3021 gekauft und werde es erst einmal so machen.

Eine frage habe ich aber noch. bei 5x4 brauche ich dann nun 9 MOC3021 
und ich verbinde alle - der MOC3021 miteinander? Oder habt Ihr 20 
gekauft um wirklich alle so gelegen wie die Tastatur es machen würde?

Habe erst mal 10 bestellt. Wollte das eigentlich so lösen.

von Aaa A. (wasser)


Lesenswert?

habe im Wikipedia noch mal gelesen.
Eigentlich brauche ich ja nur ein Transmission-Gate welche in kompletter 
Analogie eines Relais einfach alles sicher schließt. Egal ob von 
Irgendwo eine Spannung ansteht.

http://de.wikipedia.org/wiki/Transmission-Gate
Da ich noch zwei Multiplexer MC14051BCPG RS-Bestellnummer 519-0300 
liegen habe werde ich es auch damit versuchen. Die beiden COMs der 
Multiplexer verbinden und jeweils Zeilen und Spalten zusammenbringen. 
Dann brauche ich auch nur 6 I/Os um alle Tasten zu simulieren.

Ich werde dann Berichten wie es gelaufen ist.

Euch viele Grüße und besten Dank.

von None (Gast)


Lesenswert?

Schau Dir mal den CD4066 an.

von Aaa A. (wasser)


Lesenswert?

ja genau die CD4066 würde ich nehmen falls der Multiplexer nicht geht. 
Da brauche ich dann 9 I/Os sonst nur 6.
Sonst sehe ich keinen Unterschied

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.