Ich suche nach einer Möglichkeit, eine riesige Schaltermatrix mit
möglichst wenig Aufwand auswerten. Dabei sollen nach Möglichkeit
Leitunngen und Platz gespart werden. Die Matrix wird aus 44 x 62
Schaltern bestehen. Jeder Schalter schaltet "aus", d.h. er ist im
Ruhezustand geschlossen. Bei Druck öffnet er sich kurz, ca 100ms und
schliesst sich dann wieder. Bei Druckentlastung tut sich nichts, ausser
gfs etwas Prellen.
Die erste Idee, 44 x 62 Leitungen zu nehmen und diese als Eingänge zu
verwenden, scheitert am Verkabelungsaufwand. Es war gedacht, jeweils
einen Pin mit 12V zu bedrahten und dann die anderen Pins zu multiplexen.
Dies müsste wenn, vorort geschehen, erfordert dort aber
Schaltungsaufwand und ebenfalls Platz.
Daher folgende Idee:
Eigentlich müsste es reichen, die 44 Spalten sehr schnell zu
multiplexen, d.h. nur eine davon bekommt 12V Strom und dann einfach 62
Pins der Schalter auf eine Elektronik zu führen. Man sagte mir aber,
dass dort Dioden rein müssen, wegen Querströmen, allerdings sehe ich
nicht, wo die wie fliessen sollen. Idee?
Angenommen, man schafft es, die Matrix zu anzusteuern, wäre eine weitere
Idee, ein R2R-Netzwerk zu benutzen, und AD-Wandler einzusetzen. Man
erweitert die 62 auf 64 und bekommt 8 Kanäle mit R2R- also 8 AD-Wandler.
Die 8 Wandler bekommen permanent die Schalterstellungen jeder Spalte und
man hätte mit Umschaltverlusten etwa 1/50tel der Geschwindigkeit. Vor
allem könnten mehrere Taster gepresst werden.
Angenommen, ein Wandler mit 8 Bit schafft 1 MHz Daten, dann hätte ich
doch alle Taster mit 29 kHz abgetastet, oder?
Die Auswertung könnte mit einem FPGA gemacht werden, der die 8 Wandler
steuert und deren Werte auf die insgesamt 44x64 Speicherplätze verteilt.
Damit (mit FPGAs) habe ich schon gearbeitet und denke, das bekomme ich
hin.
Ich frage mich, ob irgendwas gegen die AD-Lösung spricht? Oder muss ich
dort 62 Leitungen in den FPGA legen?
Ach so nochmal zur Erklärung: Es sollen 8 Schalter in einer Gruppe
arbeiten, also sind es dann wohl 8 Leitungen zurück und 44 Leitungen
hin. Vielleicht gäbe es auch da noch eine Option, das zustraffen.
Elektro Nick schrieb:> Angenommen, ein Wandler mit 8 Bit schafft 1 MHz Daten, dann hätte ich> doch alle Taster mit 29 kHz abgetastet, oder?
Wenn die Schalter bei Betätigung für 100ms geöffnet sind, sollte es
reichen, mit 1/1000 der Abtastrate zu arbeiten, um eine Betätigung zu
detektieren. Oder muss der Zeitpunkt der Betätigung genauer bestimmt
werden?
Elektro Nick schrieb:> Jeder Schalter schaltet "aus", d.h. er ist im> Ruhezustand geschlossen.
Das ist extrem ungünstig und macht jegliche Lösung sehr aufwändig.
Schließer wären viel einfacher.
Elektro Nick schrieb:> Man sagte mir aber,> dass dort Dioden rein müssen, wegen Querströmen, allerdings sehe ich> nicht, wo die wie fliessen sollen. Idee?
Ja: Zeichne dir die Schaltung mal auf (es reicht mit z. B. 3 x 3
Schaltern), sieh' sie dir an und du solltest merken, was die Anderen
meinen.
Elektro Nick schrieb:> eine weitere Idee, ein R2R-Netzwerk zu benutzen
Leider auch nicht. Ein R2R-Netzwerk braucht bipolare Quellen, keine
öffnenden oder schließenden Schalter. Außerdem wären das auch 2
Widerstände pro Schalter oder ein 8er R2R-Netzwerk pro 8 Schalter.
Elektro Nick schrieb:> Die Auswertung könnte mit einem FPGA gemacht werden
Was wird dadurch einfacher? Immer noch 44 x 62 Anschlüsse!
Also, gemultiplexte Öffner würde 44 x 62 Dioden erfordern. Wenn du statt
je 8 Dioden ein 8-fach Analog-Multiplexer nimmst, ist das ungefähr der
gleiche Platzbedarf. (Analog-Multiplexer, weil sonst pro Taster ein
Pull-irgendwohin-Widerstand gebraucht wird.) Es dürfte auch komplexere
ICs geben, die nur zum Einlesen von Tasten gedacht sind. Alles sehr viel
Aufwand, aber eine andere Lösung sehe ich nicht.
Hm, das mit den Umschaltern habe ich nicht bedacht. Die habe ich nicht.
Ich dachte, ich könnte das mit pullups erledigen?
Die 100ms resultieren aus den Relaxationsbedingungen der Schalter. Der
Zeitpunkt muss so schnell wie möglich erfasst werden. Man wird auch ein
und denselben Wert mehrfach brauchen, wegen dem Prellen.
Elektro Nick schrieb:> Ich suche nach einer Möglichkeit, eine riesige Schaltermatrix mit> möglichst wenig Aufwand auswerten. Dabei sollen nach Möglichkeit> Leitunngen und Platz gespart werden. Die Matrix wird aus 44 x 62> Schaltern bestehen.
D braucht einfach nur einen µC mit 106 (eigentlich bei optimierter
Matrix nur 105) IOs. Das war's.
Höllisch kompliziertes Problem, so einen µC oder FPGA zu finden...
Wieviel bezahlst du mir, wenn ich an deiner Stelle Google benutze?
Ein Microcontroller wäre sicher eine Alternative. Mit dem R2R wird das
ohnehin problematisch, weil es nicht so einfach ist, damit 8 Bit
rauszukitzeln. Das braucht eng tolerierete Widerstände und meistens auch
Kalibration. Ich würde maximal 16 Stufen nehmen. Ob das mit Deinen
Schaltern hinzubekommen ist, hängt von den Schaltern und deren
Ausgangswiderstand ab. Bei maximal 1 Ohm kann man das mit pull-up-Rs
machen, darf die Anordnung aber nicht stark belasten. Sagen wir 330 Ohm
als pull-up und ein R2R aus 10k-Widerständen mit 4 Eingängen. Du
könntest die 44 Schalter der "Spalten" zu 11 Leitungen zusammenfassen
und die Ansteuerung über Schieberegister realisieren. 8 Stück in
Kaskade, macht die 62 Ausgänge. Allerdings musst Du dann noch auf 12V
wie ich sehe. Wozu eigentlich?
Die Auswertung kannst Du noch dahingehend verbessern, indem Du Daten
direkt auswertest: Ein Sigma-Delta-Wandler im FPGA kann bei z.B. 50 MHz,
die man da leicht machen kann, eine ausreichende Genauigkeit
hinbekommen, um die 4 Bit mit 1MHz sauber zu trennen. Musst halt dann
fenstern und die Zuordnung zu den 64 Kanälen leisten. Von denen brauchst
Du dann eben 11 Stück.
Bei einem meiner MIDI-Controller habe ich das so gemacht, um die
Dreh-Enconder auszuwerten. Jeder Encoder arbeitet mit 8 Stufen für A,B
und die Taste. Angesteuert und gelesen werden sie aber einzeln. Dann
braucht man keine Matrixdioden.
Fazit: Du kannst bei der Ansteuerung eher und einfacher Leitungen
sparen. Daher sollten die 62 die Spalten sein. Ich würde dann bei den
Rückleitungen ebenfalls zu Analogmultiplexern raten.
Eine andere Möglichkeit wäre, die Ausgänge voll digital zu halten und
alle zu latchen, um sie auszulesen. Kommt dann drauf an, wie viele
Leitungen akzeptabel sind. Dazu hast Du Dich aber noch nicht geäußert.
Elektro Nick schrieb:> Jeder Schalter schaltet "aus", d.h. er ist im> Ruhezustand geschlossen.
Dann scheidet Matrix schonmal aus.
Eine Matrix ohne Diode je Taster kann nur max 2 gleichzeitig
geschlossene Verbindungspunkte sicher erkennen.
Peter Dannegger schrieb:> Elektro Nick schrieb:>> Jeder Schalter schaltet "aus", d.h. er ist im>> Ruhezustand geschlossen.>> Dann scheidet Matrix schonmal aus.> Eine Matrix ohne Diode je Taster kann nur max 2 gleichzeitig> geschlossene Verbindungspunkte sicher erkennen.
Richtig. Das ist echt dumm gelaufen bei dir.
Elektro Nick schrieb:> Hm, das mit den Umschaltern habe ich nicht bedacht. Die habe ich nicht.> Ich dachte, ich könnte das mit pullups erledigen?
Dann funktioniert der R2R nicht mehr ideal. Ob das zu völliger
Fehlfunktion führt, oder zu enormer Ruhestromaufnahme, hängt von vielen
Faktoren ab. Aber die Tatsache, dass ziemlich viele Bauteile benötigt
werden, macht den R2R-Ansatz ohnehin sehr uninteressant.
Du wirst mindestens eine Diode pro Taste brauchen, dazu 44 Zeilentreiber
und 62 Spaltenempfänger samt Decodierlogik.
Oder ein IC pro mehrere Tasten. Also z. B. in der 1. Ebene mehr als 340
Analogmultiplexer + Pull-Up/Down, dazu in der 2. Ebene 44 digitale
Multiplexer, die in der 3. Ebene auf weitere 5 und in der 4. Ebene auf
einen letzten Mux gehen, sind insgesamt ungefähr 390 ICs. Ob in so einem
System die 100ms drin sind? Mag sein.
44 CPLDs mit 62 Eingängen oder 62 CPLDs mit 44 Eingängen, ggf. auch
FPGAs, könnten eine echte Alternative sein. Die haben auch Pull-Ups. Mit
welchen programmierbaren ICs es ein Optimum gibt, möglichst preiswert
die 2728 Eingänge einzusammeln, kann ich nicht vorhersagen. Ist halt
etwas Recherche und hängt z. B. auch davon ab, ob du BGAs einsetzen
kannst oder nicht. Aber sie könnten dem µC von seiner Multiplex- und
Auswertarbeit erheblich entlasten.
Um eine Diode pro Schalter wird man nicht drum rum kommen. Wegen der
Geschwindigkeit kann es ggf. hilfreich zu sein die Matrix nicht als 44 x
62 zu organsieren, sondern etwa als 88 x 31 oder so.
Lurchi schrieb:> Um eine Diode pro Schalter wird man nicht drum rum kommen.
Mit (Analog-)Multiplexern oder z. B. einer CPLD-Lösung schon. Ist aber
hauptsächlich ein Rechenexempel, ob es sich lohnt.
Alles Gedöns. Man muss einfach erkennen, wann eine eigentlich
altbewährte Methode (Matrix) an ihre Grenzen stößt und dann nicht endlos
'rumfummeln, sondern etwas Neues suchen:
Welches ist der preiswerteste MC mit 4 oder 6 Beinchen? Hänge so einen
(passend programmiert) an jeden Schalter und ale MCs zusammen an eine
Busleitung - erledigt der Fall und (beinahe) grenzenlos weiter
skalierbar ...
Eine echte Spitzenlösung.
Frank Esselbach schrieb:> Welches ist der preiswerteste MC mit 4 oder 6 Beinchen?PIC10F200T, ca. -,33 € bei 3000 Stück (zumindest der vom Microchip).
> Hänge so einen> (passend programmiert) an jeden Schalter und ale MCs zusammen an eine> Busleitung - erledigt der Fall und (beinahe) grenzenlos weiter> skalierbar ...
Also 33 Cent pro Taste (statt ca. 1 Cent pro Taste bei Dioden), fast
3000 Prozessoren programmieren, von fast 3000 Prozessoren die Daten
einsammeln (an einem Bus? Wohl kaum. Also weitere Prozessoren oder
irgendwelche Hardware) - das ist doch mal ein innovativer Ansatz. Spitze
in Kosten und Arbeitsaufwand.
Wenn es wenigstens 8, 16 oder 32 Tasten an einem Prozessor sein dürften!
Ein 5M40ZE64C5N (CPLD) im QFP64-Gehäuse hat 54 IOs, davon dürften sich
50 für die Tasten nutzen lassen (der Rest für serielles I/O) und kostet
deutlich unter 1,- €. Ok, da kommt noch Clock hinzu.
Axel R. schrieb:> Will niemand wissen, was das am Ende werden soll?> Ich langsam schon :)
Das verstehe ich, teile die Neugier aber nicht, jedenfalls nicht in dem
Maße. Es ist eine technisch ausreichend definierte Aufgabenstellung. Das
reicht mir. Weitere Erklärungen führen möglicherweise nur dazu, dass
hier, statt Lösungen zu diskutieren, das ganze Projekt (und damit auch
der Fragesteller) für bescheuert erklärt werden, weil man alles viel
eleganter machen kann (was ja durchaus möglich ist). Deswegen verzichte
ich lieber auf weitere Hintergründe und konzentriere mich auf die
Beantwortung der Fragestellung.
c-hater schrieb:> > Die Matrix wird aus 44 x 62 Schaltern bestehen.> D braucht einfach nur einen µC mit 106 (eigentlich bei optimierter> Matrix nur 105) IOs. Das war's.
Nö, er braucht mindestens 2728 Dioden zusätzlich.
Und auch jede andere Lösung braucht mindestens 1 Bauteil oder 1 Pin pro
Schalter.
Eine Matrix aus überwiegend geschlossenen Schaltern ist einfach blöd.
Frank Esselbach schrieb:> Welches ist der preiswerteste MC mit 4 oder 6 Beinchen? Hänge so einen> (passend programmiert) an jeden Schalter und ale MCs zusammen an eine> Busleitung
Wenn du wenigstens Grundschulmathematik beherrschen würdest...
Uwe Beis schrieb:> Also 33 Cent pro Taste (statt ca. 1 Cent pro Taste bei Dioden), fast> 3000 Prozessoren programmieren, von fast 3000 Prozessoren die Daten> einsammeln (an einem Bus? Wohl kaum. Also weitere Prozessoren oder> irgendwelche Hardware) - das ist doch mal ein innovativer Ansatz. Spitze> in Kosten und Arbeitsaufwand.
Ich habe mich bei dem Vorschlag auch wundern müssen, einen PIC pro
Schalter. :-)
Ich meine, dass die Aufgabe eher eine quantitative Komponente hat und
weniger eine qualitative, die einen Prozessor braucht.
Komisch sind die Schalter:
Elektro Nick schrieb:> Jeder Schalter schaltet "aus", d.h. er ist im> Ruhezustand geschlossen. Bei Druck öffnet er sich kurz, ca 100ms und> schliesst sich dann wieder. Bei Druckentlastung tut sich nichts, ausser> gfs etwas Prellen.
Warum ist das so gelöst? Was sind das für Schalter?
> Man sagte mir aber, dass dort Dioden rein müssen, wegen Querströmen,> allerdings sehe ich nicht, wo die wie fließen sollen.
Im Ruhezustand sind alle Schaltkontakte geschlossen. Ergo sind alle 106
Leitungen miteinander verbunden.
Wenn du dann einen einzelnen Schaltkontakt öffnest, ist das nach außen
nicht erkennbar, weil immer noch alle Leitungen miteinander verbunden
sind.
Deswegen die Dioden. Diese ermöglichen es erst, die Matrix Reihe für
Reihe nacheinander abzufragen.
Was soll eigentlich passieren, wenn 2 oder mehr Tasten gleichzeitig oder
kurz hintereinander gedrückt werden, z.B. so, dass eine noch gedrückt
ist, eine zweite dazu und dann die erste wieder losgelassen?! Das gibt
einen herrlichen Code-Mix. Stichwort: N-Key-Rollover und Phantom-Key.
Und wenn die Matrix so riesig ist gibt es auch ein riesiges EMV Problem
anschliessen, das sollte man auch bei der Entwicklung von vornerein
beruecksichtigen. Je nachdem wie gross die Matrix raeumlich wird ist das
ein riesige Antenne.
Abgesehen von den genannten Problemen bezüglich EMV etc. wäre ein
weiterer möglicher Ansatz, komplett auf eine Matrix zu verzichten,
sondern ein riesengroßes Schieberegister zu bauen, wo jeder Schalter
sein eigenes Register bekommt.
Wäre dann z.B. 44 x 62 / 8 = 341 Stück 74HC597
Wenn ein Taster bei Betätigung immer 100ms geöffnet wird, kann man
daraus die mindest-Datenrate des SPI berechnen, die notwendig ist.
Klar, die Steuerleitungen (SCK) müssen mit entsprechendem Bumms in das
System gepresst werden, bei der Last.
Aber ist ja nur mal ein Ansatz, weg von der Matrix
Oder man spendiert jeder Zeile einen µC an dem alle Schalter parallel
angeschlossen sind.
Ein Master-Controller sammelt dann die Daten jedes Zeilencontrollers
über SPI zyklisch ein.
Oder man nimmt eine Touch-Folie o.Ä., malt die Tasten auf ein Blatt
Papier, Klebt die Folie drauf und macht die Auswertung mit nem Pi oder
sowas in der Art.
Vermutlich billiger, als knapp 3000 Schalter zu kaufen, aber ich glaube,
der TO hat die Schalter bereits rumliegen..
Ich würde auch eine Kompromiss versuchen.
Parallel-In Serial-Out Schieberegister, wie vorgeschlagen und dann mit
einem preiswerten uC jeweils per SPI ausgelesen. Da man 5V Signale nicht
in jeder Umgebung auf beliebiger Länge transportieren kann, muss man
selber einschätzen, wie viele S/R man auf einen Fleck baut.
12V sind ok, kann man über einen Widerstandsteiler auf 5V runter teilen,
47R und Shottky von 5V1 vor den Pin des Registers, das ganze mit einem
ATtiny auf einen RS485 Bus gebracht.
Dann muss man noch überlegen, wie man die Boards so anspricht, dass sie
nicht alle durcheinander reden, wenn an verschiedenen Boards Tasten
gedrückt werden. Aber da gibt es schon andere Threads drüber.
Schlumpf schrieb:> Wenn ein Taster bei Betätigung immer 100ms geöffnet wird, kann man> daraus die mindest-Datenrate des SPI berechnen, die notwendig ist.
Bei 10 Abtastungen 300kHz für die Matrix und 3MHz für den SPI.
Man kann aber wirklich auch adc verwenden,
44x32 geht noch, man braucht dann z.B. 10x 16f1503 oder weniger wenn
man externe Mux verwendet.
Schalter auf GND und mit zwei Widerständen auf Spalte und Zeile
aufgetrennt.
Hallo,
divide et impera - man teilt so eine Matrix in Module auf, z.B. 48 Stück
mit 8 x 8 Schaltern und je einem Prozessor, die werden wie üblich
vernetzt. So macht man das auch bei den hauswandgrossen
LED-Videoanzeigen in chinesischen Einkaufszentren. Bei einem Defekt ist
ein Modul mit ein paar Handgriffen ausgetauscht.
Das Problem 8 x 8 Schalter abzufragen sollte ja wohl beherrschbar sein,
zweckmässig wäre es die Schalter und die Kontrolllogik zusammen zu
montieren, etwa auf 2 Leiterplatten.
Georg
Die entscheidende Frage ist, ob und welche Schalter gleichzeitig
gedrückt werden und ob das erkannt werden muss. Diese Info steht noch
aus.
Ich meine, dass es das Einfachste wäre, möglichst viele Spalten zu
verwenden und möglichst wenige Zeilen, mit denen auf eine
Ausgangsleitung gegangen wird. Wie oben beschrieben, kann man 4
Leitungen bequem analog codieren. Das braucht keine speziellen
R2R-Netzwerke und keine enge Toleranz. Vor allem muss es nicht
kalibriert werden, sondern man kann die Werte ausrechnen und ablesen.
Wenn es wirklich ein FPGA sein soll, kann man das ohne Wandler machen
und hat auch Leitungen genug. Nach obigem Beispiel 44/4 = 11 Stück x 62
und einige wenige für die Steuerlatches.
Diese rund 660 Leitungen müssen eben vorort mit Multiplexern
runtergeteilt werden, soweit als möglich. Wieviele es maximal sein
dürfen, hat uns "Tech Nick" ja ebenfalls noch nicht mitgeteilt.
So als (Schnaps)Idee:
Wie wäre es die Schalter mit Widerstandsdraht zu einer Matrix (Netz) zu
verschalten
Dann ändert sich beim öffnen eines Schalters der Widerstand des Netzes.
X4U schrieb:> Wie wäre es die Schalter mit Widerstandsdraht zu einer Matrix (Netz) zu> verschalten
Das so auszulegen, daß jeder Schalter eindeutig erkannt wird, dürfte
eine Lebensaufgabe werden.
Hi
Ich glaub, hier führt euch Elektro-Nick an der Nase herum. Er stellt
euch einfach eine Aufgabe und läßt euch mal machen. Eine Matrix mit 2728
Schaltern ist ein so gewaltiges Projekt, das man den Sinn anzweifelt.
Und dann noch die Frage nach den Dioden. Da fragt sich ein "Elektriker"
mit Recht, was das soll. Einfach mal aufzeichnen und in der Matrix mehr
als einen Schalter einschalten. Schon wird klar, das Schalter aus ganz
anderen Reihen Signale liefern können und damit der aktuellen Reihe
vorgaukeln, es seien Schalter betätigt. Eine Matrixauswertung in diesem
Maße ist eine Aufgabe für mehr als einen Controller. Ansonsten ist es
einem Controller völlig egal, ob ein Öffner oder Schließer den
Signalwechsel verursacht. Hier ist einfach mal ein wenig Ehrgeiz und
Nachdenken gefragt, gepaart mit Wissen um den Stromkreis in der
Elektrik.
Um Verdrahtungs- und Beschaltungsaufwand kommst du sowieso nicht herum,
also kannst du auch deine Aufgabe auf mehrere Controller verteilen und
diese dann seriell verbinden. Einen zusätzlichen nimmst du dann, um die
Signale zuzuordnen und auszuwerten. So kannst du deine Matrix in allen
Controllern gleich programmieren und die Controlleradresse selektiert
die Tastersignale im Zentral-µC. Das, was an Zeit für seriellen
Datentransfer benötigt wird, spart die leichzeitige Signalaufbereitung
mehrerer Controller und die Auswertung in dem zeitlich unabhängigen
zusätzlichen µC.
Aber meine Meinung ist immer noch, das hier eigentlich nur mal so
abgefragt wird, wer auf so eine Projekt reinfällt.
Gruß oldmax
oldmax schrieb:> Eine Matrix mit 2728 Schaltern ist ein so gewaltiges Projekt,> das man den Sinn anzweifelt.
Abgesehen davon, scheint mir das räumliche Gebilde mit der Drahtmenge
eine prima Antenne zu werden, die jeden Dreck einfängt. Ob der TS einen
RAM durch Schalter ersetzen möchte?
Ich vermute mal Elektro Nick möchte seine Modelleisenbahn oder eine
Netzleitstelle o.ä. verdrahten. Wir wissen nichts über die räumliche
Anordnung der Schalter. Für zukünftige Anwendungen würde ich mir jedoch
Flexibilität wünschen (Modifikation, Reparatur, etc.).
qualidats Vorschlag geht daher genau in die richtige Richtung.
Die Kosten für "busfähige Taster" (siehe Onlinesuche) sind im Vergleich
zum erreichbaren Nutzen und dem gesparten Folgeaufwand absolut
vernachlässigbar.
Falls Elektro Nick aus irgendwelchen Gründen keine Standardbauteile
verwenden kann oder möchte, findet sich sicher ein
Elektronikdienstleister, der ihm eine passende Interfaceplatine entwirft
- selbstverständlich CE konform. Bei Interesse - gerne PM an mich.
Eigentlich wurde ja schon alles gesagt.. was spricht denn gegen 1 Bit
Shifter bzw einen MC als OneWire Rutschregister,mit Clock jeden takt
1bit Speichern/Ausgeben pro Schalter und dann nur noch die Zeilen
einlesen. Würde das überhaupt möglich sein? Insgesamt kommt es ja auch
auf den ganzen Aufbau an ob das eine 40x40cm Kiste oder 2x2m wird und
die ganzen anderen Faktoren.
Philipp K. schrieb:> Eigentlich wurde ja schon alles gesagt
Jawohl! Und Elektro Nick (Gast) hat sich seit dem 22.04.2015, 20:08 Uhr
nicht mehr gemeldet. Alles klar?
Naja, aber im Grunde ist es ja auch eine Frage, die sich andere Stellen
könnten. Leider ist es aber auch, wie so oft, eine unvollständige Frage,
bzw. es fehlen die Rahmenparameter.
Philipp K. schrieb:> ...Aufbau an ob das eine 40x40cm Kiste oder 2x2m wird und> die ganzen anderen Faktoren.
Und das ist tatsächlich ein Unterschied, denn ein kleines
Modelleisenbahn Stellpult kann man durchaus mit I2C Chips aus der PCF
Serie auf I2C bringen und könnte zumindest Gruppen aus Schaltern machen,
die dann, durch die Interrupts der Chips, nur ausgelesen werden wenn ein
Eingang geändert wird.
Bei einem original großen Eisenbahn Stellpult würde ich aber nicht mehr
mit I2C arbeiten wollen und die Bahn wird es auch nicht abnehmen wollen.
Generell wird man aber bei beiden Anwendungen nicht umhin kommen, ein
wenig Entstörung an den Eingängen vorzusehen.
Torsten C. schrieb:> Philipp K. schrieb:> Eigentlich wurde ja schon alles gesagt>> Jawohl! Und Elektro Nick (Gast) hat sich seit dem 22.04.2015, 20:08 Uhr> nicht mehr gemeldet. Alles klar?
Zwischen dem ersten und letzten Beitrag des TE liegen ganze 44 Minuten.
Und es wird weiter gemacht und gelöst. Beeindruckendes Forum.
Naja, Torsten...
Es ist ja so, dass hier jeder, der die Suche benutzen kann, auch eine
Lösung finden sollte. Wenn man da einfach mal weiter diskutiert, obwohl
der Fragesteller schon aufgegeben hat, warum ist das schlimm?
Das Forum heißt ja nicht: Wir lösen dein Probleme und Aufgaben und
machen für Dich Deine Arbeit.
Wir haben einfach Spaß dabei, sonst macht es keinen Sinn.
Ulrich P. schrieb:> Es ist ja so, dass hier jeder, der die Suche benutzen kann, auch eine> Lösung finden sollte. Wenn man da einfach mal weiter diskutiert, obwohl> der Fragesteller schon aufgegeben hat, warum ist das schlimm?>> Das Forum heißt ja nicht: Wir lösen dein Probleme und Aufgaben und> machen für Dich Deine Arbeit.>> Wir haben einfach Spaß dabei, sonst macht es keinen Sinn.
Das sehe ich genau so. Deswegen tendiere ich auch eher dazu eine Frage
zu beantworten, als dem Fragesteller zu unterstellen, auf dem Holzweg zu
sein (was ja oft genug der Fall ist).
Wenn ich Antworten bekomme, die sinngemäß lauten: "Hey, ich habe keine
Lösung für deine Aufgabenstellung, aber ich weiß eine Lösung für eine
andere Aufgabenstellung, also stell' dich nicht so an, sei so schlau wie
ich und mach es anders!" steigt bei mir das Blutdruck.
Harald schrieb:> Und es wird weiter gemacht und gelöst.
In der Tat, sehr beeindruckend!
Zumal am 25.04.2015 um 13:00 Uhr noch jemand schrieb: "Falls Elektro
Nick aus irgendwelchen Gründen …". Nick leist hier doch gar nicht mehr
mit! ;-)
Schade, dass es Öffner sein sollten. Ich finde nämlich die Schaltungen
von Helge immer wieder elegant:
Beitrag "Re: Taschenrechner Tastatur: Ist das möglich?"Ulrich P. schrieb:> Naja, Torsten...
Wie ist das gemeint?
Torsten C. schrieb:> Ulrich P. schrieb:>> Naja, Torsten...>> Wie ist das gemeint?Harald schrieb:> Zwischen dem ersten und letzten Beitrag des TE liegen ganze 44 Minuten.> Und es wird weiter gemacht und gelöst. Beeindruckendes Forum.
Ursprünglich hatte ich Deinen Text als Ironie aufgefasst. Daher
entschuldige das Missverständnis!
I.d.R. fangen Posts so an, wenn einer anfängt dem TO das Interesse
abzusprechen. Und ich halte solche Posts für überflüssig, weil das Ziel
des Forums eben immer der Weg zu einer Lösung ist.
Tatsächlich bist Du wohl wirklich beeindruckt, danke dafür :)
Sorry
Ulrich
Nett, was hier alles bereits an Mutmassungen unterwegs ist. Ich war
krankheitsbedingt weg vom Fenster, wie man bei uns sagt. Es geht weiter:
Zu den Fragen: Die Schalter sind vorgegeben und ich kann sich nicht
ersetzen, bestenfalls anders orientiert verdrahten. Ja das ginge. Bei
den Schaltern handelt es sich um eine bereits fest verbaute Druckmatrix
in Mattenform, welche ein Art differenzielles Signal abgibt. Ich könnte
ein Kennlinie posten aber es reicht, zu wissen, dass bei flächigem Druck
sich etliche der Schalter öffen und erfasst werden sollen. Der
Widerstand der Schalter springt von einigen hundert Kiloohm auf unter 10
Ohm. Daher auch die 12 Volt Verdrahtung, die genug Strom liefern soll,
bzw Spannung für Störabtand.
Ich sehe also, dass ich eine Reihe von Analogschaltern benötige, die das
Signal umschalten könnten müssen. Ich muss jetzt in Erfahrung bringen,
wieviel Platz um das System vorhanden sein wird, um das zu realisieren.
Zu dem "OneWire Rutschregister":
Ich steuere also ein sehr langes Schieberegister an, verstärke jeden
Ausgang auf 12V und lege ihn an die Spalten. Die anderen Spalten sind
damit weg. Direkt verodern kann ich die Zeilen nicht, wegen der
Querstrominformatioen, weil ich sonst Dioden brauche, richtig?
Dann fasse ich z.B. 4 Ausgange zu einem R2R zusammen und bekomme 11 zu
multiplexende Spannungen.
11 x 62 macht rund 1/700stel der Abstastfrequenz. Ich brauche demnach
für 100 ms zusammen etwa 100us. Bei 10x Abtasten also 10us = 10KHz.
Dann ginge das doch sicher mit einem kleinen Microcontroller und einem
einfachen ADC?
Elekto Nick schrieb:> Der Widerstand der Schalter springt von einigen hundert Kiloohm auf unter> 10 Ohm.
Also ein Schließkontakt?
Elektro Nick schrieb:> Bei Druck öffnet er sich kurz, ca 100ms und schliesst sich dann wieder.
Oder ein Öffner?
Vielleicht ist es heute schon zu spät, ich verstehe es nicht.
Hört sich aber an, wie eine Gummi-Matte, wo Leute drauf laufen und mit
der die Fußabdrücke erfasst werden sollen.
Elekto Nick schrieb:> Bei> den Schaltern handelt es sich um eine bereits fest verbaute Druckmatrix> in Mattenform,
Hatte der Singer nicht schon vor ca. 20 Jahren etwas derartiges für die
Aachener gebastelt?
Torsten C. schrieb:> Hört sich aber an, wie eine Gummi-Matte, wo Leute drauf laufen und mit> der die Fußabdrücke erfasst werden sollen.
Iirc ging es damals um eine Matte, auf der Menschen mit großflächigen
Verbrennungen gelagert werden sollten.
Elekto Nick schrieb:> Zu dem "OneWire Rutschregister":>> Ich steuere also ein sehr langes Schieberegister an, verstärke jeden> Ausgang auf 12V und lege ihn an die Spalten. Die anderen Spalten sind> damit weg. Direkt verodern kann ich die Zeilen nicht,
Nein, du hast ein Schieberegister mut 2500 Eingängen und verbindest
jeden Taster einzeln.
Das Problem ust hat, dass sich Taster (0 Ohm/unendlich Ohm) nicht als
Matrix verschalten lassen.
Elekto Nick schrieb:> Der Widerstand der Schalter springt von einigen hundert Kiloohm auf> unter 10 Ohm.
Aber deine Taster haben gar nicht 0 Ohm/unendlich Ohm. Und du musst
scheinbar auch gar nicht so genau wissen, welche Taster geöffnet wurden,
sondern nur wolkenweise Erfassen. Da kann eine Matrix eine Tomographie
erlauben. Da du aber immer noch Informationen zurückhältst, kann man
auch nicht mehr dazu sagen.
Nein, es ist ein Öffnungskontakt
Nein, ich muss keine Wolken erfassen. Ich brauche die Taster einzeln als
"on/off" und dies auf besser, als 10ms genau um eine Bewegung zu
erkennen.
Fussmatte mit Bewegungserkennung kommt dem im Prinzip schon nahe.
Elekto Nick schrieb:> Dann fasse ich z.B. 4 Ausgange zu einem R2R zusammen und bekomme 11 zu> multiplexende Spannungen
5 müssten eigentlich auch gehen - wären noch mal 2 Leitungen gespart.
Wenn es digital wäre, hättest Du es einfacher:
http://www.ti.com/lit/ds/symlink/sn74hc151-q1.pdf
Hallo!
Die vielen Leute, die hier helfen wollen, sind wohl immer noch konfus
über die Art des Schalters.
Also:
Schalter ohne Druck ergibt
( ) einige hundert Kiloohm
( ) unter 10 Ohm
Schalter mit Druck ergibt
( ) einige hundert Kiloohm
( ) unter 10 Ohm
Ich vermute irgend ein Missverständnis zu "Öffner" und "Schließer".
Mache einen Stern oder ein "x" oder... in die Klammern und wir wissen
mehr!
Wenn eine Diode pro Taster schon zu viel sind, dann sind alle anderen
Lösungsvorschläge doch Sinnlos, denn sie können nur Aufwändiger sein.
Denn es geht um Taster mit Öffner. In Ruhelage sind also alle Kontakte
geschlossen.
Route 66 schrieb:> Schalter ohne Druck ergibt> ( ) einige hundert Kiloohm> ( ) unter 10 Ohm
Schalter ohne Druck ergibt >100kOhm
gedrückter Schalter ergibt eine Zeitlang 10 Ohm, während des
Einpressvorgangs, danach wieder 100Ohm. Ist ein Differentielles Signal.
Elektro Nick schrieb:> Schalter ohne Druck ergibt >100kOhm> gedrückter Schalter ergibt eine Zeitlang 10 Ohm, während des> Einpressvorgangs, danach wieder 100Ohm.
Vielleicht ist es heute schon wieder zu spät, ich verstehe es immer noch
nicht:
Taster ohne Druck hochohmig (>100kOhm),
Taster gedrückt 10..1000Ohm (niederohmig).
Elekto Nick schrieb:> es ist ein Öffnungskontakt
Ist ein Öffnungskontakt bei gedrücktem Taster nicht eigentlich
hochohmig?
> Ist ein Differentielles Signal.
Aus einem Taster kommt kein Signal Ein Taster kann nur leiten oder
nicht.
Und dann noch ein differentielles Signal? Wie wird das erzeugt?
Vielleicht mit LVDS-Treibern? ;-) Irgendwas wichtiges verschweigst Du
doch, oder?
Vielleicht habe ich das falsch geschrieben mit dem Kontakt, aber es ist
nach Messungen wirklich so, dass die Schalter in dem betroffenen Bereich
kurzfristig niederohmig(er) werden. Das differenzielle Verhalten ist
ähnlich einem Piezoeffekt, nennen wir es Elektrostriktion. Das Verhalten
ist eigentlich analog, aber die Umschaltcharateristik ist im Groben eher
digital. Die Flanken sind entsprechend verschliffen und es reicht, die
Schalter also solche auszuwerten. Die Matrix wird dazu mit einer
ausreichend hohen Spannung versorgt, damit ein klares Signal rauskommen
kann und die sehr unterschiedlichen Kennlinienverläufe keinen Einfluss
haben. Genaueres in Sachen Trimmung , eventueller Kalibrierung erfolgt
im Anschluss an die Auswertung. Dann wird weitergedacht.
Ich verwende aufs erste niederohmige Analogschalter, und sehe dann, ob
man es für die weitere Auswertung gfs noch kleiner hinbekommt. Danke an
alle.
Elektro Nick schrieb:> Ich verwende aufs erste …. Danke an alle.
Dann hat sich die Frage also erübrigt? Trotzdem aus Interesse:
> Die Matrix wird dazu mit einer ausreichend hohen Spannung versorgt,> damit ein klares Signal rauskommen kann.
Annahme: Es geht also um einzelne Signale mit Masse als Bezugspunkt (ein
Anschluss pro Taster) und nicht um Taster mit zwei Anschlüssen, die
man mit Dioden^^ entkoppeln könnte, richtig?
Elektro Nick schrieb:> Route 66 schrieb:>> Schalter ohne Druck ergibt>> ( ) einige hundert Kiloohm>> ( ) unter 10 Ohm>> Schalter ohne Druck ergibt >100kOhm>> gedrückter Schalter ergibt eine Zeitlang 10 Ohm, während des> Einpressvorgangs, danach wieder 100Ohm. Ist ein Differentielles Signal.
Was verstehst du hier unter einem differntiellen Signal?
Elektro Nick schrieb:> Vielleicht habe ich das falsch geschrieben mit dem Kontakt, aber es ist> nach Messungen wirklich so, dass die Schalter in dem betroffenen Bereich> kurzfristig niederohmig(er) werden.
Dann ist das mit einem Schließer und nicht mit einem Öffner
vergleichbar.
Ein schließender Taster wird bei Druck niederohmig und ist ohne Druck
hochohmig. Genau das machen Deine "Kontakte".
Und damit wird das alles viel einfacher...
Aber noch eine Frage: Ist die Riesen-Matrix so fix verdahtet oder lässt
sie sich in Unter-Matrizen aufteilen?