Përmbajtje:

Ngrohës Raspberry Pi Dew për Kamera Gjithë qielli: 7 hapa
Ngrohës Raspberry Pi Dew për Kamera Gjithë qielli: 7 hapa

Video: Ngrohës Raspberry Pi Dew për Kamera Gjithë qielli: 7 hapa

Video: Ngrohës Raspberry Pi Dew për Kamera Gjithë qielli: 7 hapa
Video: Part 3 - Fathers and Sons Audiobook by Ivan Turgenev (Chs 19-23) 2024, Korrik
Anonim
Ngrohës Raspberry Pi Dew për Kamera Gjithë qielli
Ngrohës Raspberry Pi Dew për Kamera Gjithë qielli

[Shikoni hapin 7 për një ndryshim në stafetën e përdorur]

Ky është një azhurnim i një kamere me të gjithë qiellin që kam ndërtuar duke ndjekur udhëzuesin e shkëlqyer të Thomas Jaquin (Wireless All Sky Camera) Një problem i zakonshëm që shfaqet tek kamerat e qiellit (dhe teleskopët gjithashtu) është se vesa do të kondensohet në kupolën e kamerës ndërsa bëhet më e ftohtë në natën, e cila errëson pamjen e qiellit të natës. Zgjidhja është të shtoni një ngrohës vesë që do ta ngrohë kupolën të jetë mbi pikën e vesës, ose temperaturën në të cilën uji do të kondensohet në kube.

Një mënyrë e zakonshme për ta bërë këtë është kalimi i rrymës nëpër disa rezistorë, të cilët më pas do të nxehen dhe ta përdorin atë si burim nxehtësie. Në këtë rast, meqenëse kamera tashmë ka një Raspberry Pi, doja ta përdorja atë për të kontrolluar qarkun e rezistencës përmes një stafetë, duke i ndezur dhe fikur ato sipas nevojës për të ruajtur një temperaturë të caktuar të kupolës mbi pikën e vesës. Një sensor i temperaturës është i vendosur në kube për kontroll. Vendosa të tërheq të dhënat e temperaturës dhe lagështisë së motit nga Shërbimi Kombëtar i Motit për informacionin e kërkuar të pikës së vesës, në vend që të shtoj një sensor tjetër, dhe të kem nevojë për një depërtim në strehimin e kamerës sime që mund të rrjedhë.

Raspberry Pi ka një kokë GPIO që lejon bordet e zgjerimit për të kontrolluar pajisjet fizike, por vetë IO nuk është krijuar për të trajtuar rrymën që kërkon qarku i fuqisë së rezistencës. Pra, nevojiten komponentë shtesë. Unë jam duke planifikuar të përdor një stafetë për të izoluar qarkun e energjisë, kështu që një IC i drejtuesit të stafetës është i nevojshëm për t'u ndërlidhur me Pi. Gjithashtu kam nevojë për një sensor të temperaturës për të lexuar temperaturën brenda kupolës, kështu që nevojitet një konvertues analog në dixhital (ADC) në mënyrë që Pi të mund të lexojë temperaturën. Këta përbërës janë të disponueshëm individualisht, por gjithashtu mund të blini një "kapelë" për Pi që përmban këto pajisje në një tabelë që lidhet vetëm me GPIO të Pi.

Unë shkova me pHAT Pimoroni Explorer, i cili ka një gamë të tërë të hyrjes/daljes, por për qëllimet e mia, ai ka katër hyrje analoge të shkallës 0-5V, dhe katër dalje dixhitale të përshtatshme për stafetat e drejtimit.

Për sensorin e temperaturës së kupolës, kam përdorur një TMP36, e cila më pëlqeu sepse ka një ekuacion të thjeshtë linear për të nxjerrë temperaturën nga leximi i tensionit. Unë përdor termistorë dhe RTD në punën time, por ato janë jo-lineare dhe kështu janë më të ndërlikuara për t'u zbatuar nga e para.

Kam përdorur kompletin Perma Proto Bonnet Mini të Adafruit si bordin e qarkut për të lidhur saldimin e stafetës, bllokut të terminalit dhe instalimeve të tjera, gjë që është e mirë pasi është me madhësi për Pi, dhe ka qark që lidhet me atë që Pi ofron.

Këto janë gjërat kryesore. Përfundova duke marrë gjithçka nga Digikey, pasi ato ruajnë pjesët e Adafruit përveç të gjitha pjesëve normale të qarkut, kështu që e bën të thjeshtë marrjen e gjithçkaje menjëherë. Këtu është një lidhje me një karrocë pazar me të gjitha pjesët që kam porositur:

www.digikey.com/short/z7c88f

Ai përfshin disa mbështjellje tela për telat e kërcyesit, nëse i keni tashmë, nuk keni nevojë për të.

Furnizimet

  • Pimoroni Explorer pHAT
  • Sensori i temperaturës TMP36
  • Rezistorë 150 Ohm 2W
  • Stafetë 1A 5VDC SPDT
  • Vidhosni bllokun e terminalit
  • Bordi i qarkut
  • Tela
  • bllokimet e bordit të qarkut
  • saldim dhe hekur bashkues

Lista e pjesëve në digikey:

www.digikey.com/short/z7c88f

Hapi 1: Shënime të Teorisë Elektrike

Importantshtë e rëndësishme të siguroheni që përbërësit e përdorur janë me madhësi të duhur për të trajtuar fuqinë dhe rrymën që do të shohin, përndryshe ju mund të keni dështim të parakohshëm, apo edhe zjarr!

Komponentët kryesorë për t'u shqetësuar në këtë rast është vlerësimi aktual i kontakteve të stafetës dhe vlerësimi i fuqisë së rezistorëve.

Meqenëse ngarkesa e vetme në qarkun tonë të energjisë janë rezistorët, ne thjesht mund të llogarisim rezistencën totale, ta vendosim atë në ligjin e Ohmit dhe të llogarisim rrymën në qarkun tonë.

Rezistenca totale e rezistencave paralele: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Nëse rezistencat individuale janë të barabarta, mund të reduktohet në: R_T = R/N. Pra, për katër rezistorë të barabartë është R_T = R/4.

Unë jam duke përdorur katër rezistorë 150 Ω, kështu që rezistenca ime totale përmes katër prej tyre është (150 Ω) /4=37.5 Ω.

Ligji i Ohmit është vetëm Tensioni = Rezistenca aktuale X (V = I × R). Ne mund ta riorganizojmë atë për të përcaktuar rrymën për të marrë I = V/R. Nëse lidhim tensionin nga furnizimi me energji dhe rezistenca jonë, marrim I = (12 V)/(37.5 Ω) = 0.32 A. Pra, kjo do të thotë që në minimum, stafeta jonë do të duhet të vlerësohet në 0.32 A. Pra stafeta 1A që ne po përdorim është mbi 3 herë madhësia e nevojshme, e cila është e mjaftueshme.

Për rezistorët, ne duhet të përcaktojmë sasinë e fuqisë që kalon në secilën prej tyre. Ekuacioni i fuqisë vjen në disa forma (përmes zëvendësimit me ligjin e Ohmit), por ajo që është më e përshtatshme për ne është P = E^2/R. Për rezistencën tonë individuale, kjo bëhet P = (12V)^2/150Ω = 0.96 W. Pra, ne do të dëshirojmë të paktën një rezistencë 1 vat, por një 2 vat do të na japë një faktor shtesë sigurie.

Fuqia totale e qarkut do të ishte vetëm 4 x 0.96 W, ose 3.84 W (Ju gjithashtu mund të vendosni rezistencën totale në ekuacionin e fuqisë dhe të merrni të njëjtin rezultat).

Unë i shkruaj të gjitha këto, kështu që në rast se dëshironi që të gjenerohet më shumë energji (më shumë nxehtësi), mund të drejtoni numrat tuaj dhe të llogaritni rezistorët e nevojshëm, vlerësimin e tyre dhe vlerësimin e stafetës së nevojshme.

Fillimisht u përpoqa të drejtoja qarkun me 5 volt nga hekurudha e energjisë Raspberry Pi, por fuqia e gjeneruar për rezistencë është vetëm P = (5V)^2/150Ω = 0.166 W, për një total prej 0.66 W, e cila nuk ishte ' t mjaftueshme për të gjeneruar më shumë se disa gradë rritje të temperaturës.

Hapi 2: Hapi 1: Saldimi

Hapi 1: Saldimi
Hapi 1: Saldimi
Hapi 1: Saldimi
Hapi 1: Saldimi
Hapi 1: Saldimi
Hapi 1: Saldimi

Mirë, mjaft nga listat e pjesëve dhe teoria, le të kalojmë në modelimin dhe bashkimin e qarkut!

Unë e kam vizatuar qarkun në Proto-Bonnet në dy mënyra të ndryshme, një herë si një skemë instalimesh dhe një herë si një paraqitje vizuale e tabelës. Ekziston edhe një fotografi e shënuar e tabelës Pimoroni Explorer pHAT, duke treguar telat që shkojnë midis tij dhe Proto-Bonnet.

Në PHAT Explorer, titulli 40 pin që vjen me të duhet të ngjitet në tabelë, kjo është lidhja midis tij dhe Raspberry Pi. Ajo vjen me një kokë terminale për hyrjen/daljen, por unë nuk e kam përdorur atë, në vend të kësaj vetëm tela të ngjitur drejtpërdrejt në tabelë. Proto-Bonnet gjithashtu përfshin lidhje për kokën, por nuk përdoret në këtë rast.

Sensori i temperaturës lidhet drejtpërdrejt me tabelën Explorer pHAT duke përdorur tela për të bërë ndryshimin midis vendndodhjes së Raspberry Pi dhe pjesës së brendshme të Kupolës së Kameras ku ndodhet.

Blloku i Terminalit të Vidhave dhe Releja e kontrollit janë dy përbërësit që janë ngjitur në bordin Proto-Bonnet, në skemë ato janë etiketuar T1, T2, T3 (për tre terminalet e vidhave) dhe CR1 për stafetë.

Rezistencat janë ngjitur në kabllo që gjithashtu shkojnë nga Raspberry Pi në Kupolën e Kamerave, ato lidhen me Proto-Bonnet përmes terminaleve të vidave në T1 dhe T3. Kam harruar të bëj një fotografi të montimit para se të instaloja kamerën përsëri në çatinë time, por u përpoqa t'i ndaja rezistencat në mënyrë të barabartë rreth kupolës, me vetëm dy tela që ktheheshin në Proto-Bonnet. Hyrja në kube përmes vrimave në anët e kundërta të tubit, me sensorin e temperaturës që hyn përmes një vrime të tretë, të shpërndarë në mënyrë të barabartë midis dy rezistencave pranë buzës së kupolës.

Hapi 3: Hapi 2: Montimi

Hapi 2: Montimi
Hapi 2: Montimi

Pasi të jetë ngjitur e gjitha së bashku, mund ta instaloni në kamerën tuaj të gjithë qiellit. Montoni PHAT Explorer në Rasperry Pi, duke e shtyrë atë në kokën 40 pin, dhe pastaj Proto-Bonnet është montuar ngjitur me të në majë të Pi duke përdorur disa pengesa. Një opsion tjetër do të ishte përdorimi i pengesave në krye të Explorer -it, por meqenëse po përdorja rrethimin e tubave ABS, e bëri Pi shumë të madh për t'u përshtatur më shumë.

Drejtoni sensorin e temperaturës deri në mbyllje në vendndodhjen e tij dhe instaloni gjithashtu parzmoren e rezistencës. Pastaj lidhni parzmore në bllokun e terminalit në proto-bord.

Për programimin!

Hapi 4: Hapi 3: Ngarkimi i Bibliotekës Explorer PHAT dhe Testimi i Programimit

Para se të mund të përdorim pHAT Explorer, duhet të ngarkojmë bibliotekën për të nga Pimoroni në mënyrë që Pi të komunikojë me të.

Në Raspberry Pi tuaj, hapni terminalin dhe futni:

kaçurrela https://get.pimoroni.com/explorerhat | bash

Shkruani 'y' ose 'n' sipas rastit për të përfunduar instalimin.

Tjetra, ne do të duam të ekzekutojmë një program të thjeshtë për të testuar hyrjet dhe daljet, për të siguruar që instalimet tona elektrike të jenë të sakta. DewHeater_TestProg.py i bashkangjitur është një shkrim python që shfaq temperaturën dhe ndizet dhe fiket stafetën çdo dy sekonda.

koha e importit

import explorerhat vonesë = 2 ndërsa E vërtetë: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1.8 +32 print ('{0: 5.3f} volt, {1: 5.3f} degC, {2: 5.2f} deg F'.format (rrumbullakët (T1, 3), rrumbullak (tempC, 3), rrumbullak (tempF, 3))) V1 = explorerhat.output.two në () print ('Relay on') koha. gjumi (vonesë) V1 = explorerhat.output.two.off () print ('Relay off') koha. gjumi (vonesë)

Ju mund ta hapni skedarin në mjedrën tuaj Pi, (në timen ajo u hap në Thonny, por ka edhe shumë redaktorë të tjerë Python atje), dhe pastaj ta ekzekutoni, dhe duhet të fillojë të tregojë temperaturën, dhe ju do të dëgjoni stafetë duke klikuar dhe fikur! Nëse jo, bëni disa kontrollime të telave dhe qarqeve tuaja.

Hapi 5: Hapi 4: Ngarkimi i Programimit të Ngrohësit të Vezës

Këtu është programimi i ngrohësit të plotë të vesës. Ajo bën disa gjëra:

  • Tërheq temperaturën aktuale të jashtme dhe pikën e vesës nga një vendndodhje e caktuar e Shërbimit Moti të Motit çdo pesë minuta. Nëse nuk merr të dhëna, mban temperaturat e mëparshme dhe provon përsëri në pesë minuta të tjera.

    • NWS kërkon që informacioni i kontaktit të përfshihet në kërkesat API, në rast se ka probleme me kërkesën, ata e dinë kë të kontaktojnë. Kjo është në linjën 40 të programimit, ju lutemi zëvendësoni '[email protected]' me adresën tuaj të postës elektronike.
    • Ju do të duhet të shkoni në weather.gov dhe të kërkoni një parashikim për zonën tuaj, për të marrë ID të Stacionit, i cili është stacioni më i afërt i motit në NWS. ID e stacionit është në () pas emrit të vendndodhjes. Vendoseni këtë në rreshtin 17 të programimit. Aktualisht tregon KPDX, ose Portland, Oregon.
    • Nëse jeni jashtë SHBA, ekziston një mundësi tjetër duke përdorur të dhëna nga OpenWeatherMap.org. Unë nuk e kam provuar vetë, por ju mund ta shikoni këtë shembull këtu: Reading-JSON-With-Raspberry-Pi
  • Vini re se temperaturat nga NWS dhe nga sensori i temperaturës janë në gradë Celsius, siç janë ato për kamerën ASI, kështu që për qëndrueshmëri, i mbajta të gjitha në Centrigrade në vend që të konvertohesha në Fahrenheit, për të cilën jam mësuar më shumë Me
  • Tjetra, lexon temperaturën nga sensori i kupolës, dhe nëse është më pak se 10 gradë mbi pikën e vesës, atëherë ndizet stafetë. Nëse është më e madhe se 10.5 gradë mbi pikën e vesës, ai fik stafetën. Nëse dëshironi, mund t'i ndryshoni këto cilësime.
  • Një herë në minutë, ai regjistron vlerat aktuale për temperaturat, pikën e vesës dhe statusin e stafetës në një skedar.csv, në mënyrë që të shihni se si funksionon me kalimin e kohës.

Programi i kontrollit #Raspberry Pi Dew Heater

#Dhjetor 2019 #Brian Plett #Përdor Pimoroni Explorer pHAT, një sensor të temperaturës dhe një stafetë #për të kontrolluar një qark të rezistencës si një ngrohës vesë për një aparat fotografik në të gjithë qiellin #Tërheq temperaturën e ajrit dhe pikën e vesës nga faqja e internetit NWS #ruan temperaturën e brendshme 10 gradë mbi pikën e vesës të importit kohë importi data data kërkesa import import csv import os import explorerhat #Stacioni ID është stacioni më i afërt i motit në NWS. Shkoni te weather.gov dhe kërkoni parashikimin për zonën tuaj, #station ID është në () pas emrit të vendndodhjes. cilësimet = {'station_ID': 'KPDX',} #URL alternative për informacionin e motit #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & njësi = {3}"

#URL e motit për të tërhequr të dhënat

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

#vonesë për kontrollin e stafetës, sekonda

ControlDelay = 2 A = 0 B = 0 ndërsa True: #data për t'u përdorur në regjistrin e emrit të skedarit datestr = datetime.datetime.now (). Strftime ("%Y%m%d") #datë & kohë për t'u përdorur për çdo rresht të dhënash localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") shtegu i skedarit #CSV = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' ndërsa B == 0: provo: #Tërhiq temperaturën dhe pikën e vesës nga NWS çdo 60 sekonda final_url = BASE_URL.format (cilësimet ["station_ID"]) weather_data = kërkesat.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["vetitë"] ["temperatura"] ["vlera"] dewRaw = weather_data.json () ["pronat"] ["pika e vesës"] ["vlera"] #print diagnostikues për printimin e të dhënave të temperaturës së papërpunuar (oatRaw, dewRaw) OAT = rrumbullakët (oatRaw, 3) Vesa = rrumbullakët (vera e parë, 3) përveç: A = 0 B = 1 pushim A = 0 B = 1 pushim nëse A <300: A = A + ControlVonesa tjetër: B = 0 #Lexoni tensionin e papërpunuar nga Raspberry Pi Explorer PHat dhe konvertojeni në temperaturën T1 = explorerhat.analog.one.read () tempC = ((T1 *1 000) -500)/10 #tempF = tempC*1.8 +32 nëse (tempC Vezë + 10.5): V1 = explorerhat.output.two.off () #diagnostike print që tregon temperaturat, pikat e vesës dhe stampimin e gjendjes së daljes së stafetës ('{ 0: 5.2f} degC, {1: 5.2f} degC, {2: 5.2f} deg C {3: 5.0f} '. Format (i rrumbullakët (OAT, 3), i rrumbullakët (Vesa, 3), i rrumbullakët (tempC, 3), explorerhat.output.two.read ())) #10 sekonda pasi minuta të rrotullohet, shkruani të dhëna në një skedar CSV nëse A == 10: nëse os.path.isfile (path.format (datestr)): print (path.format (datestr)) me hapur (path.format (datestr), "a") si csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([koha lokale, OAT, Vesa, tempC, explorerhat output.two.read ()]) tjetër: emrat e fushave = ['data', 'Temp Outdoor Air', 'Dewpoint', 'Dome Temp', 'Relay State'] me të hapur (path.format (datestr), "w ") si csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (emrat e fushave) txtwrite.writerow ([lokaliteti, OAT, Vesa, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

E ruaj këtë në një dosje të re nën dosjen allsky të quajtur DewHeaterLogs.

Provoni ta ekzekutoni pak për të siguruar që gjithçka të duket mirë, përpara se të vazhdoni ta përdorni si skenar.

Hapi 6: Hapi 5: Drejtimi i Skriptit në Fillim

Për të ekzekutuar skenarin Dew Heater sapo të fillojë Raspberry Pi, unë ndoqa udhëzimet këtu:

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

Për shkrimin Launcher, unë krijova këtë:

#!/bin/sh

# launcher.sh # lundroni në drejtorinë kryesore, pastaj në këtë drejtori, pastaj ekzekutoni skriptin python, pastaj kthehuni në shtëpi cd/cd home/pi/allsky/DewHeaterLogs fle 90 sudo python DewHeater_Web.py & cd/

Pasi të bëhet kjo, duhet të shkoni mirë. Shijoni të keni një aparat fotografik pa vesë!

Hapi 7: Përditësoni Dhjetor 2020

Rreth gjysmës së vitit të kaluar, ngrohësi im i vesës pushoi së punuari, kështu që e çaktivizova kodin derisa të mund ta shikoja. Më në fund kisha pak kohë gjatë pushimit të dimrit dhe zbulova se stafeta që unë përdorja po tregonte një rezistencë të lartë në të gjithë kontaktet e saj gjatë funksionimit, ndoshta nga mbingarkesa.

Kështu që e përditësova me një stafetë të vlerësuar më të lartë, një me një kontakt 5A dhe jo 1A. Gjithashtu është një stafetë fuqie më shumë se një stafetë sinjali, kështu që unë shpresoj se do të ndihmojë. Ashtë një TE PCH-105D2H, 000. Unë shtova gjithashtu disa terminale me vidë për pHAT Explorer, kështu që mund të shkëpusja me lehtësi ngrohësin dhe sensorin e temperaturës sipas nevojës. Të tre këto janë në këtë karrocë më poshtë:

Karroca e blerjeve Digikey

Jini të vetëdijshëm se kunjat për këtë stafetë janë të ndryshme nga ajo e mëparshmja, kështu që vendi ku lidheni është pak më ndryshe, por duhet të jetë i drejtpërdrejtë. Polariteti nuk ka rëndësi për spiralen, FYI.

Recommended: