Låg kostnad och korrekt inkubator för DIY biologi (4 / 8 steg)

Steg 4: Arduino koden

I nästa steg diskuterar vi hur du kan styra denna krets med Arduino koden. Du kan enkelt ladda ner och köra vår kod. Resten av detta steg går in i de blodiga detaljerna i hur koden fungerar. Observera att vissa delar av vår kod är baserade på Arduino's AC fas styrning handledning och vi återanvändas någon del av den kod som det är.

Arduino UNO styrelsen innehåller en ATmega328P 16MHz mikroprocessor. För att utlösa AC fas styrkretsen på just tidsinställda intervaller vi utnyttjade hårdvara timer avbryta funktioner ATmega328. Så om du inte är bekant med begrepp som timers, registret svämmar över och prescaling, den här artikeln förklarar dem bättre.

Innan vi går in kodning vi måste göra vissa grundläggande beräkningar. AC signalen är 60 Hz. (oroa dig inte om du har 50Hz i ditt land, kan du åter beräkna det enkelt) det betyder AC signalen korsar noll, når topp positiv spänning, korsar noll igen, når topp negativa spänning och återgår till noll 60 gånger per sekund. Perioden (lång tid detta tar) är 1/60 eller 0.01667 sekunder (16.67 millisekunder). Således, en halv cykel eller tiden mellan noll-korsning pulserna uppstår i 8,33 millisekunder.

Härifrån och framåt kommer vi bestämma tidsintervall i koden från klocka räknas, inte av sekunder. Går Arduino klockan 16 MHz, vilket är 16,000,000 cyklar per understöder: en klockcykel tar 0.0625 mikrosekunder. En enda hälften cykel 60 Hz AC signalen innehåller 133,333 klockcykler. Den 16-bitars tidtagare (timer1) av Arduino Uno kan bara räkna till 65535. Så behöver vi konfigurera som med en prescaler. I den här koden använde vi en 256 prescaler. Med 256 prescaler innebär hälften en cykel ca 520 timer steg. Av praktiska skäl (smärre förändringar i utbudet frekvens och triac operativa förseningar) ansåg vi det som 450. Detta försäkrar att triac föraren har tid att stänga av innan den närmaste halva cykeln. Så kontrollerade vi väntetiden innan du slår på triac inom intervallet 1-450 inuti varje halv cykel till kontroll effekten. Vi använde komparator match avbrott för detta. Vi använde timer overflow avbryter du styra signalen till triac gate och puls bredd 4 timer räknas. Här, når när pulsen skickas till utfärda utegångsförbud för av triac, det startar växelspänning och kommer att förbli ON även efter pulsen tas bort tills nästa gång AC vågen noll. (Om du inte är bekant med Triac's operation Detta är en bra artikel.) På grund av detta behöver vi inte oroa om avstängning av en triac.

Följande kodutdrag visar den AC fasen kontrollera logik.

#define identifiera 2 / /noll cross upptäcka

#define GATE 9 / /triac gate

#define puls 4 / /utlösa pulse bredd (räknas)

Ställ in Timer1(16-bit)

OCR1A = 100; initiera motsvarigheten

TIMSK1 = 0X03; Aktivera komparator A och overflow avbryter

TCCR1A = 0X00; timer kontrollregistren för

TCCR1B = 0X00; normal drift, timer inaktiverad

Ställ in noll korsning avbrott

attachInterrupt (0, zeroCrossingInterrupt, RISING);

noll cross upptäckt

void zeroCrossingInterrupt() {

TCCR1B = 0X04; starta timer med division med 256 ingång

TCNT1 = 0; Reset timer - räkna från noll - räknas tills det motsvarar värdet som komparator

}

jämförelseperson match - nått förväntade förseningen

ISR(TIMER1_COMPA_vect) {

digitalWrite(GATE,HIGH); Ställ triac gate till hög - slå på leverans

TCNT1 = 65536-PULS; trigger bredd för synkpuls

}

timer1 overflow - puls nådde dess bredd

ISR(TIMER1_OVF_vect) {

digitalWrite(GATE,LOW); stänga av triac gate

TCCR1B = 0X00; inaktivera timern för att stoppa oönskade utlösare

}

Kontroll av temperatur

Vi är nu klar med den svåraste delen av vår kod. Nästa är att kontrollera kraft (eller fördröjningstiden) enligt nuvarande temperatur värdet och önskat mål temperatur. För att läsa värdet temperatur använde vi i Adafruit_MAX31855 bibliotek. För att genomföra kontrollmekanismen använde vi PID styrlogik. Oroa dig inte om det låter lite komplicerat. Lyckligtvis har vi en Arduino bibliotek för detta. Följande utdrag visar koden för detta.

#define 3

#define CS 4

#define CLK 5

Adafruit_MAX31855 termoelement (CLK, CS, DO);

dubbel setPoint, ingång, utgång; Definiera variabler vi kommer att ansluta till

dubbel Kp = 2, Ki = 6, Kd = 1; Ange länkar och inledande trim parametrar

PID myPID (Input, Output, & setPoint, Kp, Ki, Kd, direkt);

myPID.SetMode(AUTOMATIC);

myPID.SetOutputLimits (0, 449); Ange de

inuti loop-metoden

dubbla c = thermocouple.readCelsius();

om (isnan(c)) {

Jag = 450; Gå till minsta makt om något gick fel

}

annat {

Input = c; myPID.Compute();

Jag = 450-produktion; sänka förseningen, högre makt

}

OCR1A = i. värdet för motsvarigheten till jag

Delay(400); / / vänta innan nästa temperaturen läsa


Användargränssnitt

För att programmera användargränssnitt används vi olimex lcd sköld bibliotek med Arduino tråd bibliotek. Du kan Hämta olimex biblioteket från Olimex hemsida.

Se Steg
Relaterade Ämnen

Rideable Segway klon - låg kostnad och enkel Build

Detta Instructable visar dig hur man bygger en ride-stånd Segway klon. Här är dess funktioner:Lätt att bygga med ingen svetsning, inte komplicerad styrning koppling och minimal lödning.Använder en lättillgänglig $3 digitala MPU6050 accelerometer/gyro...

Rustik woodware utan kostnad, och enklare än du trott!

Obehandlat trä (dvs. som det kommer från trädet) ger en fin, rustika aspekt till föremål gjorda med den. Det är billigt, lätt att hitta och lätt att använda.I detta instructable jag ska visa dig hur man gör trä saker genom att använda trä samlas in d...

Cykel Directional Lights - enkel, låg kostnad och Solar Powered

Jag använda min cykel för att pendla till arbetet, och under hösten säsongen gång jag befinner mig rida hem i mörkret. Medan min cykel är utrustad med varselljus (och jag med en reflekterande väst) är jag inte särskilt orolig för att bli sedd medan j...

Hur man bränner Arduino Bootloader med Magnolia styrelsen (kostnad och storlek av Pack av tuggummi KickStarter)

Annika O'Brien skapade kicken projektet här: https://www.kickstarter.com/projects/annikaskywalker/microprocessor-about-the-cost-and-size-of-a-pack-oMagnolia är en rolig liten ombord, mycket lik en Arduino. I själva är verket kompatibel med Arduino ID...

Bygg din egen PVC Johnboat för minimal kostnad och tid.

Inspirerad av PVC KAJAKEN, jag trodde jag kunde bygga en upp gör det annorlunda med en enkel design som jag har använt tidigare i en liten 1,5 fot båt som jag byggt av Plexiglas. Jag tänker också bifoga en trolling motor med 34 pund eller dragkraft t...

DIY LED DRL (låg kostnad och nr-borr approach)

Zoom! Där går en Audi med glänsande pärlor av lysdioder kallas DRN eller dagtid kör lampor. Du står i förundran, haka föll till marken, ögon dök. Vilka underbara djur!Med detta lätt att följa guide, kan du få LED DRL utseendet på dyra bilar som Audi,...

Billigt och korrekt fjärrsamtal Laser nivå

översikt och delarOm du måste köpa en laserpekare på en loppmarknad, kan du behöva spendera en dollar eller två, men resten av materialet är skrot. Jag råkar ha en i den skräp lådan när jag höll på att bygga ett skjul och räknat ut hur man gör detta....

Christmas /winter krans låg kostnad och enkel

denna vinter/jul krans är nästan gratis och lätt att göra på en eftermiddag,Du kan hitta allt material i naturen,endast gluesticks och vissa valfria dekorationer kosta några buggar.Din inte tvingas göra detta som en krans, kan du använda samma teknik...

Få stora utskrifter, till låga kostnader. och ser konstnärliga medan du gör det!

jag har nyligen flyttat till en ny plats och ville dekorera mina väggar lite, men att vara en student betyder jag inte har massor av pengar. Så, jag hittade den bild jag ville, sedan registrerat dig för ett nytt konto på en av de många online foto tr...

Yoball - den återuppfunnit jojo som är enklare, mer mångsidig och bästa av alla DIY

jag minns när Yo-yos var en stor hit tillbaka i 80-talet i skolan. Detta var Australien och saker tar ett tag att komma till oss från USA. Hur som helst, alla hade en - allt tycktes vara märkta av Coca Cola och det fanns alltid några barn som verkade...

Tråd och pärla Christmas Ornament DIY Video Tutorial

här är en video på hur man gör en tråd och Pärlmix Christmas ornament. Det är snabbt, lätt och billig. Du kan ändra pärlor för att skräddarsy din prydnad. Variationerna är oändliga!...

Slips och färgämnet korg, DIY!

jag har denna gamla korg, och jag beslutade att ge honom ett andra liv med knyt och färga metod! Det är verkligen lätt och billigt! Förbered den färgning som visar på rutan med varmt vatten och salt. Våt korgen innan doppa i den diy. Här ser du färge...

Sol och oavbruten makt leverans UPS DIY Free Energy Generator hemmagjord El batteribackup

En avbrottsfri elkälla, också avbrottsfri strömkälla, UPS eller batteri/svänghjul backup, är en elektrisk apparat som ger reservkraft till en last när ineffekten källan, oftast nätström, misslyckas. En UPS skiljer sig från en hjälpare eller akut syst...

Stark och tuff plattform säng DIY

DIY plattform säng med ca $60-$90 som definitivt kommer att pågå. Gjord med plywood, 2 x 6, 4 x 4 och svängbara hjul (hjul). Fler bilder finns på www.myplatformbed.com. Du behöver:Material som behövs:3 - 2 x 6 styrelser 10' fot lång1 - 4 x 4 inlägg 3...

Tvättmaskin och torktumlare piedestal / Stand: A DIY lycka!

Vi alla vet tvättmaskin och torktumlare piedestaler är mycket dyra och prissätts löjligt. Du kan säkert köpa en annan bricka för priset av två piedestaler; eller kanske ett nytt kylskåp! Detta instructible visar hur du gör dig själv en billig piedest...

R2D2 hur att slåss skadade R2 och lägga till låg kostnad ljud n led-lampor

välkomna min R2D2 slaget skadade från Jedins återkomst...hör jag kommer att publicera information om vittring din modell r2d2 och info om hur man får en låg kostnadljud i din r2d2 och låg kostnad lysdioder.För en steg för steg om hur man bygger en fu...

Patent på din uppfinning - lägsta kostnad sätt att få Patent skydd och förhindra uppfattning Theft

så har du en bra uppfinning, men du är rädd att om du Visa det för någon, kanske de bara stjäla idén?Detta instructable visar dig hur att få vissa patentskydd, och också ge dig några kalla hårda fakta om skydd av dina uppfinningar.Om du är en uppfinn...

Wood cykel Rack för 5 cyklar, snabbt och låg kostnad bygga

Jag letade efter en lösning för att lagra de cyklar som bygger upp i våragarage. De om överallt och på grund av min "garbage samla" vana, vi hade många av dem.Jag ville ha något som kunde:Lagra 5 cyklar.Vara lättillgängliga för barnen utan några...

10 tips och Tricks för Laser gravyr och skära

Hej, jag är Geordie och jag arbetar för närvarande på ADX Portland kör laserskärare och gravör. Mitt jobb är att ta i kundens projekt, ställa upp dem och köra dem på laser. Som ett resultat, jag har lärt mig några knep för hur du ställer in jobb att...