Log och Graf du händelser med 24V termostat (Optocoupler + Raspberry Pi) (4 / 9 steg)
Steg 4: Tråd upp en krets att mäta spänningen
Detta är kanske den mest komplicerade delen av processen. Naturligtvis vi kan inte direkt ansluta 24 volt AC till en Raspberry Pi - behöver något att rätta till och steg ner den spänningen och göra det säkert.
Vi kan använda en optocoupler åstadkomma detta. En optocoupler isolerar elektriskt två separata kretsar. I vårt fall vill vi isolera 24 volt AC uppvärmning/kylning system från vår Raspberry Pi.
Jag valde att använda HCPL3700 optocoupler eftersom det innehåller en likriktare och kan hantera en mängd olika spänningar. Specifikt, det tar antingen AC eller DC som indata, allt från 5V till 240V, och kan köra från en leverans, från 2V till 18V. De nuvarande kraven är tillräckligt små för att köra enheten direkt från Raspberry Pi 3.3V leverera.
Den medföljande schematiskt visar hur jag trådbundna upp HCPL3700 (du kan ignorera nederkant hälften av den schematiska, som temperaturgivare, för nu). Viktigt: två 3300 Ohm motstånd ansluten till AC input stift måste vara fått minst 1/2 watt. Dessa två resistorer in avtryckaren tröskelvärdena i optocoupler, dvs spänningen som det kommer att vända på. Mer information om att välja dessa motstånd värden, finns denna applikationen noterar.
Likriktare i HCPL3700 korrigerar AC input, men utjämna inte renad sinusvåg. Således, utan någon ytterligare input filtrering, logik utdata kommer snabbt svänger, förmodligen på frekvensen av din nätspänningen (60 Hz i USA). För att undvika detta, lägger vi en kondensator över DC stiften likriktarens. Ansökan anteckningen har detaljerna i hur man beräknar värdet på denna kondensator; en 10 uF, minsta 10V kondensator räcker.
Som många ICs tyder HCPL3700 på att placera en 0.1 uF kondensator över dess leverans spänning stift. Slutligen, chip sysselsätter en öppen kollektor utgång, vilket innebär att det bara kör sin produktion låg; för att se logik-hög utgångar, behöver vi en pull-up resistor. Beräkning av lämpligt värde för detta motstånd är lite av en utmaning, eftersom det beror på egenskaper hos både chipet och Pi: s ingång stift, men jag tyckte att den standard 10k kan Ohm pull-up resistor eventuellt inte producera en tillräckligt hög spänning att läsas som en logik-hög av Pi. Alltså, jag gick med en 8k ohms motstånd (faktiskt en 3.3k Ohm och 4.7k Ohm i serie). Denna beräkning bygger på värsta fall-scenario, dock; i praktiken kan en 10 k resistor fungera bra.
Det är det för optocoupler - nu när vi ansluter vår 24 (faktiskt 29) volt AC källa till input stift chip (via de 1/2 watt motstånd, förstås!), optocoupler kommer att driva sin produktion (stift 6) låg. När vi tar bort källan (eller källan är avstängd), kommer produktionen att dras hög. Observera att det är inverterad logik - en låg nivå indikerar förekomst av Matningsspänning, och en hög nivå visar sin frånvaro.
Jag har tagit en schematisk och ett foto av min skärbräda för referens. Optocoupler kretsen är i centrera av bakbord.