Tartalomjegyzék:

Raspberry Pi harmatfűtő minden égboltra: 7 lépés
Raspberry Pi harmatfűtő minden égboltra: 7 lépés

Videó: Raspberry Pi harmatfűtő minden égboltra: 7 lépés

Videó: Raspberry Pi harmatfűtő minden égboltra: 7 lépés
Videó: ПОЧЕМУ Я ЖДУ L4D3 2024, Július
Anonim
Raspberry Pi harmatfűtő az összes égbolt fényképezőgépéhez
Raspberry Pi harmatfűtő az összes égbolt fényképezőgépéhez

[Nézze meg a 7. lépést a használt relé megváltoztatásához]

Ez egy frissítés egy teljes égbolton készült kamerához, amelyet Thomas Jaquin kiváló útmutatója alapján készítettem (Vezeték nélküli összes égbolt kamera) Az égbolt kamerákkal (és a távcsövekkel is) gyakori probléma, hogy harmat csapódik le a fényképezőgép kupoláján, amint hidegebb lesz éjszaka, ami eltakarja az éjszakai égbolt látványát. A megoldás az, ha olyan harmatmelegítőt adunk hozzá, amely felmelegíti a kupolát a harmatpont fölé, vagy azt a hőmérsékletet, amelyen a víz lecsapódik a kupolára.

Ennek gyakori módja az, hogy az áramot több ellenálláson keresztül vezetik, amelyek felmelegednek, és ezt hőforrásként használják. Ebben az esetben, mivel a fényképezőgépen már van Raspberry Pi, ezt szerettem volna használni az ellenállás áramkörének vezérlésére egy relén keresztül, szükség szerint be- és kikapcsolva, hogy a kupola bizonyos hőmérséklete a harmatpont felett maradjon. Hőmérséklet -érzékelő található a kupolában a vezérléshez. Úgy döntöttem, hogy a helyi időjárási hőmérséklet- és páratartalom -adatokat a Nemzeti Meteorológiai Szolgálattól veszem le a szükséges harmatpont -információkhoz, ahelyett, hogy újabb érzékelőt adnék hozzá, és be kell hatolnom a fényképezőgép házába, ami szivároghat.

A Raspberry Pi rendelkezik GPIO fejléccel, amely lehetővé teszi a bővítőlapok számára a fizikai eszközök vezérlését, de az IO -t nem úgy tervezték, hogy kezelje az ellenállás főáramköre által igényelt áramot. Tehát további komponensekre van szükség. Azt tervezem, hogy egy relét használok az áramkör elkülönítésére, ezért egy relé meghajtó IC szükséges a Pi -vel való interfészhez. Szükségem van egy hőmérséklet -érzékelőre is a kupola belső hőmérsékletének leolvasásához, ezért analóg -digitális átalakítóra (ADC) van szükség, hogy a Pi le tudja olvasni a hőmérsékletet. Ezek az alkatrészek külön -külön kaphatók, de vásárolhat egy „kalapot” a Pi -hez, amely ezeket az eszközöket tartalmazza a táblán, amely csak a Pi GPIO -jához csatlakozik.

A Pimoroni Explorer pHAT-tal mentem, amely sokféle I/O-t tartalmaz, de a célom szerint négy analóg bemenettel rendelkezik, amelyek tartománya 0-5 V, és négy digitális kimenettel, amelyek alkalmasak a relék meghajtására.

A kupola hőmérséklet -érzékelőhöz egy TMP36 -ot használtam, ami tetszett, mert egyszerű lineáris egyenlete van a hőmérséklet levezetésére a feszültség leolvasásából. Munkám során termisztorokat és RTD-ket használok, de ezek nem lineárisak, ezért bonyolultabbak a semmiből.

Az Adafruit Perma Proto Bonnet Mini készletét használtam áramköri lapként a relé, a sorkapcs és más vezetékek forrasztásához, ami szép, mivel méretezett a Pi -hez, és rendelkezik a Pi által kínált áramkörökkel.

Ezek a fő dolgok. Végül a legtöbbet a Digikeytől szereztem be, mivel az Adafruit alkatrészeit raktározzák a normál áramköri alkatrészek mellett, így egyszerűvé válik, hogy mindent egyszerre szerezzen be. Itt egy link a bevásárlókosárhoz az összes megrendelt alkatrésszel:

www.digikey.com/short/z7c88f

Tartalmaz pár tekercs huzalt az áthidaló vezetékekhez, ha már van, akkor nincs rá szüksége.

Kellékek

  • Pimoroni Explorer pHAT
  • TMP36 hőmérséklet -érzékelő
  • 150 Ohm 2W ellenállások
  • 1A 5VDC SPDT relé
  • Csavaros sorkapocs
  • Áramköri
  • Huzal
  • áramköri lapkák
  • forrasztópáka és forrasztópáka

Alkatrészlista a Digikey -n:

www.digikey.com/short/z7c88f

1. lépés: Elektromos elméleti megjegyzések

Fontos, hogy a használt alkatrészek megfelelő méretűek legyenek, hogy kezelni tudják a látott áramot és áramot, különben idő előtti meghibásodást vagy akár tüzet okozhat!

A fő összetevők, amelyek miatt ebben az esetben aggódni kell, a reléérintkezők aktuális minősítése és az ellenállások teljesítménye.

Mivel az áramkörünk egyetlen terhelése az ellenállások, csak kiszámíthatjuk a teljes ellenállást, behelyezhetjük ezt az Ohm -törvénybe, és kiszámíthatjuk az áramkört.

A párhuzamos ellenállások teljes ellenállása: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Ha az egyes ellenállások egyenlők, akkor csökkenthető: R_T = R/N. Tehát négy egyenlő ellenállás esetén R_T = R/4.

Négy 150 Ω -os ellenállást használok, így a teljes ellenállásom négy közülük (150 Ω)/4=37,5 Ω.

Ohm törvénye csak feszültség = áram X ellenállás (V = I × R). Ezt átrendezhetjük az áram meghatározásához, hogy I = V/R legyen. Ha csatlakoztatjuk a feszültségünket a tápegységből és az ellenállásból, akkor I = (12 V)/(37,5 Ω) = 0,32 A. Tehát ez azt jelenti, hogy a relénk legalább 0,32 A névleges. az általunk használt 1A relé több mint háromszorosa a szükséges méretnek, ami bőven elég.

Az ellenállások esetében meg kell határoznunk, hogy mennyi teljesítmény megy át mindegyiken. A hatványegyenlet többféle formában létezik (az Ohm -törvénysel való helyettesítés révén), de ami számunkra a legkényelmesebb, az P = E^2/R. Egyedi ellenállásunk esetén ez P = (12V)^2/150Ω = 0,96 W lesz. Tehát legalább 1 wattos ellenállást akarunk, de 2 watt extra biztonságot nyújt.

Az áramkör teljes teljesítménye csak 4 x 0,96 W vagy 3,84 W (A teljes ellenállást a teljesítményegyenletbe is behelyezheti, és ugyanazt az eredményt kaphatja).

Mindezt kiírom, így abban az esetben, ha több energiát szeretne termelni (több hőt), futtathatja a számokat, és kiszámíthatja a szükséges ellenállásokat, azok névleges értékét és a szükséges relé besorolását.

Kezdetben megpróbáltam az áramkört a Raspberry Pi tápegység 5 voltával futtatni, de az ellenállásonként generált teljesítmény csak P = (5V)^2/150Ω = 0,166 W, összesen 0,66 W, ami nem volt t elég ahhoz, hogy több fokos hőmérséklet -emelkedést generáljon.

2. lépés: 1. lépés: Forrasztás

1. lépés: Forrasztás
1. lépés: Forrasztás
1. lépés: Forrasztás
1. lépés: Forrasztás
1. lépés: Forrasztás
1. lépés: Forrasztás

Rendben, elég az alkatrészlistákból és az elméletből, térjünk rá az áramkör tervezésére és forrasztására!

Az áramkört a Proto-Bonnet-en kétféleképpen rajzoltam, egyszer kapcsolási rajzként, egyszer pedig a tábla vizuális ábrázolásaként. A Pimoroni Explorer pHAT tábláról egy megjelölt fénykép is látható, amelyen látható a huzalozás, amely a közte és a Proto-Bonnet között van.

Az Explorer pHAT -on a hozzá tartozó 40 tűs fejlécet forrasztani kell a táblára, ez a kapcsolat közte és a Raspberry Pi között. Az I/O terminál fejlécével érkezik, de nem használtam, hanem csak a vezetékeket forrasztottam közvetlenül a kártyához. A Proto-Bonnet kapcsolatokat is tartalmaz a fejléchez, de ebben az esetben nem használják.

A hőmérséklet -érzékelő vezetékek segítségével közvetlenül az Explorer pHAT kártyához van kötve, hogy különbséget tegyen a Raspberry Pi és a Camera Dome belseje között, ahol található.

A csavaros sorkapocs és a vezérlőrelé az a két alkatrész, amelyek a Proto-Bonnet panelhez vannak forrasztva, a vázlatban T1, T2, T3 (a három csavaros csatlakozónál) és CR1 jelzéssel vannak ellátva a relé számára.

Az ellenállásokat olyan vezetékekhez forrasztják, amelyek a Raspberry Pi-ből a Camera Dome-ba is eljutnak, és a T1 és T3 csavaros csatlakozóin keresztül csatlakoznak a Proto-Bonnethez. Elfelejtettem lefotózni az összeszerelést, mielőtt visszahelyeztem a kamerát a tetőre, de megpróbáltam egyenletesen elhelyezni az ellenállásokat a kupola körül, mindössze két vezeték jött vissza a Proto-Bonnethez. A kupola a cső ellentétes oldalain lévő lyukakon keresztül lép be, a hőmérséklet -érzékelő pedig egy harmadik lyukon keresztül, egyenletesen elosztva az ellenállások között a kupola széle közelében.

3. lépés: 2. lépés: Összeszerelés

2. lépés: Összeszerelés
2. lépés: Összeszerelés

Miután minden össze van forrasztva, telepítheti a teljes égbolt kamerájára. Szerelje fel az Explorer pHAT-ot a Rasperry Pi-re, nyomja rá a 40 tűs fejlécre, majd a Proto-Bonnet-et a Pi tetejére szerelik fel néhány eltéréssel. Egy másik lehetőség az lenne, ha az Explorer tetején használnánk a leállásokat, de mivel az ABS csőházat használtam, a Pi túl nagy lett ahhoz, hogy ne férjen el többé.

Vezesse fel a hőmérséklet -érzékelőt a burkolaton a helyére, és szerelje fel az ellenállásköteget is. Ezután csatlakoztassa a kábelköteget az alaplapon lévő sorkapocshoz.

Irány a programozás!

4. lépés: 3. lépés: Az Explorer PHAT könyvtár betöltése és tesztprogramozás

Mielőtt használhatnánk az Explorer pHAT -ot, be kell töltenünk a könyvtárat a Pimoroni -ból, hogy a Pi kommunikálni tudjon vele.

A Raspberry Pi készüléken nyissa meg a terminált, és írja be:

curl https://get.pimoroni.com/explorerhat | bash

A telepítés befejezéséhez írja be az „y” vagy az „n” szót.

Ezután egy egyszerű programot szeretnénk futtatni a bemenetek és kimenetek teszteléséhez, hogy megbizonyosodjunk arról, hogy a kábelezés megfelelő. A mellékelt DewHeater_TestProg.py egy python -szkript, amely megjeleníti a hőmérsékletet, és két másodpercenként be- és kikapcsolja a relét.

importálási idő

importálja a explorerhat késleltetést = 2, míg igaz: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1,8 +32 nyomtatás ('{0: 5.3f} volt, {1: 5.3f} ° C, {2: 5.2f} ° F '. Formátum (kerek (T1, 3), kör (tempC, 3), kerek (tempF, 3))) V1 = explorerhat.output.two. on () print ('Relay on') time.sleep (delay) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (delay)

Megnyithatja a fájlt a málna Pi -jén (az enyémben Thonny -ban nyílt meg, de rengeteg más Python -szerkesztő is létezik), majd futtathatja, és elkezdi mutatni a hőmérsékletet, és hallani fogja relé kattint és ki! Ha nem, ellenőrizze a vezetékeket és az áramköröket.

5. lépés: 4. lépés: A harmatfűtő programozás betöltése

Itt a teljes harmatmelegítő programozás. Több dolgot tesz:

  • Öt percenként lehívja az aktuális kültéri hőmérsékletet és harmatpontot az adott Országos Meteorológiai Szolgálat helyéről. Ha nem kap adatokat, megőrzi az előző hőmérsékletet, és újabb öt perc múlva újra megpróbálja.

    • Az NWS kéri, hogy az API -kérésekben szerepeltessék az elérhetőségi adatokat, ha problémák merülnek fel a kéréssel, tudják, hogy kihez forduljon. Ez a programozás 40. sorában van, kérjük, cserélje ki a '[email protected]' címet saját e -mail címére.
    • El kell mennie az weather.gov weboldalra, és előrejelzést kell keresnie az Ön környékéről, hogy megkapja az állomásazonosítót, amely a NWS legközelebbi időjárási állomása. Az állomás azonosítója () a hely neve után. Ezt írja be a programozás 17. sorába. Jelenleg a KPDX -t mutatja, vagy Portland, Oregon.
    • Ha az Egyesült Államokon kívül tartózkodik, van egy másik lehetőség az OpenWeatherMap.org webhelyről származó adatok felhasználására. Magam még nem próbáltam, de itt megnézheti ezt a példát: Reading-JSON-With-Raspberry-Pi
  • Ne feledje, hogy az ÉNy -i nyugati szél és a hőmérséklet -érzékelő hőmérséklete Celsius fokban van, ahogy az ASI fényképezőgép esetében is, ezért a következetesség kedvéért inkább Centrigrade -et tartottam, mintsem Fahrenheit -re konvertáltam, amihez jobban hozzászoktam..
  • Ezután kiolvassa a hőmérsékletet a kupolaérzékelőből, és ha kevesebb, mint 10 fok van a harmatpont felett, akkor bekapcsolja a relét. Ha a harmatpont felett 10,5 foknál nagyobb, akkor kikapcsolja a relét. Ezeket a beállításokat tetszés szerint módosíthatja.
  • Percenként egyszer naplózza a hőmérséklet, a harmatpont és a relé állapotának aktuális értékeit egy.csv fájlba, így láthatja, hogyan működik idővel.

#Málna Pi Harmatfűtő vezérlő program

#Dec 2019 #Brian Plett #Pimoroni Explorer pHAT, hőmérséklet-érzékelő és relé #vezérlése fokkal harmatpont felett import idő import dátum / idő import kérések import csv import os import explorerhat #Station ID a legközelebbi időjárás állomás az ÉNy -n. Látogasson el a weather.gov weboldalra, és keresse meg az adott területre vonatkozó előrejelzést, az #állomás azonosítója () a hely neve után. settings = {'station_ID': 'KPDX',} #Alternatív URL az időjárási információkhoz #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & egységek = {3}"

#Weather URL az adatok visszakereséséhez

BASE_URL = "https://api.weather.gov/stations/{0}/observations/latest"

#késleltetés a relé vezérléséhez, másodperc

ControlDelay = 2 A = 0 B = 0, míg igaz: #date használni a naplófájlban datestr = datetime.datetime.now (). Strftime ("%Y%m%d") #date & time to use for each data row localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") #CSV fájl elérési útja = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' míg B == 0: próbálkozzon: #Húzza a hőmérsékletet és a harmatpontot az ÉNy-ból 60 másodpercenként final_url = BASE_URL.format (settings ["station_ID"]) weather_data = request.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["properties"] ["hőmérséklet"] ["value"] dewRaw = weather_data.json () ["properties"] ["harmatpont"] ["érték"] #diagnosztikai nyomtatás nyers hőmérsékleti adatok nyomtatásához (oatRaw, dewRaw) OAT = kerek (oatRaw, 3) Harmat = kerek (dewRaw, 3), kivéve: A = 0 B = 1 break A = 0 B = 1 szünet, ha A <300: A = A + vezérlés *1 000) -500)/10 #tempF = tempC*1,8 +32, ha (tempC Harmat + 10,5): V1 = explorerhat.output.two.off () #diagnosztikai nyomtatás, amely a hőmérsékletet, harmatpontot és a relé kimeneti állapotát mutatja ('{ 0: 5.2f} ° C, {1: 5.2f} ° C, {2: 5.2f} ° C {3: 5.0f} '. Formátum (kerek (OAT, 3), kerek (harmat, 3), kerek (tempC, 3), explorerhat.output.two.read ())) #10 másodperccel a perc eltelte után írjon adatokat egy CSV -fájlba, ha A == 10: if os.path.isfile (path.format (datestr)): print (path.format (datestr)) nyitva (path.format (datestr), "a") csvfileként: txtwrite = csv.writer (csvfile) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat. output.two.read ()]) else: fieldnames = ['date', 'Outdoor Air Temp', 'Harmatpont', 'Dome Temp', 'Relay State'] with open (path.format (datestr), "w ") csvfileként: txtwrite = csv.writer (csvfile) txtwrite.writerow (mezőnevek) txtwrite.writerow ([helyi idő, OAT, Harmat, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

Ezt egy új mappába mentettem a DewHeaterLogs nevű allsky mappába.

Próbálja meg futtatni egy kicsit, hogy minden jól nézzen ki, mielőtt folytatná a szkriptként történő futtatást.

6. lépés: 5. lépés: A szkript futtatása indításkor

A Raspberry Pi indításakor a Dew Heater szkript futtatásához követtem az itt található utasításokat:

www.instructables.com/id/Raspberry-Pi-Laun…

A Launcher szkripthez ezt hoztam létre:

#!/bin/sh

# launcher.sh # navigáljon a kezdőkönyvtárba, majd ebbe a könyvtárba, majd hajtsa végre a python -szkriptet, majd vissza a kezdőlap cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

Ha ez megtörtént, akkor jó indulni. Élvezze a harmatmentes kamerát!

7. lépés: Frissítse 2020 decemberét

A tavalyi év felénél a harmatmelegítőm nem működött, ezért letiltottam a kódot, amíg meg nem tudtam nézni. Végül volt egy kis ideje a téli szünetben, és megállapítottam, hogy az általam használt relé működése közben nagy ellenállást mutat az érintkezői között, valószínűleg a túlterhelés miatt.

Tehát frissítettem egy magasabb névleges relével, az egyik 5A érintkezővel, nem pedig 1A érintkezővel. Ezenkívül ez egy tápellátó relé, nem pedig jelrelé, ezért remélem, hogy segít. Ez egy TE PCH-105D2H, 000. Hozzáadtam néhány csavaros csatlakozót is az Explorer pHAT-hoz, így szükség esetén könnyen le tudtam választani a fűtőtestet és a hőmérséklet-érzékelőt. Mind a 3 az alábbi kosárban található:

Digikey bevásárlókocsi

Ne feledje, hogy ennek a relének a csapjai eltérnek az előzőtől, így a huzalozás helye kissé eltér, de egyszerűnek kell lennie. A polaritás nem számít a tekercsnek, FYI.

Ajánlott: