Sadržaj:

Grijač rose rose Raspberry Pi za kameru za cijelo nebo: 7 koraka
Grijač rose rose Raspberry Pi za kameru za cijelo nebo: 7 koraka

Video: Grijač rose rose Raspberry Pi za kameru za cijelo nebo: 7 koraka

Video: Grijač rose rose Raspberry Pi za kameru za cijelo nebo: 7 koraka
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Srpanj
Anonim
Grijač rose za malinu Pi za kameru za cijelo nebo
Grijač rose za malinu Pi za kameru za cijelo nebo

[Pogledajte korak 7 za promjenu upotrijebljenog releja]

Ovo je nadogradnja na kameru za cijelo nebo koju sam napravio nakon izvrsnog vodiča Thomasa Jaquina (bežična kamera za sve nebo) Uobičajeni problem koji se javlja nebeskim kamerama (i teleskopima također) je taj što će se rosa kondenzirati na kupoli fotoaparata kako postaje hladnije noć, koja zaklanja pogled na noćno nebo. Rješenje je dodati grijač rose koji će zagrijati kupolu iznad rosišta ili temperaturu pri kojoj će se voda kondenzirati na kupoli.

Uobičajen način za to je prolazak struje kroz nekoliko otpornika, koji će se zatim zagrijati, i koristiti to kao izvor topline. U ovom slučaju, budući da kamera već ima Raspberry Pi, htio sam to upotrijebiti za upravljanje krugom otpornika putem releja, uključivanjem i isključivanjem prema potrebi za održavanje određene temperature kupole iznad točke rosišta. U kupoli se nalazi senzor temperature za kontrolu. Odlučio sam povući lokalne podatke o vremenskoj temperaturi i vlažnosti od Nacionalne meteorološke službe za potrebne podatke o rosištu, umjesto da dodam drugi senzor, i trebao sam prodor u kućište fotoaparata koji bi mogao procuriti.

Raspberry Pi ima GPIO zaglavlje koje omogućuje pločama za proširenje upravljanje fizičkim uređajima, ali sam IO nije dizajniran da podnese struju koju zahtijeva krug napajanja otpornika. Stoga su potrebne dodatne komponente. Planiram koristiti relej za izolaciju strujnog kruga, pa je za sučelje s Pi potreban relejni upravljački program. Također mi je potreban temperaturni senzor za očitavanje temperature unutar kupole, pa je potreban analogno -digitalni pretvarač (ADC) kako bi Pi mogao očitati temperaturu. Ove su komponente dostupne pojedinačno, ali možete kupiti i "šešir" za Pi koji sadrži te uređaje na ploči koja se samo priključuje na GPIO za Pi.

Išao sam s Pimoroni Explorerom pHAT, koji ima cijeli niz I/O, ali za moje potrebe, ima četiri analogna ulaza u rasponu 0-5V i četiri digitalna izlaza prikladna za pogon releja.

Za senzor temperature kupole koristio sam TMP36 koji mi se svidio jer ima jednostavnu linearnu jednadžbu za izvođenje temperature iz očitanja napona. Ja u svom poslu koristim termistore i RTD-e, ali oni su nelinearni i stoga ih je složenije implementirati od nule.

Koristio sam Adafruitov Perma Proto Bonnet Mini komplet kao ploču za lemljenje releja, priključnog bloka i drugog ožičenja, što je lijepo jer je veličine za Pi i ima sklopove relevantne za ono što Pi nudi.

To su glavne stvari. Na kraju sam od Digikey -a dobio gotovo sve, jer uz sve uobičajene dijelove sklopova imaju i Adafruit dijelove, pa je jednostavno nabaviti sve odjednom. Evo veze do košarice sa svim dijelovima koje sam naručio:

www.digikey.com/short/z7c88f

Uključuje nekoliko kalemova žice za kratkospojne žice, ako ih već imate, ne trebate.

Pribor

  • Pimoroni Explorer pHAT
  • Senzor temperature TMP36
  • 150 Ohm 2W otpornici
  • 1A 5VDC SPDT relej
  • Vijčani terminalni blok
  • Matična ploča
  • Žica
  • odstupanja od tiskanih ploča
  • lemljenje i lemljenje

Popis dijelova na digikey -u:

www.digikey.com/short/z7c88f

Korak 1: Bilješke o teoriji električne energije

Važno je osigurati da su korištene komponente odgovarajuće veličine kako bi podnijele snagu i struju koju će vidjeti, u protivnom biste mogli imati prijevremeni kvar ili čak požar!

U ovom slučaju glavne komponente o kojima treba brinuti su trenutna vrijednost kontakata releja i snaga otpornika.

Budući da su jedino opterećenje u našem strujnom krugu otpornici, možemo samo izračunati ukupni otpor, staviti to u Ohmov zakon i izračunati struju u našem krugu.

Ukupni otpor paralelnih otpornika: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Ako su pojedinačni otpori jednaki, može se smanjiti na: R_T = R/N. Dakle, za četiri jednaka otpornika to je R_T = R/4.

Koristim četiri otpornika od 150 Ω, tako da je moj ukupni otpor kroz njih četiri (150 Ω) /4=37,5 Ω.

Ohmov zakon je samo napon = trenutni otpor X (V = I × R). To možemo preurediti kako bismo odredili struju za dobivanje I = V/R. Ako priključimo svoj napon iz napajanja i našeg otpora, dobivamo I = (12 V)/(37,5 Ω) = 0,32 A. Dakle, to znači da bi naš relej trebao biti najmanje 0,32 A. Dakle relej 1A koji koristimo je 3 puta veći od potrebne veličine, što je sasvim dovoljno.

Za otpornike moramo odrediti količinu energije koja prolazi kroz svaki od njih. Jednadžba snage dolazi u nekoliko oblika (zamjenom s Ohmovim zakonom), ali ono što nam je najpogodnije je P = E^2/R. Za naš pojedinačni otpornik to postaje P = (12V)^2/150Ω = 0,96 W. Dakle, htjet ćemo otpornik od 1 vata, ali 2 vata će nam dati dodatni faktor sigurnosti.

Ukupna snaga kruga bila bi samo 4 x 0,96 W ili 3,84 W (Također možete staviti ukupni otpor u jednadžbu snage i dobiti isti rezultat).

Zapisujem sve ovo, pa u slučaju da želite generirati više energije (više topline), možete pokrenuti svoje brojeve i izračunati potrebne otpornike, njihovu ocjenu i potrebnu vrijednost releja.

U početku sam pokušao pokrenuti krug s 5 volti iz Raspberry Pi razvodnika, ali snaga generirana po otporniku je samo P = (5V)^2/150Ω = 0,166 W, za ukupno 0,66 W, što nije bilo t dovoljno za generiranje više od nekoliko stupnjeva porasta temperature.

Korak 2: Korak 1: Lemljenje

Korak 1: Lemljenje
Korak 1: Lemljenje
Korak 1: Lemljenje
Korak 1: Lemljenje
Korak 1: Lemljenje
Korak 1: Lemljenje

U redu, dosta popisa dijelova i teorije, prijeđimo na dizajn kola i lemljenje!

Nacrtao sam krug na Proto-Bonnetu na dva različita načina, jednom kao shemu ožičenja, a jednom kao vizualni prikaz ploče. Tu je i označena fotografija pimoroni Explorer pHAT ploče, koja prikazuje ožičenje koje prolazi između nje i proto-poklopca motora.

Na Exploreru pHAT 40 -pinsko zaglavlje koje dolazi s njim potrebno je lemiti na ploču, to je veza između njega i Raspberry Pi. Dolazi s zaglavljem terminala za I/O, ali ga nisam koristio, već sam samo lemio žice izravno na ploču. Proto-Bonnet također uključuje veze za zaglavlje, ali se u ovom slučaju ne koristi.

Senzor temperature spojen je izravno na Explorer pHAT ploču pomoću žica kako bi se napravila razlika između položaja Raspberry Pi -a i unutarnje strane kamere gdje se nalazi.

Vijčani priključni blok i upravljački relej dvije su komponente lemljene na ploči Proto-Bonnet, na shemi su označene T1, T2, T3 (za tri vijčana priključka) i CR1 za relej.

Otpornici su lemljeni na vodiče koji također idu od Raspberry Pi do Camera Dome, spajaju se na Proto-Bonnet preko vijčanih stezaljki na T1 i T3. Zaboravio sam fotografirati sklop prije nego što sam kameru vratio na krov, ali pokušao sam ravnomjerno razmaknuti otpornike oko kupole, sa samo dvije žice koje se vraćaju na Proto-poklopac motora. U kupolu se ulazi kroz rupe na suprotnim stranama cijevi, pri čemu senzor temperature ulazi kroz treću rupu, ravnomjerno razmaknutu između dva otpornika blizu ruba kupole.

Korak 3: Korak 2: Montaža

Korak 2: Montaža
Korak 2: Montaža

Nakon što je sve spojeno zajedno, možete ga instalirati na svoju kameru za snimanje cijelog neba. Postavite Explorer pHAT na Rasperry Pi, gurajući ga na 40-polno zaglavlje, a zatim se Proto-poklopac montira uz njega na vrh Pi-a pomoću nekih odstupanja. Druga mogućnost bila bi upotreba zastoja na vrhu Explorera, ali budući da sam koristio kućište od ABS cijevi, to je učinilo Pi prevelikom da bi više stalo.

Postavite osjetnik temperature prema kućištu na njegovo mjesto i instalirajte otpornik. Zatim ožičite kabelski svežanj s priključnim blokom na matičnoj ploči.

Idemo na programiranje!

Korak 4: Korak 3: Učitavanje Explorer PHAT knjižnice i testiranje programiranja

Prije nego što možemo koristiti Explorer pHAT, moramo učitati knjižnicu za njega s Pimoronija kako bi Pi mogao komunicirati s njim.

Na svom Raspberry Pi otvorite terminal i unesite:

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

Upišite 'y' ili 'n' kako biste dovršili instalaciju.

Zatim ćemo htjeti pokrenuti jednostavan program za testiranje ulaza i izlaza kako bismo bili sigurni da je ožičenje ispravno. Priloženi DewHeater_TestProg.py je python skripta koja prikazuje temperaturu i uključuje i isključuje relej svake dvije sekunde.

vrijeme uvoza

import explorerhat delay = 2 while True: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1.8 +32 ispis ('{0: 5.3f} volti, {1: 5.3f} degC, {2: 5.2f} stupnja F'.format (okrugli (T1, 3), okrugli (tempC, 3), okrugli (tempF, 3))) V1 = explorerhat.output.two. on () print ('Relej uključen') time.sleep (kašnjenje) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (delay)

Možete otvoriti datoteku na svom maline Pi (na mojoj je otvorena u Thonnyju, ali ima i dosta drugih uređivača Pythona), a zatim je pokrenuti i trebala bi početi pokazivati temperaturu, pa ćete čuti klikanje i isključivanje releja! Ako ne, provjerite ožičenje i sklopove.

Korak 5: Korak 4: Učitavanje programiranja grijača rose

Evo potpunog programiranja grijača rose. Radi nekoliko stvari:

  • Povuče trenutnu vanjsku temperaturu i točku rosišta s određene lokacije Nacionalne meteorološke službe svakih pet minuta. Ako ne dobije podatke, zadržava prethodne temperature i pokušava ponovno za pet minuta.

    • NWS traži da se kontakt podaci uključe u zahtjeve API -ja, u slučaju problema sa zahtjevom, znaju kome se obratiti. Ovo je u retku 40 programiranja. Molimo zamijenite '[email protected]' vlastitom adresom e -pošte.
    • Morat ćete otići na weather.gov i potražiti prognozu za svoje područje kako biste dobili ID postaje, koja je najbliža meteorološka stanica u NWS -u. ID postaje je u () iza naziva lokacije. Unesite ovo u redak 17 programiranja. Trenutno prikazuje KPDX ili Portland, Oregon.
    • Ako ste izvan SAD -a, postoji još jedna mogućnost korištenja podataka s OpenWeatherMap.org. Nisam ni sam probao, ali ovaj primjer možete pogledati ovdje: Reading-JSON-With-Raspberry-Pi
  • Imajte na umu da su temperature iz NWS -a i senzora temperature u stupnjevima Celzijusa, kao i one za ASI kameru, pa sam ih zbog dosljednosti sve zadržao u Centrigradu, a ne u Fahrenheitu, na što sam više navikao.
  • Zatim očitava temperaturu s senzora kupole, a ako je manja od 10 stupnjeva iznad točke rosišta, uključuje relej. Ako je veći od 10,5 stupnjeva iznad točke rosišta, relej se isključuje. Po želji možete promijeniti ove postavke.
  • Jednom u minuti zapisuje trenutne vrijednosti temperatura, točke rosišta i statusa releja u.csv datoteku tako da možete vidjeti kako to radi s vremenom.

#Raspberry Pi program za grijanje rosišta

#Dec 2019 #Brian Plett #Koristi Pimoroni Explorer pHAT, temperaturni senzor i relej #za upravljanje krugom otpornika kao grijačem rose za kameru koja snima sve nebo #Izvlači vanjsku temperaturu zraka i rosište s web stranice NWS #održava unutarnju temperaturu 10 stupnjeva iznad rosišta vrijeme uvoza uvoz datum -vrijeme zahtjevi za uvoz uvoz csv uvoz os uvoz explorerhat #ID postaje je najbliža meteorološka stanica na NWS -u. Idite na weather.gov i potražite forcast za svoje područje, #station ID je u () iza naziva lokacije. settings = {'station_ID': 'KPDX',} #Alternate URL for weather information #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, {{101} 2} & jedinice = {3}"

#Weather URL za vraćanje podataka

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

#kašnjenje za kontrolu releja, sekunde

ControlDelay = 2 A = 0 B = 0 dok je True: #date za korištenje u datoteci dnevnika naziv datoteke datestr = datetime.datetime.now (). Strftime ("%Y%m%d") #datum & vrijeme za korištenje za svaki redak podataka localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") #Putanja putanje datoteke CSV = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' dok je B == 0: pokušajte: #Temperatura izvlačenja i točka rosišta iz NWS-a svakih 60 sekundi final_url = BASE_URL.format (postavke ["station_ID"]) weather_data = requests.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["svojstva"] ["temperatura"] ["vrijednost"] dewRaw = weather_data.json () ["svojstva"] ["točka rosišta"] ["vrijednost"] #dijagnostički ispis za ispis podataka o sirovoj temperaturi (oatRaw, dewRaw) OAT = okruglo (oatRaw, 3) Rosa = okruglo (rosište, 3) osim: A = 0 B = 1 prijelom A = 0 B = 1 prekid ako je A <300: A = A + Control Odgoda drugog: B = 0 #Pročitajte sirovi napon iz Raspberry Pi Explorer PHat i pretvorite u temperaturu T1 = explorerhat.analog.one.read () tempC = ((T1 *1 000) -500)/10 #tempF = tempC*1,8 +32 if (tempC Rosa + 10,5): V1 = explorerhat.output.two.off () #dijagnostički ispis koji prikazuje temperature, točke rosišta i ispis izlaznog stanja releja ('{ 0: 5.2f} degC, {1: 5.2f} degC, {2: 5.2f} stupnjeva C {3: 5.0f} '. Format (okrugli (OAT, 3), okrugli (Rosa, 3), okrugli (tempC, 3), explorerhat.output.two.read ())) #10 sekundi nakon što se minuta prevrne, upišite podatke u CSV datoteku ako je A == 10: ako je os.path.isfile (path.format (datestr)): print (path.format (datestr)) s otvorenim (path.format (datestr), "a") kao csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([lokalno vrijeme, OAT, Dew, tempC, explorerhat. output.two.read ()]) else: fieldnames = ['date', 'Outdoor Air Temp', 'Rowpoint', 'Dome Temp', 'Relay State'] s otvorenim (path.format (datestr), "w ") kao csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (nazivi polja) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

Spremila sam ovo u novu mapu pod allsky mapom pod nazivom DewHeaterLogs.

Pokušajte ovo pokrenuti neko vrijeme kako biste bili sigurni da sve izgleda dobro, prije nego prijeđete na pokretanje kao skripta.

Korak 6: Korak 5: Pokretanje skripte pri pokretanju

Da bih pokrenuo skriptu grijača rose čim se Raspberry Pi pokrene, slijedio sam ovdje navedene upute:

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

Za skriptu Launcher stvorio sam ovo:

#!/bin/sh

# launcher.sh # idite do početnog direktorija, zatim do ovog direktorija, zatim izvedite python skriptu, pa se vratite kući cd/cd home/pi/allsky/DewHeaterLogs spava 90 sudo python DewHeater_Web.py & cd/

Kad to učinite, trebali biste krenuti. Uživajte u fotoaparatu bez rose!

Korak 7: Ažurirajte prosinac 2020

Otprilike na polovici prošle godine grijač rose je prestao raditi pa sam onemogućio kôd dok ga nisam mogao pogledati. Konačno sam imao malo vremena tijekom zimske stanke i otkrio da relej koji sam koristio pokazuje veliki otpor na svojim kontaktima tijekom rada, vjerojatno zbog preopterećenja.

Pa sam ga nadogradio relejom veće ocjene, jednim s kontaktom od 5A, a ne kontaktom od 1A. Također je to relej snage, a ne signalni relej, pa se nadam da će pomoći. To je TE PCH-105D2H, 000. Dodao sam i neke vijčane stezaljke za Explorer pHAT, tako da sam po potrebi mogao lako odspojiti grijač i osjetnik temperature. Sve tri navedene stvari nalaze se u ovoj košarici ispod:

Digikey košarica

Imajte na umu da su pinovi za ovaj relej različiti od prethodnog, pa je mjesto na kojem se povezujete malo drugačije, ali bi trebalo biti jednostavno. Polaritet nije važan zavojnici, FYI.

Preporučeni: