mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Tasten einer Tastatur schalten mit FET?


Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte die im Foto anhängende Platine "bespielen", d.h. an (m)einem 
uC ankoppeln.

Die 12 Tasten sind in Matrix-Anordung 3 x 4 geschaltet. An den 
Kreuzungspunkten Zeile/Spalte werden sie jeweils durch Gummipröppelchen 
gebrückt.

Die Original-Schaltung ist "selbstverständlich" auch von einem uC 
angetrieben (irgendwas exotisches auf der anderen Seite der Platine), 
d.h. die Tastenmatrix hängt also Zeilen/Spaltenmäßig auch "irgendwie" an 
den exotischen uC dran.

Die beiden LED werden von vorgeschalteten Transistoren angesteuert.


Aufgabenstellung:

Die vorhandenen 12 Tasten sollen nun von meinem uC "simuliert" bzw. die 
beiden LED von meinem uC "erfasst" werden.

"Elektrisch" möchte ich mich per Fädeldraht oder per Federprüfstifte 
gegen die Testpads "der Platine nähern".

Hat jemand ergänzend für mich eine schaltungstechnische Idee / Hinweis, 
wie ich die Tastenkreuzungspunkte (per FET?)  an meinen uC "ankoppeln" 
kann?

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ergänzend hier noch der "Anwendungsfall", obwohl das für die gegebene 
Aufgabenstellung ja erst mal unwichtig ist.

Es handelt sich hier um die Wegfahrsperre (WFS) eine Peugeot 306 Cabrio 
Baujahr 1995. Bei den alten Modellen bis 1997 war die WFS wie folgt 
konstruiert: In der Mittelkonsole befindet sich das besagte Tastenfeld. 
Jedesmal, wenn die Zündung neu eingeschaltet wird, muß eine 4-stellige 
PIN eingegeben werden. Bei dreimaliger Fehleingabe sperrt die WFS 
weitere Eingaben für 30 Minuten. Der Status (offen, gesperrt) wird über 
die rote bzw. grüne LED signalisiert. [Von diesem WFS-Konzept ist man 
bei Folgemodellen abgekommen und hat ab dann - wie der Rest der Welt - 
einen Schlüssel-Transponder verwendet]

Wenn nun die PIN verloren geht (was hier passiert ist), dann MUSS das 
Fahrzeug in die Werkstatt, und für 1000 Euro wird ein "neues 
Steuergerät" eingebaut. Das ist hier für das gegebene Fahrzeug Blödsinn, 
denn der Zeitwert ist grad mal maximal so hoch wie diese 
Austauschkosten.

Nun soll ein uC zum Einsatz kommen, der alle 10.000 PINS per "Brute 
Force" durchleiert. Der Algorithmus ist recht einfach:

für alle 10.000 PINS
    Spannung aufs Bordnetz
    Versuchs-PIN_n eingeben und auswerten
    Versuchs-PIN_n+1 eingeben und auswerten
    Bordnetz Spannungsfrei schalten

bei geschätzten 4 Pins pro Minute komme ich auf maximal 50 Stunden 
"Rechenzeit", die der Kram vor sich hinklappern wird, und dann sollte 
der Wagen wieder bewegt werden können ....

Autor: citb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>PIN eingegeben werden. Bei dreimaliger Fehleingabe sperrt die WFS
>weitere Eingaben für 30 Minuten. Der Status (offen, gesperrt) wird über


Du wirst deswegen maximal auf 2 Versuche pro Stunde kommen.
Wahrscheinlich wird die Sperrzeit aber bei jedem Fehlversuch laenger 
werden.

Also: Vergiss diesen Ansatz.

citb

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Vergiss diesen Ansatz.

nö, warum sollte ich? Das Bordnetz wird ja beim manuellen oder 
automatischen Pin-knacken komplett spannungsfrei geschaltet. Da merkt 
sich "keiner" mehr den 1. und 2. Fehlversuch, und die 30-Minuten Sperre 
greift nicht.

Oben erwähnter Algorithmus wurde für 5 Schleifen manuell durchgeführt, 
und lief soweit "erfolgreich" [ incl. der Erkenntnis daß 0000 ... 0009 
nicht die "richtigen" PIN waren ;-( ]

Bis ich da um das Auto rumgetanzt war, Batterie ab- und wieder 
anklemmen, zur Konsole "hechten", Pin eingeben, dauerte es ca. 1 Minute.

1 Minute Zykluszeit ist ja auch ok, damit sich Kondensatoren laden bzw. 
entladen können. Ich schätze aber es geht auch unter 1 Minute, daher 
meine optimistische Annahme von 4 PIN / Minute bei "automatischer" 
Aktion.

Außerdem habe ich keine Lust, manuell 100 Stunden diesen Tanz zu machen, 
daher lasse ich den uC die Arbeit machen.

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den "Schaltzeiten" würde ich kleine Relais nehmen.


Axel

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja, ich hab mir jetzt 3 Stück 74HC4066 ausgeschaut.

Da ich das "Pollin Spiel" als uC nehmen möchte (hab ich grad rumliegen 
hier) werd ich da wohl die Tasten mit 2 kaskadierten 74HC595 
"einspeisen", da brauch ich nur 3 Bit, und "schnell genug" sollte das 
mit der Schieberei auch gehen.

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Info:

Ich hab jetzt mal das Verhalten der WFS "händisch" ausprobiert. Ich kam 
bis ca. 30 Sekunden pro "Doppel-Eingabe-Zyklus".

Im optimistischen Fall der automatischen Eingabe komme ich vermutlich 
bis auf 20 Sekunden pro "Doppel-Eingabe" Zykklus runter:

Zeitabfolge im laufenden Betrieb:

Sekunde 0  einschalten
Sekunde 01-10  Ruhepause
Sekunde 11-12  Pin Ziffer 1-4 eingeben   (1. Versuch)
Sekunde 13-14  Status auswerten
Sekunde 15-16  Pin Ziffer 1-4 eingeben   (2. Versuch)
Sekunde 17-18  Status auswerten
Sekunde 19  ausschalten

Momentan schnitze ich noch am Programm rum, aber ich möchte bald mal die 
noch fehlende Hardware bestellen.


FRAGE:

sind bei folgender Verschaltung Probleme zu erwarten:
AT-Tiny 2313 -> 74HC595 -> Low-Current-LED sowie 74HCT4066 -> 
Bedienpanel

Mir gehts speziell um die Frage zum Gemischtbetrieb von HC und HCT in 
der genannten Form

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
die Zusatzhardware hab ich mittlerweile zusammen gelötet (hier ein fast 
aktuelles Bild). Die Bedienteil-Kontaktierplatine fehlt noch, und an der 
Software schraub ich auch noch ein wenig rum.

Ob die Schaltung funktioniert (und auch die Software) weiß ich 
hoffendlich am kommenden Wochenende


PS: Danke an den freundlichen Foren-Nutzer für die Zusendung der 
Prüf-Federkontakte

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Zwischenstand "für die Nachwelt" (hat doch was länger gedauert)

Die Schaltung selbst funktioniert grundsätzlich anscheinend wie geplant 
(also mit dem HCT4066 als "Kontakt" anstelle der Gummi-Pröppel der 
Tastatur, um Zeilen und Spalten anzusteuern, sowie den 74HC595 für die 
Schieberei).

Leider war es mir nicht "gelungen", eine stabile mechanische 
Konstruktion zu finden/konstruieren, welche mit den Federprüfstiften die 
Tastaturplatine kontaktiert. Ich habe daher "widerwillig" die Drähte 
angelötet.

Für die Kontaktierung der Batterie mußte ein China-Adapter 
"Zigarettenanzünder-Dose direkt aus der Batterie" geopfert werden, sowie 
ein "normaler" Polschuh.

Die Software ist soweit auch fertig, allerdings feile ich momentan noch 
etwas am Timimg der Abfolge rum.

Mit der "optimistischen" Zeiteinstellung (20 Sekunden) kam die WFS recht 
schnell in eine Blockade-Situation. Bei 30 Sekunden kam die 
Blockade-Situation schon deutlich später. Ich hab jetzt mal 40 Sekunden 
programmiert, hoffendlich ist da keine Blockade mehr drin. Meine 
"händischen" Versuche waren nur auf ca. 5 Zyklen beschränkt und eine 
exakte Sekundenabzählung hatte ich nicht gemacht, also können das 
durchaus auch mal 40 Sekunden gewesen sein.

In den nächsten Tagen werde ich noch mal am Versuchsobjekt vorbei fahren 
und die 40 Sekunen "austesten"

Motivation für "kurze" Zykluszeit ist die Gesamt-Laufzeit, sie ist ca.:

bei 60 Sekunden --> 84 Stunden
bei 50 Sekunden --> 70 Stunden
bei 40 Sekunden --> 55 Stunden
bei 30 Sekunden --> 42 Stunden NOK
bei 20 Sekunden --> 28 Stunden NOK

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier noch als Anhang die Hardware-Beschaltung

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier noch das Bedienkonzept

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
und noch der Nutzungshinweis

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und hats funktioniert?

Ich hätte ja 2* 74HC4051 genommen und deren 4 Eingänge direkt vom MC 
gesteuert. Ist nur eine Leitung mehr, als seriell.


Peter

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie Bild 1146 zeigt, hast Du vorbildlich die gelbgrüne Leitung zur 
Versorgung verwendet - wegen der Sicherheit ;-)

Und, wie ist Deine PIN nun?

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:
> Wie Bild 1146 zeigt, hast Du vorbildlich die gelbgrüne Leitung zur
> Versorgung verwendet - wegen der Sicherheit ;-)

schäm ... hätte ich doch mal besser geschwiegen und nichts 
veröffentlicht ;-)

naja, für meinen bastel-Fusch war es funktionsfähig


> Und, wie ist Deine PIN nun?

auf jeden Fall größer als 0347, soweit kam das Teil (ich musste den 
Abfragetakt deutlich runter schrauben). Dann tauchte nämlich der Zettel 
mit der PIN hinter dem Schrank auf, hinter dem er gefallen war.

Das Auto wurde dann mit der original PIN (ich glaube das war irgendwas 
mit 5467 oder so) konventionell angemacht.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wegstaben Verbuchsler schrieb:
> auf jeden Fall größer als 0347, soweit kam das Teil

Nur 3% in einem Jahr, das ist ja nicht sonderlich praktikabel.


Peter

Autor: pinsim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,
was hier so nebenbei komplett fehlt ist der Programmcode?
Gibts den irgendwo?

pete

Autor: Wegstaben Verbuchsler (wegstabenverbuchsler)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
pinsim schrieb:
> Gibts den irgendwo?

Ja, z.B. hier. Siehe Anhang. Ich glaube, das war die letzte Version.

Achtung: Der Programmcode war etwas zu dick geworden, daher musste ein 
pinkompatibler tiny4313 anstelle eines tiny 2313 verwendet werden.

Autor: pinsim (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Super, Danke.
Sogar schön kommentiert. Da habe ich ja über Ostern was zu Schmökern :-)

pete

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.