Hi, gibt es Multiplexer in der Größenordnung von 128 (2^7) Eingangsleitungen? Oder sollte man einfach mehrere Kleinere (in diversen Shops hab' ich lediglich solche gefunden) hintereinander anbringen? Es geht darum, in einer Matrix von Kontakten, den geschlossenen zu finden!
LG Thomas
Didn't find your answer? Ask the community — no account required.
M
Markus Gronotte
"Thomas Kainzl"
Weißt du eigentlich wie lang son Chip wär? :-)
Ich würd auch sagen:
4051 hat 8 Eingänge mit 3 Bit und ist recht Stromsparsam.
4052 nutze ich selber für etwas.
Davon 18 Stück.
16 erste Reihe, Dann nochmal zwei Stück.
HTH,
Markus -
formatting link
M
Markus Gronotte
"Markus Gronotte"
Momentmal. Du sprichst von Matrix. Kannst du das Ganze dann nicht als Matrix mit viel weniger Multiplexern abfragen? Sag uns doch mal wie die Matrix genau aussieht. Meinen Tip mit dem 4051 vergiss mal wieder. Das war ein analoger MUX. Dir reicht ja ein digitaler vermute ich.
M
Michael Eggert
Hi!
Wär wohl ne Anwendung fürn CPLD oder FPGA mit vielen Pins. Leider sind die entsprechenden dann auch innen nicht ohne (und hoffnungslos unterfordert) und dementsprechend teuer.
Deine Matrix hat 128 Spalten? Meine Güte, wieviel tausend Kontakte sind das denn?
Gruß, Michael.
T
Thomas Kainzl
Hm... eigentlich, wenn ich mir das recht überlege, wäre die "andere Richtung" wohl sowieso passender! Also einen/ mehrere Decoder zu verwenden. Zur Matrix: Ich hab zB. 128 Kontaktleitungen an der einen Seite und 64 an der anderen, und ich will den "Schnittpkt"/ den geschlossenen Kontakt herausfinden.
LG, Thomas
lang ;)
G
Georg Acher
Als Matrix wäre das mit (8+4)*CD4067 und etwas Kleinkram (PIC oder so) zu erledigen. Also gar nicht mal so schlimm.
Naja, die LCD-Zeilen/Spaltentreiber machen sowas schon. Die sind dann auch tw.
1-2cm lang, aber nur 0.3mm breit. Geht halt auch nur mit Flipchip...
Georg Acher, acher@in.tum.de
http://www.lrr.in.tum.de/~acher
"Oh no, not again !" The bowl of petunias
G
Günther Kreischer
Hallo,
von Lattice gibt es einen digitalen Schalterchip.
Ciao
"Thomas Kainzl" schrieb im Newsbeitrag news:dds5b1$7kf$ snipped-for-privacy@odin.weihenstephan.org...
M
MaWin
"Thomas Kainzl" schrieb im Newsbeitrag news:dds5b1$7kf$ snipped-for-privacy@odin.weihenstephan.org...
Auf der einen Seite ein Decoder, der eine aus 128 Leitungen auf Masse legt, (das tun 18 74HC138) auf der anderen Seite ein Datenselektor, der eine der 64 Leitungen auswaehlt (das tun 8 74HC151 an einem 74HC138) Wenn die Schalter echte Schalter sind (0 Ohm und unendlich Ohm)und nur einer geschlossen sein kann, kannst du 64 1 k Widerstaende an den Leitungen als Spannungsteiler anschliessen, mit 75uA Stromquelle versorgen, und per A/D- Wandler das Signal einlesen. Spart 9 ICs gegen 64 Rs.
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
T
Thomas Kainzl
Nein -- das wird nicht gehen. Es soll auch erkennbar sein, ob eventuell auch zwei oder mehrer Kontakte gleichzeitig geschlossen sind. Sprich ich muss die schon sequentiell abfragen!
Ansonsten eine nette Lösung! Gibt es den 74HC138 auch als "nicht-inverting"?
Danke, lG Thomas
H
Holger Petersen
Da gäbe es den 74154 (4 to 16) oder den entsprechenden 74159 mit open-collector-Ausgang. OB es die heute in den neueren Familien tatsächlich noch gibt, mag was anderes sein...
Sind das _wirklich_ 8196 (acht-tausend-einhundert-sechs-und-neunzig) Schalter?
Ist das eine Emulation eines RAM? Wer hat das entworfen & gelötet? :-)
Oder sind das einmal 128 Schalter und einmal 64 Stück und Du möchtest den (virtuellen) Schnittpunkt errechnen?
Kann immer nur *ein* Schalter (-Paar) aktiv sein?
fragend, Holger
M
MaWin
"Thomas Kainzl" schrieb im Newsbeitrag news:ddt76i$fss$ snipped-for-privacy@odin.weihenstephan.org...
74hc238, schwer beschaffbar, eher aus der cd4000 serie z.B. 4028
-- Manfred Winterhoff, reply-to invalid, use mawin at despammed.com homepage:
formatting link
de.sci.electronics FAQ:
formatting link
Read 'Art of Electronics' Horowitz/Hill before you ask. Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
M
Michael Eggert
Hi!
Vergiss nicht die pull-up-Widerstände an den Eingängen..
Für zwei geschlossene Kontakte brauchst noch Dioden hinter den Treibern (oder gleich open collector), sonst kannst mit zwei Tasten zwei Decoder kurzschließen. Für noch mehr gleichzeitig gedrückte brauchst eine Diode je Taster, sonst ists nicht mehr eindeutig (zB mit drei geschlossenen Kontakten, von denen zwei auf einer Zeile und zwei auf einer Spalte liegen).
Gruß, Michael.
T
Thomas Kainzl
*hehe* Naja - JA :) Sieht so aus, dass für zB. die ersten 128 Kontakt ein horizontale Leitung 128 vertikale schneidet. Also das Lötproblem gibt's demnach nicht ;)
Nein auch mehrere!
LG, Thomas
T
Thomas Kainzl
Naja -- ich hab' mir das so vorgestellt: An einer Seite ("horizontal") ein/ mehrere 74hc238 oä (den MaWin vorgeschlagen hat) denen ich sequentiell ein H anlegen lasse. Die Ausgänge jeweils durch Dioden geschützt. An der anderen Seite ("vertikal") ein/ mehrere Mutiplexer die ich dann ebenfalls sequentiell abfrage. Somit umgehe ich doch das Problem mit der Mehrfachbetätigung!?
Soweit richtig?
LG Thomas
G
Gernot Fink
Nicht ganz. Wenn z.b. die Schalter diagonal in der Matrix geschlossen sind scheint es so als ob alle Schalter geschlossen sind.
+...*++
+..*.++
+.*..++
+*...++
+++++++
Ein Kurzschluss entsteht dann natürlich keiner.
MFG Gernot
M
MaWin
"Thomas Kainzl" schrieb im Newsbeitrag news:ddvivl$2uq$ snipped-for-privacy@odin.weihenstephan.org...
Die Dioden muessen in jeden Schalter.
-- Manfred Winterhoff, reply-to invalid, use mawin at despammed.com homepage:
formatting link
de.sci.electronics FAQ:
formatting link
Read 'Art of Electronics' Horowitz/Hill before you ask. Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
T
Thomas Kainzl
Da kann ich dir nicht ganz folgen! Ich dachte eigentlich an soetwas:
// Im C Pseudo-Code :)
for (int col = 0; col < MAX_COLCOUNT; col++) { Leitung col im "74hc238- Array" auf H setzen; for (int row = 0; col < MAX_ROWCOUNT; row++) { Zustand der Leitung row prüfen; // Wenn H -> Schalte (row, col) geschlossen. } }
Ich sehe mir also jeden "Knoten" an ob ein H Signal anliegt oder nicht.
LG, Thomas
M
Michael Eggert
Mit den Dioden in den Ausgängen kannst Du _zwei_ gleichzeitig gedrückte Tasten erkennen, bei dreien kanns aber Fehler geben. Siehe unten.
Mit Dioden an jedem Schalter (dann brauchst Du keine an den Ausgängen) kannst Du _alles_ erkennen.
| |
--A---B------ 1 | |
--C---D------ 2 | | | | 3 4
1 und 2 sind Ausgänge, 3 und 4 sind Eingänge.
Stell Dir vor, Du hast die Dioden nur in den Ausgängen. Damit verhinderst Du, daß die Ausgänge miteinander kurzgeschlossen werden und kannst wie gesagt zwei gleichzeitige Tastendrücke auseinander- halten, zum Beispiel:
1->A->3 und
1->B->4.
Bei A und C siehst so aus:
1->A->3
2->C->3 und
1->A->3->C->2. Stört nicht, wenn die Ausgänge Dioden haben.
Wenn jetzt aber beispielsweise ABC drückst, bekommst Du...
1->A->3
1->B->4
2->C->3 und
2->C->3->A->1->B->4
...und das kannst Du nun nicht unterscheiden von ABD...
1->A->3
1->B->4
2->D->4->B->1->A->3
2->D->4
...oder ABCD...
1->A->3
1->B->4
2->C->3
2->D->4
...oder jeder möglichen Kombination mit 3 geschlossenen Tasten in einer 4x4-Matrix.
Ergo brauchst Du für 3 und mehr gleichzeitige Tastendrücke Dioden in Reihe zu jedem Taster, welche diese langen Pfade unterbrechen.
Von der Idee ganz richtig, nur daß ohne Dioden aus einem Knoten ein ganzes Netz werden kann, wenn man die falschen Tasten drückt.
Gruß, Michael.
M
Michael Eggert
Nachtrag:
Ich verwende diese Methode erfolgreich mit einem käuflichen Ziffern- block ohne eingebaute Dioden, also nur mit solchen in den Ausgängen.
Zwei überlappende Tasten detektiere ich, indem ich nach jedem Abfragezyklus schaue, welche Taste neu dazugekommen ist. Funktioniert prima.
Bei drei überlappenden Tasten (in besagter kritischer Kombination) stellt die Software fest, daß scheinbar _zwei_ Tasten gleichzeitig dazugekommen sind, nämlich die wirklich gedrückte und die mit dem Strom "über Eck". Das wird dann einfach ignoriert. Fehler gibts nur, wenn die Taste genau in dem Moment Kontakt macht, wo die eine Leitung schon abgefragt wurde und die andere noch nicht - denn dann kam ja scheinbar nur eine neue Taste dazu (und das kann auch die "falsch verbundene" sein). Stört in meiner Anwendung nicht wirklich, denn wer auf einer Zahleneingabe drei Tasten gleichzeitig drückt, wird sich hoffentlich nicht dran stören, wenn dabei selten auch mal Mist rauskommt.
Gruß, Michael.
G
Gernot Fink
Wenn einer der mit . markierten matrixpunkte geschlossen wird wenn die
geschlossen sind sieht es so aus als ob auch auf der anderen seite der sterne ein Schalter geschlosssen wurde.
MFG Gernot
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.