Webbaktiverade hem termostaten (och hemautomation Hub) (4 / 10 steg)
Steg 4: Bygga termostaten
Nu till roligt delen. Och kom ihåg, jag byggde en termostat för min just hem system, som består av en värmepump med en säkerhetskopia värmekälla. Ditt system kan vara helt olika, och även om det är samma, jag garanterar inte att denna termostat är lämplig för användning av någon för något ändamål. Du bör inte installera en termostat såvida du först inte har gjort att du förstår din hem VVS installation, granskas alla koden och kretsar och ändra dem efter behov.
Som sagt, de trådlösa termostater jag har byggt består av flera delar. Du kan hämta en schematisk för denna termostat (liksom all kod jag använda och vissa andra uppgifter) här GitHub databasen. Schematiskt finns i filen Tstat_New_v1.pdf. En beskrivning av dessa delar är följande:
nätaggregat -mitt hem är kopplad med 27VAC till Termostaterna, och till springa den 1284 P mikrokontroller, touchscreen LCD, temp sensor och reläer, jag behöver 3v3 DC. Jag använder en bro likriktare konvertera AC till DC, och en buck converter att kliva ner till ca 5 volt DC. (Obs: den LM2595 buck converter har en max inspänning av 40vdc, så detta verkligen trycka den. Jag har haft lite problem med några av dessa.) Slutligen, jag kör utdata genom en spänningsregulator till 3v3. Anledningen jag använder en buck converter innan spänningsregulator är att buck converter är mycket effektivare än spänningsregulator, så jag får mindre bortkastad power vilket innebär mindre värme. Du skulle även kunna använda buck converter för att gå direkt till 3v3 och hoppa över regleringsmyndigheten, även om jag har inte provat den än, och det är möjligt att signalen från buck converter kan vara smidig nog att ge bra prestanda med nRF24L01 +, som kan vara känsliga för jämnhet i strömförsörjningen. (Obs: LM1117 databladet rekommenderar två landskamper med tillsynsmyndigheten att släta signalen, och även om jag verkar göra bra utan dessa, jag rekommenderar att använda dem. Jag avser att lägga till dem i schematiskt vid ett senare tillfälle och inkludera dem i min egen framtida bygger.)
mikrokontroller – jag använder ATmega 1284 P mikrokontroller i en 40 pin DIP konfiguration. Detta chip har gott minne och stiften för att få jobbet gjort med några kvar skulle jag vilja lägga till ytterligare funktioner senare. Mikrokontroller kräver flera andra komponenter att fungera, som ingår i schematiskt. En stor förklaring av hur du konfigurerar detta chip på en skärbräda kan hittas här, och detta är vad jag brukade komma igång. En skillnad är dock att jag inte använder arduino bootloader. I stället skapade jag en enkel 6-pin "plugg" som var bakbord vänliga och skulle passa en ISP programmerare. Jag använder en avrisp mkii programmerare, och det verkar göra ett bra jobb. Jag fann att använda en skärbräda för att testa alla kretsar innan lödning upp styrelser var mycket hjälpsam.
gränssnitt -en TFT LCD med pekskärm är ett bra sätt att införliva en display och kontroller tillsammans utan att behöva lägga till knappar i kretsen. LCD-pekskärm använder samma SPI stiften som Internet-leverantören, och det kan störa när du programmering microcontroller med ISP. Jag hittade att lägga 100 ohms motstånd mellan LCD MOSI, MISO och SCK stiften och mikrokontroller löst denna fråga. TFT LCD har separata MISO, MOSI och SCK pins för pekskärmen och displayen, men dessa kan bara hoppade tillsammans. Jag använder också en transistor för att byta LED för att visa när skärmen vidrörs. På en tidigare version, jag trådbundna bara LED direkt till 3v3 effekt och vänstra displayen lyser hela tiden.
temperatursensor – en termostat har att veta vad den nuvarande rumstemperaturen är, rätt? Jag använder ds18b20 digital temperaturgivare, men det finns gott om andra tillgängliga, inklusive några som mäter den relativa luftfuktigheten också om du är intresserad av att se som.
reläer – och du behöver naturligtvis reläer för att kunna styra VVS-system. Jag använder transistorer för att växla reläer baserat på en signal från micrcontroller, och en flyback diod att skydda mikrokontroller från spänningstoppar när reläet är avstängd.
En bra referens för att förstå hur man använder transistorer som växlar är här, och för att förstå relay kretsar, jag rekommenderar detta Instructable.
Jag skulle föreslår starkt bygger alla dessa delar på en skärbräda så att de fungerar som förväntat innan du börjar löda saker tillsammans.
Så, här är vad jag gjorde:
- Först lagt jag ut min ombord, försöker bara lista ut den allmänna läget av de viktigaste komponenterna (se foto). Några tankar om detta:
-> Se till att du lämnar utrymme för anslutningar, särskilt för TFT LCD-skärmen och runt reläer. TFT LCD-skärmen har mycket kontakter, många av vilka kors över varandra och flera som behöver motstånd. Reläer behöver en transistor och motstånd för växeln samt en flyback diod.
-> The TFT LCD skärm jag använder generellt har tillräckligt clearance som det kan gå över andra komponenter, inklusive skruvplintar och reläer. Men den har också en kortplats för SD-kort på baksidan och detta SD-kortplats passar inte över skruvplintar eller reläer. Rolig historia – under provningen av en termostat, jag började få några riktigt wonky beteende. Strömförsörjningen skulle stängas av på grund av en kort, LCD-pekskärm skulle misslyckas och reläer skulle slå på och av wildly. Efter lite felsökning insåg jag att SD-kortplatsen på undersidan av LCD pekskärm var kortsluter ett antal stift på 1284P när jag tryckte ned på pekskärmen. Lite eltejp över exponerade SD-kortplats löste problemet.
-> Glöm inte att planera för standoffs på sidan av TFT LCD som inte stöds av huvudet stift.
-> NRF24L01 + radio modulen har en mycket större fotavtryck som 2 x 4 huvudet det sitter i, så det är en bra idé att ha radio modulen i huvudet när styrelsen att se till att det inte stör andra komponenter eller förlänga förbi kanten på styrelsen.
-> Glöm inte att planera för ett hål där termostat kablar kommer i. Många termostat kablar kan vara ganska stel, så tänker inte ett litet hål här. Ju större den är, desto lättare blir det att få alla sladdar genom och manipulera trådarna till uttagen skruv när du installerar termostaten på väggen.
-> Tänka på om du sannolikt kommer att vilja lägga till något i framtiden – kanske en IR sensor att upptäcka när någon är hemma, en mikrofon, etc. Om du tror att du kan, försök att lämna lite utrymme någonstans i styrelsen. Som sagt, om du klämma saker i för hårt, lödning allt upp kommer att vara mycket svårare.
-> När du är nöjd med layouten, ta en bild av att ha som referens när faktiskt lödning saker tillsammans.
Vid denna punkt, var termostaten redo för testning. Men, innan jag kunde testa termostaten, jag behövde få MySQL databas uppsättning upp, och installera webbsidor och python servrar på Raspberry Pi samt ladda skissen till MCU.