Sisukord:

Raspberry Pi kastekuumutaja kogu taeva kaamera jaoks: 7 sammu
Raspberry Pi kastekuumutaja kogu taeva kaamera jaoks: 7 sammu

Video: Raspberry Pi kastekuumutaja kogu taeva kaamera jaoks: 7 sammu

Video: Raspberry Pi kastekuumutaja kogu taeva kaamera jaoks: 7 sammu
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Juuli
Anonim
Raspberry Pi kastesoojendi kogu taeva kaamera jaoks
Raspberry Pi kastesoojendi kogu taeva kaamera jaoks

[Kasutatud relee muutmiseks vaadake 7. sammu]

See on täiustatud taevakaamera täiendus, mille ehitasin Thomas Jaquini suurepärase juhendi (traadita kogu taevakaamera) järgi. Taevakaamerate (ja ka teleskoopide) tavaline probleem on see, et jahedamaks muutudes kondenseerub kaamera kuppel öö, mis varjab vaadet öisele taevale. Lahenduseks on lisada kastekütteseade, mis soojendab kupli üle kastepunkti või temperatuuri, mille juures vesi kuplil kondenseerub.

Tavaline viis seda teha on juhtida voolu läbi mitme takisti, mis seejärel soojenevad, ja kasutada seda soojusallikana. Sel juhul, kuna kaameral on juba Raspberry Pi, tahtsin seda kasutada takisti vooluahela juhtimiseks relee kaudu, lülitades need vajadusel sisse ja välja, et hoida teatud kupli temperatuur kastepunktist kõrgemal. Juhtimiseks on kuplis temperatuuriandur. Otsustasin nõutava kastepunkti teabe saamiseks hankida riiklikust ilmateenistusest kohaliku ilma temperatuuri ja niiskuse andmed, selle asemel, et lisada teine andur, ja vajan tungimist oma kaamera korpusesse, mis võib lekkida.

Raspberry Pi -l on GPIO päis, mis võimaldab laiendusplaatidel füüsilisi seadmeid juhtida, kuid IO ise ei ole loodud takistite toiteahela nõutava voolu haldamiseks. Seetõttu on vaja täiendavaid komponente. Kavatsen kasutada vooluahela eraldamiseks releed, seega on Pi -ga liideseks vaja relee draiveri IC -d. Mul on vaja ka temperatuuriandurit, et lugeda kupli sees olevat temperatuuri, seega on vaja analoog -digitaalmuundurit (ADC), et Pi saaks temperatuuri lugeda. Need komponendid on saadaval üksikult, kuid saate osta ka Pi jaoks mütsi, mis sisaldab neid seadmeid tahvlil, mis lihtsalt ühendatakse Pi GPIO -ga.

Käisin Pimoroni Explorer pHAT-iga, millel on terve rida I/O, kuid minu jaoks on sellel neli analoogsisendit vahemikus 0–5 V ja neli digitaalset väljundit, mis sobivad releede juhtimiseks.

Kupli temperatuurianduri jaoks kasutasin TMP36, mis mulle meeldis, kuna sellel on lihtne lineaarvõrrand, mille abil saab pinge näidust temperatuuri tuletada. Kasutan oma töös termistore ja RTD-sid, kuid need on mittelineaarsed ja seetõttu on neid algusest peale keerulisem rakendada.

Ma kasutasin Adafruit'i Perma Proto Bonnet Mini komplekti trükkplaadina relee, klemmiploki ja muude juhtmete jootmiseks, mis on kena, kuna see on Pi jaoks suur, ja sellel on Pi pakkumistega seotud vooluringid.

Need on peamised asjad. Lõppkokkuvõttes sain Digikeyst kõik, kuna need pakuvad lisaks kõigile tavapärastele vooluringi osadele ka Adafruit'i osi, nii et kõik korraga on lihtne hankida. Siin on link ostukorvi, kus on kõik tellitud osad:

www.digikey.com/short/z7c88f

See sisaldab paar pooli traate hüppajajuhtmete jaoks, kui teil neid juba on, siis pole seda vaja.

Tarvikud

  • Pimoroni Explorer pHAT
  • TMP36 temperatuuriandur
  • 150 oomi 2W takistid
  • 1A 5VDC SPDT relee
  • Kruviga klemmliist
  • Trükkplaat
  • Traat
  • trükkplaadi seiskamised
  • jootekolb ja jootekolb

Digikey osade loend:

www.digikey.com/short/z7c88f

1. samm: elektroteooria märkused

Oluline on veenduda, et kasutatavad komponendid on sobiva suurusega, et käituda võetava voolu ja vooluga, vastasel juhul võib teil tekkida enneaegne rike või isegi tulekahju!

Peamised komponendid, mille pärast sel juhul muretseda, on releekontaktide praegune nimiväärtus ja takistite võimsus.

Kuna meie vooluahela ainus koormus on takistid, saame lihtsalt arvutada kogutakistuse, sisestada selle Ohmi seadusse ja arvutada vooluahela voolu.

Paralleeltakistite kogutakistus: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Kui individuaalsed takistused on võrdsed, saab seda vähendada järgmiselt: R_T = R/N. Nii et nelja võrdse takisti puhul on see R_T = R/4.

Ma kasutan nelja 150 Ω takistit, nii et minu kogu takistus läbi nende nelja on (150 Ω)/4 = 37,5 Ω.

Ohmi seadus on lihtsalt pinge = vool X takistus (V = I × R). Võime selle ümber korraldada, et määrata vool I = V/R. Kui ühendame oma toiteallikast pinge ja takistuse, saame I = (12 V)/(37,5 Ω) = 0,32 A. See tähendab, et vähemalt peaks meie relee olema hinnatud 0,32 A. meie kasutatav 1A relee on üle 3 korra suurem kui vaja, mis on palju.

Takistite puhul peame kindlaks määrama igaüks läbiva võimsuse. Võimsusvõrrandit on mitmel kujul (asendades Ohmi seadusega), kuid meie jaoks on kõige mugavam P = E^2/R. Meie individuaalse takisti puhul saab sellest P = (12V)^2/150Ω = 0,96 W. Seega soovime vähemalt 1 -vatist takistit, kuid 2 -vatine annab meile täiendava ohutusteguri.

Vooluahela koguvõimsus oleks lihtsalt 4 x 0,96 W või 3,84 W (saate ka kogutakistuse võimsusvõrrandisse panna ja saada sama tulemus).

Kirjutan selle kõik välja, nii et kui soovite rohkem energiat (rohkem soojust), saate oma numbrid käivitada ja arvutada vajalikud takistid, nende nimiväärtuse ja vajaliku relee reitingu.

Proovisin esialgu ahelat juhtida Raspberry Pi toitekaabli 5 -voldise vooluringiga, kuid takisti kohta genereeritud võimsus on vaid P = (5V)^2/150Ω = 0,166 W, kokku 0,66 W, mis ei olnud t piisab rohkem kui paari kraadi temperatuuri tõusust.

2. samm: 1. samm: jootmine

Samm: jootmine
Samm: jootmine
Samm: jootmine
Samm: jootmine
Samm: jootmine
Samm: jootmine

Olgu, piisab osade loenditest ja teooriast, lähme vooluahela projekteerimise ja jootmise juurde!

Olen joonistanud vooluringi Proto-Bonnetil kahel erineval viisil, kord juhtmestiku skeemina ja korra tahvli visuaalse kujutisena. Pimoroni Explorer pHAT-plaadilt on ka märgitud foto, mis näitab selle ja Proto-Bonneti vahel olevat juhtmestikku.

Explorer pHAT -il tuleb kaasasolev 40 -kontaktiline päis plaadile jootma, see on ühendus selle ja Raspberry Pi vahel. Kaasas terminali päis I/O jaoks, kuid ma ei kasutanud seda, vaid jootsin juhtmed otse plaadile. Proto-Bonnet sisaldab ka päise ühendusi, kuid sel juhul seda ei kasutata.

Temperatuuriandur ühendatakse juhtmetega otse Exploreri pHAT -plaadiga, et teha vahet Raspberry Pi asukoha ja kaamera kupli sisemuse vahel, kus see asub.

Kruviklemmiplokk ja juhtrelee on kaks komponenti, mis on joodetud Proto-Bonnet plaadile, skemaatiliselt on need märgistatud T1, T2, T3 (kolme kruviklemmi puhul) ja CR1 relee jaoks.

Takistid on joodetud juhtmetesse, mis lähevad ka Raspberry Pi-st kaamera kupli külge, need ühendatakse proto-kapotiga T1 ja T3 kruviklemmide kaudu. Unustasin enne kaamera katusele tagasi paigaldamist kokkupanekust pilti teha, kuid püüdsin takistid kupli ümber ühtlaselt paigutada, vaid kaks juhtmest tulid tagasi Proto-Bonnetile. Sisestage kuppel toru vastaskülgedel olevate aukude kaudu, temperatuuriandur siseneb kolmanda ava kaudu, mis on ühtlaselt paigutatud kahe takisti vahele kupli serva lähedal.

3. samm: 2. samm: kokkupanek

2. samm: kokkupanek
2. samm: kokkupanek

Kui see kõik on kokku joodetud, saate selle oma taevakaamerasse installida. Paigaldage Explorer pHAT Rasperry Pi-le, lükates selle 40-kontaktilisele päisele ja seejärel paigaldatakse Proto-Bonnet selle kõrvale Pi peal, kasutades mõningaid takistusi. Teine võimalus oleks kasutada eraldusvõimalusi Exploreri peal, kuid kuna kasutasin ABS -toru korpust, muutis see Pi liiga suureks, et seda enam mahutada.

Viige temperatuuriandur korpusest üles oma asukohta ja paigaldage ka takisti rakmed. Seejärel ühendage rakmed proto-plaadi klemmliistuga.

Programmeerimise juurde!

4. samm: 3. samm: Explorer PHAT -i kogu laadimine ja testimisprogrammeerimine

Enne kui saame kasutada Explorer pHAT -i, peame laadima selle kogu Pimoronist, et Pi saaks sellega suhelda.

Avage oma Raspberry Pi -l terminal ja sisestage:

curl https://get.pimoroni.com/explorerhat | lööma

Installimise lõpuleviimiseks sisestage sobivalt „y” või „n”.

Järgmisena tahame käivitada lihtsa programmi sisendite ja väljundite testimiseks, et tagada meie juhtmestiku korrektsus. Lisatud DewHeater_TestProg.py on pythoni skript, mis kuvab temperatuuri ja lülitab relee iga kahe sekundi järel sisse ja välja.

impordi aeg

impordi explorerhat viivitus = 2, samas kui tõsi: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1,8 +32 print ('{0: 5.3f} volti, {1: 5.3f} ° C, {2: 5.2f} ° F '. Vorming (ümmargune (T1, 3), ümmargune (tempC, 3), ümmargune (tempF, 3))) V1 = explorerhat.output.two. on () print ('Relay on') time.sleep (delay) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (viivitus)

Saate faili oma vaarika Pi -l avada (minu puhul avas selle Thonny, kuid seal on ka palju teisi Pythoni redigeerijaid) ja seejärel käivitada ning see peaks temperatuuri näitama ja kuulete relee klõpsates sisse ja välja! Kui ei, kontrollige juhtmeid ja vooluringi.

5. samm: 4. samm: kastesoojendi programmeerimise laadimine

Siin on kaste küttekeha täielik programmeerimine. See teeb mitmeid asju:

  • Tõmbab praeguse välistemperatuuri ja kastepunkti riigi ilmateenistuse asukohast iga viie minuti järel. Kui see andmeid ei saa, säilitab see eelmised temperatuurid ja proovib uuesti viie minuti pärast.

    • NWS taotleb, et API taotlustesse lisataks kontaktteave. Kui taotlusega on probleeme, teavad nad, kelle poole pöörduda. See on programmeerimise reas 40, palun asendage '[email protected]' oma e -posti aadressiga.
    • Jaama ID saamiseks, mis on NWS -i lähim ilmajaam, peate minema saidile weather.gov ja otsima oma piirkonna prognoosi. Jaama ID asub asukoha nime järel (). Sisestage see programmeerimise reale 17. Praegu näitab see KPDX või Portland, Oregon.
    • Kui viibite väljaspool USA -d, on veel üks võimalus kasutada OpenWeatherMap.org andmeid. Ma pole seda ise proovinud, kuid seda näidet saate vaadata siit: Reading-JSON-With-Raspberry-Pi
  • Pange tähele, et NWS -i ja temperatuurianduri temperatuurid on Celsiuse kraadides, nagu ka ASI -kaamera puhul, nii et järjepidevuse huvides hoidsin neid kõiki Centrigrade'is, mitte Fahrenheiti -vormingusse teisendamisel, millega olen rohkem harjunud.
  • Järgmisena loeb see kuppelandurilt temperatuuri ja kui see on alla 10 kraadi kastepunktist kõrgemal, lülitab see relee sisse. Kui see on kastepunktist kõrgemal kui 10,5 kraadi, lülitab see relee välja. Soovi korral saate neid seadeid muuta.
  • Kord minutis logib see temperatuuri, kastepunkti ja relee oleku praegused väärtused.csv -faili, et saaksite näha, kuidas see aja jooksul toimib.

#Vaarika Pi kastekütteseadme juhtimisprogramm

#Dets 2019 #Brian Plett #kasutab Pimoroni Explorer pHAT-i, temperatuuriandurit ja releed #, et juhtida takistusahelat kastekuumendajana kogu taeva kaamera jaoks #tõmbab välisõhu temperatuuri ja kastepunkti NWS-i veebisaidilt #hoiab sisetemperatuuri 10 kraadid üle kastepunkti importimise aeg importimise kuupäeva ja aja importimise taotlused import csv import os import explorerhat #Jaama ID on NWS lähim ilmajaam. Minge saidile weather.gov ja otsige oma piirkonna jaoks prognoosi, #jaama ID on () pärast asukoha nime. settings = {'station_ID': 'KPDX',} #Ilmateabe alternatiivne URL #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & ühikud = {3}"

#Weather URL andmete taastamiseks

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

#viivitus relee juhtimiseks, sekundit

ControlDelay = 2 A = 0 B = 0, samas kui tõene: #kuupäev, mida logifailis kasutada localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") #CSV -failitee tee = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' samas kui B == 0: proovige: #Tõmmake temperatuur ja kastepunkt NWS-st iga 60 sekundi järel final_url = BASE_URL.format (seaded ["station_ID"]) weather_data = request.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["omadused"] ["temperatuur"] ["väärtus"] dewRaw = weather_data.json () ["omadused"] ["kastepunkt"] ["väärtus"] #diagnostiline trükk toortemperatuuri andmete printimiseks (oatRaw, dewRaw) OAT = ümmargune (oatRaw, 3) Kaste = ümmargune (dewRaw, 3), välja arvatud: A = 0 B = 1 paus A = 0 B = 1 vaheaeg, kui A <300: A = A + ControlDelay muu: B = 0 #Lugege Raspberry Pi Explorer PHat toorpinget ja teisendage temperatuuriks T1 = explorerhat.analog.one.read () tempC = ((T1 *1 000) -500)/10 #tempF = tempC*1,8 +32, kui (tempC Dew + 10,5): V1 = explorerhat.output.two.off () #diagnostiline trükk, mis näitab temperatuure, kastepunkte ja relee väljundi oleku printimist ('{ 0: 5.2f} ° C, {1: 5.2f} ° C, {2: 5.2f} ° C {3: 5.0f} '. Vorming (ümmargune (OAT, 3), ümmargune (kaste, 3), ümmargune (tempC), 3), explorerhat.output.two.read ())) #10 sekundit pärast minuti ümberminekut kirjutage andmed CSV -faili, kui A == 10: kui os.path.isfile (path.format (datestr)): print (path.format (datestr)) koos avatud (path.format (datestr), "a") kui csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat). output.two.read ()]) else: fieldnames = ['date', 'Outdoor Air Temp', 'Dewpoint', 'Dome Temp', 'Relay State'] koos avatud (path.format (datestr), "w ") kui csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (väljanimed) txtwrite.writerow ([lokaal, OAT, kaste, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

Salvestasin selle uude kausta allsky kausta DewHeaterLogs alla.

Enne skriptina käivitamist proovige seda mõnda aega käivitada, et kõik hästi välja näeks.

6. samm: 5. samm: skripti käivitamine käivitamisel

Dew Heater'i skripti käivitamiseks kohe pärast Raspberry Pi käivitamist järgisin siin toodud juhiseid:

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

Käivitaja skripti jaoks lõin selle:

#!/bin/sh

# launcher.sh # navigeeri kodukataloogi, seejärel sellesse kataloogi, seejärel käivita pythoni skript, seejärel tagasi koju cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

Kui see on tehtud, peaksite minema. Naudi kastevaba kaamera olemasolu!

Samm: värskendage detsember 2020

Eelmise aasta umbes poole peal lakkas minu kastesoojendaja töötamast, nii et keelasin koodi, kuni sain seda vaadata. Tal oli lõpuks talvevaheajal aega ja leidis, et minu kasutatav relee näitas töötamise ajal oma kontaktidel suurt takistust, tõenäoliselt ülekoormuse tõttu.

Nii et ma uuendasin seda kõrgema nimiväärtusega releega, millel oli 5A kontakt, mitte 1A kontakt. Samuti on see pigem relee kui signaalrelee, seega loodan, et see aitab. See on TE PCH-105D2H, 000. Lisasin ka mõned kruviklemmid Explorer pHAT-i jaoks, nii et saaksin vajadusel hõlpsasti küttekeha ja temperatuurianduri lahti ühendada. Kõik need 3 on selles ostukorvis allpool:

Digikey ostukorv

Pidage meeles, et selle relee tihvtid erinevad eelmisest, nii et koht, kuhu ühendate, on veidi erinev, kuid see peaks olema lihtne. Polaarsus pole mähisele oluline, FYI.

Soovitan: