Türschloss: Difference between revisions
No edit summary |
|||
(5 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== |
== Bedienung == |
||
Siehe [[/Bedienung]]. |
|||
* Raspberry Pi Zero W |
|||
* «Eqiva BLUETOOTH SMART» Türschlossantrieb |
|||
* Lichtschranke im Türrahmen |
|||
* Pogopin-«Kontaktsensor» |
|||
== Geschichte== |
|||
=== Türschlossantrieb === |
|||
Dieser Artikel beschreibt die aktuelle Situation. Die Dokumentationen der Vorgänger-Versionen finden sich unter: |
|||
* [[Türschloss/Erster-Versuch]] (Umgebauter kommerzieller Antrieb mit Raspi Zero) |
|||
# Das Bluetooth-Modul (zu sehen in Abb. 4) wurde entfernt. Lötarbeiten sind nicht notwendig, der Chip lässt sich einfach mit einem Seitenschneider vom PCB trennen. |
|||
* [[Türschloss/Zweiter-Versuch]] (Schrittmotor mit Stall-Erkennung, direkt am Raspi) |
|||
# An die folgenden Testpads wurden Drähte angelötet und ins Batteriefach geführt: |
|||
#* MP10 (Taster «Öffnen») |
|||
#* MP11 (Taster «Schliessen) |
|||
#* MP16 (GND) |
|||
#* MP17 (Vcc) |
|||
==Hardware== |
|||
<gallery> |
|||
File:Eqiva1.jpg|thumb|Der unmodifizierte Türschlossantrieb mit 2 Knöpfen und einem '''sehr''' unhandlichen Knauf zur manuellen Bedienung. |
|||
File:Eqiva6.jpg|thumb|Detailansicht des Teils, der über das bestehende Schloss mit Schlüssel gesteckt wird. |
|||
File:Eqiva2.jpg|thumb|Der Türschlossantrieb mit entfernter Abdeckung. |
|||
File:Eqiva3.jpg|thumb|Detailansicht der PCB-Vorderseite, im Gehäuse eingebaut und mit den anderen Komponenten verbunden. |
|||
File:Eqiva4.jpg|thumb|Detailansicht der PCB-Rückseite, besonders prominent sind hier der Microcontroller sowie das Bluetooth-Modul. |
|||
File:Eqiva5.jpg|thumb|Detailansicht des mechanischen Aufbaus. |
|||
File:Eqiva7.jpg|thumb|Drähte werden aus dem Innenraum in das Batteriefach geführt, und von dort weiter nach aussen. |
|||
File:Setup1.jpg|thumb|Experimentelles Setups aus modifiziertem Türschlossantrieb, einem Raspberry Pi und 2 MOSFETs. |
|||
</gallery> |
|||
=== Lichtschranke === |
|||
* Die beiden Lichtschrankenteile wurden in einer 3D-gedruckte Halterung befestigt. |
|||
* Die Halterung wurde durch das Loch für den Riegel in den Rahmen geführt und von aussen durch bereits existierende Löcher mit Schrauben befestigt. |
|||
* Die Kabel der Lichtschranke wurden durch ein ebenfalls bereits existierendes Loch nach aussen geführt. |
|||
*Raspberry Pi 3B+, per Ethernet im LAN, sendet "Door-WLAN" als Backup aus |
|||
*Türsteuerung mit ESP32-C3 und ein paar Relais, angebunden per USB an den Raspi |
|||
* Selbst konstruierter Türschlossantrieb, bestehend aus DC-Motor und 3d-gedruckten Zahnrädern |
|||
*Näherungssensor im Türrahmen, M8 induktiv NPN, Typ Heschen LJ8A3-2-Z/BX |
|||
<gallery> |
<gallery> |
||
File:Türschloss-CAD.png|Mechanik im CAD |
|||
File:Sensor1.jpg|thumb|Eine Hälfte der Lichtschranke, innerhalb des Türrahmens montiert. |
|||
File:Türschloss-Motor.jpg|Mechanik vor dem Einbau |
|||
</gallery> |
|||
File:Türschloss-Platine.jpg|Platine mit ESP32-C3 und 3 Relais |
|||
File:Türschloss-Testaufbau.jpg|Testaufbau |
|||
File:Türschloss-Schaltplan.jpg|Schaltplan |
|||
</gallery>Die Getriebe sind 3d-gedruckt und auf die Welle bzw den Knauf aufgepresst. Der Motor wir dann von der Innenseite an die Klammplatte angeschraubt. Anschließend wird die ganze Konstuktion mittels zweier lagen Schrauben um den herausstehenden Teil des Schlosses geklemmt. |
|||
== Elektronik und Programmierung der Steuerung == |
|||
=== Kontaktsensor === |
|||
Die Platine steuert über 2 Relais den Links-Rechtslauf des Antriebsmotors und erfasst über einen Messwiderstand den Motorstrom. Der Riegelkontakt wird über ein Koppelrelais abgefragt. Die Programmierung erfasst seriell eingehende Kommandos (Öffnen, Schließen, Abfrage des Sperrzustands, ...) |
|||
===== Öffnen ===== |
|||
* Der Kontakt zwischen Tür und Rahmen wird mittels 4 Pogopins realisiert. |
|||
Zum Öffnen der Türe wir der Motor so lange gedreht, bis der Knauf auf den mechanischen Endanschlag läuft. Dabei Blockiert der Motor, was durch einen Anstieg des Motorstroms über einen programmierten Schwellwert erfasst wird. Anschließend wird für eine kurze Zeit zurück gedreht, um die Klinke freizugeben. |
|||
* Die 4 Kontakte erfüllen 2 Zwecke: |
|||
** Erkennen, ob die Tür geschlossen ist (Pogopin-Kontakt). |
|||
** Erkennen, ob die Tür '''ab'''geschlossen ist (Anschluss der Lichtschranke via Pogopins). |
|||
===== Schließen ===== |
|||
<gallery> |
|||
Beim Öffnen mit Schlüssel von außen sorgt ein Mechanismus im Schloss dafür, dass der Knauf ausgekuppelt wird. Daher wird beim Schließen immer ein Zurückdrehen auf den Offenen Zustand ausgelöst, was den Knauf wieder einkuppeln lässt. Nun startet der Schließvorgang, der durch Auslösen des induktiven Sensors durch den Riegel beendet wird. |
|||
File:Pogo1.jpg|thumb|Pogopin-Kontakte, geöffnet. |
|||
File:Pogo2.jpg|thumb|Pogopin-Kontakte, geschlossen. |
|||
</gallery> |
|||
== |
===== Störungen ===== |
||
Die Laufzeit des Motors wird überwacht, um den Motor auch bei Versagen der Endlagenerkennung zu stoppen. Wird beim Öffnen kein Stromanstieg durch Erreichen der Endlage oder beim Schließen kein Erreichen des Riegels im Türrahmen erkannt, wird der Motor gestoppt und es wird eine Laufzeitfehler-Störtmeldung ausgegeben. Fährt die Klinke beim Schließen auf das Schließblech auf oder wir andersweitig blockiert, schaltet die Stromüberwachung den Motor ab und weist per Störmeldung auf das Erreichen der Endlage ohne Erfassen des Riegelsensors hin. |
|||
==Software auf dem Raspberry Pi 3B+== |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
* Ansteuerung via TLS Client Certificate + HTTP cgi-bin |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
=== Status-Anzeige === |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
*Ansteuerung via SSH (Alternative für Kompatibilität mit der «Trigger»-App) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
Format: JSON |
|||
<pre> |
|||
{ |
|||
"latch": "OPEN|CLOSED|UNKNOWN", |
|||
"lock": "UNLOCKED|LOCKED|UNKNOWN" |
|||
} |
|||
</pre> |
|||
[[Category:Projekt]] |
[[Category:Projekt]] |
Latest revision as of 21:26, 4 January 2025
Bedienung
Siehe /Bedienung.
Geschichte
Dieser Artikel beschreibt die aktuelle Situation. Die Dokumentationen der Vorgänger-Versionen finden sich unter:
- Türschloss/Erster-Versuch (Umgebauter kommerzieller Antrieb mit Raspi Zero)
- Türschloss/Zweiter-Versuch (Schrittmotor mit Stall-Erkennung, direkt am Raspi)
Hardware
- Raspberry Pi 3B+, per Ethernet im LAN, sendet "Door-WLAN" als Backup aus
- Türsteuerung mit ESP32-C3 und ein paar Relais, angebunden per USB an den Raspi
- Selbst konstruierter Türschlossantrieb, bestehend aus DC-Motor und 3d-gedruckten Zahnrädern
- Näherungssensor im Türrahmen, M8 induktiv NPN, Typ Heschen LJ8A3-2-Z/BX
Die Getriebe sind 3d-gedruckt und auf die Welle bzw den Knauf aufgepresst. Der Motor wir dann von der Innenseite an die Klammplatte angeschraubt. Anschließend wird die ganze Konstuktion mittels zweier lagen Schrauben um den herausstehenden Teil des Schlosses geklemmt.
Elektronik und Programmierung der Steuerung
Die Platine steuert über 2 Relais den Links-Rechtslauf des Antriebsmotors und erfasst über einen Messwiderstand den Motorstrom. Der Riegelkontakt wird über ein Koppelrelais abgefragt. Die Programmierung erfasst seriell eingehende Kommandos (Öffnen, Schließen, Abfrage des Sperrzustands, ...)
Öffnen
Zum Öffnen der Türe wir der Motor so lange gedreht, bis der Knauf auf den mechanischen Endanschlag läuft. Dabei Blockiert der Motor, was durch einen Anstieg des Motorstroms über einen programmierten Schwellwert erfasst wird. Anschließend wird für eine kurze Zeit zurück gedreht, um die Klinke freizugeben.
Schließen
Beim Öffnen mit Schlüssel von außen sorgt ein Mechanismus im Schloss dafür, dass der Knauf ausgekuppelt wird. Daher wird beim Schließen immer ein Zurückdrehen auf den Offenen Zustand ausgelöst, was den Knauf wieder einkuppeln lässt. Nun startet der Schließvorgang, der durch Auslösen des induktiven Sensors durch den Riegel beendet wird.
Störungen
Die Laufzeit des Motors wird überwacht, um den Motor auch bei Versagen der Endlagenerkennung zu stoppen. Wird beim Öffnen kein Stromanstieg durch Erreichen der Endlage oder beim Schließen kein Erreichen des Riegels im Türrahmen erkannt, wird der Motor gestoppt und es wird eine Laufzeitfehler-Störtmeldung ausgegeben. Fährt die Klinke beim Schließen auf das Schließblech auf oder wir andersweitig blockiert, schaltet die Stromüberwachung den Motor ab und weist per Störmeldung auf das Erreichen der Endlage ohne Erfassen des Riegelsensors hin.
Software auf dem Raspberry Pi 3B+
- Python-Skript zum öffnen/schliessen via Raspi-GPIO-Pins
- Ansteuerung via SSH
ssh open@door.lan.kabelsalat.ch
→ öffnet das Schlossssh close@door.lan.kabelsalat.ch
→ schliesst das Schlossssh status@door.lan.kabelsalat.ch
→ Status-Abfrage des Schlosses
- Ansteuerung via SSH (Alternative für Kompatibilität mit der «Trigger»-App)
ssh door@door.lan.kabelsalat.ch open
→ öffnet das Schlossssh door@door.lan.kabelsalat.ch close
→ schliesst das Schlossssh door@door.lan.kabelsalat.ch status
→ Status-Abfrage des Schlosses