Obsah:

Ohrievač rosy Raspberry Pi pre celooblohovú kameru: 7 krokov
Ohrievač rosy Raspberry Pi pre celooblohovú kameru: 7 krokov

Video: Ohrievač rosy Raspberry Pi pre celooblohovú kameru: 7 krokov

Video: Ohrievač rosy Raspberry Pi pre celooblohovú kameru: 7 krokov
Video: Abandoned House Of German Immigrants In The USA ~ War Changed Them! 2024, Júl
Anonim
Ohrievač rosy Raspberry Pi pre celooblohovú kameru
Ohrievač rosy Raspberry Pi pre celooblohovú kameru

[V kroku 7 nájdete zmenu použitého relé]

Toto je aktualizácia kamery pre celú oblohu, ktorú som zostavil podľa vynikajúceho sprievodcu Thomasa Jaquina (Bezdrôtová kamera pre všetky oblohy) Bežným problémom, ktorý sa vyskytuje pri nebeských kamerách (a tiež pri ďalekohľadoch), je to, že na kopule kamery kondenzuje rosa, pretože sa ochladzuje. noc, ktorá zakrýva výhľad na nočnú oblohu. Riešením je pridať rosný ohrievač, ktorý zohreje kupolu nad rosný bod alebo teplotu, pri ktorej bude na kopuli kondenzovať voda.

Bežným spôsobom je viesť prúd cez niekoľko odporov, ktoré sa potom zahriajú, a použiť ho ako zdroj tepla. V tomto prípade, pretože kamera už má Raspberry Pi, chcel som to použiť na ovládanie obvodu rezistora prostredníctvom relé a podľa potreby ich zapínať a vypínať, aby sa udržala určitá teplota kupoly nad rosným bodom. Na ovládanie je v kupole umiestnený snímač teploty. Rozhodol som sa získať miestne údaje o teplote a vlhkosti počasia z Národnej meteorologickej služby, aby som získal požadované informácie o rosnom bode, namiesto pridania ďalšieho senzora a potreboval by som preniknúť do krytu fotoaparátu, ktorý by mohol unikať.

Raspberry Pi má GPIO záhlavie, ktoré umožňuje rozširujúcim doskám ovládať fyzické zariadenia, ale samotný IO nie je navrhnutý tak, aby zvládal prúd, ktorý vyžaduje výkonový obvod rezistora. Preto sú potrebné ďalšie komponenty. Plánujem použiť relé na izoláciu výkonového obvodu, takže na prepojenie s Pi je potrebný IC reléového ovládača. Potrebujem tiež snímač teploty na čítanie teploty vo vnútri kupoly, takže je potrebný analógovo -digitálny prevodník (ADC), aby Pi mohol čítať teplotu. Tieto komponenty sú k dispozícii jednotlivo, ale pre Pi, ktorý obsahuje tieto zariadenia, si môžete kúpiť aj „klobúk“na doske, ktorá sa jednoducho zapojí do GPIO Pi.

Išiel som s Pimoroni Explorer pHAT, ktorý má celý rad I/O, ale pre moje účely má štyri analógové vstupy v rozsahu 0-5V a štyri digitálne výstupy vhodné na riadenie relé.

Ako snímač teploty kupoly som použil TMP36, ktorý sa mi páčil, pretože má jednoduchú lineárnu rovnicu na odvodenie teploty z údajov napätia. Pri svojej práci používam termistory a RTD, ale sú nelineárne, a preto je ich implementácia od začiatku komplikovanejšia.

Ako dosku s plošnými spojmi som použil súpravu Adermruit Perma Proto Bonnet Mini na spájkovanie relé, svorkovnice a iného vedenia, ktoré je pekné, pretože má veľkosť Pi a má obvody relevantné pre to, čo Pi ponúka.

To sú hlavné veci. Nakoniec som dostal od Digikey väčšinu všetkého, pretože okrem všetkých bežných obvodových dielov skladujú aj diely Adafruit, takže je jednoduché získať všetko naraz. Tu je odkaz na nákupný košík so všetkými časťami, ktoré som si objednal:

www.digikey.com/short/z7c88f

Obsahuje pár cievok drôtu na prepojovacie vodiče, ak už nejaké máte, nepotrebujete ich.

Zásoby

  • Prieskumník Pimoroni pHAT
  • Snímač teploty TMP36
  • 150 Ohm 2W odpory
  • 1A 5VDC SPDT relé
  • Skrutkovacia svorkovnica
  • Obvodová doska
  • Drôt
  • odstupy obvodovej dosky
  • spájkovačka a spájkovačka

Zoznam dielov na digikey:

www.digikey.com/short/z7c88f

Krok 1: Poznámky k elektrickej teórii

Je dôležité zaistiť, aby použité súčiastky boli správne dimenzované tak, aby zvládali výkon a prúd, ktoré uvidia, inak by ste mohli dôjsť k predčasnému zlyhaniu alebo dokonca k požiaru!

Hlavnými komponentmi, o ktoré sa v tomto prípade musíte starať, je aktuálna hodnota kontaktov relé a výkon rezistorov.

Pretože jedinou záťažou v našom výkonovom obvode sú odpory, môžeme len vypočítať celkový odpor, vložiť to do Ohmovho zákona a vypočítať prúd v našom obvode.

Celkový odpor paralelných rezistorov: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Ak sú jednotlivé odpory rovnaké, je možné ich znížiť na: R_T = R/N. Takže pre štyri rovnaké odpory je R_T = R/4.

Používam štyri odpory 150 Ω, takže môj celkový odpor cez štyri z nich je (150 Ω) /4=37,5 Ω.

Ohmov zákon je len napätie = prúdový odpor X (V = I × R). Môžeme to zmeniť tak, aby sme určili prúd, aby sme dostali I = V/R. Ak zapojíme napätie z nášho napájacieho zdroja a nášho odporu, dostaneme I = (12 V)/(37,5 Ω) = 0,32 A. To znamená, že naše relé bude musieť byť dimenzované na 0,32 A. relé 1A, ktoré používame, je viac ako 3 -násobok potrebnej veľkosti, čo je veľa.

Pre rezistory musíme určiť množstvo energie, ktorou prechádza každý z nich. Rovnica moci má niekoľko foriem (substitúciou za Ohmov zákon), ale to, čo je pre nás najpohodlnejšie, je P = E^2/R. Pre náš individuálny odpor to bude P = (12V)^2/150Ω = 0,96 W. Budeme teda chcieť najmenej 1 wattový odpor, ale 2 watt nám poskytne ďalší faktor bezpečnosti.

Celkový výkon obvodu by bol 4 x 0,96 W alebo 3,84 W (celkový odpor môžete tiež vložiť do výkonovej rovnice a získať rovnaký výsledok).

Toto všetko píšem, takže v prípade, že chcete, aby sa generovalo viac energie (viac tepla), môžete spustiť svoje čísla a vypočítať potrebné odpory, ich hodnotenie a hodnotenie relé.

Pôvodne som sa pokúsil spustiť obvod s 5 voltami z napájacej lišty Raspberry Pi, ale výkon generovaný na odpor je len P = (5V)^2/150Ω = 0,166 W, celkom 0,66 W, čo nebolo t dostatočne na generovanie viac ako pár stupňov nárastu teploty.

Krok 2: Krok 1: Spájkovanie

Krok 1: Spájkovanie
Krok 1: Spájkovanie
Krok 1: Spájkovanie
Krok 1: Spájkovanie
Krok 1: Spájkovanie
Krok 1: Spájkovanie

Dobre, dosť zoznamov dielov a teórie, poďme na návrh obvodu a spájkovanie!

Obvod na Proto-Bonnet som nakreslil dvoma rôznymi spôsobmi, raz ako schému zapojenia a raz ako vizuálne znázornenie dosky. K dispozícii je tiež označená fotografia dosky Pimoroni Explorer pHAT, ktorá ukazuje zapojenie medzi ňou a proto-bonnetom.

Na Explorer pHAT je potrebné 40 -pinovú hlavičku, ktorá je súčasťou balenia, spájkovať s doskou, toto je spojenie medzi ním a Raspberry Pi. Dodáva sa s konektorom pre I/O, ktorý som však nepoužil, namiesto toho som spájkoval vodiče priamo s doskou. Proto-Bonnet tiež obsahuje pripojenia pre hlavičku, ale v tomto prípade sa nepoužíva.

Teplotný snímač je zapojený priamo na dosku Explorer pHAT pomocou vodičov, aby sa zistil rozdiel medzi umiestnením Raspberry Pi a vnútornou časťou kamery Dome, kde sa nachádza.

Skrutkovacia svorkovnica a riadiace relé sú dva komponenty, ktoré sú spájkované s doskou Proto-Bonnet, v schéme sú označené T1, T2, T3 (pre tri skrutkové svorky) a CR1 pre relé.

Rezistory sú spájkované na vývody, ktoré vedú tiež z Raspberry Pi do Camera Dome, a k Proto-Bonnet sa pripájajú pomocou skrutkových svoriek na T1 a T3. Pred inštaláciou kamery späť na strechu som zabudol odfotiť zostavu, ale pokúsil som sa rovnomerne rozložiť odpory okolo kupoly, pričom do Proto-Bonnetu sa vracajú iba dva drôty. Do kupoly vstupujte otvormi na protiľahlých stranách potrubia, pričom snímač teploty vstupuje tretím otvorom, rovnomerne rozmiestneným medzi dvoma odpormi blízko okraja kupoly.

Krok 3: Krok 2: Zostavenie

Krok 2: Zostavenie
Krok 2: Zostavenie

Akonáhle je všetko spájkované, môžete ho nainštalovať na svoju oblohu kameru. Namontujte Explorer pHAT na Rasperry Pi tak, že ho zatlačíte na 40-kolíkovú hlavičku, a potom sa k nemu na vrch Pi pripevní proto-Bonnet s použitím určitých odstupov. Ďalšou možnosťou by bolo použiť odstupy na vrchu Prieskumníka, ale keďže som používal kryt ABS Pipe, bol Pi príliš veľký na to, aby sa zmestil.

Veďte snímač teploty hore do krytu na jeho miesto a nainštalujte tiež zväzok rezistorov. Potom zapojte zväzok káblov k svorkovnici na proto-doske.

Poďme na programovanie!

Krok 4: Krok 3: Načítanie knižnice Explorer PHAT a testovanie programovania

Predtým, ako budeme môcť používať Explorer pHAT, musíme preň načítať knižnicu od Pimoroni, aby s ním Pi mohol komunikovať.

Na svojom Raspberry Pi otvorte terminál a zadajte:

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

Dokončite inštaláciu zadaním 'y' alebo 'n' podľa potreby.

Ďalej budeme chcieť spustiť jednoduchý program na testovanie vstupov a výstupov, aby sme sa uistili, že naše zapojenie je správne. Pripojený DewHeater_TestProg.py je pythonový skript, ktorý zobrazuje teplotu a zapína a vypína relé každé dve sekundy.

čas importu

importujte oneskorenie prieskumníka = 2, kým je pravda: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1,8 +32 tlač ('{0: 5,3f} voltov, {1: 5,3f} degC, {2: 5,2f} deg F'.format (okrúhle (T1, 3), okrúhle (tempC, 3), okrúhle (tempF, 3))) V1 = explorerhat.output.two. on () print ('Relay on') time.sleep (delay) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (delay)

Môžete otvoriť súbor na svojom malinovom Pi (na mojom sa otvoril v Thonny, ale existuje aj veľa ďalších editorov Pythonu), potom ho spustite a malo by začať zobrazovať teplotu a budete počuť zapínanie a vypínanie relé! Ak nie, urobte malú kontrolu zapojenia a obvodov.

Krok 5: Krok 4: Načítanie programovania ohrievača rosy

Tu je kompletné programovanie ohrievača rosy. Vykonáva niekoľko vecí:

  • Každých päť minút čerpá aktuálnu vonkajšiu teplotu a rosný bod z daného miesta národnej meteorologickej služby. Ak údaje nedostane, uchová predchádzajúce teploty a skúša to znova o ďalších päť minút.

    • NWS požaduje, aby do žiadostí API boli zahrnuté kontaktné informácie. V prípade problémov so žiadosťou vedia, na koho sa obrátiť. Toto je riadok 40 programovania, nahraďte „[email protected]“svojou vlastnou e -mailovou adresou.
    • Budete musieť ísť na weather.gov a vyhľadať predpoveď pre svoju oblasť, aby ste získali ID stanice, ktorá je najbližšou meteorologickou stanicou na NWS. ID stanice je v () za názvom polohy. Zadajte to do riadku 17 programovania. Aktuálne zobrazuje KPDX alebo Portland, Oregon.
    • Ak sa nachádzate mimo USA, existuje ďalšia možnosť pomocou údajov z OpenWeatherMap.org. Sám som to neskúsil, ale na tento príklad sa môžete pozrieť tu: Reading-JSON-With-Raspberry-Pi
  • Všimnite si toho, že teploty z NWS a z teplotného senzora sú v stupňoch Celzia, rovnako ako tie pre kameru ASI, takže kvôli konzistencii som ich nechal všetky Centrigrade, než aby som konvertoval na Fahrenheita, na čo som viac zvyknutý.
  • Ďalej číta teplotu z kupolového senzora a ak je nižšia ako 10 stupňov nad rosným bodom, zapne relé. Ak je nad rosným bodom viac ako 10,5 stupňa, relé sa vypne. Tieto nastavenia môžete v prípade potreby zmeniť.
  • Raz za minútu zaznamenáva aktuálne hodnoty teplôt, rosného bodu a stavu relé do súboru.csv, aby ste videli, ako sa darí v priebehu času.

#Ovládací program ohrievača rosy Raspberry Pi

#Dec 2019 #Brian Plett #Používa Pimoroni Explorer pHAT, snímač teploty a relé #na ovládanie obvodu rezistora ako ohrievača rosy pre celooblohovú kameru #Stiahne teplotu vonkajšieho vzduchu a rosný bod z webovej stránky NWS #udržuje vnútornú teplotu 10 stupne nad rosným bodom čas importu import čas / dátum import import csv import os import explorerhat #Station ID je najbližšia meteorologická stanica na NWS. Choďte na weather.gov a vyhľadajte predpoveď počasia pre svoju oblasť, ID stanice #station je v () za názvom polohy. settings = {'station_ID': 'KPDX',} #Alternate URL for information information #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & units = {3}"

#Weather URL na získanie údajov

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

#oneskorenie ovládania relé, sekundy

ControlDelay = 2 A = 0 B = 0 while True: #date to use in log filename 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 cesta k súboru = =//home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv ' zatiaľ čo B == 0: skúste: #Získajte teplotu a rosný bod z NWS každých 60 sekúnd final_url = BASE_URL.format (settings ["station_ID"]) weather_data = requests.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["properties"] ["temperature"] ["value"] dewRaw = weather_data.json () ["properties"] ["rosný bod"] ["hodnota"] #diagnostický výtlačok pre tlač nespracovaných údajov o teplote (oatRaw, dewRaw) OAT = okrúhly (oatRaw, 3) Rosný = okrúhly (rosný, 3) okrem: A = 0 B = 1 zlom A = 0 B = 1 prestávka, ak A <300: A = A + Ovládanie Odložiť inak: B = 0 #Prečítajte si surové napätie z Raspberry Pi Explorer PHat a preveďte na teplotu 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 () #diagnostický výtlačok zobrazujúci teploty, rosné body a stav tlačového výstupu relé ('{ 0: 5,2f} degC, {1: 5,2f} degC, {2: 5,2f} ° C {3: 5,0f} '. Formát (okrúhly (OAT, 3), okrúhly (Rosný, 3), okrúhly (tempC), 3), explorerhat.output.two.read ())) #10 sekúnd po uplynutí minúty zapíšte údaje do súboru CSV, ak A == 10: ak os.path.isfile (cesta.format (datestr)): print (path.format (datestr)) s otvoreným (path.format (datestr), "a") ako csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat. output.two.read ()]) else: fieldnames = ['date', 'Outdoor Air Temp', 'Roswpoint', 'Dome Temp', 'Relay State'] with open (path.format (datestr), "w ") ako csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (názvy polí) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

Uložil som to do nového priečinka pod priečinkom allsky s názvom DewHeaterLogs.

Skúste to chvíľu spustiť, aby ste zaistili, že všetko vyzerá dobre, a potom to spustite ako skript.

Krok 6: Krok 5: Spustenie skriptu pri spustení

Aby som skript Dew Heater spustil hneď po spustení Raspberry Pi, postupoval som podľa týchto pokynov:

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

Pre skript Launcher som vytvoril toto:

#!/bin/sh

# launcher.sh # prejdite do domovského adresára, potom do tohto adresára, potom spustite skript pythonu, potom späť domov cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

Keď to budete mať hotové, mali by ste ísť. Užite si fotoaparát bez rosy!

Krok 7: Aktualizujte december 2020

Asi v polovici minulého roka mi ohrievač rosy prestal fungovať, a tak som kód deaktivoval, kým som sa naň mohol pozrieť. Konečne mal nejaký čas počas zimnej prestávky a zistil, že relé, ktoré som používal, vykazuje počas prevádzky vysoký odpor na svojich kontaktoch, pravdepodobne z dôvodu preťaženia.

Aktualizoval som preto relé s vyšším hodnotením, relé s kontaktom 5A namiesto 1A. Je to tiež výkonové relé než signálne relé, takže dúfam, že to pomôže. Jedná sa o TE PCH-105D2H, 000. Tiež som pridal niekoľko skrutkových svoriek pre Explorer pHAT, aby som mohol podľa potreby ľahko odpojiť ohrievač a snímač teploty. Všetky 3 z nich sú v nižšie uvedenom nákupnom košíku:

Nákupný košík Digikey

Uvedomte si, že kolíky pre toto relé sú odlišné od predchádzajúceho, takže miesto, kde sa pripájate, je mierne odlišné, ale malo by byť jednoduché. Na polarite nezáleží na cievke, FYI.

Odporúča: