CO2 Laser Water Chiller (8 / 12 stap)

Stap 8: De thermostaat schets

Vereiste bibliotheken

De schets van de Arduino is aangesloten. U moet de volgende libraries geinstalleerd om te compileren en gebruiken:

  1. Privacy - gebruikt om te lezen de digitale waterbestendige Thermometer IP65
  2. LiquidCrystal_I2C - gebruikt voor de seriële LCD

Ik beveel het bouwen van een klein circuit en schetsen om te testen van elk onderdeel vóór de bouw van het grotere circuit, enkel voor het geval er iets veranderd en u een andere bibliotheek moet.

De Sketch-bestand

Als u wenst te gebruiken mijn schets als-is, het is aangesloten op deze stap als Thermostat.ino. Als u mijn circuit hebt gevolgd, moet het zonder veranderingen werken met uw Arduino Uno (of klonen).

Hoe het werkt...

De thermostaat is vrij eenvoudig, en niet in tegenstelling tot de thermostaat kunt u controle van de temperatuur in uw huis. De LCD geeft de huidige watertemperatuur in Fahrenheit en Celsius op de eerste regel, en de huidige instelling op de tweede regel. Wanneer de watertemperatuur hoger dan de instelling is, de pomp en chiller zijn ingeschakeld. Wanneer de temperatuur 1,75 F ° onder de instelling daalt, zal de chiller, pomp en fans alle afsluiten totdat de temperatuur weer boven de instelling stijgt.

Input Lockout

Vanwege de moeilijke op het krijgen van een schoon signaal uit de Arduino Interrupt-pinnen (misschien is dit is een probleem met mijn oude overdreven gebruikte Arduino Uno? Of misschien is het vanwege het lawaai van de rest van het circuit), ik heb een "Instelling Lock"-functie toegevoegd. Om te veranderen van de thermostaat de instelling die u moeten ingedrukt houden zowel de UP en DOWN knoppen gedurende 1 seconde. Wanneer dit is vastgesteld, het LCD-scherm verschijnt het bericht "---UNLOCKED---" op de bovenste regel en "Voer Temp:" op de tweede regel voor 3/4 van een seconde. Hoewel ontgrendeld, kan de knoppen omhoog en omlaag te verhogen of verlagen van de instelling van de thermostaat worden gebruikt. Als geen toetsen zijn ingedrukt gedurende 10 seconden, is de input vergrendeling hersteld. Als beide knoppen ingedrukt en overgedaan gelijktijdig voor 1 seconde de vergrendeling is ook hersteld, maar wees gewaarschuwd dat het moeilijk zijn kan om druk op beide knoppen tegelijkertijd zonder stuitert waardoor de temperatuur instelt op vergroten of verkleinen door één of twee. Voor die reden die u wilt mogelijk liever gewoon laat het systeem opnieuw te vergrendelen op eigen door verlaten de knoppen onaangeroerd gedurende 10 seconden.

Het lezen van de temperatuur

Gelieve te lezen via de schets voor alle details over hoe de code werkt. Ik zal hier alleen gedeelten van het markeren. In het bijzonder de TemperatureModule klasse maakt gebruik van de bibliotheek van de privacy 2 om te lezen van de temperatuur van de DS18B20 in de IP65 digitale waterdichte temperatuur sonde. De klasse TemperatureModule is gebaseerd op code in de DS18x20_Temperature, privacy 2 voorbeeld schets. Het biedt slechts twee methoden: Initialize() en ReadTemperatureF(). Initialize() moet worden aangeroepen voordat ReadTemperatureF wordt aangeroepen voor de eerste keer. ReadTemperatureF geeft de temperatuur in Fahrenheit en zal vervullen in een doorgegeven variabele met de temperatuur in Celsius. Een exemplaar van TemperatureModule wordt verklaard op lijn 171 van de schets, na de definitie van de klasse:


U zult opmerken ook g_lcd op lijn 172 - een exemplaar van LiquidCrystal_I2C. Beide van deze globale objecten maken gebruik van macro's die zijn gedefinieerd boven in het bestand. Deze macro's worden ook elke PIN van de Arduino gebruikt door de schets definiëren:

Setup

Regels 1 tot en met 3 bevatten de bibliotheken die worden gebruikt door deze schets. Op regel 3 ziet u het opnemen van EEPROM.h. Dit zal worden gebruikt tijdens setup, en nadat de instelling van de thermostaat wordt aangepast om op te slaan van de temperatuur in de Arduino de EEPROM zodat het is onthouden over het opnieuw instellen van macht. De temperatuur wordt opgeslagen als één byte en toegestaan temperatuur instellingen gaan vanaf 35° c tot 85° F. Dit lijkt een redelijk bereik voor onze doeleinden en met behulp van één byte de waarde op te slaan de dingen zijn vereenvoudigd.

De Setup-functie van de schets zal eerst een paar globale variabelen gebruikt om te debounce onze switches drukknop instellen. Nadat dit is zal de pens-modus voor elke pin ingesteld gebruiken we (lijnen 255 via 260):

Lijn 261, wij Stel op de Chiller aan de Off staat en op regel 263 via 269 de temperatuur instelling is lezen van de EEPROM en tot 56° F als de huidige waarde buiten het bereik valt. Lijnen 271 via 273 initialiseren I2C LCD-bibliotheek en omdat het duurt ongeveer een seconde voor het initialiseren van de TemperatureModule, de mededeling "Initialiseren..." op het LCD-scherm verschijnt totdat de temperatuursensor is gedetecteerd (lijnen 278 via 280). Een extra 1 seconde wachten wordt gedwongen op lijn 281--dit lijkt te worden verlangd door de privacy-bibliotheek voor het goed lezen van de temperatuursensor.

Met alles anders geïnitialiseerd we Interrupt 0 hechten aan de functie BumpSettingsUp op lijn 283, onderbreken van 1 tot en met BumpSettingsDown op lijn 284 en inschakelen interrupts (lijn 285).

De functies BumpSettingsUp en BumpSettingsDown controleren om te zien als de input is vergrendeld. Als het niet is, zal ze vergroten of verkleinen van de g_uiTemperatureSetting, zolang de interrupt (veroorzaakt door een push) voldoet aan de eisen van de tijd niet kwalificeren als een schakelaar bounce. Deze twee functies zorgen ook de instelling blijft tussen 35 en 85 graden.

Hier niet getoond, is BumpSettingsDown() die identiek aan BumpSettingsUp, is behalve dat het de waarde in g_uiTemperatureSettings daalt. Er zijn ook een paar andere functies gebruikt als helpers zoals OutputLCDLine() die een tekenreeks wordt weergegeven op de regel een of twee van de LCD. De functie TurnCoolingOnOrOff hieronder wordt gebruikt om in te stellen van alle 4 Relais naar de positie ON of OFF en naar record of dingen ON zijn of OFF in g_bCooling:

De functie ToggleInputMode wordt aangeroepen wanneer beide knoppen zijn ingedrukt gedurende één seconde of na 10 seconden geen toetsen worden ingedrukt terwijl input ontgrendeld wordt. Zoals u het zien kunt registreert een nieuwe instelling in de EEPROM-sleuf 0:

Deze dubbel-knooppers controle wordt gedaan door de helper functie CheckLockUnlock():

Dit alles leidt tot de hoofdlus:

In deze eerste helft is er een controle om te zien als de gebruiker is het ontsluiten van input. Als 10 seconden is verstreken sinds een knop heeft ingedrukt, terwijl input is ontgrendeld, kan de code op lijnen 373 via 379 zal ervoor zorgen dat de vergrendeling is hersteld.

Op regel 383 de huidige instelling van de thermostaat op de tweede regel van het LCD-scherm wordt weergegeven, en op lijn 387 de huidige temperatuur is lezen van de thermometer. Het wordt weergegeven op de eerste regel van het LCD, op regel 397. Omdat de instelling van de thermostaat is geconverteerd naar een float op regel 385 kan een eenvoudige vergelijking worden gedaan om te zien of de Chiller moet worden ingeschakeld:

Als de huidige temperatuur hoger dan de instelling van de thermostaat is de Chiller altijd aanstaat (lijn 406). Anders controleren we om te zien of de temperatuur 1,75 graden onder de instelling is, en zo ja de Chiller is uitgeschakeld.

Op lijn 418 per één seconde vertraging optreedt om tijd voor de thermometer correct opnieuw worden ingelezen en de lus opnieuw is ingevoerd.

Gerelateerde Artikelen

CO2 Laser Water Flow Monitor - Arduino aangedreven / Windows Controlled

CO2 Laser Water Flow Monitor - Arduino aangedreven / Windows Controlled

CO2 Laser Water Flow Monitor- en AlarmAangedreven door een Arduino en gereguleerde door aangepaste software op een Windows PCOm het verlengen van de levensduur van een CO2 -laser-buis is het noodzakelijk aan pomp koelwater doorheen actief is. Als de
Hoe meet je CO2 laser zet een Laser Gravure Machine en Laser snijmachine met behulp van een vereenvoudigde (low-cost) CO2-laser power meter

Hoe meet je CO2 laser zet een Laser Gravure Machine en Laser snijmachine met behulp van een vereenvoudigde (low-cost) CO2-laser power meter

meest CO2 laser power meter zijn erg duur en zijn uitgerust met mogelijkheden tot ver buiten wat de gemeenschappelijke laser machine exploitant/eigenaar moet.  Deze instructies weergeven een sub-$100 laser power meter sonde op het werk, snelle laser
Ter vervanging van een CO2-laser-buis

Ter vervanging van een CO2-laser-buis

SAFETY FIRST - Lasers zijn gevaarlijk, ik ben ervan uitgaande dat u dit weet en je weet wat je doet met lasers en soldering strijkijzers. Nooit uitgeput een laser buis buiten de laser-chassis, nooit verslaan elke veiligheidssystemen voor uw laser cut
How to convert 220V naar 110V op een Chinese CO2 Laser Power Supply

How to convert 220V naar 110V op een Chinese CO2 Laser Power Supply

Dit instructable biedt een stapsgewijze aanpak voor het veranderen van de voeding van een Chinese CO2-laser van een ingangsspanning van 220 v AC naar 110V AC. Ik bewerking deze regelmatig als mijn klanten veranderen hun eisen, of ze gewoon in de VS l
Het gebruik van een 200 watt CO2 laser macht sonde voor het meten van CO2 laser macht

Het gebruik van een 200 watt CO2 laser macht sonde voor het meten van CO2 laser macht

deze video laat zien hoe u de Mahoney CO2 sonde voor de macht van de laser.  De CO2 sonde voor de macht van de laser is een algemeen gebruikte en noodzakelijk apparaat te:1. maatregel laser vermogen voor laser instellingen na verloop van tijd. Of u e
Het gebruik van een CO2-laser macht sonde te certificeren van de CO2 laser is het uitvoeren van garantie specificaties

Het gebruik van een CO2-laser macht sonde te certificeren van de CO2 laser is het uitvoeren van garantie specificaties

de video een demonstratie van de steekproef van de Mahoney sonde voor de macht van de laser en een beschrijving van hoe het mij gered van een nep verkoper van CO2 laser buizen.Mijn verhaal is als volgt:De nep verkoper had mij een 150 watt laser verko
Het gebruik van een CO2-laser macht sonde voor het meten van laser uitgangsvermogen te vinden van een slechte spiegel

Het gebruik van een CO2-laser macht sonde voor het meten van laser uitgangsvermogen te vinden van een slechte spiegel

deze video laat zien hoe u de Mahoney CO2 sonde voor de macht van de laser.  De CO2 sonde voor de macht van de laser is een algemeen gebruikte en noodzakelijk apparaat te:1. maatregel laser vermogen voor laser instellingen na verloop van tijd. Of u e
Het gebruik van een 500 watt CO2 laser power meter sonde

Het gebruik van een 500 watt CO2 laser power meter sonde

deze video laat zien hoe u de Mahoney CO2 sonde voor de macht van de laser.  De CO2 sonde voor de macht van de laser is een algemeen gebruikte en noodzakelijk apparaat te:1. maatregel laser vermogen voor laser instellingen na verloop van tijd. Of u e
Lasergravure ipod met CO2 laser

Lasergravure ipod met CO2 laser

dit toont aan hoe kunt u een ipod graveren met een persoonlijke laser gravure / etsen.u ontwerpt uw bestand op een PC of MAC-programma, en vervolgens verwerken deze afbeelding aan de laser en het resultaat is een permanente markering op de ipod.de CO
CO2 laser dat plaatwerk snijdt

CO2 laser dat plaatwerk snijdt

Let op: Ik ben echt niet concurreren om te winnen van de laser, een t-shirt zou prima, bedankt.Ik zag de competitie en dacht dat het zou leuk om te pronken met mijn systeem.Inleiding. Het algemene idee van deze CO2-lasersysteem is dat een lichtbundel
Hoe om te testen en het instellen van een Chinees (China) CO2 Laser Power Supply gemaakt om de lange levensduur van uw CO2-Laser buis voor uw graveer en Laser Machine snijsysteem

Hoe om te testen en het instellen van een Chinees (China) CO2 Laser Power Supply gemaakt om de lange levensduur van uw CO2-Laser buis voor uw graveer en Laser Machine snijsysteem

veilig zijn bij het uitvoeren van dit project.VEILIGHEID IS ZEER BELANGRIJK.  ALS JE HET VERKEERD DOET KUNT DAN U WORDEN GEËLEKTROCUTEERD.  DE COMBINATIE VAN HOGE SPANNING EN KRACHT KAN DODELIJK ZIJN.  VOLG DE ONDERSTAANDE INSTRUCTIES. NIET AFWIJKEN
Woodblock afdrukken met een Epilog Mini/Helix Co2 Laser Cutter

Woodblock afdrukken met een Epilog Mini/Helix Co2 Laser Cutter

dit is hoe het bouwen van een eenvoudige hout blok print set met behulp van enkele 1/4"-bord en een laser cutter. Ik ben een nerd kunst geschiedenis en een kunstenaar, dus ik weet dat de beste manier om iets te leren terwijl het maken van een leuk pr
Hoe te opstelling uw volledige Spectrum Laser Water Cooling System

Hoe te opstelling uw volledige Spectrum Laser Water Cooling System

kreeg ik mijn Full Spectrum Gen 5 Hobby laser cutter / graveur vandaag, zijn er een paar extra dingen nodig om een van deze lasers up and running. Dit instructable gaat over de minimale vereiste stappen voor uw laser voor waterkoeling.Dit is een link
CO2 Laser Kruis aanwijzer

CO2 Laser Kruis aanwijzer

De laser machines hebben verschillende lens opties en hebt u 2 inch lens of met langere brandpuntsafstand u bent vrij ver van het werkstuk.Ook afhankelijk van de dikte van het materiaal kan je wilt verplaatsen van het materiaal dat beetje dichter of