Brouw controller

Geplaatst op door

Dit is werk in uitvoering

20160312-DSCN5546Een brouw controller kan een goede hulp zijn bij het brouwen om de temperatuur van het maischen netjes te regelen en om de tijden bij te houden. Tegenwoordig zijn hiervoor diverse op een Arduino gebaseerde systemen te vinden. Een kloon van een Arduino Nano kost tegenwoordig nog maar €3,50.

De meest gebruikte software is die van Open ArdBir. Ik heb zelf ook een soortgelijk systeem gemaakt, maar dan met eigen software.

20160317-IMG_20160317_174252De reden dat ik zelf een versie ging maken is dat ik ook het spoelwater wil laten regelen door de controller. Dit kan heel goed door deze ketel alleen van energie te  voorzien wanneer de brouwketel geen energie nodig heeft. Op die manier kun je twee ketels die 2000 Watt of meer gebruiken op een enkele 230 volt groep gebruiken. Dat beide ketels niet tegelijk aangezet kunnen worden is in de software en in de hardware beveiligd.

Ik heb er ook voor gekozen om twee 1-wire bussen te maken voor twee DS18B20 sensoren, de Nano heeft uiteindelijk genoeg I/O poorten. Je kunt die sensoren ook samen op één bus zetten maar dan moet je in de software de adressen van die sensoren opslaan. Dit kost vrij veel kostbaar programma geheugen. Twee bussen is makkelijker en bovendien kun je dan zonder problemen sensoren omwisselen.

Op dit moment is alles nog niet af en getest en gebruik ik de controller enkel alleen om de ketel temperatuur te regelen.

 

De software.

De software is grotendeels opnieuw geschreven en is een stuk compacter dan de Open ArdBir software. Deze software kan ook gebruikt worden op andere hardware dan die ik gebruik, in de sketch moeten dan wel de poorten aangepast worden aan die hardware en het werkt. In de sketch kun je ook het gebruikt van een spoelwater ketel uitzetten. (#define USE_HLT false).

Verbeteringen en veranderingen ten opzichte van de originele versie:

  • Alleen voor elektra.
  • 20 x 4 displays worden alleen ondersteunt.
  • Tijdens de maisch stappen is de PID altijd in gebruik, er is geen vol gas methode als de temperatuur te ver af is.
  • Logaritmische PWM vermogen regeling. Als de PID 1% vermogen wil, dan kan het effectieve vermogen groter zijn omdat je met 1% vermogen niets kan verwarmen. In de setup heet dit “Log Factor”. Deze kan ingesteld worden tussen 0 (niets) en 20 (maximaal) extra vermogen. Hierdoor werkt de PID regeling een stuk beter. Het nut hiervan hangt sterk af van je installatie.
  • Maisch stappen setup is vriendelijker. Eerst bepaal je of een bepaalde maisch stap wel of niet doorlopen moet worden, en als het “aan” is dan pas kun je de temperatuur en tijd instellen.
  • Geen PID regeling tijdens koken. Verhitten naar de kook is altijd 100%. Als de kook temperatuur bereikt is kan dit minder zijn, dit is in te stellen. Als de temperatuur onder de kook temperatuur komt wordt weer 100% gebruikt.
  • Er zijn nu 4 Whirlpool fases mogelijk. De instellingen worden opgeslagen in het geheugen voor de recepten. Iedere whirlpool fase kan zijn:
    1. 88..100 Celcius, minimum temperatuur 93.
    2. 71..77 Celcius, minimum temperatuur 74.
    3. 60..66 Celcius, minimum temperatuur 63.
    4. Na de laatste koeling fase, geen minimum temperatuur.
  • Een conditionele define in de sketch voor de display taal. Standaard is dit Engels, Nederlands kan aangezet worden.
  • Een conditionele define om een extra SSR en DS18B20 sensor te gebruiken voor spoelwater. De verwarming gebeurt als er niet verwarmt wordt in de maisch ketel, dus het maximale stroomverbruik is die van de zwaarste ketel.
  • Verbeterde en meer robuuste uitlezing van de 1-wire sensoren.
  • Geen timer tijdens de handbediening, kijk zelf maar op de klok.
  • De code voor Automatic mode is nu State code. Dit scheelt geheugen en de code is beter te onderhouden.
  • De EEPROM opslag heeft een handtekening en versie markeringen. Hierdoor worden upgrades naar nieuwere versies eenvoudiger. Omdat dit nu zo is, worden de recepten van andere systemen (Open-Ardbir oa) gewist! Deze waren verkeerd opgeslagen.
  • Alleen gewijzigde waarden worden in EEPROM geschreven (update mode), dit moet de levensduur van de EEPROM aanzienlijk verlengen.
  • Het recepten menu is gebruiksvriendelijker. Het onthoud nu het laatst gebruikte recept. Ook is er nu een aparte Save en Save-as keuze.
  • Alleen nog Celcius.
  • De koel temperatuur wordt opgeslagen als een Auto/Recept instelling.
  • Meer zuivere tijd timers.

De software is te vinden op Github. Een handleiding moet nog gemaakt worden maar als je weet hoe Open ArdBir werkt (of die handleiding bekijkt) kom je al een heel eind.

 

Het Schema.

Een pdf bestand van het schema is hier te zien: MBSE-ArdRims-Schema.

Enkele opmerkingen. De schakeling rond de transistoren Q3, Q4 en Q5 sturen de pomp. Dit is een stroombegrenzer, de uitgang is dus kortsluitvast. De maximale stroom wordt bepaald door de waarde van R10. Deze is bij mij 0,5 Ω en moet 0,5 Watt zijn. De maximale uitgangsstroom is met deze waardes ongeveer 1,6 Ampère. Dit is voldoende voor een zogenaamde solar pomp. Ik had dit natuurlijk ook met een relais kunnen doen, maar ik heb dat bewust niet gedaan. Nu is het mogelijk om de pomp te regelen met een PWM signaal. De L1 rf-choke is een smoorspoel zoals je die ook in computer voedingen vind. Compleet met condensatoren dempt dit het meeste gepiep wat de pompmotor laat horen door het PWM signaal wat 1000 Herz is. Deze schakeling werkt, maar in de praktijk moet het allemaal nog blijken met brouwen. Ook in de software wordt hier nog geen gebruik van gemaakt.

Jumper LK1 (Buz) is om de buzzer aan of uit te zetten.

Jumper LK2 (Saf) is om de hardware beveiliging in te schakelen zodat nooit beide SSR’s tegelijk aangestuurd kunnen worden. Jumper eruit en je kunt wel beide SSR’s tegelijk aansturen. Als je met twee ketels werkt die samen meer dan 3600 Watt verbruiken zou ik die jumper erin laten.