Aktuell ist noch kein Automtikmodus für eine automatische Maischeführen vorhanden. Derzeit wird nur die Temperatur geregelt.
Als Temperaturfühler verwende ich einen PT100 Klasse AA. Der mit 300 mm direkt über dem Rührwerk im Ss 10 Gal Brautopf sitzt.
Das Messen des PT100 übernimmt ein MAX31865AAP+ . Damit habe ich 15 bit über dan ganzen Messbereich das PT100. Im für das brauen relevanten Bereich von 0 - 100 °C habe ich somit eine Auflösung von 0,03 °C.
Die Anzeige erfolgt über ein 1,3" OLED-Display und eine RGB-LED. Aktuell nutze ich nur die drei Grundfarben für
- Rot : IDS2 heizt
- Grün : Der Sollwert ist um +/- 1,5 °C erreicht
- BLau : Debug der Daten von der Platte zur Regelung
Der µC ist ein ATSAMC21J21, wobei ich aktuell noch das Entwicklungsboard SAMC21 Xplained Pro nehme. Die selbst geätzte Platine passt auf einen Arduino, darf aber nur mit 3,3 V betrieben werden, da der MAX31865AAP+ keine höhre Spannung vertrögt.
Für die Kommunikation zur Platte habe ich Pegelwandler verwendet, so das die Pegel für beiden Seite richtig sind. Das Relais für die Hauptversorgung wird über eine Treiberstufe angesteuert. Die Steuerung selber bezieht ihre Spannung über ein externes 5V Netzteil , da ich nicht wusste wie stark ist das Netzteil der IDS2 belasten darf.
Die Regelung pulst wie bei matschies CBPI Plugin zwischen den Stufen. Als Zykluszeit habe ich 3 Minuten gewählt, so das die Leistungsänderungen nicht zu häufig kommen und eine Leistungsstufe mindestens 15s anliegt. Unter 10 % wird nicht geheizt. Die maximale Stufe kann zudem begrenzt werden.
Die Kommunikation erfolgt überTimerinterrupte, damit ich mir die Regelung nicht über delays blockiere. Aktuell läuft die CPU nur mit 3,69 MHz.
Die Brechnung des Sellgrades erfolgt alle 250 ms. Und die Temperatur wird mit ca. 50 Hz gemessen. Es fehlt noch ein gleitender Mittelwert für die Temperatur. Zudem muss ich das Fehlerbit noch auswerten, so das bei einem Fühlerfehler die gesendete Temperatur 300 °C ist.
Zudem will ich noch die Möglichkeit schaffen die Temperatur mit Eiswasser und kochendem VE-Wasser zu kalibrieren.
Es noch ein Platz für einen Luftdrucksensor vorgesehen um die Siedetemperatur zu berechnen und dann kurz davor die Leistung zu reduzieren.
Zudem kann noch ein FRAM eingebaut werden um hier ggf. Rezepte zu speichern.
Über den CAN sind folgende Erweiterungen geplant :
- pH-Meter
- Drehzalsteller für mein Kühlrührwerk
- Kühlwasserregelung
Das Layout der Platine ist hier.
Die Platine verwenden hauptsächlich 0603 Bauelemente, Löterfahrung ist von Vorteil. Die Platine ist beidseitg bestückt. Ich hab kein Lötstopplaminat aufgetragen. Ohne dies ist das Löten jedoch schwieriger. Wenn ich nochmal eine Revision mache dann kommt Lötstopplaminat drauf, oder ich lasse sie fertigen.
Die Software liegt auf Github.
Die Platinen sind aktuell noch nicht in einem Gehäuse. Ich denke wenn die Garantie meiner IDS2 abgelaufen ist werde ich das Kabel für die Fernsteuerung durch ein M12 Kabel mit bekannte Kodierung ersetzen.
Ich danke matschie und allen die beim Entschlüsseln der Kommunikation der IDS2 geholfen haben.
Gruß JackFrost