IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Hallo Ihr Lieben,

mein Projekt: E-Dartscheibe mit PC verbinden.

Ich habe einer E-Dartscheibe ihrer Elektronik beraupt und die Treffermatrix mit dem Warrior56 verbunden.
Auch die original Tasten der Dartscheibe habe ich mit dem IO Warrior kontaktiert. Des weiteren drei 7segment LED Anzeigen (für den Anfang).
Der ganze Kram funktioniert einwandfrei und meine ersten Testprogramme steuern die 7segmet sauber an. Die Tasten werden erkannt und auch die gesamte Treffermatrix funktioniert und mein Progrämmchen wertet die Treffer korrekt aus.

Jedoch werden die Treffer im realen Einsatz nur jedes 4te bis x-te mal erkannt. Nach langem Suchen habe ich den befürchteten Eintrag hier im Forum gefunden, das eben der Input im Matrixmodus um einiges länger sein muss (hab den Beitrag heute nicht mehr gefunden).

Hat jemand eine Idee wie ich das Input Signal der Matrix verlängern kann so das der Warrior das Signal zuverlässig erkennt. Diverse Elko Versuche sind kläglich gesacheitert.
Bin nur bedingt in der Elektronik fit. Dachte auch schon an einen Fremdbaustein der mir vorgeschaltet aus einem Matrix input ein digitales Output macht (8bit oder so) welches ich ja dann mit dem Warrior an den Rechner übergeben könnte, finde diesbezüglich jedoch nichts hilfreiches.

Kann mir jemand auf die Sprünge helfen?

Danke & Gruß HaJo
Mike D
Posts: 91
Joined: Wed Jun 02, 2004 4:07 pm
Location: Elbe- Weser-Dreieck
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by Mike D »

Guido Körber wrote:Die Matrix wird alle 4msec gelesen und eine Änderung des Status muss 16msec stabil sein.

Die Matrix für etwas anderes als Tasten zu verwenden geschieht auf eigene Gefahr und mit direkter Ankündigung von möglichen Problemen in zukünftigen Versionen.
steht hier: http://www.codemercs.de/phpBB2/viewtopi ... lit=16msec
und im Datenblatt.

Das heißt ein Schalter muss 4 mal hintereinander als geschlossen gesehen werden.

Wie funktioniert die Dartscheibe denn mechanisch? Wieso sind die Signale nur so kurz?

Mike
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Hallo Mike,

ich habe auch nicht damit gerechnet das die Signale so kurz sein könnten.
Die Kontakt Matrix der Dartscheibe besteht einfach nur aus zwei aufeinander liegende Kontakt Folien mit Spacer. Identisch mit dem Prinzip einer folienbasierender PC Tastatur.

Siehe:
http://www.dartkiste.de/webshop/index.p ... uct=50975M

Der Dartpfeil drückt beim Einschlag das Feldsegment auf die Kontakte. Aber eben erstaunlich kurz.
Das Segment wird unerwartet schnell wieder zurückgefedert.
Hier spielt keine Rolle wie stark der Dartpfeil geworfen wird. Ca. jeder 4te bis 8te Einschlag wird registriert.

Lege ich die Scheibe auf den Boden statt diese an die Wand zu hängen und lasse einen Dart Pfeil senkrecht auf die Scheibe fallen, ist die Rückfederung so langsam das der IOW und mein Proggi jeden Treffer zählt.

Da der IOW ohne Matrix Modus viel schneller ist, habe ich ohne Matrix Modus mal einen Teil des Trefferfeldes getestet und hier registriert der IOW dann wirklich jeden Treffer.

Ohne Matrix Modus kann ich aber nicht alle Felder abtasten.

Gibt es vieleicht eine Einstellung welche ich an den IOW übergeben kann, so dass dadurch eine Statusänderung statt nach vier Zyklen (16ms) bereits nach zwei Abfragezyklen (8ms) akzeptiert wird?

Gruß HaJo
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by friend-of-rq »

Hallo Hajo,

die Felder der Scheibe sind als Matrix geschaltet ?

Reihen ? x Spalten ?

ich hätte da auch schon eine Idee, ohne uP ... nur mit ein paar Gattern ...

Gruss Ralf
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Hallo Ralf,

im moment verwende ich eine Matrix mit 13 x 7 (im Prototyp Status)
Diese sind je nach Dartscheibe unterschiedlich. Die Final Version wird vermutlich mit einer Matrix von 14 x 9 betrieben sein.

Am IOW kann ich (da ja immer nur ein Kontakt geschlossen wird) die Matrixeingänge mit gewöhnlichen Dioden aufsplitten. Da ich dann zwei Input Kanäle des IOW anspreche kann ich die Anzahl an Matrix Unterteilungen noch immens erweitern.

Gruß HaJo
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by friend-of-rq »

Hallo Hajo,
ScanImage002.gif
ScanImage002.gif (99.02 KiB) Viewed 10765 times
Die Schaltung ist als Beispiel gedacht ...

ein Zähler und ein BCD-Dec Decoder wird als Spaltentreiber genommen.

Der Zähler erhöht bei jeder fallender Flanke, der Zwischenspeicher übernimmt das Ergebnis bei steigender Flanke.

Das Ergebnis wir über ein UND-Gatter oder Vergleicher geprüft ... alle bits = 1 kein Ergebnis,

ist eins oder mehrere Bits =0 wird das D-FlipFlop auf 1 gesetzt der Zähler gestoppt.

Ergebnis kann dann vom IOW eingelesen werden, danach kann der IOW den Zähler (suche) wieder starten.

die Schaltung ist nur eine Anregung und nicht in der Praxis geprüft !!
Gruss Ralf
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by friend-of-rq »

Hallo Hajo,

statt der 8 direkten Daten (Ergebnis) Leitungen kannst Du auch zwei 74HC147 (10-to-4 line priority encoder) vor dem Zwischenspeicher setzen, dann hättest Du zwei mal eine 10 x 10 Matrix = 10x20 = (200 Felder).

Wenn Du mit einem Takt von 1MHz arbeitest wird jedes Feld (Kontakt) 100.000 mal in der Sekunde abgefragt ... sollte reichen.

Gruss Ralf
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Hallo Ralf,

grundsätzlich glaube ich Deine Schaltung zu verstehen.
Werd mir die Datenblätter zu 7490,7422,... einverleiben und meine Steckboards erneut strapazieren.

Zumindest hab ich wieder einen Ansatz auf welchem ich weitermachen kann.
Hatte das Projekt vor ca. 6 Monate in die Schublade verbannt. Hatte Hoffnung einer meiner anderen Kontakte würde mir existierende fertige & schnelle Matrix>Digital Wandler ausfindig machen.

Danke für Deine Skizze und Anregung.
Bin gespannt...
Wird aber dauern...

Ich poste selbstredent wenn ich weiter bin (oder mir mal wieder Teile um die Ohren fliegen)...

THX HaJo
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

friend-of-rq wrote:...Du zwei mal eine 10 x 10 Matrix = 10x20 = (200 Felder)...
Das würde jeden Hersteller und jede Treffermatrix abdecken welche ich kenne...
friend-of-rq wrote:...Wenn Du mit einem Takt von 1MHz arbeitest...
Aus den bisherigen Tests vermute ich eine stark schwankende Durchschaltungszeit von etwa 7ms bis 25ms im realen Betrieb.

1MHz sollte dicke reichen.

Erneut THX
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by Guido Körber »

Meines Wissens nach ergeben die Dart-Boards teilweise Impulse unter 100µs, damit kommt der IO-Warrior direkt nicht klar, die schaltung mit dem Zähler sieht aber gut aus, das könnte so klappen.

Die Tastenmatrix-Funktion des IO-Warrior ist dafür sehr ungeeigent, da bei normalen Schaltern ja der erste Impuls nicht so wichtig ist wie ein Vermeiden von Mehrfachbetätigungen durch das Kontaktprellen. Daher hat die Tastenmatrix-Funktion eine Entprellfunktion, die einen Tastendruck erst meldet wenn der Kontakt für mehrere Millisekunden geschlossen ist.
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Danke Guido,

Deine Bemerkung macht mir mehr Antrieb den Vorschlag so bald als möglich zu testen.

Das die Verzögerung zum Entprellen da ist, war bekannt und leuchtet auch ein. Aber wie das so ist bei so 'nem super Konnektor wie der IOW, da kommen natürlich die ungewöhnlichsten Einsatz Versuche die codemercs in dieser Form bestimmt nicht erwartet hat.

Dieses Entprellen zu deaktivieren bzw. die Zeit bis zur Akzeptanz des Kontaktes zu reduzieren wäre halt der einfachste Weg für mich gewesen...
friend-of-rq
Posts: 389
Joined: Sun Feb 13, 2005 1:22 pm
Location: Gerblingerode / Duderstadt
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by friend-of-rq »

Hallo Hajo,
Fast_Matrix_001a.gif
Fast_Matrix_001a.gif (27.83 KiB) Viewed 10728 times
Zeichnung als JPG gezippt

Ein paar Änderungen hat es gegeben:

der 7476 benötigt eine Fallende Flanke, am achtfach Nand gibt es aber eine steigende Flanke wenn nicht alle Eingänge mehr auf 1 sind, deswegen der 7474, der benötigt eine steigende Flanke.

Die Zählerausgänge sind vom IOW entkoppelt worden, damit dieser nicht 1 Million Änderungen/Sek. an den Eingängen bekommt, sondern nur den Zählerstand wenn ein Kontakt geschlossen wird.

Die LEDs zeigen den Zusand der Matrix an:
LED-1 = Matrix ist Bereit
LED-2 = IOW hat Matrix gesperrt (Reset)
LED-3 = Matrix hat einen geschlossenen Kontakt gefunden und angehalten.

Gruss Ralf
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Noch so ein Nachtschwärmer...

Super. THX für das extrem detailierte Update. Is ja wie Weihnachten...
Werd gleich nochmal Material ordern...

Bin gespannt...
hajo
Posts: 15
Joined: Wed Aug 12, 2009 9:06 pm

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by hajo »

Hallo Ralf,

hab mir die Schaltung eben zu gemühte geführt. Bin nur bedingt fit.
Die LEDs finde ich eine super Idee. Da hast Du sehr weit gedacht.
Den Takt werde ich wohl mit einem fertigen Oszi Quarz geben.
Der Decoder und die beiden Coder leuchten mir ein.
Die FlipFloptrennung mit den 74hc574 kann ich eigentlich auch nachvollziehen.
Den Counter 74xx90 (74hc90) finde ich nirgends. Werde hier auf den reinen CMOS 4018 ausweichen. Der schafft laut Datenblatt auch bis zu 10MHz.
Werde nach erfolgreichen Tests vermutlich noch ein Reset des Counters bei Bit 0110 über (vermutlich weitere NAND) einbauen da der 74hc42 nach 10 Schritten dann 6 leere Schritte macht bevor dieser wieder von vorne anfängt (so ich das richtig nachvollzogen habe, werd es mit dem 1s Takt im Finale durchtesten).

Was ich zugegeben nicht ganz kapiere ist der 74hc74. Ich sehe nicht warum der den Ausgang (der mir auch noch nicht klar ist) auf null reißt und den Takt trennt (und mir über den IOW Pin4 eine Änderung anzeigt).
Das 8zu1 NAND 7430 zeigt dem 7474 das nicht mehr alle high sind und somit eine Änderung vorliegt, aber wodurch soll mir dieser den (unbekannten) Output auf null ziehen.
Welchen Ausgang hast Du mit dem 74hc574 (welcher die Signale vom Counter zum IOW trennt) verbunden und warum hängt der nicht auf der Clock?

Sorry fürs dumme Nachfragen, aber hier hängts grad bei mir.

Gruss HaJo
Guido Körber
Site Admin
Posts: 2856
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Re: IOW56 Tastenmatrix Modus = Signal zu kurz - wie verlängern?

Post by Guido Körber »

Vorsicht bei den CMOS, die brauchen teilweise höhere Versorgungsspannungen um die volle Frequenz zu erreichen.
Post Reply