S0us-vide: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
K (Larsan verschob die Seite S0ous-vide nach S0us-vide: typo, I think?)
K (Idee: typo)
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Projekt|kontakt=Chrissi^, reneger, Doom, Kasa|status=aktiv|beschreibung=Ein sous vide Garer für den Stratum 0|bild=|bildbeschreibung=|interessenten=|source=|lizenz=|download=|version=}}[[Kategorie:Dokumentation]][[Kategorie:Projekte]]
+
{{Projekt|kontakt=Chrissi^, reneger, Doom, Kasa|status=aktiv|beschreibung=Ein sous vide Garer für den Stratum 0|bild=|bildbeschreibung=|interessenten=|source=[https://developer.mbed.org/users/chrissidach/code/s0usvide/ STM32F407 source]|lizenz=|download=|version=}}[[Kategorie:Dokumentation]][[Kategorie:Projekte]]
  
 
== Idee ==
 
== Idee ==
Zeile 6: Zeile 6:
 
Es war auf dem EasterHegg 2015 in Braunschweig. Stratum 0 und Netz39 tragen das Event aus - und lassen es sich nicht nehmen auch Catering anzubieten. Burger waren auch dabei. Und um ersten Schritt war es naheliegend die Petties in der Pfanne zu braten.
 
Es war auf dem EasterHegg 2015 in Braunschweig. Stratum 0 und Netz39 tragen das Event aus - und lassen es sich nicht nehmen auch Catering anzubieten. Burger waren auch dabei. Und um ersten Schritt war es naheliegend die Petties in der Pfanne zu braten.
  
Aber mehr ist besser! Deshalb muss ein s0us-vide Garer her, in dem man auch mal 50kg Fleisch schonen und gleichmäßig Garen kann.
+
Aber mehr ist besser! Deshalb muss ein s0us-vide Garer her, in dem man auch mal 50kg Fleisch schonend und gleichmäßig Garen kann.
 
 
  
 
== Hintergrund ==
 
== Hintergrund ==
Zeile 31: Zeile 30:
 
* Normale Kommunikation ist asynchron. ESP kann an das Nucleo anfragen stellen.
 
* Normale Kommunikation ist asynchron. ESP kann an das Nucleo anfragen stellen.
 
* Normale Kommunikation:
 
* Normale Kommunikation:
** anfrage: <6-digit referenz> <befehl> <extension,pod> [<value>] "\n"
+
** anfrage: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
** antwort: <6-digit referenz> <befehl> <extension,pod> [<value>] "\n"
+
** antwort: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
 
* Events vom Nucleo zum ESP:
 
* Events vom Nucleo zum ESP:
** antwort: "######" <event> <extension,pod> [<value>] "\n"
+
** event: "######" <event> <extension-pod>[ <value>]"\n"
 
* Mögliche Befehle:
 
* Mögliche Befehle:
** getcurrenttemp:
 
*** nicht adressiert
 
*** werte alle aktuell vorhandener pods
 
 
** gettargettemp
 
** gettargettemp
 
** settargettemp
 
** settargettemp
 
** getpower
 
** getpower
 +
*** Gibt an, ob ein Pod geheizt / geregelt wird
 
** setpower
 
** setpower
 +
*** Setzt, ob ein Pod geheizt / geregelt wird
 
** getcontroller
 
** getcontroller
 +
*** Regler-Magie
 
** setcontroller
 
** setcontroller
 +
*** Regler-Magie
 +
** listextensions
 +
*** Antwort <value>: csv-List aller verbundenen Extensions.
 
* Events:
 
* Events:
** extension hinzu
+
** <event>: lostext
** extension weg
+
** <event>: newext
** pod hinzu
+
** <event>: lostpod
** pod weg
+
** <event>: newpod
** temperatursensor fehler
+
** <event>: podstatus
 +
*** Entweder <value>: <temp>
 +
*** Oder <value>: "sensorfail"
 +
*** Sendet jede Sekunde den Status für alle verbundenen Pods
 +
 
 +
* Datenformat für <value>:
 +
** Temperatur in 0,1°C. signed int
 +
* Datenformat für <extension-pod>:
 +
** extension und pod werden 0-basiert gezäht
 +
** Trennzeichen "-"
  
 
== Prototyp 1 ==
 
== Prototyp 1 ==

Aktuelle Version vom 22. September 2015, 21:20 Uhr

S0us-vide
Beschreibung: Ein sous vide Garer für den Stratum 0
Kontakt: Chrissi^, reneger, Doom, Kasa
Status: aktiv (Was heißt das?)
Quellcode: STM32F407 source

Idee

Think big!

Es war auf dem EasterHegg 2015 in Braunschweig. Stratum 0 und Netz39 tragen das Event aus - und lassen es sich nicht nehmen auch Catering anzubieten. Burger waren auch dabei. Und um ersten Schritt war es naheliegend die Petties in der Pfanne zu braten.

Aber mehr ist besser! Deshalb muss ein s0us-vide Garer her, in dem man auch mal 50kg Fleisch schonend und gleichmäßig Garen kann.

Hintergrund

Für so etwas ist die Wikipedia in der Regel besser:


Technik

Steuern und Regeln

  • Kernstück der Regelung ist eine Kombination aus einem ESP8266 und einem Stm32-F4 Nucleo.
    • Das ESP übernimmt die Web-Repräsentation
    • Das Nucleo kümmert sich um Temperaturmessung, Regelung und Leistungssteuerung
    • Hier kann es ein Display geben
  • Als Interface zu den Garern (Pods) dienen sog. Extender
    • Extender stellen Steuersignale für die Solid-State Relais und Hardware-Treiber für die Onewire-Temperaursensoren bereit.
    • Ein Extender kann bis zu 4 Pods interfacen.
    • Es können bis zu 8 Extender an ein Nucleo per I2C angebunden werden.
    • Durch die abgesetzten Extender können die Extender auch näher an die Pods gebracht werden => Man spart Leitungen.

ESP zu Nucleo Bus-Kommunikation

  • ESP und Nucleo sprechen mit einander UART.
  • Normale Kommunikation ist asynchron. ESP kann an das Nucleo anfragen stellen.
  • Normale Kommunikation:
    • anfrage: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
    • antwort: <6-digit referenz> <befehl>[ <extension-pod>][ <value>]"\n"
  • Events vom Nucleo zum ESP:
    • event: "######" <event> <extension-pod>[ <value>]"\n"
  • Mögliche Befehle:
    • gettargettemp
    • settargettemp
    • getpower
      • Gibt an, ob ein Pod geheizt / geregelt wird
    • setpower
      • Setzt, ob ein Pod geheizt / geregelt wird
    • getcontroller
      • Regler-Magie
    • setcontroller
      • Regler-Magie
    • listextensions
      • Antwort <value>: csv-List aller verbundenen Extensions.
  • Events:
    • <event>: lostext
    • <event>: newext
    • <event>: lostpod
    • <event>: newpod
    • <event>: podstatus
      • Entweder <value>: <temp>
      • Oder <value>: "sensorfail"
      • Sendet jede Sekunde den Status für alle verbundenen Pods
  • Datenformat für <value>:
    • Temperatur in 0,1°C. signed int
  • Datenformat für <extension-pod>:
    • extension und pod werden 0-basiert gezäht
    • Trennzeichen "-"

Prototyp 1

  • Bestelltes Material bisher:
    • ESP8266 Eval-Board
    • DS18b20-Temperatusensoren, wasserdicht
    • Olimex ESP8266 Development Board
    • PCF8574 I2C I/O Extensions
    • Solid-State Relais "no Name"
    • STM32-F4 Nucleo
    • I2C <-> 1 Wire HW-Controller "Namen vergessen"