S0us-vide
Aus Stratum 0
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 |
Inhaltsverzeichnis
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"