RzlCtrl: Unterschied zwischen den Versionen

Aus RaumZeitLabor Wiki
(Update auf aktuellen Layout stand)
(→‎Software: aktueller Status ergänzt)
Zeile 101: Zeile 101:


== Software ==
== Software ==
Die für den AVR schreibt [[Benutzer:Spike|spike]], den ESP8266 übernimmt [[Benutzer:Borax|borax]].
 
=== AVR ===
Die Software für den AVR schreibt [[Benutzer:Spike|spike]]
* Die Low-Level Treiber sind fertig
 
=== ESP8266 ===
Die Software schreibt [[Benutzer:Borax|borax]]





Version vom 17. Dezember 2019, 18:51 Uhr

         
rzlCtrl

Release status: experimental [box doku]

Beschreibung I/O Hardware für den Hausbus3
Kategorie  Infrastruktur
Autor(en)  spike
Verantwortliche(r)  spike
Letzte Version  v0.0.1


Im RZL gibt es diverse $Dinge die an den Hausbus3 angebunden ist bzw werden soll. Ausserdem erfordert das Wachstum zusätzliche Hardware. Als kontinuierlichen Weiterentwicklung soll daher eine Platine erstellt werden welche als Eierlegende Wollmilchsau möglichst vielen Ansprüchen gerecht wird.

Vorschläge, Kritik und Helfer sind gerne gesehen.

Aktueller Status

Nachdem das das erste Layout suboptimal war ist mittlerweile ein neues erstellt worden. In dem Zuge wurden auch einige Dinge geändert (s.u.). Die Lieferung der Prints wird in den nächsten Tagen erwartet.


Eierlegende Wollmilchsau

  • Türsteuerung
    • Pinpad aussen mit RS485 nach innen
    • Pin Prüfung / Motor Ansteuerung / Sensoren innen
  • Lichtsteuerung
  • "Zugangskontrolle" für Laser (Nein, es kommt nicht an jede Maschine so ein teil)


Aufbau

Ein Atmega64 als zentraler Controller und ein ESP zur MQTT anbindung. Der Atmega64 soll alle Funktionen Unabhängig vom ESP (offline) erledigen können.


Versorgung

  • 24V (Kann bis 9V runter)
  • 5V+ für Motor (Kann mit der 24V Versorgung zusammengelegt werden)

I/O Anschlüsse

  • 8 Digitale Ein/Ausgänge
    • 24V Output, Kurzschlussfest, max 1,9A Pro Kanal
    • 24V Eingang
    • 4x 24V und 4x GND Anschlüsse (neu)
  • 2 Analoge Eingänge (neu)
    • 0..30V
    • Jeweils mit extra 24V Anschluss
  • H-Bridge für Motor
    • 6A, 5-25V, unkaputtbar (laut Hersteller)


485 BUS

192008N1

  • Protokoll
z.B.: <SOH>Version<RS>Ziel-Adresse<STX>$data<ETX>16Bit CRC<EOT>
Oder: Klartext zwischen Pinpad und Tür (KISS :-)


Dali

Zum ansteuern von EVGs, insbesondere im Neben3raum

  • Galvanisch getrennt
  • Reicht für 30 EVGs
  • Die EVGs müssen vorher mit einer individuellen Adresse versehen werden


S0

Stichwort: Smartmeter

  • Galvanisch getrennt
  • Led für Impuls Anzeige


125Khz RFID Leser

Gestrichen.

Anschluss für Externer RFID Leser (neu)

  • Mifare Classic
  • Mit entsprechendem Aufwand auf Software Seite sollte auch aktuelle Tags möglich sein

1-Wire Temperatursensor

Gestrichen. Wenn benötigt dann per RS485 Bus.

Display

Irgendwas zwischen 1X8 und 4x20


Keypad

4x4 Matrix


Gehäuse

Für BOPLA Reglocard 2000 Optimiert


Software

AVR

Die Software für den AVR schreibt spike

  • Die Low-Level Treiber sind fertig

ESP8266

Die Software schreibt borax


Struktur

bisherige Überlegungen:

  • ESP Übersetzt zwischen RS232 (AVR) und WLAN (MQTT/https)
    • RS232 Protokoll ist noch festzulegen
    • soll regelmäßig die Pins von der UserDB per https hohlen und zum AVR schicken (https, bisher hat die Schnittstelle von der userDB nur http, ranlvor wird sie auf https upgraden)
    • ESP hat fixe topics (to be defined) die er abonniert und neue Ereignisse immer an den AVR weiterleitet
    • ESP sendet topics entsprechend der Daten die er vom AVR bekommt. Die komplette Logik befindet sich im AVR, der ESP leitet stumpf durch
  • AVR kümmert sich um die I/Os
    • offline PIN Kontrolle und Türsteuerung

Kommunikation zwischen ESP und AVR

Die Kommunikation läuft über Seriell direkt auf der Platine. Die Geschwindigkeit wurde erstmal auf 115200 BAUD festgelegt (kein tieferer Grund). Zeitlich ist das ganze nicht weiter kritisch. Auf der Platine ist eine Reset-Leitung vorgesehen mit der es dem AVR möglich ist, den ESP im Falle von Problemen zurückzusetzen (quasi wie ein Watchdog). Aus diesem Grund sollte der ESP regelmäßig Heartbeat Botschaften an den AVR senden. Am besten könnte man in diesen Botschaften ein paar Informationen an den AVR weitergeben, so wie WiFi status, MQTT Status usw. Das ist bisher aber noch nicht definiert.