[Designphase] Gärkühlschrank Regelung für zwei Schränke

Antworten
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

[Designphase] Gärkühlschrank Regelung für zwei Schränke

#1

Beitrag von JackFrost »

Hallo,

ich plane eine Regelung für bis zu zwei Gärkühlschränke zu entwickeln und auch zu bauen.
Die wichtigsten Punkte werden sein :
  • Gärtemperatur in Abhängigkeit des Restextraktes von der iSpindel
  • Kaskadenregelung der Temperatur
  • Bedienung Vorort únd/oder Remote
  • Daten über WLAN und/oder CAN
  • Temperatur über PT100 4-Leiter oder DS18B20
  • Heizen primär über einen Leistungeswiderstand
  • Heizen mit einer Glühbirne nur über extrenes Relais
  • "Fleischbetrieb" für Grillfeiern
  • Regulärer Kühlbetrieb für Bier
Von der Hardware her werde ich vermutlich einen STM32F303 nehmen und das auf eine Platine packen die entweder auf eine Hutschiene kommt oder Wahlweise in ein geeignetes Gehäuse. Da dieser ein LQFP Gehäuse mit 0,5 mm pitch hat, werde ich die Platinen in China äztzen lassen.

Betriebsspannung wird für 5 - 24 V ausgelegt sein, wobei für den Betrieb des Widerstandes zwingend 24V nötig sind da sonst die Verluste zu groß werden ( P = I²R ). Die Relais für das Kühlen und die optionalen für die Glühbirnenheizung werden dann mit der Versorgungsspannung von 5 - 24 V versorgt.

Wenn ich genug Platz habe, dann werde ich die Spannung für den Heizwiderstand von 12 -24 V regeln. Damit kann man von 12,5 - 50 W die Leistung für das Heizen besser regeln. Zudem wird die Wärme/Kälte von einem Lüfter umgewälzt.

Warum kein Arduino oder ESP, sondern eigene Hardware. Ich möchte das ein einen kleinen Schaltschrank von Rittal einbauen. Ich hab die Bauteile fast alle da, daher baue ich mir das lieber selber.

Ich werde auf jedenfall CAN verbauen, da mein Hausbus darauf basiert und ich damit alles auf dem zentralen Server steuern und aufzeichnen kann.

Ich will zum heizen einen Leistungswiderstand verbauen, da dieser nicht wie eine Glühbirne einen hohen Anfangsstrom hat und zudem brennt der nicht so leicht durch.

Wenn einer noch Ideen hat was man brauchen kann dann immer her damit :)

Wenn das Projekt fertig ist und die Hürde nur das Löten der SMD Bauteile ist, da kann man helfen.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
daleipi
Posting Freak
Posting Freak
Beiträge: 500
Registriert: Samstag 9. September 2017, 13:08
Wohnort: Ö - GU Süd

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#2

Beitrag von daleipi »

JackFrost hat geschrieben: Donnerstag 9. Mai 2019, 19:40 ...
  • Temperatur über PT100 4-Leiter oder DS18B20
...
Also ich versteh vom Technikteil HÖCHSTENS die Hälfte aber ich denk nicht daß Du für den geplanten Temperaturbereich einen PT100 brauchst.

eine schöne Verstärkerschaltung für den PT100 wär aber was feines, die könnt ich für meinen Kaffeeröster brauchen ;-)

LG
Stefan
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#3

Beitrag von JackFrost »

daleipi hat geschrieben: Donnerstag 9. Mai 2019, 21:27
JackFrost hat geschrieben: Donnerstag 9. Mai 2019, 19:40 ...
  • Temperatur über PT100 4-Leiter oder DS18B20
...
Also ich versteh vom Technikteil HÖCHSTENS die Hälfte aber ich denk nicht daß Du für den geplanten Temperaturbereich einen PT100 brauchst.

eine schöne Verstärkerschaltung für den PT100 wär aber was feines, die könnt ich für meinen Kaffeeröster brauchen ;-)

LG
Stefan
Platinsensoren haben untereinander wenig Streung, so ist es egal wo welcher angeschlossen wird. Damit reicht mir ein Set aus vier Sensoren und im Schrank ist dann nur eine vierpolige buchse.

Gegenüber dem DS18B20 senden die auch kaum bis keine Störsignale aus. In dem Temperaturbereich könnte ich auch einen PT1000 nehmen aber das mehr an Auflösung bringt mir nichts da die Genauigkeit nicht so weit steigt.

Für die Wandlung des analogen Wertes vom PT100 kommt der MAX31865AAP+ zum Einsatz. Über einen SSOP-20 Adapter kannst du den auch per Jumperkabel an nen Arduino anschließen und damit deine Rösttemperatur messen.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
daleipi
Posting Freak
Posting Freak
Beiträge: 500
Registriert: Samstag 9. September 2017, 13:08
Wohnort: Ö - GU Süd

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#4

Beitrag von daleipi »

JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#5

Beitrag von JackFrost »

Genau sowas , dann nur mit nem uC auswerten.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#6

Beitrag von JackFrost »

Es wird jetzt doch eher ein ATSAM4C oder ATSAME70. Beide haben auch einen festen Bootloader. Der ATSAME70 hat zudem noch rund „Double precission FPU“, was die Berechnung der Temperatur mit der kubischen Gleichubg deutlich beschleunigt.
Mit dem letzten würde neben USB noch LAN gehen. Dadurch muss die Platine vierlagig werden. Bei 10 Stück würde dann eine unbestückte Platine ~5€ kosten. Der Plan ist auch den 1-Wire Bus über DMA laufen zu lassen, so das dieser nicht die Hauptroutine ausbremst.

Aktuell erstelle ich die Schaltpläne.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Benutzeravatar
Ernie
Posting Senior
Posting Senior
Beiträge: 443
Registriert: Donnerstag 24. März 2016, 15:04

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#7

Beitrag von Ernie »

Moin Jackfrost,

das klingt doch alles sehr vielversprechend.

Bei der SB der Platinen wäre ich auf jeden Fall dabei.

Frohes entwickeln !

Grusz
Ernie
Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#8

Beitrag von JackFrost »

Es wird ein ATSAME70 werden. Primär wird die Platine für ein Hutschienengehäuse sein. Mit zusätzlichen Montagelöchrrn kann sie aber auch in ein anderes Gehäuse gebaut werden.
Firmwareupdates werden über USB oder TTL UART möglich sein.

Die Kaskadenregelung erfolgt entweder über Pt100/Pt1000 oder über DS18B20. Die Istwertquelle wird bequem über das Display ausgewählt werden können.
Die Pt100/Pt1000 werden in vierleiter Technik sein. Für die DS18B20 wird es zwei Kanäle geben,einen für die Regelung und einen um den Sensor eine interne ID für die Regelung zu geben.
Für das Kühlen und Heizen wird es vier Ausgänge für Relais geben. Zudem wird es zwei Ausgänge für Leistungswiderstände geben, welche mit 24 V betrieben werden. Wenn genug Platz ist dann auch ggf. für 12 V. Jedoch wird die Verlustleistung bei 12 V viermal so groß sein wie bei 24 V. Wenn es möglich ist, wird es als Addon ein Filter geben mit dem dann über PWM die Spannung gesenkt werden kann so das die Heizleistung reguliert werden kann.

Die Kommunikation wird über LAN , CAN und WLAN erfolgen.

Beim LAN werde ich evtl. TCP/IP nicht nutzen sondern einen Layer darunter.

WLAN wird es über einen externen ESP8266 geben.

Es wird voraussichtlich zwei CAN Buse geben. Einen mit einer Nutzlast von maximal 8 Byte /Frame und der zweite mit maximal 64 Byte/Frame.
Über den zweiten sind dann Erweiterung wie Temperatursimulatoren für externe Regler, Relaisboards oder externe Anzeigen möglich.

Die Eingabe wird über einen Drehencoder erfolgen und die Anzeige über ein OLED Display und zwei RGB LEDs.

Die Hauptplatine wird 103x86 mm sein. Die Maße für die zweite für den ESP und den Display Anschluss sind noch nicht bekannt.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#9

Beitrag von JackFrost »

Der Schaltschrank für die Regelung ist breits da, Ich hab einen Rittal AE 1038.500 Schaltschrank genommen, mit den Maßen 380x600x201.

Ich werde drei Hutschienen einbauen damit das Netzeil die Relais, die Steuerung und die Klemmen gut Platz haben.
IMG_2336.JPG
Für die Heizung hab ich auch schon alles. Ich werde an einen Kühlkörper mit 100x88x35 mm eine 100 W Leistungswiderstan mit 15 Ohm montieren. Mit einem Lüfter wird die Luft umgewälzt so das die Heizung nicht so war wird. Mit einem Wärmewiderstand von ~0,5 K/W wird die Heizung bei 38 W ca. 19 K wärmer als die Umgebung.
IMG_2334.JPG
IMG_2335.JPG
Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#10

Beitrag von JackFrost »

Ich hab am Schaltschrank weiter gebaut. Der 230V Teil für einen Kühlschrank ist fertig.
Ich hab meine CControl2 eingebaut um zu sehen wie das mit dem Platz wird. Die neue Regelung wird
kürzer als die CControl2. Einen Kabelkanal muss ich noch besorgen, dann kann der Schrank fertig gemacht
werden und an die Wand.
IMG_2356.JPG
Ich denke ich werde auf einem Entwicklungsboard ein Programmschreiben um zu sehen ob das mit
den Komponenten richtig läuft.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
daleipi
Posting Freak
Posting Freak
Beiträge: 500
Registriert: Samstag 9. September 2017, 13:08
Wohnort: Ö - GU Süd

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#11

Beitrag von daleipi »

bist Du sicher daß das nix für ein Raumschiff wird?

eine Steuerung für den Fluxkompensator vielleicht...
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#12

Beitrag von JackFrost »

Da bin ich mir sicher.
Die beiden anderen Sachen liegen auf dem Tisch dahinter :Angel

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#13

Beitrag von JackFrost »

Ich werde für die Platine ein Entwiclungsboard nehmen, da Netzwerk und USB HS nicht so einfach sind. Vierlagige Platinen sind in China nicht so teuer aber preislich macht das nicht mehr viel zum Entwicklungsboard.

Die PT100 Wander und der Rest kann dann auf eine einfache Platine.
Wenn Platz ist, baue ich Schaltregler ein die ich verändern kann, damit kann die Heizleistung
besser dosiert werden.

Die Kommunikation zu meiner Steuerung für die IDS-Steuerung wird CAN sein, damit hab ich dann das CAN-LAN-Gateway gleich mit drinnen.
Die Daten wird dann wieder der Raspi bekommen und speichern.

Auch wenn es nicht sehr sinnvoll wirkt, wird die Steuerung die iSpindeldaten auswerten und dann die Gärführung anpassen.
Die Daten kommen dann über das NEtzwerk als eigenes Protokoll kommen.

Für WLAN (Wemos D1 ) sollte platz sein, aber hier geht leider nur TCP/IP und nicht eine Schicht darunter.

Ein µC mit FPU für double und 300 MHz sollte für das reichen :Smile

Ich hoffe der Prototyp ist im Sommer fertig, damit die Gärung stabiler läuft.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#14

Beitrag von JackFrost »

Nachdem ich letztes Jahr keine UG Bier mehr gebraut habt, hat sich der Aufbau stark verzögert.

Auf einem Enwicklungsboard mit einem ST32F107 das hier noch brach rumlag, hab ich die Kaskadenregelung programmiert, gleich mit LAN für meinen Hausbus und mit CAN-LAN-Gateway. Die 72 MHz und 64 kByte Ram reichen dafür scheinbar.

Die Treiber für die beiden Relais zum Heizen und Kühlen sind noch auf einem einfachen Steckbrett. Wenn alles gut läuft ätze ich mir da schnell eine kleine Platine bevor ich die fertige Platine fertigen lasse.

Für den Vorversuch hab ich 2 DS18B20+ genommen, da das hier einfacher ist als die Pt100 anzubinden.
Die Daten werden direkt an den Raspi gesendet und ein einer MySQL Datenbank gespeichert. Ich muss noch bisserl was im Schaltschrank verdrahten. Dann kann ich meinem einem Hobbock voll Wasser testen wie gut das System läuft und die Regelparameter einrichten.

Mal sehen wie gut die Kaskadenregelung wird. Wenn das gut läuft, werde ich die iSpindel mit einbinden, so das die Daten ausgewertet werden.
IMG_4427.jpg
Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#15

Beitrag von JackFrost »

Die ersten geschätzten Regelparameter waren zu "stark", hier war der Verlauf wie bei einem Thermostat mit einer Hystere von ~0,5K.
Thermostat.png
Ich hab dann den Integralanteil vom Führungsregler deutlich reduziert und die Streckenverstärkung vom Folgeregler auch reduziert. Damit ist die Regelung deutlich besser geworden. Es wurden nicht mehr voll gegengeheizt sondern lediglich die Laufzeit des Kühlschranks angepasst. Die Temperatur wurde viermal unterschritten und das um maximal 0,25K. Die Kaskade funktioniert und kann die Temperatur des Wassers im Gärbottich halten.
Kaskade_I.png
Ich hab dann alles wieder ein paar Stunden ausgelassen und wieder gestartet. Auch hier war der Verlauf der gleiche. Der Unterschwinger war etwas stärker aber mit 0,32K noch gut.
Kaskade_II.png
Der Kompressorschutz funktioniert auch. Ich werde noch eine minimale Laufzeit des Kompressors definieren, so das er nicht nur für 1 Minute läuft. Die Zykluszeit beträgt aktuell 1799 s. Bei 100 % läuft der Kompressor 1800 s. Damit ist gewährleistet das der Kompressor nach Ablauf des Zyklus über den Kompressorschutz nicht gesperrt wird, wenn der Stellgrad -100'% ist.

Die Heizung ist ein Hochleistungswiderstand, den ich auf einen Kühlkörper mit Lüfter montiert hab. Damit hab ich nicht den hohen Anlaufstrom einer Glühbirne. Zudem hab ich das Risiko nicht das mir die Heizung beim Einschalten durchbrennt. Der 100W Widerstand wird mit 50W belastet und kommt mit Lüfter auf 40°C bei 22 °C Umgebungstemperatur.

Der Lüfter wälzt die Luft auch beim Kühlen um, so das hier der Wärmeaustausch deutlich besser ist.

Als nächstes brauche ich einen Temperaturfühler der im Bottich misst und nicht außen mit einem Stück Styropor.

Die Kaskade ist deutlich aufwändiger als ein Thermostatregler, aber ich will ja noch die iSpindel, auch wenn sie ein Schätzeisen ist, einbinden und auch Sollwertänderungen sollen über eine Rampe laufen, damit die Temperatur eher langsam steigt.

Wenn alles gut läuft, wird nächstes WE ein Münchner Dunkel damit vergören.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#16

Beitrag von JackFrost »

Ich hab heute getestet, wie stark der Überschwinger ist wenn die Temperatur für einen evtl. Dicacetylabbau angehoben werden muss.
Ich bin von 9 °C auf 12 °C gegangen, was ca. 2h gedauert hat. Mit den 50W also im Bereich des realistischen.
Heizen.png
Die Temperatur ist um 0,5 K übergeschwungen, Danach ist die Temperatur etwa +/- 0,1K um den Sollwert geschwungen. Evtl. werde ich da die Regelparameter noch anpassen, der I-Anteil könnte doch etwas zu stark sein.
Halten.png
Nach dem Test bin ich guter Dinge, das das Münchner Dunkel eine stabile Gärtemperatur haben wird.

Auch der Regleraufbau mit einem PI Regler als Führungsregler und einem schnellen P Regler als Folgeregler, sieht gut aus. Da der DS18S20 den ich führ den Folgeregler verwende, nur 9 Bit hat und damit auch nicht eine Auflösung von 0,5 °C hat, schwingt das System etwas um die Sollwert des Folgereglers. Mal sehen ob das mit einem DS18B20 besser wird.

Nach dem Münchner Dunkel werde ich testen, welche maximale Temperatur ich mit dem Hochleistungswiderstand erreichen kann, da ich gerne auch mal ein Bier mit einer Kveik machen will.

An der Software muss ich noch bisserl basteln, so das die Sollwerte auch direkt eingegeben werden können, aktuell geht das nur per Netzwerk über mein CAN-LAN-Gateway. Auch die Rampe muss noch rein, so das die Temperatur langsamer steigt. Bei der iSpindel bin ich am überlegen ob ich den anstieg des Winkels über das CO2 mit verrechne.

Ich denke ich werde auch aufzeichnen wie oft der Kompressor wirklich gelaufen ist.

Ich bin mit der Regelgüte zufrieden, wenn die beim nächsten Sud auch so gut ist, dann kann ich die Platine für das andere Devboard machen. Mit dem Cortex-M7 mit 300 MHz und einer FPU reicht die Rechenleistung dann locker für 2 Kühlschränke.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#17

Beitrag von JackFrost »

Die Schwankungsbreite beim Münchner Dunkel ist aktuell maximal +/- 0,2 K. Eine Vollschwingung braucht 30 Minuten, wie die Zykluszeit der Regelung.

Die Werte der iSpindel passen ganz gut zu den Werten die der Sensor an der Wand mit Styropor misst.

Der Sensor für die Kühlschrank Temperatur ist nur ein DS18S20 welcher nur die 9 bit kann Zusammen mit dem P Wert von 10 sind die Sprünge für die Regelung etwas groß. Ich denke nach dem Sud ersetze ich den durch einen DS18B20 dann sollte hier auch etwas mehr Ruhe einkehren. Evtl. wird dann die Schwankung kleiner als 0,1 K.

Die Finale Version wird dann PT100 haben. Die kann ich öfters abfragen und besser glätten. Aktuell hole ich alle 10s die Daten, damit der DS18B20 nicht zu warm wird.

Läuft aber bis jetzt gut.
Regelbetrieb.png
Nachdem beim Testbetrieb die DS18B20 keine Probleme gemacht haben, hab ich mir die Überprüfung der CRC in den Daten gespart. Wie es halt so ist, kommt im Regelbetrieb dann ein Datensatz der nicht richtig übertragen ist. Zusammen mit dem gleitenden Mittelwert über 12 Werte also 120s bis ein Wert rausfällt, ist die Temperatur auf 118 °C gestiegen. Man sollte sich so einfache Sachen wie eine CRC Prüfung nicht sparen.
Fehler.png
Schnell die CRC Prüfung eingebaut und neu gestartet. Nicht das der Sud wegen so was zu warm oder zu kalt wird.

Auch der Neustart geht gut, der I findet schnell wieder seinen alten Wert damit das System stabil ist.
Hat knapp 20 Minuten gedauert. Die Temperatur von Sud ist um 0,5L gestiegen, da der Sollwert vom Gärschrank auf 12 °C gesetzt war. Nach den 20 Minuten hat der I-Wert wieder gepasst.
Neustart.png
Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Benutzeravatar
Ernie
Posting Senior
Posting Senior
Beiträge: 443
Registriert: Donnerstag 24. März 2016, 15:04

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#18

Beitrag von Ernie »

JackFrost hat geschrieben: Montag 14. Juni 2021, 23:44 Die Schwankungsbreite beim Münchner Dunkel ist aktuell maximal +/- 0,2 K. Eine Vollschwingung braucht 30 Minuten, wie die Zykluszeit der Regelung.

Die Werte der iSpindel passen ganz gut zu den Werten die der Sensor an der Wand mit Styropor misst.

Der Sensor für die Kühlschrank Temperatur ist nur ein DS18S20 welcher nur die 9 bit kann Zusammen mit dem P Wert von 10 sind die Sprünge für die Regelung etwas groß. Ich denke nach dem Sud ersetze ich den durch einen DS18B20 dann sollte hier auch etwas mehr Ruhe einkehren. Evtl. wird dann die Schwankung kleiner als 0,1 K.

Die Finale Version wird dann PT100 haben. Die kann ich öfters abfragen und besser glätten. Aktuell hole ich alle 10s die Daten, damit der DS18B20 nicht zu warm wird.

Läuft aber bis jetzt gut.

Regelbetrieb.png

Nachdem beim Testbetrieb die DS18B20 keine Probleme gemacht haben, hab ich mir die Überprüfung der CRC in den Daten gespart. Wie es halt so ist, kommt im Regelbetrieb dann ein Datensatz der nicht richtig übertragen ist. Zusammen mit dem gleitenden Mittelwert über 12 Werte also 120s bis ein Wert rausfällt, ist die Temperatur auf 118 °C gestiegen. Man sollte sich so einfache Sachen wie eine CRC Prüfung nicht sparen.
Fehler.png

Schnell die CRC Prüfung eingebaut und neu gestartet. Nicht das der Sud wegen so was zu warm oder zu kalt wird.

Auch der Neustart geht gut, der I findet schnell wieder seinen alten Wert damit das System stabil ist.
Hat knapp 20 Minuten gedauert. Die Temperatur von Sud ist um 0,5L gestiegen, da der Sollwert vom Gärschrank auf 12 °C gesetzt war. Nach den 20 Minuten hat der I-Wert wieder gepasst.

Neustart.png

Gruß JackFrost
:goodpost:


Hallo Jackfrost,

ich verfolge schon etwas länger Deine Projekte und muss sagen : HUT AB ! RESPEKT ! :thumbup

So etwas such ich schon lange und habe schon verschiedene Lösungen ausprobiert.

Bin bis jetzt mit keiner so wirklich glücklich.

Ich hätte da auf jeden Fall Interesse .

LG
Ernie
Die deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#19

Beitrag von JackFrost »

Ernie hat geschrieben: Dienstag 15. Juni 2021, 08:11

:goodpost:


Hallo Jackfrost,

ich verfolge schon etwas länger Deine Projekte und muss sagen : HUT AB ! RESPEKT ! :thumbup

So etwas such ich schon lange und habe schon verschiedene Lösungen ausprobiert.

Bin bis jetzt mit keiner so wirklich glücklich.

Ich hätte da auf jeden Fall Interesse .

LG
Ernie
Danke :Smile

Ich muss mal schauen auf welcher Hardware das dann final laufen wird. Aktuell ist ein ATSAME70 XPLAINED Entwicklungsboard geplant das auf eine Platine gesteckt wird. Leider ist das Entwicklungsboard abgekündigt. Ich hab mir vor langem mal eines auf Reserve gekauft, daher würde das für mich passen.

Evtl. läuft das auch auf einem kleineren µC. Leider sind die Bluepills nicht mehr so gut, sonst könnte man ohne LAN die nehmen, der Cortex M0 sollte da auch reichen. Cortex M7 braucht leider schon eine 4-lagige Platine, daher hab ich das Entwicklungsboard gekauft. Ich brauche ja LAN, damit die Daten sicher an den Raspi laufen.

Die Testversion ist ein STM32F107 Entwicklungsboard mit LAN. Denkbar wäre auch ein NUCLEO-F746ZG da müssen die Anschlüsse nur per Kabel an die DS18B20 ran wenn man keine PT100 nutzen will und ein paar gescheite Relais und Treiber Platinen. Das hat LAN, evtl. CAN und I2S. Vielleicht kann man da per FFT das Blubbern erkennen. Vielleicht hol ich mir noch so ein Board und bastle da auch bisserl rum. Im Gegensatz zum Atmel Board hat das Montagelöcher.

Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#20

Beitrag von JackFrost »

Ich denke ich werde das System modular aufbauen.

Ich werde ein STM32F476-Discovery für die Anzeige verwenden. Auf dem Board läuft dann auch die Regelung wenn man DS18b20 verwendet. Hinten auf das Board kommt eine kleine Tochterplatine auf der die Treiber für die Relais, die Anschlüsse für die Sensoren und ein FRAM sind. Damit kann man dann zwei Kühlschränke direkt regeln.

Ich für mich werde einen CAN-Transreciever draufbauen der dann mit der Steuerung im Schaltschrank kommunziert und nur die Soll-/Ist-Werte überträgt.

Damit kann die Steuerung alleine mit DS18b20 oder mit Pt100 und der Platine für den Schaltschrank verwendet werden.

Aktuell spiele ich mich bisserl mit STemWin für eine grafische Oberfläche. Die Daten kommen alle per Netzwerk. Das System nutzt aber nicht TCP/IP sondern ein eigenes Protokoll auf der gleichen OSI Schicht wie TCP/IP. Hier finden sich die Module automatisch. DIe Daten die im Bild angezeigt werden, sind reale Daten meiner Sensoren und Module die schon am CAN hängen. DIe Steuerung für die IDS2 ist gerade nicht angeschlossen, daher werden hier keine Daten angezeigt.

Das Display wird alle 10 ms angesteuert und ist damit schön schnell. Da das Display kein Multibuffering kann, sieht man ab und zu etwas tearing. Aber bei dem Preis für das Board verschmerzbar :Smile

Ich muss noch eine virtuelle Tastatur einbauen, so das man die Sollwerte für die Regelung verändern kann.

Seit 2 Tagen läuft bei mir die Rampe auf 14 °C mit 1k/d und bis jetzt läuft die Regelung super. Mal sehen wie das Bier wird.
IMG_4437.jpg
Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
JackFrost
Posting Freak
Posting Freak
Beiträge: 2983
Registriert: Dienstag 15. Mai 2018, 18:10

Re: [Designphase] Gärkühlschrank Regelung für zwei Schränke

#21

Beitrag von JackFrost »

Der Brewserver ( TCP-Server in C++ ) sendet die Daten der iSpindel nun auch an den Gärschrankregler.

Über eine Mittelwertbildung von 600 Werte ( ca. 10 Werte der iSpindel ) wird die Stammwürze für eine etwaige automatische Diacetylrast bestimmt.

Wenn dann ein AVG von 50 - 55 % erreicht wird , wird automatisch eine Rampe auf 15 °C mit 1K/d gestartet.

Ich werde das mal mit dem nächsten Sud testen. Zur Not kann ich die Rampe auch mit der Hand starten.

Wenn das alles gut läuft wird das ganze dann auf ein neues Devboard umgesetzt das leichter zu kaufen ist.
Zudem könnte ich dann zwei Gärschränke gleichzeitig regeln.
IMG_4860.jpg
IMG_4866.jpg
Gruß JackFrost
Meine Hardware:
eManometer
IDS2 ohne CBPi
Magnetrührer
Ss-Brewtech 10 Gal Topf
IDS2 Induktionsplatte
Antworten