Hardware (Elektronica) Update Mei 2016!
Uit de reacties die ik van vele college brouwers krijg, begrijp ik dat, voor de meesten van hen, het elektronica deel iets te lastig na te bouwen is. Toch zijn er brouwers die hun installatie ook (willen) automatiseren. Voor een deel gebruiken ze kant en klare componenten, zoals een PID regelaar, een PC IO kaart of een solid-state-relais. Met zo'n opzet is natuurlijk niets mis, maar mijn insteek is toch iets anders geweest. Als afgestudeerd elektrotechnicus (TU Eindhoven) vind ik het stoeien met elektronica nog steeds een van de leukste dingen om te doen. Ik heb er dan ook bewust voor gekozen om zowel de hardware als de software zo professioneel mogelijk te ontwerpen en te realiseren. De beschrijving die ik hieronder geef, moet voor iemand die thuis is in elektronica, voldoende zijn om dit na te kunnen bouwen.
In het kort: de hardware heeft de volgende eigenschappen:
- Inlezen van maximaal 4 temperatuursensoren: voor de drie ketels en voor de uitgang van de tegenstroomkoeler
- Inlezen van de hardware temperatuur: voor de bewaking van de interne elektronica
- Inlezen van maximaal 4 flowsensoren: tussen HLT en MLT, tussen MLT en kookketel en op de uitgang van de tegenstroomkoeler
- Aansturen van maximaal 8 elektrische kleppen op 24 V DC
- Aansturen van maximaal 4 verbruikers op 230 Volt: de pomp, een tweede pomp voor de tegenstroomkoeler in de HLT, de gasklep in de HLT en de gasklep in de kookketel
En ben je niet echt thuis in elektronica, dan haal je hier misschien nog wel wat ideeën uit. En anders sla je deze pagina maar over :-)
Deze pagina bestaat uit de volgende onderdelen (en is vanaf mei 2015 flink gewijzigd):
- 1. Overzicht / Architectuurontwerp
- 2. PC Interface
- 3. Temperatuur sensoren
- 4. Volume-metingen
- 5. Triac: Aansturing Pomp en verwarmingselement 3 kW
- 6. Aansturing gaskleppen / branders
- 7. Elektrische Kleppen
- 8. Voedingsgedeelte
- 9. Elektronica: Behuizing en complete print
- 10. Assemblage en Onderdelenlijst
- 11. Datasheets van componenten: om de datasheets te kunnen lezen heb je de Acrobat Reader nodig!
1. Overzicht / Architectuurontwerp
Een architectuurontwerp geeft een overzicht van de hardware en de diverse interfaces tussen de deelcomponenten. Voor de elektronica van het brouwsysteem is dat hieronder weergegeven:

Het plaatje ziet er ingewikkeld uit, maar ik zal proberen een beschrijving hiervan te geven:
De eerste belangrijke component is de PC zelf. Deze wordt aangesloten via een USB kabel op de PC-Interface. Via deze PC-interface communiceert het brouwprogramma dat op de PC draait met de brouwelektronica.
De brouwelektronica is uitgevoerd met een Arduino Nano, die via een connector op de elektronicaprint zelf gemonteerd wordt. Een Arduino Nano is een standaard printje met een Atmel 328P 8-bit microcontroller erop. Deze genereert ook de signalen die nodig zijn voor de I2C bus. De I2C bus is een veelgebruikte verbinding tussen ICs en is oorspronkelijk bedacht door Philips. Het voordeel van deze I2C bus is dat er slechts twee signalen nodig zijn, een clock lijn (SCL) en een DATA lijn (SDA). Ieder IC dat op de I2C bus aangesloten is, heeft zijn eigen unieke adres. Een even adres betekent altijd schrijven, een oneven adres betekent altijd lezen. Voorbeeld: een van de ICs op de print (de MCP23017) heeft als basisadres 0x40 (hexadecimaal, oftewel 64 decimaal). Als je naar dit IC wilt schrijven, dan moet je adres 0x40 gebruiken. Wil je echter lezen van ditzelfde IC, dan moet je adres 0x41 gebruiken. Op deze I2C bus zijn de meeste componenten dan ook aangesloten, bijv. twee temperatuursensoren. Dit betekent dus dat de I2C lijnen ook naar de warmwaterketel en de maischketel lopen (samen met de +5 Volt en de GND lijn). Om deze uitlezing zo betrouwbaar mogelijk te maken, worden hiervoor aparte I2C kanalen gebruikt. Iedere sensor krijgt dus zijn eigen unieke I2C kanaal. Het multiplexen (van 1 naar 4 kanalen) van de I2C bus wordt door een speciaal IC verzorgd, de PCA9544. Met de laatste hardware update is het ook mogelijk geworden om deze I2C temperatuursensoren te vervangen door DS18B20 (One-Wire) sensoren. Op de HLT en MLT connectoren kunnen beide typen sensoren (I2C: LM92 of One-Wire: DS18B20) aangesloten worden.
Ondanks de complexiteit van het schema, is de achterliggende gedachte een eenvoudige. Namelijk het betrouwbaar uitlezen van sensoren (temperatuur en volume) en het aansturen van actuatoren (verwarmingselement, kleppen, gasbranders). En hiervoor is wat elektronica nodig!
2. PC-Interface
De communicatie tussen de PC en de brouwelektronica verloopt via de USB poort van de Arduino Nano. De Arduino Nano meldt zich bij Windows aan en, als je de standaard drivers voor de Arduino Nano geÏnstalleerd hebt, installeert dan direct een virtuele COM poort, bijvoorbeeld COM5. De verdere communicatie tussen het brouwprogramma (op de Windows PC) en de brouwelektronica verloopt dan via deze virtuele COM poort. De gebruikte instellingen zijn 38400,N,8,1, dat wil zeggen: 38400 Baud,geen pariteitbit, 8 databits en 1 stopbit. Zowel het brouwprogramma als de brouwelektronica dienen hierop ingesteld te worden.
Nadat dit gedaan is, verloopt de verdere communicatie via een eenvoudig communicatieprotocol met korte commando's. De volgende commando's (vanuit het brouwprogramma) en reacties (vanuit de brouwelektronica) zijn mogelijk:
- 'A0': Lees de waarden uit van alle temperatuursensoren. De brouwelektronica reageert bijvoorbeeld als volgt: 'T=18.00,65.11,65.02,55.3,20.00'
- 'A9': Lees de waarden uit van alle flowsensoren. De brouwelektronica reageert bijvoorbeeld als volgt: 'F=84.12,8.15,0.00,0.00'
- 'Bxxx': met xxx een decimaal getal tussen 0 en 100. Dit is de output van de PID regelaar en geeft de hoeveelheid warmtevraag voor de kookketel aan. Met B0 staat de brander uit, met B100 staat deze maximaal.
- 'Hxxx': met xxx een decimaal getal tussen 0 en 100. Dit is de output van de PID regelaar en geeft de hoeveelheid warmtevraag voor de HLT aan. Met H0 staat de brander uit, met H100 staat deze maximaal.
- 'L0' of 'L1': Zet de Alive LED uit respectievelijk aan
- 'P0' of 'P1': Zet de Pomp uit respectievelijk aan
- 'Vxxx': met xxx een decimaal getal tussen 0 en 255. Hiermee worden de kleppen aan en uit gezet. Met V0 worden alle kleppen uitgezet, met V1 wordt klep 1 aangezet, met V64 wordt klep 7 aangezet. Ieder bit in dit getal staat dus voor 1 klep. Wil je bijvoorbeeld zowel klep V1 als klep V3 tegelijk aanzetten, dan gaat dit met het commando 'V5'.
Verder zijn er nog enkele diagnostische commando's gemaakt om de werking van de brouwelektronica zelf te kunnen monitoren. Maar met de hier beschreven commando's kan de brouwelektronica aangestuurd worden. Door de communicatie op deze manier uit te voeren, kan ook met een simpel terminalprogramma de brouwelektronica van commando's worden voorzien. Dit is met name handig bij het testen en in gebruik stellen.
Iedere vijf seconden wordt alles, wat verstuurd en ontvangen wordt, opgeslagen in een log-file. Dit is handig bij foutzoeken. Een stukje uit die log-file ziet er dan als volgt uit:
File opened (28-05-2016, 16:34:23)
W25.110[S0]R5.25.220[E-Brew V2.0 rev.1.28]
W25.740[L0]
W26.240[L1]
W26.640[V0]
W26.640[P0]
W26.740[L0]
W27.240[L1]
W27.340[A0]R5.27.390[T=18.00,20.00,20.00,-99.9,20.00]
W27.640[V0]
W27.650[P0]
W31.270[L0]
W31.270[A0]R5.31.320[T=14.00,-99.9,20.84,-99.9,-99.9]
W31.320[V0]
W31.320[P0]
W31.320[A9]R5.31.380[F=0.53,0.00,0.00,0.00]
W31.750[L1]
W32.250[L0]
W32.250[V0]
W32.250[P0]
Terug naar boven
3. Temperatuursensoren
Mijn eerste ontwerp voor temperatuursensoren ging uit van een LM35, die voor iedere °C 10 mV aan spanning afgeeft. Deze waarde heb ik versterkt, waarna deze op een AD-converter ingelezen wordt. Het nadeel van deze aanpak is het relatief grote aantal ICs dat benodigd is.

Mijn huidige ontwerp gaat uit van een 12-bit + tekenbit digitale temperatuursensor, de LM92. Deze sensor heeft alle benodigde elektronica al aan boord. Het enige dat nodig is, is een aansluiting op de I2C bus. De 12-bit code die uitgelezen wordt, is de weergave van de actuele temperatuur. Dit IC is tot op 0.33 °C nauwkeurig. Het grootste probleem is om deze sensor betrouwbaar in je ketels te monteren. Dit heb ik opgelost door de temperatuursensor op een klein printje te monteren en deze in te gieten in een koperen pijp. Dat ingieten doe ik met giethars (met dan aan Marco Mantel voor het idee!).
Op de foto ziet je de LM92 op een klein printje gemonteerd (prototype). Die plak ik onderin een 22 mm koperen buis (uiteraard met de kabel er al aan gesoldeerd), waarna ik het pijpje vol laat lopen met giethars. Na een paar weken uitharden is een waterdichte constructie ontstaan, die vervolgens in de ketels gemonteerd kan worden.
Het adres van de LM92 op de I2C bus kan ingesteld worden door de pinnen A0 en A1 op 0 V (logische 0) of 5 V (logische 1) te leggen. Voor de sensor in de HLT gebruik ik adres 0x92/0x93 (A1=0, A0=1) en voor de sensor in de MLT gebruik ik adres 0x94/0x95 (A1=1, A0=0). Ik heb lang lopen zoeken naar temperatuursensoren, maar deze zijn helemaal perfect. Ik krijg direct een digitale code binnen, ik hoef geen aparte conversie/calibratie meer te doen (zoals bij een PT100 element), er is vrijwel geen elektronica meer nodig, ze zijn super nauwkeurig en ze werken altijd! Voor meer informatie over de constructie, inclusief design-files en source-code, verwijs ik naar mijn blog hierover: http://wordpress.vandelogt.nl/?p=13
Zijn we nu dan klaar met alle informatie over temperatuursensoren? Nee dus, veel collega's gebruiken One-Wire temperatuursensoren (DS18B20). Waarom? Omdat deze sensor al kant en klaar in een RVS behuizing gemonteerd is en ook nog eens erg goedkoop te vinden is op ebay. Onder hobbybrouwers zijn ze dan ook erg populair. Door deze in je brouwketels te monteren, hoef je dus niet meer zelf je sensoren in te gieten. Het inbouwen kan op een vergelijkbare manier gebeuren als voor de LM92 sensoren: in een koperen pijpje in de ketel.

Het one-wire protocol is een compleet ander communicatieprotocol dan de I2C bus. Maar omdat op de aansluitconnectoren van de temperatuursensoren (CON10 en CON11) nog aansluitingen niet gebruikt zijn, is het niet heel moeilijk om een van die vrije draden te gebruiken voor de one-wire bus. Lastiger wordt het als het om de aansturing en uitlezing van deze one-wire bus gaat: dat werkt namelijk op microseconden basis, nauwkeurige timing is dus heel belangrijk. Vaak wordt een standaard library van de Arduino gebruikt, een software oplossing dus. Omwille van betrouwbaarheid heb ik hier gekozen voor een hardware oplossing. Er is namelijk een standaard IC (DS2482-100) beschikbaar dat aan te sluiten is op de I2C bus en die een one-wire signaal naar buiten stuurt. Een I2C naar one-wire bridge dus. Dit IC is hier twee keer aanwezig, voor iedere sensor eentje (HLT en MLT temperatuur). Is dit overkill? Want het kan tenslotte ook met 1 IC. Misschien, maar nu kun je tijdens het brouwen een sensor loskoppelen en een andere hiervoor in de plaats aansluiten. De brouwelektronica kijkt eerst of er een I2C sensor (LM92) aanwezig is. Is die er niet, dan wordt een one-wire sensor geprobeerd uit te lezen. En dat allemaal via dezelfde connector als waar je ook de I2C sensoren op aansluit. De nieuw aangesloten sensor wordt direct door de brouwelektronica gebruikt en uitgelezen. Buitengewoon flexibel en handig dus. Het PC-programma merkt hier in feite helemaal niets van. Of je nu een LM92 of een DS18B20 sensor aangesloten hebt: het PC-programma krijgt een temperatuur toegestuurd van de betreffende ketel (HLT of MLT). En met de laatste hardware update is het mogelijk geworden om in totaal vier temperatuursensoren in te lezen: of allemaal One-Wire sensoren (DS18B20) of twee LM92 (I2C) sensoren en twee One-Wire sensoren. De extra sensoren worden gebruikt om de temperatuur in de kookketel te meten en om de temperatuur van het gekoelde wort te meten (na het koken, bij het koelen).
Terug naar boven4. Volume-metingen
Het meten van volumes in een ketel kan op verschillende manieren gebeuren. De meest gebruikte manieren zijn met een druksensor en met een flowsensor. Ik gebruik nu nog uitsluitend flowsensoren, omdat deze veel voordelen hebben t.o.v. druksensoren.

M.b.v. een Flowsensor: monteer een water flowsensor tussen twee ketels in, bijvoorbeeld tussen de HLT en de MLT. In de flowsensor zit een wieltje dat gaat draaien wanneer er een vloeistof doorheen stroomt. Dit signaal komt via de connectoren CON14 tot en met CON17 binnen bij de Arduino Nano, die het aantal pulsen telt. De gebruikte flowsensor is een FS300A opnemer en geeft ongeveer 330 pulsen per liter vloeistof af. Hiermee is het mogelijk om vrij nauwkeurig het aantal liters te bepalen. In deze situatie zijn wel altijd twee flowsensoren nodig: eentje tussen de HLT en de MLT en eentje tussen de MLT en de kookketel. Een derde flowsensor is ook nog gemonteerd op de uitgang van de tegenstroom koeler, zodat nauwkeurig het aantal liters bepaald kan worden dat het gistvat in stroomt. De hardware ondersteunt ook nog een vierde flowsensor, maar deze wordt nu nog niet gebruikt.
Terug naar boven5. Triac: Aansturing Pomp en verwarmingselement 3 kW

Het aansturen van de onderdelen die op 230 V werken (de pomp en het verwarmingselement), gebeurt door een aparte print (de 'Triac PCB') in de elektronica kast. Op de foto zie je links de Triac print zitten voor de Heater, rechts voor de pomp. Een Triac print krijgt een signaal binnen ('Heater' en 'Pump') van de brouwelektronica, waarmee respectievelijk een verwarmingselement en de pomp in/uitgeschakeld kunnen worden.
De meest gebruikte oplossing bij collega brouwers is om gebruik te maken van een Solid-State-Relais (SSR). Nu is het niet al te moeilijk om zelf je eigen SSR te bouwen, want er zijn speciale vermogenselektronica componenten op de markt, die hier uitermate geschikt voor zijn, zoals bijv. een Triac. Hier heb ik de BTA25H gebruikt. Deze kan tot 600 V schakelen bij een stroom van 25 A, meer dan voldoende dus. Het voordeel van deze triac is dat de achterkant geÏsoleerd is. Bij montage op een koelblok komt het koelblok dan ook niet onder spanning te staan.
De triac voor het verwarmingselement is voorzien van een koelplaat, waarop een LM35 temperatuursensor geplakt kan worden. De temperatuur van de triac kan op deze manier door het brouwprogramma continu gecontroleerd worden. Indien de temperatuur te hoog dreigt te worden, dan zal de triac uitgezet worden. LET OP: op de foto hierboven is een kleine koelplaat te zien (zonder de LM35). Deze is afdoende om een pomp te schakelen. Wanneer daadwerkelijk een 3 kW verwarmingselement geschakeld gaat worden, is een grotere koelplaat nodig!
Het merendeel van de intelligentie van het schakelen gebeurt door een speciaal IC, de MOC3043. Dit IC is voorzien van een nuldoorgangsdetectie. Dat betekent dat de triac wordt ingeschakeld wanneer de wisselspanning "door de 0 V gaat". Hiermee wordt een rustige inschakeling gegarandeerd, met weinig tot geen storing. Ook is het IC voorzien van een galvanische scheiding, zodat bij problemen aan de 230 V kant, er geen direct contact is met de overige elektronica (en de PC!). Als laatste wordt hieronder nog het schema en de print lay-out van deze schakeling gegeven:


6. Aansturing gaskleppen / branders
Sinds 2005 ben ik overgegaan op branders uit oude CV-ketels, zie Brouwinstallatie->Gasbranders, mede doordat mijn buurman, die loodgieter is, mij een aantal keren oude CV-ketels gegeven heeft, die ik mag slopen. In zo'n CV-ketel zit, naast een flinke brander, ook een gasklep. Zo'n gasklep is er ruwweg in een tweetal varianten:
- Niet modulerend: de gasklep staat dus AAN of UIT, een tussenstand is niet mogelijk. Deze branders worden meestal aangestuurd met een 24 V wisselspanning. Wel spanning, betekent gasklep staat open. Geen spanning betekent gasklep staat dicht.
- Modulerend: deze gaskleppen worden meestal aangestuurd met een PWM signaal (Pulse Width Modulated oftewel pulsbreedte gemoduleerd). Er is dus wat meer elektronica nodig om deze aan te kunnen sturen. De gasklep kan dus tussen 0% en 100% open staan (met alle waarden daar tussenin). Ideaal dus voor onze brouwinstallatie (waar de PID regelaar een signaal afgeeft tussen 0% en 100%).
6.1 Niet modulerende gasklep

Een niet modulerende gasklep hoeft dus alleen maar wel of geen 24 V wisselspanning aangeboden te krijgen. Op het schema zie je hoe dit gerealiseerd is (dit schema is een onderdeel van het totale schema van de brouwelektronicaprint). Op jumperblok CON4 staat 24V wisselspanning, waarmee de juiste configuratie ingesteld kan worden. Als een gasklep namelijk al voorzien is van een spanning, hoeft deze alleen nog maar via een zogeheten potentiaalvrij schakelcontact aangestuurd te worden. De brouwelektronica hoeft dan geen 24 V wisselspanning meer te leveren. Als dit het geval is, dan moet op jumperblok CON4 een verbinding gemaakt worden (met een jumper) tussen aansluiting 2 en 4.
Als een gasklep WEL een 24 V wisselspanning signaal nodig heeft (de situatie bij de meeste niet-modulerende gaskleppen), dan kan de brouwelektronica hier ook in voorzien. In dit geval moeten aansluiting 1 en 2 met elkaar verbonden worden EN aansluiting 3 en 4 met elkaar verbonden worden. Het feitelijke schakelen gebeurt via de signalen BOIL_NMOD en HLT_NMOD, die afkomstig zijn van de Arduino Nano, en wordt met een relais gedaan. De aansturing van zo'n relais gebeurt d.m.v. een transistor (de BC547). Het uitgangssignaal komt via connector CON9 bij de niet-modulerende gaskleppen terecht.
Uit de PID regelaar in het brouwprogramma komt een percentage (tussen 0% en 100%). Dit is de hoeveelheid warmtevraag. Dit signaal kan niet rechtstreeks gebruikt worden om dit relais aan te sturen. Als de warmtevraag groter wordt dan een vooraf ingestelde waarde (bijv. 40%), dan wordt het relais aan gezet. Het relais wordt pas weer uitgezet wanneer de warmtevraag onder een andere ingestelde waarde komt (bijv. 35%). Door deze hysterese wordt tevens voorkomen dat het relais en de brander gaan staan klapperen.
6.2 Modulerende gasklep

Bij een modulerende gasklep wordt de gasklep dus aangestuurd met behulp van een PWM signaal, zoals hiervoor al gemeld. Het plaatje laat een PWM signaal zien. Kenmerkend voor een PWM signaal is dat de frequentie van het signaal vast is. De meeste gaskleppen werken op een PWM signaal met een frequentie f van 25 kHz (de periodetijd T is dan 40 microseconden). De amplitude (hoogte van het signaal) ligt meestal tussen de 24 en de 28 Volt.
Bij een pulsbreedte van 50 % is het signaal dus net zo lang hoog als dat het laag is, bij een pulsbreedte van 20 % is het dus 20% van de periodetijd hoog en 80% van de periodetijd laag. Een PWM signaal van 100% is continu hoog, terwijl een PWM signaal van 0% continu laag is.
Om een modulerende gasklep aan te sturen hebben we dus het volgende nodig:
- Een voeding die 24..28 V gelijkspanning realiseert (naast de voeding voor de elektronica zelf)
- Een schakeling (oscillator) die een 25 kHz blokvormig signaal opwekt
- Een schakeling die de PWM signalen opwekt
Hier doet zich een belangrijk voordeel gelden van het gebruik van een microcontroller. Voor een microcontroller is het relatief eenvoudig om zo'n 25 kHz signaal op te wekken. Daar wordt hier dan ook dankbaar gebruik van gemaakt, zodat we geen aparte schakeling hiervoor hoeven te bouwen. In de ATmega 328 microcontroller wordt hiervoor Timer 1 gebruikt. Het brouwprogramma op de PC levert via het Bxxx en het Hxxx commando outputsignalen van de PID-regelaars aan (tussen 0% en 100%). Dit wordt door de Arduino aangeboden aan Timer 1, die hiervan een 25 kHz blokgolf opwekt met een duty-cycle die gelijk is aan het outputsignaal van die PID-regelaar. Via de outputs van Timer 1 (OC1A en OC1B) komen deze signalen (die in het schema BOIL_PWM en HLT_PWM heten) bij het PWM circuit terecht, waar hieronder het schema van gegeven is (ook dit is weer een onderdeel van het totale schema van de brouwelektronicaprint).

In het voedingsgedeelte is al 28 V gelijkspanning opgewekt, dit wordt nu samen met de PWM signalen aan een comparator met een open-collector uitgang (de LM393) aangeboden. Door gebruik te maken van de open collector uitgang van deze LM393, kan deze direct op de 28 V gelijkspanning aangesloten worden. De PNP transistor BC640 zorgt uiteindelijk voor de aansturing van de gasklep zelf. Via connector CON6 komen beide signalen uiteindelijk bij de modulerende gaskleppen terecht.
Terug naar boven7. Elektrische kleppen
De elektrische kleppen hebben 24 V DC nodig om in te schakelen. Het in/uit schakelen gebeurt onder regie van het toestandsdiagram. De hardware interface voor deze kleppen bestaat om te beginnen uit een 16-bit I2C IO expander, de MCP23017, omdat de ATmega328 microcontroller niet meer zoveel vrije IO pinnen heeft. Iedere pin van poort A van de MCP23017 stuurt 1 klep aan. Zo'n poortpin wordt aangesloten op een van de ingangen van een TD62783 Darlington Transistor Array. Dit IC bevat 8 Darlington transistoren die tot 0.5 Ampère kunnen schakelen. Omdat de elektrische kleppen alleen bij het in- en uitschakelen stroom trekken, is dit meer dan voldoende.Het schema van de kleppenaansturing wordt hieronder gegeven. Het is onderdeel van het totale schema van de brouwelektronicaprint.

In het schema zijn alleen de weerstanden R49 tot en met R56 nog niet besproken. Dit zijn zogeheten resettable fuses of PTCs. Deze laten een stroom van 0.5 Ampère prima door, maar zodra de stroom in de buurt van 1 Ampère komt, worden deze PTCs zo heet dat daardoor de weerstand ineens flink toeneemt. Hierdoor wordt de maximale stroom beperkt. In het geval van een kortsluiting voorkomen deze PTCs hopelijk dat er permanente schade aangericht wordt. Veel uitgangen van industriële PLCs zijn ook op deze manier beveiligd. Het is dus een goed idee om ze hier ook toe te voegen.
Terug naar boven8. Voedingsgedeelte
Het voedingsgedeelte van de brouwelektronica verdient apart aandacht, omdat er diverse spanningen met verschillende vermogens nodig zijn. In het architectuurontwerp zijn de volgende transformatoren zichtbaar:
- Een 230V/24V transformator met een vermogen van 10 VA (aan te sluiten op connector CON2). Deze wordt gebruikt om een 28 Volt gelijkspanning op te wekken die voor de modulerende gasbranders nodig zijn. Hiervoor wordt een LM317 gebruikt. Deze 28V DC wordt ook aangeboden aan een DC-DC omzetter die afgeregeld wordt op 10 V DC. Deze is intern op de print nodig. Deze 10 V DC wordt ook gebruikt om 5V DC op te wekken (m.b.v. een 7805). Deze trafo zorgt dus voor de 28 V, 10 V en 5 V spanningen.
- Een Switched Power-Supply die 24 V gelijkspanning levert bij 5 A. Dit is een kant en klare omzetter die via ebay aangeschaft is. Zoek maar eens op '24V switching power supply', dan vind je voor weinig geld kant en klare voedingen. De 5 Ampère rating is meer dan genoeg om de elektrische kleppen aan te sturen. De maximum stroom bedraagt daar ongeveer 1.5 Ampère.
Het schema van het voedingsgedeelte wordt hieronder weergegeven. Het is onderdeel van het totale schema van de brouwelektronica print.

9. Elektronica: behuizing en complete print
Alle elektronica is ondergebracht in een standaard metalen behuizing van Hammond. De maten zijn 17" (43.2 cm) breed, 4" (10.2 cm) hoog en 10" (25.4 cm) diep, typenummer is Hammond 1441-33BK3. De bijbehorende bodemplaat heeft typenummer 1431-30BK3. Voor zowel de voorkant als de achterkant heb ik frontplaten laten maken, via Tube-Town. Dat ziet er als volgt uit:

Op de voorkant zitten de volgende aansluitingen:
- Power schakelaar. Om alle elektronica in en uit te schakelen.
- Alive LED: de ALIVE indicator, knippert 1 keer per seconde. Hiermee is direct te zien of de software / hardware nog werkt en niet uitgevallen is (dat komt natuurlijk nooit voor, hooguit kan Windows eens vastlopen :-)
- Heater LED: als deze brandt, dan is het verwarmingselement ingeschakeld.
- Pump LED: als deze brandt, dan is de pomp ingeschakeld.
- LEDs voor de kleppen V1 t/m V8: als een LED brandt, dan is de bijbehorende klep ingeschakeld.
Op de achterkant van de behuizing zijn de volgende aansluitingen gemaakt:
- Vier 230 Volt aansluitingen (IEC female): eentje om de HLT gasklep aan te zetten, eentje om de gasklep van de kookketel aan te zetten en twee aansluitingen voor de pompen.
- Connectoren (RCA) voor een modulerende gasklep en voor een niet-modulerende gasklep.
- Vier RJ12 connectoren voor de vier temperatuursensoren in de HLT, de MLT, de kookketel en de uitgang van de tegenstroomkoeler.
- USB-Interface voor de verbinding met de PC.
- RJ45-Interface voor de netwerkverbinding met een thuisnetwerk.
- Vier connectoren (PS/2) voor de vier flowsensoren.
- Acht connectoren (Mini-XLR) voor de kleppen V1 t/m V8.
- 230 Volt aansluiting (IEC male).
De meeste deelschakelingen van de brouwelektronica print zijn hiervoor al behandeld. Hiervan is een professionele print gemaakt (bij IteadStudio) die er als volgt uitziet:

Hier nog een foto van een compleet opgebouwde print (v3.30) waar de Arduino Nano op gemonteerd is:

De kwaliteit van de printen is zodanig goed, dat je aan de hand van het silkscreen (de opdruk) zonder veel problemen de print kunt assembleren. Als laatste nog een foto van de voorkant van de print, zodat alle connectoren goed zichtbaar zijn:

Als je de sensoren met de bijbehorende kabels gaat maken, dan geeft onderstaand plaatje uitleg hoe de connectoren gemaakt moeten worden:

10. Assemblage en Onderdelenlijst
Ik krijg regelmatig verzoeken hoe een en ander na te bouwen is en wat de onderdelenlijst (Bill of Materials, BOM) hiervoor is. Het is echter onmogelijk om dit voor alle mogelijke configuraties op te geven. Dus ik geef hier een aantal standaard lijstjes weer, waarbij ik uitga van de volgende setup:
- HERMS systeem met drie ketels.
- Drie flowsensoren.
- Vier One-Wire temperatuursensoren: voor de HLT, de MLT, de kookketel en de uitgang van de tegenstroomkoeler.
- Twee modulerende gasbranders, eentje onder de HLT en eentje onder de kookketel.
Onderdelenlijst: installatie algemeen
- Drie RVS ketels met pijpjes op de juiste plaatsen gelast. Dit is echt iets dat je zelf moet zien te vinden. Zelf doen of laten maken, het zijn geen standaard componenten dit
- Twee Iwaki MD-30R pompen. Op tweedehands sites goed te vinden. Meeste pompen zijn goed, als het maar een magneetpomp is.
- Gasbranders. Ook speciaal en in ieder land weer anders. Geen standaard component, bij mij is dit een V4600N van Honeywell, spoel moduregeling is de V7335A en het komt uit een AGPO Ferroli 1324T CV-ketel
- Twee warmtewisselaars. Eentje voor montage in de HLT, de andere als tegenstroomkoeler. Of zelf maken (zoals ik gedaan heb).
- Elektrische kleppen: 6 stuks van ebay store Valves4Projects. Zoekterm: Ehcotech M21SE-1/2-E3BW motorized ball valve.
- Temperatuursensoren: 4 stuks DS18B20 one-wire temperatuursensoren. Op ebay prima te vinden (zoekterm: ds18b20 waterproof). Tip: bestel er direct vijf.
- Flowsensoren: 3 stuks FS300A flowsensoren met aansluiting G3/4". Componenten zijn op verschillende sites goed te verkrijgen.
- Diverse connectoren (RJ11, PS2) om de sensoren mee aan te sluiten.
- Veel, heel veel koperen leidingen met knel- en of soldeerkoppelingen.
Onderdelenlijst: Triac print
In deze configuratie zijn er ook drie Triac printen nodig die de pomp schakelen en de gasbrander van 230 V voorzien. De onderdelenlijst per Triac ziet er als volgt uit (dit heb je dus 3 x nodig!):

Onderdelenlijst: Brouwelektronica
Zonder twijfel het meest complexe stuk elektronica in het systeem. Hieronder een gedetailleerd overzicht van de componenten. De prijzen van de componenten zijn ter indicatie en veranderen nogal eens. Dit is het prijsniveau van juli 2015. Veel componenten zijn op ebay voor een fractie van deze prijs te vinden. Het loont dus de moeite even te gaan shoppen op ebay.

Als je soldeerskills niet zo goed zijn om het allemaal zelf te doen, dan kan je ook bij mij een print bestellen met de kleine SMD onderdelen er al op gesoldeerd. Mocht je een kant en klare geteste print willen hebben, dan kan dat eventueel ook. Wil je het zelf doen, zorg dan voor goede ESD maatregelen: een geaard polsbandje omdoen is dan wel het minimum.
Onderdelenlijst: Behuizing
Als laatste nog de onderdelenlijst van de behuizing van de elektronica met alle connectoren.

Bij dit overzicht staat nog niet vermeld dat je ook nog het nodige geÏsoleerd draad nodig hebt in verschillende diktes.
Terug naar boven11. Datasheets van componenten
Hier volgt nog een overzicht van de belangrijkste ICs die gebruikt zijn.
- BTA25H, Triac (600 V, 25 A) wel geïsoleerd
- LM393, Opamp / Comparator met open-collector uitgang
- LM35, Analoge temperatuursensor (10 mV/°C)
- LM92, Digitale temperatuursensor (12-bit + tekenbit, 0.33 °C nauwkeurig, I2C)
- DS18B20, Digitale temperatuursensor (11-bit + tekenbit, 0.50 °C nauwkeurig, One-Wire)
- MCP23017, 16-bit I2C IO-port expander
- MOC3043, Triac driver met galvanische scheiding en nuldoorgangsdetectie
- PCA9544, Multiplexer (4 kanalen) voor I2C-bus
- TD62783 8 ch High Voltage Source Driver