Sadržaj:

Grejač rose rose Raspberry Pi za kameru za celokupno nebo: 7 koraka
Grejač rose rose Raspberry Pi za kameru za celokupno nebo: 7 koraka

Video: Grejač rose rose Raspberry Pi za kameru za celokupno nebo: 7 koraka

Video: Grejač rose rose Raspberry Pi za kameru za celokupno nebo: 7 koraka
Video: Zagoreli ukus? | Primarno natapanje grejača 2024, Novembar
Anonim
Grejač rose za malinu Pi za kameru za celo nebo
Grejač rose za malinu Pi za kameru za celo nebo

[Pogledajte korak 7 za promjenu korištenog releja]

Ovo je nadogradnja na kameru za cijelo nebo koju sam izgradio prema izvrsnom vodiču Thomasa Jaquina (Bežična kamera za sve nebo) Uobičajeni problem koji se javlja nebeskim kamerama (i teleskopima) je to što će se rosa kondenzirati na kupoli fotoaparata kako postaje hladnije noć, koja zaklanja pogled na noćno nebo. Rješenje je dodavanje grijača rose koji će zagrijati kupolu tako da bude iznad točke rosišta ili temperature 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 ih 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. Senzor temperature se nalazi u kupoli radi kontrole. Odlučio sam povući lokalne podatke o temperaturi i vlažnosti od Nacionalne meteorološke službe za potrebne podatke o tački rosišta, 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 da upravljaju fizičkim uređajima, ali sam IO nije dizajniran da podnese struju koju zahtijeva krug napajanja otpornika. Stoga su potrebne dodatne komponente. Planiram upotrijebiti relej za izolaciju strujnog kruga, pa je za povezivanje s Pi potreban relejni upravljački sklop. Takođe 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 komponente su dostupne pojedinačno, ali možete kupiti i „šešir“za Pi koji sadrži ove uređaje na ploči koja se samo priključuje na GPIO za Pi.

Išao sam s Pimoroni Explorerom pHAT, koji ima čitav niz I/O, ali za moje potrebe, ima četiri analogna ulaza u rasponu 0-5V i četiri digitalna izlaza pogodna 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-ove, ali oni su nelinearni i stoga ih je složenije implementirati od nule.

Koristio sam Adafruit -ov 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 oni pored svih normalnih dijelova kola skladište i Adafruit dijelove, pa je jednostavno nabaviti sve odjednom. Evo veze do korpe za kupovinu 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.

Supplies

  • Pimoroni Explorer pHAT
  • TMP36 senzor temperature
  • 150 Ohm 2W otpornici
  • 1A 5VDC SPDT relej
  • Vijčani terminalni blok
  • Ploča
  • Žica
  • odstupanja od štampanih ploča
  • lemljenje i lemilica

Lista 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 prerani 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, dobit ćemo I = (12 V)/(37,5 Ω) = 0,32 A. Dakle, to znači da bi naš relej trebao biti ocijenjen na 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 sa 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 kola bila bi samo 4 x 0,96 W ili 3,84 W (Ukupni otpor možete staviti i u jednadžbu snage i dobiti isti rezultat).

Sve ovo zapisujem, 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 sa 5 volti iz Raspberry Pi napojne šine, 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 kolo na Proto-Bonnetu na dva različita načina, jednom kao shemu ožičenja, a drugi put kao vizuelni 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 terminalnim zaglavljem za I/O, ali ga nisam koristio, već sam samo lemio žice direktno na ploču. Proto-Bonnet također uključuje veze za zaglavlje, ali se u ovom slučaju ne koristi.

Senzor temperature je priključen direktno na Explorer pHAT ploču pomoću žica kako bi se nadoknadila razlika između lokacije Raspberry Pi -a i unutrašnjosti Camera Dome na kojoj se nalazi.

Vijčani terminalni 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 izvode koji također idu od Raspberry Pi do kamere, spojeni su na Proto-Bonnet preko vijčanih stezaljki na T1 i T3. Zaboravio sam snimiti fotografiju sklopa prije nego što sam kameru vratio na krov, ali sam pokušao 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. Montirajte Explorer pHAT na Rasperry Pi, gurajući ga na 40-polno zaglavlje, a zatim se Proto-poklopac montira uz njega na vrhu Pi-a pomoću nekih zastoja. 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 spojite kabelski svežanj na priključni blok na matičnoj ploči.

Idemo na programiranje!

Korak 4: Korak 3: Učitavanje Explorer PHAT biblioteke i testiranje programiranja

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

Na vašem 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.

vreme 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} deg 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 uključivanje 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 tačku rosišta sa određene lokacije Nacionalne meteorološke službe svakih pet minuta. Ako ne dobije podatke, zadržava prethodne temperature i pokušava ponovo za sljedećih pet minuta.

    • NWS traži da se kontakt informacije uključe u zahtjeve API -ja, u slučaju problema sa zahtjevom, znaju kome se obratiti. Ovo je u redu 40 programiranja. Molimo zamijenite '[email protected]' sa svojom e -adresom.
    • Morat ćete otići na weather.gov i potražiti prognozu za vaše područje kako biste dobili ID stanice, koja je najbliža meteorološka stanica na NWS -u. ID postaje je u () iza naziva lokacije. Unesite ovo u red 17 programiranja. Trenutno prikazuje KPDX ili Portland, Oregon.
    • Ako se nalazite 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. Ove postavke možete promijeniti ako želite.
  • Jednom u minuti zapisuje trenutne vrijednosti temperatura, tač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 unutrašnju temperaturu 10 stupnjeva iznad rosišta vrijeme uvoza uvoz datum -vrijeme zahtjevi uvoza uvoz csv uvoz os import explorerhat #ID stanice je najbliža meteorološka stanica na NWS -u. Idite na weather.gov i potražite forcast za svoje područje, ID #stanice je u () nakon 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}, { 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 dnevniku ime datoteke datestr = datetime.datetime.now (). Strftime ("%Y%m%d") #datum i vrijeme za korištenje za svaki red podataka localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") #CSV putanja datoteke = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' dok je B == 0: pokušajte: #Temperatura povlačenja i tač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"] ["tačka rosišta"] ["vrijednost"] #dijagnostički ispis podataka o sirovoj temperaturi (oatRaw, dewRaw) OAT = okrugla (oatRaw, 3) Rosa = okrugla (rosa Row, 3) osim: A = 0 B = 1 prijelom A = 0 B = 1 pauza 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 Dew + 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} stepeni C {3: 5.0f} '. Format (okrugli (OAT, 3), okrugli (Rosa, 3), okrugli (tempC, 3), explorerhat.output.two.read ())) #10 sekundi nakon prelaska minute, upišite podatke u CSV datoteku ako je A == 10: ako je os.path.isfile (path.format (datestr)): ispis (path.format (datestr)) s otvorenim (path.format (datestr), "a") kao csv datoteka: 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'] sa 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)

Sačuvao sam ovo u novu fasciklu pod allsky fasciklom koja se zove 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 Dew Heater čim se Raspberry Pi pokrene, slijedio sam upute ovdje:

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 ovo 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 tokom zimske pauze i otkrio da relej koji sam koristio pokazuje veliki otpor na svojim kontaktima tokom rada, vjerovatno zbog preopterećenja.

Pa sam ga nadogradio relejom veće ocjene, jednim sa kontaktom od 5A, a ne kontaktom od 1A. Također je to relej za napajanje, 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 temperaturni senzor. Sve tri navedene stvari nalaze se u nastavku u ovoj korpi za kupovinu:

Digikey korpa za kupovinu

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 bitan zavojnici, FYI.

Preporučuje se: