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.
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.
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...).
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.
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
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
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
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.
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ø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.
Billede fra tempcontrol over mæsketemperatur (den grå linie har jeg indtegnet bagefter).