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


von annD (Gast)


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)


Lesenswert?

Ein kleiner uC kann die Tastatur auslesen und per UART an deine SPS 
senden.

von codix (Gast)


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)


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)


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)


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:

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)


Lesenswert?

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

von annD (Gast)


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)


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)


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)


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)


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)


Lesenswert?

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

von Sebastian S. (amateur)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.