Forum: Mikrocontroller und Digitale Elektronik Codeeingabe mit wenig Leitungen für SPS


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gerne mit der Eingabe eines Zahlencodes eine Haustür öffnen. 
Da bereits eine SPS mit der Ansteuerung für das Motorschloss an der 
Haustür vorhanden ist, möchte ich die Codes in der SPS definieren und so 
auch unterschiedliche Codes für verschiedene Personen verwalten.

Eine normale Matrixtastatur benötigt ja mindestens 4 digitale Eingänge 
und 3 Ausgänge an der SPS. Bei einzelnen Tasten wären es noch mehr (10 
Eingänge). Diese möchte ich gerne einsparen und dabei aber keine 
Sicherheit einbüßen.

Ein 4-stelliger Code mit den Ziffern 0-9 hat 10000 Möglichkeiten. Bei 
nur 4 einzelnen Ziffern/Tasten und mit 7 Stellen wären es immerhin 16384 
Möglichkeiten. Beim Unterscheiden von kurz/lang wären bei 4 Tasten schon 
bei 5 Stellen 32768 Möglichkeiten vorhanden. Bei 4 Tasten könnte eine 
auch als Klingeltaste verwendet werden.

Alternativ habe ich an eine Art Nummernschalter wie bei Tresoren 
gedacht. Dort könnte ein Drehknopf über einen Kontakt Impulse bei 
Rechtsdrehung und Linksdrehung abgeben. Dann werden evtl. nur eine oder 
zwei Adern (für Richtungs- oder Nullerkennung) benötigt. Kennt jemand 
solche Schalter?

Gibt es noch andere Ideen für die Codeeingabe?

Gruß annD

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
Ein kleiner uC kann die Tastatur auslesen und per UART an deine SPS 
senden.

von codix (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hat Deine SPS evt. einen ADC Eingang (analoger Eingangsport)?
Wenn ja, dann könntest Du mit 3 Adern zzgl. Schirm auskommen, indem Du
die Tastatur als Spannungsteiler aufbaust.

von Possetitjel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
annD schrieb:

> Eine normale Matrixtastatur benötigt ja mindestens 4
> digitale Eingänge und 3 Ausgänge an der SPS. Bei einzelnen
> Tasten wären es noch mehr (10 Eingänge).

Nö.

Wenn Du die Tasten multiplex abfragst, kommst Du mit 4
Ausgängen und einem Eingang für 16 Tasten aus. Hühnerfutter
bzw. ein, zwei Logik-ICs sind schon noch notwendig.

von Georg (Gast)


Bewertung
1 lesenswert
nicht lesenswert
annD schrieb:
> Dort könnte ein Drehknopf über einen Kontakt Impulse bei
> Rechtsdrehung und Linksdrehung abgeben

So willst du wirklich dein Haus betreten??

Georg

von c-hater (Gast)


Bewertung
2 lesenswert
nicht lesenswert
annD schrieb:

> Alternativ habe ich an eine Art Nummernschalter wie bei Tresoren
> gedacht. Dort könnte ein Drehknopf über einen Kontakt Impulse bei
> Rechtsdrehung und Linksdrehung abgeben. Dann werden evtl. nur eine oder
> zwei Adern (für Richtungs- oder Nullerkennung) benötigt. Kennt jemand
> solche Schalter?

Sowas ähnliches: Wählscheibe von einem Telefon aus dem vorigen 
Jahrhundert. Jahrzehntelang bewährte Technik und du brauchst sogar nur 
einen einzigen Eingang, weil die Wählscheibenmechanik die Unterdrückung 
der Wählbewegung bereits selber leistet, es kommen nur die Pulse beim 
Rücklauf der Wählscheibe.

Und wie der Zufall will, gibt's sowas sogar in IP65, also wetterfest für 
den Außeneinsatz, es gab nämlich Telefone, die im Freien ihren Dienst 
verrichten mussten (und das auch konnten).

Als letztes Goodie: Man kann so eine Wählscheibe zur Not auch in 
völliger Dunkelheit bedienen.

von Besucher (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
annD schrieb:
> Eine normale Matrixtastatur benötigt ja mindestens 4 digitale Eingänge
> und 3 Ausgänge an der SPS.
Eine unnormale Matrixtastatur käme auch mit vier GPIOs aus. Habe ich so 
aber leider noch nie irgendwo fertig gesehen.

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Falls die SPS einen ADC hat, reichen 2 Leitungen:
Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"

von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe leider keine analogen Eingänge frei. Ich würde also den Weg 
über möglichst wenige normale digitale Eingänge (nicht IO) gehen.

Die Wählscheibe liest sich auch interessant.

Kennt jemand einen fertigen Bausatz oder Set wo einen Tastatur die 
Befehle per UART oder gleich Ethernet bereit stellt?

von Poster (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Im Bereich der Zutrittskontrolle ist noch die Wiegandschnittstelle recht 
verbreitet. Ist eine Data/Data Schnittstelle. Benötigt also zusätzlich 
zur Stromversorgung zwei Eingänge an der SPS.
Auf den Leitungen kommen aber sehr kurze Pulse, da müssen die Eingänge, 
wie auch bei der Wahlscheibenversion, schon recht schnell sein.
Einfach nur im normalen Programmablauf abfragen wird da nichts.
Ich hatte da (schon über 20 Jahre her) mal eine scrambling Tastatur von 
verbaut. Da hatte jede Taste eine 7 Segmentanzeige. Vor jeder 
Codeeingabe wurden die Tasten erstmal durchgemischt.

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Poster schrieb:

> Auf den Leitungen kommen aber sehr kurze Pulse, da müssen die Eingänge,
> wie auch bei der Wahlscheibenversion, schon recht schnell sein.

Mit was für SPSen arbeitest denn du?

Die Eingänge von SPSen sind typisch locker mehr als schnell genug für 
jegliche mechanischen Kontakte.

Was hingegen zum Problem werden kann, ist die Zykluszeit. Die hängt 
nunmal davon ab, wieviel Code in der SPS steckt. Und das kann in zwei 
Richtungen ausschlagen.

Entweder steckt (zu)viel Code im Zyklus drin, dann kann man schonmal 
einen Wählimpuls verpassen, wenn man nur stupide Inputs benutzt. Da 
bleibt aber immer noch die Benutzung von Trigger-Inputs, das schafft 
recht viel Raum in der Zeit (;o).

Oder, heute meist das größere Problem: Die Zykluszeit ist viel zu klein, 
so dass man sich tatsächlich auch Gedanken über die Entprellung der 
mechanischen Kontakte machen muss. Aber auch hier erleichtern 
Trigger-Eingänge die Sache etwas.

von Poster (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Pulse werden dabei nicht von mechanischen Kontakten erzeugt.
Bei Wiegand sind Pulsbreiten von 20 Mikro Sekunden durchaus üblich.
Schaffen das normale Aktuelle SPS mit normalen Eingängen?

von c-hater (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Poster schrieb:

> Die Pulse werden dabei nicht von mechanischen Kontakten erzeugt.

Bei steinalten Telefon-Wählscheiben schon...

Ich bezog mich auf diesen Teil deiner Aussage:

> da müssen die Eingänge,
> wie auch bei der Wahlscheibenversion, schon recht schnell sein

von Poster (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ok, aber ich muß auch zugeben das die SPSen die ich benutzt hatte 
wirklich schon etwas älter waren :)

von Sebastian S. (amateur)


Bewertung
0 lesenswert
nicht lesenswert
Die Zahleneingabe via Wählscheibe hat den Nachteil, dass eine 
Rückmeldung vonnöten ist. Ganz blind geht es wohl kaum. Also ist's nicht 
mit nur 4 Leitungen getan.

Ich würde eine Huckepacklösung nutzen bei der die Tastatur einen eigenen 
µC hat und die gesamte Kommunikation seriell stattfindet. µC's liegen in 
der Größenordnung: Kost' fast nix.
Darüber hinaus kannst Du das Ganze dann relativ komfortabel gestalten. 
Also mit Rückmeldung und allem Drum und Dran.

von c-hater (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Sebastian S. schrieb:

> Die Zahleneingabe via Wählscheibe hat den Nachteil, dass eine
> Rückmeldung vonnöten ist.

Ja. Sie besteht einfach darin, dass das Tor tatsächlich aufgeht. Mehr 
Rückmeldung braucht man nicht. Und nur ein einziges Adernpaar zum 
Wählscheibenkontakt.

> Ganz blind geht es wohl kaum.

Doch, klar. Man sucht mit dem Tastsinn den Anschlag der Wählscheibe, 
zählt von dort aus die Löcher in der Scheibe mit dem Tastsinn ab, steckt 
in den richtigen den Finger rein, zieht durch bis zum Anschlag und lässt 
los. Wartet auf dann auf das Ende des dezenten Geräusches der Mechanik. 
Wiederholt das für alle einzugegebenden Ziffern. Et voila: das Tor geht 
auf.

Trivial. Hat schon in mindestens zwei Weltkriegen (und in in Haufen 
kleinerer Kriege) so funktioniert, immer dann, wenn es einigermaßen blöd 
gewesen wäre, Licht zu verwenden, wenn irgendwelche Leute auf einen 
schiessen wollen...

Aber, das Funktionsprinzip ist nicht von Kriegen abhängig. Tut's auch im 
Frieden einwandfrei, wenn einfach nur die Glühlampe/ESL/LED 
durchgebrannt/abgeraucht/den Wärmetod gestorben ist...

Technik, die begeistert.

Was weniger begeistert: Scheinbar gibt es schon nicht ganz hundert Jahre 
nach ihrer Erfindung wieder Leute, die nicht in der Lage sind, solche 
Trivialitäten wie den Funktionsumfang einer Wählscheibe zu begreifen...

von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Wählscheibe ist in der Tat eine "smarte" Lösung, wo mit wenigen 
Leitungen ein Zahlencode eingegeben werden kann. Es sieht halt nur bei 
neuen Smart-Homes nicht so "smart" aus.

Eine abgewandelte Form davon wäre eine Art Tresorknopf der links und 
rechts gedreht werden kann, wo aber dann zwar keine blinde Eingabe 
möglich ist, aber dafür bei Links- und Rechtsdrehung eine Zahl 
eingegeben wird.

Sobald man es mit weniger Tasten aber dafür mehr Kombinationen (kurz, 
lang, doppelt usw.) macht, dann wird es halt schon so ähnlich wie 
morsen.

Da ich es mir nicht zutraue, selbst einen µC zu programmieren, würde mir 
evtl. auch eine Tastatur mit serieller oder besser gleich 
Ethernet-Schnittstelle zusagen. Kennt jemand so etwas?

von Eric B. (beric)


Bewertung
0 lesenswert
nicht lesenswert
annD schrieb:

> auch unterschiedliche Codes für verschiedene Personen verwalten.

Wozu? Öffnen sich je nach eingegebene Code noch andere Türe?

> Gibt es noch andere Ideen für die Codeeingabe?

Fingerabdruckscanner, Irisscanner, Morse (braucht nur 1 Leitung!)

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
annD schrieb:
> Da ich es mir nicht zutraue, selbst einen µC zu programmieren, würde mir
> evtl. auch eine Tastatur mit serieller

warum nicht µC?

wer SPS programmieren kann sollte doch schnell dazulernen können.

Hier gibt es genug Beispielcoder der schnell umzusetzten ist.

Tastenabfrage entprellt bullet proof Peter Dannegger PeDa
LCD Anzeige Fleury, Arduino LIBs

Ein 3-Draht wäre Luxus +VCC, GND, Tx, oder auch 2-Draht mit Speisestrom 
und der AVR schickt die Infos wie eine Wählscheibe raus mit 
Schleifenstromunterbrechung, die Pufferung der VCC für den Atmel kann ja 
wie immer ein Kondensator übernehmen, so funktionierten auch schon 
Telefone mit ICs.

von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Ansatz mit einem µC ist interessant. Dieser müsste nur eine 
Matrixtastatur auswerten und die Zahlen über eine Leitung an die SPS 
übertragen. Hier wäre es vorteilhaft, wenn das einfach an einem normalen 
DI geschehen könnte. Das sollte mit den wenigen Ziffern und der 
SPS-Zykluszeit möglich sein.

Wie startet man am einfachsten mit µC bzw. was sollte man sich als 
Basisausstattung zulegen? Als Anfänger würde ich mit einem Arduino UNO 
und einer Matrixtastatur beginnen. Ist ein Starterset empfehlenswert?

Gibt es noch weitere Tipps dafür?

von R. R. (elec-lisper)


Bewertung
0 lesenswert
nicht lesenswert
annD schrieb:
> Wie startet man am einfachsten mit µC bzw. was sollte man sich als
> Basisausstattung zulegen? Als Anfänger würde ich mit einem Arduino UNO
> und einer Matrixtastatur beginnen. Ist ein Starterset empfehlenswert?
>
> Gibt es noch weitere Tipps dafür?

Ein Arduino UNO ist ein guter Anfang, weils als Entwicklungs-Board
für AVRs recht günstig zu haben ist, erst recht wenn man sich eine
billige China-Kopie von eBay holt (aber Vorsicht, die Qualität
geht da abwärts, bis zu kaputt).

Ein besonderes Set hab ich bisher nicht genutzt. Hol dir halt eins
von Arduino selbst oder Francis. Ansonsten reichts eigentlich den
Uno mit einem USB-Netzteil zu holen. Kommt aber ganz auf deine
bisherige Bastel-Austattung an.

Dokumentation/Beispiele/Tutorials solltest du zu Hauf im Netz finden,
u.A. auch auf Deutsch, wenn das wichtig ist.

Wenn du richtig ernsthaft werden willst programmier das ganze
mit Atmel Studio und bau dir deine eigene Platine mit einem AVR
µC deiner Wahl auf. Dazu brauchst du dann nochn ISP.
Wühl dich dazu ambesten einmal durch:

https://www.mikrocontroller.net/articles/AVR

und

https://www.mikrocontroller.net/articles/AVR-Tutorial

Es gibt übrigens auch eine eingefleischte PIC-Fangemeinde,
auch da findet man viel Dokumentation. Das sind auch alles feine
µC und im Grunde genauso einfach einzusetzen, wenn nicht einfacher
(wie manche behaupten).

Als nächstes kommt die STM32-Fangemeinde, das sind kleine 32Bit-
Controller, die in diesem Forum auch gerne erwähnt werden und
von einigen eingesetzt werden. Son kleines STM32F0- oder
STM32F4-Discovery-Board ist sogar ähnlich billig wie ein Arduino UNO.
Aber es ist halt nicht so verbreitet wie Arduino, die "Maker" sind
auch eher auf Arduino/AVR und vereinzelt auf PICs konzentriert.

Aber wenns dir nur darum geht am Ende einen kleinen µC hinter
eine Tastatur zu löten ist ein Arduino UNO schon ganz gut zum
Anfang. Den kann man dann später sogar als ISP verwenden.

von Chr. M. (snowfly)


Bewertung
0 lesenswert
nicht lesenswert
annD schrieb:
> Kennt jemand einen fertigen Bausatz oder Set wo einen Tastatur die
> Befehle per UART oder gleich Ethernet bereit stellt?

Noch ein Vorschlag, sonst wird es zu einfach ;)

Wenn du auch WLAN zur Verfügung hast könntest du einen ESP8266
mit einer Matrix-Tastatur verbinden und die Eingabe über
das Netzwerk schicken.
Dann braucht es gar keine IOs und kein (Daten)Kabel zur Eingabe.

von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Eure beiden Beiträge gefallen mir.

Ich habe auch schon etwas über den ESP8266 recherchiert und dieser 
klingt sehr interessant für viele Anwendungen in Zusammenhang mit Ein- 
und Ausgabe mit z.B. einer Gebäudesteuerung (ohne zusätzliche IOs).

Ich werde mich bzgl. ESP8266 wohl noch etwas einlesen müssen. Es gibt 
wohl mehrere Arten, diesen zu programmieren und ich möchte doch eine 
nicht zu "exotische" sondern möglichst "universelle oder 
wiederverwendbare" Art wählen.

Als totaler Anfänger wäre ein Beispiel mit Matrix-Tastatur, ESP8266 und 
z.B. Modbus TCP oder ähnliches toll. Das könnte dann mit anderen 
Eingaben auch für Messwerte und Zustände verwendet werden.

von R. R. (elec-lisper)


Bewertung
0 lesenswert
nicht lesenswert
Bedenke aber, dass der ESP8266 beim WLAN-Verkehr
recht viel Strom frisst. Aber dem kann man glaub ich mit
Sleep-Modes entgegen wirken, wie einfach das in der Praxis
ist weiss ich aber nicht.
Dazu bedenke, dass du mit WLAN durchaus schlechte Reichweiten
bekommen kannst und es generell nicht unbedingt die zuverlässigste
Technologie ist. Letztendlich läuft es meist auch noch mit 2,4Ghz
und wird von fast allem feuchten gut geschirmt (Holz oder Katzen
die aufm Router liegen bspw.).

Aber meine Abneigung gegen WLAN ist eher persönlicher,
anstatt sachlicher Natur. Begründet u.A. auf die Problematik mein
Haus/Grundstück mit WLAN auszuleuchten. Hab jetzt schon 4 WLAN-Router
unterschiedlicher Qualität/Preise/Antennen verteilt, auf verschiedenen
Kanälen und die Abdeckung ist immer noch nicht "wirklich gut".
(Denke, da muss man schon tief in die Tasche greifen für was
wirklich brauchbares.)
Zudem haben manche Geräte Probleme innerhalb eines Netzes die
APs lückenlos/problemlos zu wechseln.

von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Alternative zum ESP8266 wäre für mich ein Arduino Nano mit einem 
zusätzlichen Ethernet-Shield ENC28J60. Würde ich damit als Einsteiger 
schneller Erfolge für meine erste Anwendung erzielen können?

Nano deswegen, dass es etwas kleiner in der Baugröße ausfällt als z.B. 
beim Arduino UNO.

von Der Andere (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bei aller Bastelverliebtheit.
Hast du schon mal darüber nachgedacht, was im Falle eines Einbruchs die 
Versicherung zu deinem Gebastel sagt?
Wenn dann die Hausratversicherung NICHT zahlt wird das Gebastel im 
Nachhinein ziemlich teuer und eine gekaufte und zertifizierte Lösung im 
Vergleich dazu geradzu preiswert.
Aus dem Grund wird meine Tür noch ziemlich lange einen normalen 
Schließzylinder haben. (Ich weiß daß die auch alles andere als völlig 
sicher sind)

von Cyblord -. (cyblord)


Bewertung
0 lesenswert
nicht lesenswert
Der Andere schrieb:
> Wenn dann die Hausratversicherung NICHT zahlt wird das Gebastel im
> Nachhinein ziemlich teuer und eine gekaufte und zertifizierte Lösung im
> Vergleich dazu geradzu preiswert.

Dazu müsste die Versicherung aber einen kausalen Zusammenhang zwischen 
dem Gebastel und dem erfolgreichen Einbruch herstellen.
Im Endeffekt wird die Tür oder ein Fenster einfach aufgehebelt oder 
eingeschlagen. Da kommt es wenn dann nur auf die Qualität der 
Schließanalgen und nicht auf deren Betätigung an.

von Amateur (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Es gibt Schalter, die rastend mehrere Impulse abgeben.
Damit kannst Du sequentiell Zahlen (fühlbar) im Bereich von 1 ... 9 
eingeben.
Durch das Auswerten der Zeit (z.B. 20 Sekunden nix Reset; 3 Sekunden nix 
nächste Zahl; Impulse zählen; oder so) ist es möglich mit einer Leitung, 
beliebige Zahlen einzugeben. Für sehr alte Leute kann es sinnvoll sein 
die Zeiten zu verlängern.

von annD (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wie könnte man solche Schalter finden? Das wäre dann ähnlich meiner Idee 
mit einem Tresorrad. Man könnte dann z.B. auch mit einer Skala 
nacheinander mehrere Zahlen "einstellen". Intern werden nur die Impulse 
und Pausen ausgewertet.

von Amateur (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Wie könnte man solche Schalter finden?
Die Teile gibt es z.B. beim großen "C" unter den Nummer: 447177. Sehr 
wahrscheinlich aber auch bei vielen anderen Lieferanten.

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]
  • [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.