Temperaturstyring under mæskning med TempControl [artikel af Casper Sønderby]

Tempcontrol er et program som gør det muligt at kontrollere et varmelegme, til at varme urten under brygningen med. Programmet kan indstilles til at tænde/slukke for varmelegemet når urten er X antal grader. Det skulle dermed være muligt at bruge TempControl og noget elektronik til at styre mæsketemperaturen "automatisk". Alle nødvendige dele skulle gerne være beskrevet på denne hjemmeside. Derudover viser Tempcontrol også en graf over temperaturmålingerne så man nemmere får et overblik over temperaturudviklingen. Denne funktion syntes jeg selv er meget brugbar da den giver et meget bedre indtryk af hvordan mæskningen er forløbet end man ellers ville have fået.

Det skulle i også være muligt at styre f.eks. en fryser/køleskab eller lignenden under lagringen af øllet, dette kræver dog at en computer med programmet på, kører over hele perioden. 

Tempcontroldiagram

Overstående billede viser hvordan temperaturstyringen af mæskningen virker.

Som det ses af ovenstående illustration virker temperaturstyringen ved at en/flere sensorer måler temperaturen på urten. Målingerne læses af et eletronisk kredsløb(beskrevet længere nede på denne side), og sendes videre til computer via serielporten. Tempcontrol styrer så et/flere relæer via computerens parallelport, til at tænde eller slukke for varmelegemet.

Programmet kan hentes via dette link: TempControl v. 0.1


Kildekoden til programmet kan hentes som et Visual Studio Express projekt, programmet er skrevet i C#: tempcontrol_source_01.zip

For at læse temperaturerne fra temperaturmåleren kræver det at der er en serielport(også kaldet comport) på computeren. Hvis funktionerne med at styre relæer eller lignende også vil benyttes skal der også være en paralleport(også kaldet printerport).

Programmet skulle være kompatibelt med alle computere med Win98/SE/2000/XP hvorpå der er installeret .netframework 2.0.
Dette kan hentes her http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en

Progammet et udgivet under GPL licensen og er derfor helt gratis. Alle er velkomne til at forbedre på programmet som de lyster. Se mere om GPL på http://www.gnu.org/copyleft/gpl.html.

Programmet anvendes på EGET ANSVAR, og undetegnede kan på ingen måde gøres ansvarlig for eventuelle skader på computer/udstyr eller dem selv, også selvom dette skyldes en åbenlys fejl i programmet, se eventuelt GPL licensen for nærmere detaljer. Det er brugerens eget ansvar at bedømme om informationer på denne hjemmeside er brugbare til noget som helst bestemt formål.



Eventuelle spørgsmål kan stilles til Casperkaae "snabela" gmail.com

Temperatur måleren


Selve temperaturmåleren understøtter fire digitale temperatur målere af typen Dallas DS18S20. Mere information om kredsløbet kan ses på http://quozl.us.netrek.org/ts/. Det elektroniske kredsløb kan f.eks købes på http://www.eekit.dk/ eller http://www.quasarelectronics.com/.
(bemærk at der begge steder kun følger en temperatur sensor med, de tre resterende skal købes seperat)

Når elektronikken er anskaffet er det blot at få det loddet sammen efter vejledningen - hvilket er ikke er særligt svært, og så få det tilsluttet computeren og se om det virker.

Det er nødvendigt at anskaffe dette stykke elektronik for at kunne bruge Tempcontrol til noget som helst...

Styring af elektrisk udstyr med TempControl
Det er muligt at styre diverse elektriske apperater via parallelporten med TempControl. Dette fungerer ved at TempControl indstilles til at hæve spændingen på et pin på parallelporten når et givet kriterium er opyldt. F.eks. når temperaturen overstiger X antal grader etc.
De fire temperaturmålere er tilknyttet hver deres ben på parallelporten:
Måler 1 = Data 0 = Pin 2            (se evt illustration under "brug af progammet)
Måler 2 = Data 1 = Pin 3
Måler 3 = Data 2 = Pin 4
Måler 4 = Data 3 = Pin 5
Pin nummeret angiver den faktiske pin(numrene kan som regel ses på stikkene) som temperaturmåleren er tilknyttet

PIN: 18,19,20,21,22,23,24, 25 = GROUND

High =  spænding(2.6V) på det pågældende pin.
Lov = 0V på det pågældende pin.
Nedenstående kredsløb kan bruges som et test-kredsløb hvorpå en/flere dioder(led) vil lyse når en/flere af parallelportens datapins er sat til sat til high(2.6V). ULN 2803 kan nærmerst beskrives som otte transistorer i en. Når en af parallelportens datapins er sat til High, "åbnes" der derfor til de 9 V til dioden og denne lyser.

Simpelt elektronisk test kredsløb

billede venligst lånt fra http://www.epanorama.net/circuits/parallel_output.html#multiout se mere info der.

Et "rigtigt" elektronisk kredsløb til at styre 230 V strøm kunne se ud som nedenstående. I dette kredsløb vil der være "tændt" for 230 V strømmen når parallelportpinnen forbundet med solid state relæet er high. Jeg skal dog gøre opmærksom på at jeg ikke har nogen relevant uddannelsesmæssig baggrund for at designe sådanne kredsløb, og dette skal derfor kun ses som et forslag (men det fungerer glimrende for mig og jeg har brugt det til flere bryg uden problemer...).

Solid state relæ 

Komponenter:
-Solid state relæ - 2x Sharp S216SE2
-Transistor - 2N2222A eller lignende
-Modstande - 2x 50 Ohm og en ca. 390 Ohm
-Hanstik til parallelporten
-Kontakt til at afbryde strømmen i kredsløbet.

+ diverse ledninger, printplade, netstik osv,

Relæerne tilsluttes ligesom dioder, og man skal derfor huske at vende dem rigtigt på input-siden(lavstrømssiden). Plus og minus er markeret. På højspændingssiden kan man ikke vende relæerne forkert. 

Transistoren skal tilsluttes ligesom det er vist på nedenstående billede.

Solid state relæ - s216se2Transistor


Princippet bag designet er at man udnytter den svage strøm fra parallelporten til at kontrollere en transistor som styrer et solid state relæ. 1.5 v plus og minus kan f.eks., fås fra et normalt AA batteri eller lign.
Kredsløbet tilsluttes en af pins'ene 2-5 på parallelporten og en ground pin  (denne kan deles mellem alle de tilsluttede kredsløb) Det er derfor muligt at tilslutte fire af disse kredsløb og styre dem med TempControl på en computer. 

Som det ses af nedestående illustration styrer de forskellige målere henholdsvis:


1.  Temperaturmåler -> pin 2/ D0
2.  Temperaturmåler -> pin 3/ D1
3.  Temperaturmåler -> pin 4/ D2
4.  Temperaturmåler -> pin 5/ D3


Brug af programmet

Billede af hovedvinduet i TempControl



1) Navn på de fire temperaturmålere, dette kan indstilles under Filer->Indstillinger, og de aktuelle temperaturer.

2) Indstiller hvordan programmet skal styre styre den parallelport pin som er tilknyttet den pågældende temperaturmåler. Der forskellige indstiller er:

Altid aktiv                                    = Parallelport pinnen tilknyttet måleren er altid high.
Altid deaktiv                                = Parallelport pinnen tilknyttet måleren er altid low.
Aktiv når temperaturen er over     = Parallelport pinnen tilknyttet måleren er high når den målte temperatur er over grænsetemperaturen.
Aktiv når temperaturen er under   = Parallelport pinnen tilknyttet måleren er high når den målte temperatur er under grænsetemperaturen.

3) Indstiller grænsetemperaturen for hver måler, se overstående for mere info. Hvis programmet skal bruges til at temperaturstyre mæskningen er det denne temperatur som progammet forsøger at ramme. Derudover skal indstillingen for den "styrende" måler være sat til "aktiv når temperaturen er under".

4) Det røde eller grønne billede hviser om pinnen på parallelporten tilknyttet måleren er aktiv(high) eller deaktiv(low). procenttallet bagefter beskriver hvor stor effekt enheden kører med. F.eks. 50% betyder at et 2000 W varmelegme kører ved 1000 W. Det vides dog ikke hvor godt denne funktion virker pt.

Reducer effekt grænse indstilles, hvis det ønskes at programmet skal skrue gradvist ned for effekten på den tilknyttede enhed, jo nærmere den målte temperatur kommer på grænsetemperaturen. Hvis Reducer effekt grænsen instilles til f.eks. 5 C vil programmet derfor begynde at skrue gradvist ned for effekten, hvis den målte temperatur er mindre end 5 grader for grænsetemperaturen.

5) Slåes til hvis det ønskes at de målte temperaturer skal gemmes i en logfil. Filen gemmes i samme mappe som TempControll ligger i med det angivne navn. Filen er kommaformateret(benyttes ved import til f.eks. regneark)
Format er således:     07-12-2006 20:05:38,7430,22,75
                                 kl. for logning, sek fra start af program, temperatur

Der logges hvert 10. sekund.

Graf vinduet
Graf

Her kan ses et billede af den graf som tempcontrol generer. De fire "hakkede" kurver er de målte temperaturer, og den vandrette er grænsetemperaturen for den første måler. Indstillingerne skulle være selvforklarende. Tiden angives i sekunder da jeg ikke kunne finde nogen brugbar løsning på at få den formatteret til minutter, timer etc, så det må man selv gøre hvis man vil :).

Hvis man ønsker at zoome ind på et område gøres det ved at holde musen nede og "trække" en firkant over det ønskede område. Der zoomes ud igen ved at højreklikke og vælge "undo all zoom/pan".
Derudover kan man eksportere grafvinduet som en billedefil ved at højreklikke på det og vælge "export".

Filer -> Indstillinger
indstillinger
I dette vindue kan man konfigurere de forskellige indstillinger for TempControl. Comport(Serielport) er den som temperatur målerne er tilsluttet.
Paralleport(printerport) er den port som det elektroniske kredsløb bruger til at styre relæer etc.

De forskellige portnumre henviser til en bestemt "adresse" for porten, derfor kan det godt være at du skal vælge LPT3 selvom din parallelport hedder LPT1 på din computer. Tjeck eventuelt Enhedshåndtering -> Porte(COM  LPT) -> Printerport(LPT) -> fanebladet "ressourcer".
Her skulle du gerne kunne se I/O-område for din parallelport, og en af disse "adresser" skulle gerne starte med følgenge.
 
0378 -> vælg LPT1
0278 -> vælg LPT2
03BC -> vælg LPT3

Derudover kan navnene på de forskellige målere indstilles, og målerne kan kalibreres. Kalibrering benyttes hvis en måler f.eks. konsekvent måler 0,5 grader mere end de andre, så kan de kalibreres til -0.5 og programmet sørger så for at målingen skulle være mere korrekt.

Referencer
http://www.epanorama.net/circuits/parallel_output.html
http://quozl.us.netrek.org/ts/
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en
http://quozl.us.netrek.org/ts/

"Det færdige sæt"

Nedenfor kan ses nogle billeder af hvordan jeg har monteret temperaturmålerne og "relæ-kredsløbet". Derudover er der også et billede af de temperaturer jeg har målt under mæskningen af et bryg, hvor dette program plus elektronik er blevet brugt til at styre temperaturen. Indtil videre er jeg rigtigt tilfreds med hvordan det fungerer. Efter jeg har fået sat en pumpe på til recirculation er det stort set muligt at lade mæskningen passe sig selv, også bare indstille den ønskede mæsketemperatur.


Temperaturmålere i grydeTemperaturmålere i gryde 2
Her ses to temperatur målere som jeg har monteret i min "lund" si. Begge målere er monteret i et hjemmeloddet kobberhylster hvor der er trukket silikone slange udover for holde sensor og ledninger tørre.

Relæ-kredsløb
Relæ-kredsløbet monteret i en plastboks. Jeg har sat en lille blæser i boksen så jeg er sikker på at relæerne ikke bliver for varme.

Elektronik til temperaturmålerne monteret i plastboks
Elektronik til temperaturmålerne monteret i plastboks.

Mæsketemperatur
Billede fra tempcontrol over mæsketemperatur (den grå linie har jeg indtegnet bagefter).