Luftschleuse 2

Die neuen Raeume in der Hessstr. haben 3 Tueren, die gesperrt werden sollen: Front, Hinterhof, Notausgang.

Zu diesem Zweck ist eine neue Arichtektur fuer die Luftschleuse notwendig.

Aktueller Plan ist ein Carambola per RS485 mit den einzelnen Schloessern zu verbinden.
Die Schloesser erhalten eigene Elektronik und Benutzerschnittstellen, um das System zu bedienen.

Code und Hardware: https://github.com/muccc/luftschleuse2

Schematische Aufbau:
Quellen: http://web.xtort.eu/~dump/overall.graphml

Benutzung:

IP: 192.168.2.2
Fingerprint: md5 8b:80:b3:e1:d4:38:86:87:42:75:d0:44:a6:81:46:96
User: open

ToDo

  • Anforderungen besser definieren :)
    • Funktion
      • Was soll ein Nutzer an den Schlosscontrollern einstellen koennen?
      • Welche Informationen werden an den Schlosscontrollern angezeigt?
    • Gehause
      • Wo werden sie montiert?
      • Wie sicher muessen sie sein?
    • Netzteil
      • Intern oder extern?
      • Fernspeisung ueber Busleitung
        • Lockcontroller werden ueber Bus versorgt, Hauptcontroller versorgt Bus ueber Netzteil
    • Benutzerinterface
      • LEDs oder Display in den Schlosscontrollern?
      • z.B. 1 7-Segment LED, das Codes ausgibt.
    • Komponenten
      • Wichtig fuer Layout, Vorschlaege weiter unten.
    • Akku
      • Wielange muss er halten?
      • * Solange wie eine Netzstörung dauert :-)
      • * 48h wäre gut, Akkus werden ueber Zeit schlechter.
      • Was verbaucht das System im Ruhezustand?
      • * Sleepmode an Schlosscontrollern haben.
      • * Schlosscontroller über BUS oder Nutzerinteraktion wecken
      • Intern oder extern?
    • Software
      • Protokoll fuer RS485 festlegen

Watchdog

Das Carambola kontaktiert ueber den MC zyklisch alle Schlosscontroller.
Die Controller haben einen Hardware-Watchdog, der sie neustartet, wenn keine Aktivitaet auf dem Bus mehr erkennbar ist. Sollte ein
Schlosscontroller den Bus blockieren oder der MC bzw. Carambola sich aufhaengen startet das komplette System neu.

Alternativ: Hauptcontroller schaltet bei Problemen komplette Vesorgungsspannung des Bus.

Verkabelung

Die Verbindung der Module erfolgt ueber Ethernetkabel. Zwei Aderpaare sind fuer die 12 V Versorgungsspannung reserviert. Ein Aderpaar
wird von jedem Schlosscontroller mit einem Widerstand belastet. Der MC wertet dieses Paar aus, um abgesteckte Schlosscontroller schnell zu erkennen.

Kommunikation

Der MC leitet die Datenuebertragung transparent durch. Zwischen Carambola und Schlosscontrollern wird verschluesselt kommuniziert.

Stromversorgung

Ein Bleiakku stellt eine Notstromversorgung. Die Ladung erfolgt direkt aus dem Netzteil des Hauptcontrollers.

Absicherung

Busleitungen

Serienwiderstaende 10 Ohm + Brueckengleichrichter mit Suppressordiode parallel.
“Kapazitaetsarme Schutzbeschaltung”

Stromversorgung

Hauptcontroller

Wechselbare Feinsicherung von Netzteil zum Akku
Polyfuse vom Akku zum Bus

Lockcontroller

Wechselbare Feinsicherung, ueberdimensioniert in Serie mit Polyfuse.

Schlossinterface

Besser H-Bruecke aus Automotive mit Fehlerüberwachung z.B. Kurzschluß, Kabelbruch

Alternativ: Motorstrom mit A/D-Wandler abgreifen.

Vorteile: Kann Motorposition und Bewegung abschaetzen.

Komponenten

Vorschlag:

MC und Schlosscontroller: ATMEL ATMega644A-AU o.ae. (5 V, extended temperature, 2x UART)
RS485 Treiber: MAX487EESA (slew rate limited, extended temperature, esd protected)
Vorschlag: Potentialgetrennter RS485-Treiber-IC von LTC oder MAX, weil es immer Potentialdifferenzen gibt wegen anderer Speisung etc. Einfach zuverlaessiger.
Gehause: ? (Metall? Kunststoff? Wo und wie werden die Schlosscontroller angebracht? Wie gross werden Display und Schalter? Steckverbinder intern oder am Gehaeuserand? Netzteil und Akku intern?)
Display: ? Farbige LEDS wohl besser auf Entfernung ablesbar. Gut wäre 7Segment LED, rot
Taster: Reichelt TASTER 1104 GN Serie
Netzteil: z.B.: Reichelt SNT MW25-12 (zum Einbau in das Gehaeuse)
Akku: z.B.: Reichelt LCR-12V 2,2P (2.2 Ah), besser 5,7Ah

Schaltplan soweit mal erstellt, werde den nachher noch von zuhause mal hochladen.

Lockcontroller:

Atmel ATMega 324A, lagen noch 3 im Labor, wenn es der 644A werden soll, ist ja Pinkompatibel.
Schaltregler 5 V LM2594 0,5 A
Reset/Watchdog MAX705, überwacht RS485, wenn kein Datenverkehr, löst er Reset aus, außerdem Manueller Reset über die protection Loop möglich.
MAX48x als RS485
Eine SOT23 Referenz als Option (REF3040 etc.)
L6201 als H-Brücke für den Schlossmotor ()
2 Relais als potentialfreier Wechsler, 230V geeignet
2 digitale Ausgänge
8 Analoge oder digitale Eingänge (Port A, so das auch der ADC genutzt werden kann) Magnetkontakte, Steuerkontakte vom Schloss etc.

Display soll eigentlich am Carambola Interface angeschlossen werden, evtl. 2. serieller Port noch rausgeführt für Display/lokale Bedienung

Verwendete Einsteckschloesser

1x Dorma SVP2719
1x Dorma SVP3XXX
1x CES IES Beschlag Drücker Kupplung

Funktionalität

Der Club muss wie bisher auch per SSH durch designierte Keyholder “aufgeschlossen” werden; die Verwaltung der Keys wäre wohl wieder per git.

Zusätzlich dazu erhält jeder Türcontroller auch ein oder mehrere alternative Zugangsmedien, bspw. für RFID-Chips. Entsprechende Chips können dann an Members ausgegeben werden, sodass diese sich Zutritt zum Club verschaffen können, sofern per SSH von einem Keyholder der Club aufgeschlossen wurde. Alternativ können natürlich auch bereits vorhandene Zugangsmedien der zutrittswilligen Members erfasst werden anstatt noch etwas mehr Plastik zu verteilen (Firmenausweise, Handys mit NFC, Studentenausweise, etc. pp.). Da es sich bei diesen Zugangsmedien nur um einen besseren Türöffnerknopf handelt, ist die Sicherheit als solches eher nachrangig und man könnte sich bspw. auf die Prüfung der UID des Mediums beschränken. Verwaltung der UIDs wäre dann u.U. auch ein Job fürs git.
FIXME Was für Hardware braucht es dafür noch extra?
Ich habe noch ein paar alte Elektroniken aus CES Legic Zylindern, die werden für Studentenausweise in MUC benötigt, verwaltung erst mal mit der Progkarte.
ISO Tag (Mifare und OK) evtl. mit einem OpenPCD, später wäre auch eine all in one Lösung denkbar, wir brauchen ja nur die UID abfragen und die könnten später auch über Lockbus vom Carambola zum Leser geschrieben werden.

Meiner Meinung nach koennen wir an die Hintertuer auch einfach ne Klinke bauen und sie offen lassen — schneider 2012/12/07 22:08
Bin fuer OpenPCD, denn wir haben die Macht darueber, und muessen nichts reversen etc. (luja)

BTW: Ist das nicht etwas over-engineered? (luja)

Hackfriday 15.03

Technische Moeglichkeiten

Vordertuer:
Zustaende: Abgesperrt (man kommt immer raus), Public (jeder kommt von draussen rein), Offen (Mitglieder kommen mit zusaetzlicher RFID-Karte oder Klingelcode rein)
Sensoren: Klinke gedrueckt, Tuer offen

Hintertuer:
Zustaende: (siehe oben) Abgesperrt, Public, irgendwie auch Offen
Sensoren: Klinke gedrueckt, Tuer offen

Beide Schlösser können jederzeit von innen geöffnet werden, verriegeln aber und fallen nicht nur in den Schnapper.

Usecase: Club ist abgesperrt, Benutzer kommt durch den Hinterhof

SSH auf open@, die Hintertuer oeffnet einmal.
An der Steuerung kann eine Taste gedrueckt werden um alle Tueren auf Offen zu schalten. Einzelne Tueren koennen danach direkt an der jeweiligen Tuer auf Public geschaltet werden.
Hinweise fuer Stromausschalten werden aktiviert.

Usecase: Club ist abgesperrt, Benutzer kommt an der Vordertuer an

Wollen wir erstmal nicht, aus Komplexitaetsgruenden und anderem.

Usecase: Club ist offen oder Public, Benutzer will den Club absperren

Knopf an der Steuerung an der Hintertuer sperrt alle Tueren. Eine Anzeige zeigt an, dass alle Tueren geschlossen haben.
Der Strom wird falls moeglich automatisch abgeschaltet.

Benutzerinterface

Einzelne Tueren: Taster fuer Offen/Public fuer die einzelne Tuer
SSH: Einmal oeffnen der Hintertuer
Zentrale-Steuerung: Taster fuer Offen (wirkt auf alle Tueren) und Taster fuer Closed (wirkt auf alle Tueren)
Zentrale-Steuerung Anzeigen: Zustand des Systems, rote LED falls der Befehl Close nicht ausgefuehrt werden konnte (Warnton, falls die Tuer dennoch geöffnet wird)

IRC-Interface

Hackfriday 3.4.13

Gigo's Vorschlag

An der Luftschleusenhauptsteuereinheit gibt es Taster, um den Zustand der Kapsel explizit zu setzten. Dies löst entsprechende Türzustände aus, setzt das Topic entsprechend und kann auch anderweitig ausgenutzt werden (Statuslampen, …).

Zustände:

  1. DOWN Kapsel zu, Strom aus, –> Niemand da
  2. CLOSED Kapsel zu, Strom an –> Jemand da, aber nur kurz, oder pennt o.Ä,,,
  3. OPEN Kapsel besetzt, Auch für nicht-keyholder-Member mit Token/Klingelcode betretbar. Oder halt Klingeln und hoffen, dass jemand aufmacht.
  4. PUBLIC Kapsel besetzt. Auch Externe/Gäste etc. sollen kommen (Public Tuesday, Lockpicker, Vorträge…). Tür vorne: daueroffen.

Vorschläge/Impulse:

  1. Damit man nicht ausversehen “public” auslöst müssen 2 Taster gleichzeitig gedrückt werden (Vorne + Hinten), wahlweise mit ssh- (public@luftschleuse)

Pinbelegungen

Stecker Frontpanel:

1: LED Down
2: LED Closed
3: LED Member
4: NC
5: GND
6: Switch Public
7: Button Member
8: Button Closed
9: Button Down

Buchse Frontpanel:
1: Brown
2: Orange
3: Green
5: Blue
6: Blue-White
7: Green-White
8: Orange-White
9: Brown-White

Kabel Frontpanel:

Brown-White: Button Down
Orange-White: Button Closed
Green- White: Button Member
Blue-White: Switch Public

Brown: LED Down
Orange: LED Closed
Green: LED Member

Blue: Gnd

Pinbelegungen Frontdoor (SVP2719)

Schaltplan Schloss: svp2719_schematic.pdf

Schlosskontakt Name Variable / Bemerkung PCB Pin Funktion
2 Brücke DOOR_LOCK_BRIDGE I/O 4 Kabelbrucherkennung
8 Entriegelung DOOR_LOCK_UNLOCKED_CONTACT I/O 4 Schloss entriegelt
5 Riegel DOOR_LOCK_LOCKED_CONTACT I/O 6 Riegel ausgeschlossen
7 Drücker DOOR_HANDLE_CONTACT I/O 7 Klinke gedrückt
10 Steuerfalle DOOR_DOOR_OPEN_CONTACT I/O 8 Steuerfalle gedrückt
13 Hallsensor DOOR_LOCK_CONTACT I/O 1 Position Motor
1,3,9 GND GND Masse
12 DC 12V Motor 1 Versorgung Hallsensor
6 Motor + Motor 2 Motor H-Brücke +
4 Motor - Motor 3 Motor H-Brücke -
Reedkontakt Am Türrahmen I/O 3 Türkontakt
Taster Tür öffnen 2.Kontakt GND I/O 10 Lokale Tür öffnen
LED Tür status Anode über Vorwiderstand I/O 9 Lokale Tür Status
DC Test Status DC 10K an Motor 1, 1K n. GND I/O 2 Messung ü. Spannungsteiler
Klingel Member ACC 12V und Masse Opto 2 Klingelcode
 
luftschleuse2.txt · Last modified: 2014/04/07 22:54 by jan