Tastenfeldauswertung "MATRIX"

Begonnen von ewo, 05. August 2008, 11:32:42

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

ewo

Hallo zusammen,

mit einer Matrixtastatur möchte ich verschiedene Zugangscode auswerten, d.h. es sind die Tasten 0 bis 9 sowie Stern und Raute in einem Matrix-Tastenfeld 3 x 4 vorhanden. Es soll an einer Haustüre als Zutrittskontrolle installiert werden, dabei möchte ich je nach eingegebenem Pin verschiedene Aktionen auslösen und auch Falscheingaben auswerten. Das Funktionsmodul "Matrix" ist hier sicher sehr hilfreich, was jedoch noch fehlt ist die Möglichkeit ganze Pins (4 - 6 stellig) auszuwerten.

Hat jemand schon so etwas ähnliches realisiert oder kann mir einen Tip geben wie das am besten umgesetzt werden kann.

Gruß Ewald


hugo

die pins kannst du doch per programm nach dem dekoder auswerten

ewo

ja, aber ich weiss nicht wie ich das am besten anstelle, bin da leider nicht so fit !  ???

Gruß Ewald

ewo

#3
Hallo Hugo,

ich habe eine Matrixtastatur 4x3 an einer Wago 750-841 mit 530er Ausgangsklemme und 431 Engangsklemme. Bei dem Baustein Matrix bekomme ich immer wieder fehlerhafte Codes, z.B. bei Taste 3 bekomme ich im Normalfall den Code 193 immer wieder aber Code 177. Das Prog. läuft in einem freilaufenden Task mit der Prio 1

Gruß
Ewald

hugo

poste mal dein projekt vielleicht kann ich da was erkennen

ewo

Hallo Hugo,

merkwürdig ist auch, dass es in der Simulation funktioniert und im realen Betrieb nicht immer. Vielleicht ist mein Kabel von der Tastatur bis zur WAGO (ca. 5m) zu lang oder nicht genügend geschirmt ?

Gruß
Ewald

[gelöscht durch Administrator]

ewo

Hallo Hugo,

konntest Du etwas feststellen oder hast Du einen Tip ?

Gruß
Ewald

hugo

hallo ewo,
ich denke du hast ein signalproblem wenn du lange leitungen verwendest.

welche ausgänge verwendest du?

sind diese z.B. derart das sie hohen strom bei high (24V) und geringen strom bei low (0V) treiben koennen.
dann passiert bei langen leitungen folgendes:
der puls wird schnell ansteigen (hoher strom) aber nur sehr langsam abfallen denn dein ausgang hat bei low nicht genug strom.
falls dies bei dir so ist, hänge an den ausgängen (am ende der kabel) jeweils einen widerstand gegen masse.

je 2,4 KOhm sollten reichen (R = U/I = 24V / 10mA = 2,4 KOhm)

hugo

bitte stelle auch sicher das deine aus / eingänge so schnell schalten koennen wie deine aus / eingänge.
ansonsten musst du den matrix controller in deiner task langsamer laufen lassen.

ewo

der Tip war super, jetzt habe ich mal ein Oszi angeschaltet und die Signale angesehen. Ein Ausgangssignal steigt schnell an und bleibt für ca. 10 ms High. Ohne Wiederstand dauert es ca. 30 ms bis das Signal auf GND ist, nach ca. 40 ms kommt dann  schon wieder die nächste Periode. Mit 2,4 kOhm ist es ein annehmbares Rechtecksignal, nach 0,5 ms ist das Signal dann unter 2V. Wago 750-841 mit 530er Ausgangsklemme und 431 Engangsklemme.
Mache jetzt mal die Wiederstände an die Matrixtastatur und melde mich dann wieder.

Vielen Dank

Ewald

hugo

super ohne analogtechnik geht eben doch nichts

ewo

So, Widerstände sind angebracht, Tastatur geht nun, allerdings mußte ich noch einen Task (RS232) herausnehmen, der hat wohl zuviel Rechenzeit beansprucht, ohne diesen kann ich die Tasten sehr schnell betätigen ohne Probleme. Sobald die CPU Belastung höher ist gibt es Probleme, vielleicht ist auch meine Tastenauswertung zu langsam ?
Den FB hab ich mal beigefügt.

Gruß
Ewald

[gelöscht durch Administrator]

hugo

deine auswertung erscheint mir sehr aufwendig

schau dir mal unsere 301 beta4 oben unter ankündigungen an da ist ein neuer baustein PIN_CODE drin der macht genau das was du brauchst