Obsah:

Ohřívač rosy Raspberry Pi pro celou oblohu: 7 kroků
Ohřívač rosy Raspberry Pi pro celou oblohu: 7 kroků

Video: Ohřívač rosy Raspberry Pi pro celou oblohu: 7 kroků

Video: Ohřívač rosy Raspberry Pi pro celou oblohu: 7 kroků
Video: Astrophotography from $100 to $10,000 2024, Červenec
Anonim
Ohřívač rosy Raspberry Pi pro celooblohovou kameru
Ohřívač rosy Raspberry Pi pro celooblohovou kameru

[V kroku 7 vyhledejte změnu použitého relé]

Toto je upgrade na celooblohovou kameru, kterou jsem postavil podle vynikajícího průvodce Thomase Jaquina (Bezdrátová celooblohová kamera) Běžným problémem, který se vyskytuje u nebeských kamer (a také dalekohledů), je to, že na kopuli kamery kondenzuje rosa, protože se ochlazuje noc, která zakrývá výhled na noční oblohu. Řešením je přidat rosný ohřívač, který ohřeje kupoli nad rosným bodem nebo teplotou, při které bude na kopuli kondenzovat voda.

Běžným způsobem, jak toho dosáhnout, je vést proud několika odpory, které se poté zahřejí, a použít je jako zdroj tepla. V tomto případě, protože kamera již má Raspberry Pi, chtěl jsem to použít k ovládání obvodu rezistoru pomocí relé a podle potřeby je zapínat a vypínat, aby se udržovala určitá teplota kopule nad rosným bodem. Pro kontrolu je v kopuli umístěn teplotní senzor. Rozhodl jsem se stáhnout místní údaje o teplotě a vlhkosti počasí z Národní meteorologické služby pro požadované informace o rosném bodu, místo přidání dalšího senzoru, a potřebuji průnik do pouzdra fotoaparátu, který by mohl prosakovat.

Raspberry Pi má GPIO záhlaví, které umožňuje rozšiřujícím deskám ovládat fyzická zařízení, ale samotný IO není navržen tak, aby zvládal proud, který vyžaduje odporový napájecí obvod. Jsou tedy potřeba další komponenty. Plánuji použít relé k izolaci napájecího obvodu, takže k propojení s Pi je zapotřebí IC reléového ovladače. Potřebuji také teplotní senzor pro čtení teploty uvnitř kopule, takže je zapotřebí analogový převodník na digitální převodník (ADC), aby Pi mohl číst teplotu. Tyto komponenty jsou k dispozici jednotlivě, ale můžete si také koupit klobouk pro Pi, který obsahuje tato zařízení na desce, která se zapojuje do GPIO Pi.

Šel jsem s Pimoroni Explorer pHAT, který má celou řadu I/O, ale pro mé účely má čtyři analogové vstupy v rozsahu 0-5V a čtyři digitální výstupy vhodné pro řízení relé.

Pro snímač teploty kupole jsem použil TMP36, který se mi líbil, protože má jednoduchou lineární rovnici pro odvození teploty z odečtu napětí. Při své práci používám termistory a RTD, ale jsou nelineární, a proto je implementace od začátku složitější.

Použil jsem sadu Adafruit Perma Proto Bonnet Mini jako obvodovou desku k pájení relé, svorkovnice a dalších kabelů, což je hezké, protože má velikost pro Pi a má obvody relevantní pro to, co Pi nabízí.

To jsou hlavní věci. Nakonec jsem dostal od Digikey většinu všeho, protože kromě všech běžných obvodových částí mají na skladě i díly Adafruit, takže je snadné získat vše najednou. Zde je odkaz na nákupní košík se všemi díly, které jsem si objednal:

www.digikey.com/short/z7c88f

Obsahuje pár cívek drátu pro propojovací vodiče, pokud už nějaké máte, nepotřebujete je.

Zásoby

  • Pimoroni Explorer pHAT
  • Teplotní čidlo TMP36
  • 150 Ohm 2W odpory
  • 1A 5VDC SPDT relé
  • Šroubová svorkovnice
  • Obvodová deska
  • Drát
  • odstupy obvodové desky
  • pájka a páječka

Seznam dílů na digikey:

www.digikey.com/short/z7c88f

Krok 1: Poznámky k elektrické teorii

Je důležité zajistit, aby použité součásti měly správnou velikost, aby zvládly výkon a proud, který uvidí, jinak byste mohli mít předčasné selhání nebo dokonce požár!

Hlavními součástmi, o které se v tomto případě musíte starat, je aktuální jmenovitý výkon kontaktů relé a jmenovitý výkon odporů.

Protože jedinou zátěží v našem napájecím obvodu jsou rezistory, můžeme pouze vypočítat celkový odpor, vložit to do Ohmova zákona a vypočítat proud v našem obvodu.

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

Pokud jsou jednotlivé odpory stejné, lze je snížit na: R_T = R/N. Takže pro čtyři stejné odpory je R_T = R/4.

Používám čtyři odpory 150 Ω, takže můj celkový odpor přes čtyři z nich je (150 Ω) /4=37,5 Ω.

Ohmův zákon je pouze napětí = proudový odpor X (V = I × R). Můžeme to přeskupit, abychom určili proud, abychom dostali I = V/R. Pokud připojíme naše napětí z napájecího zdroje a našeho odporu, dostaneme I = (12 V)/(37,5 Ω) = 0,32 A. Takže to znamená minimálně, že naše relé bude muset být dimenzováno na 0,32 A. Takže relé 1A, které používáme, je více než 3krát větší, než je potřeba, což je dost.

U rezistorů musíme určit množství energie procházející každým z nich. Mocninová rovnice má několik forem (prostřednictvím substituce Ohmovým zákonem), ale to, co je pro nás nejvhodnější, je P = E^2/R. Pro náš individuální rezistor to bude P = (12V)^2/150Ω = 0,96 W. Budeme tedy chtít alespoň 1 wattový odpor, ale 2 watt nám poskytne další faktor bezpečnosti.

Celkový výkon obvodu by byl pouze 4 x 0,96 W nebo 3,84 W (celkový odpor můžete také vložit do výkonové rovnice a získat stejný výsledek).

Toto všechno píšu, takže v případě, že chcete generovat více energie (více tepla), můžete spustit svá čísla a vypočítat potřebné odpory, jejich hodnocení a hodnocení relé.

Zpočátku jsem se pokusil spustit obvod s 5 volty z napájecí lišty Raspberry Pi, ale výkon generovaný na odpor je pouze P = (5V)^2/150Ω = 0,166 W, celkem 0,66 W, což nebylo ' t dostatečně generovat více než několik stupňů nárůstu teploty.

Krok 2: Krok 1: Pájení

Krok 1: Pájení
Krok 1: Pájení
Krok 1: Pájení
Krok 1: Pájení
Krok 1: Pájení
Krok 1: Pájení

Dobře, dost seznamů dílů a teorie, pojďme k návrhu obvodu a pájení!

Obvod na Proto-Bonnet jsem nakreslil dvěma různými způsoby, jednou jako schéma zapojení a jednou jako vizuální znázornění desky. K dispozici je také označená fotografie desky Pimoroni Explorer pHAT, která ukazuje zapojení mezi ní a Proto-Bonnet.

Na Explorer pHAT musí být 40pinový konektor, který je dodáván s ním, připájen k desce, toto je spojení mezi ním a Raspberry Pi. Dodává se s konektorem pro I/O, ale nepoužíval jsem ho, místo toho jsem připájel vodiče přímo k desce. Proto-Bonnet také obsahuje připojení pro záhlaví, ale v tomto případě se nepoužívá.

Snímač teploty je připojen přímo k desce Explorer pHAT pomocí vodičů, aby se vytvořil rozdíl mezi umístěním Raspberry Pi a vnitřkem kamery Dome, kde je umístěn.

Šroubová svorkovnice a řídicí relé jsou dvě součásti, které jsou připájeny k desce Proto-Bonnet, ve schématu jsou označeny T1, T2, T3 (pro tři šroubové svorky) a CR1 pro relé.

Rezistory jsou připájeny ke svodům, které také vedou z Raspberry Pi do Camera Dome, k Proto-Bonnet se připojují pomocí šroubových svorek na T1 a T3. Před instalací kamery zpět na střechu jsem zapomněl vyfotit sestavu, ale pokusil jsem se rovnoměrně rozmístit odpory kolem kopule, přičemž do Proto-Bonnetu se vracely jen dva dráty. Vstupte do kopule otvory na opačných stranách potrubí, přičemž teplotní senzor vstupuje třetím otvorem, rovnoměrně rozmístěným mezi dvěma odpory poblíž okraje kopule.

Krok 3: Krok 2: Sestavení

Krok 2: Sestavení
Krok 2: Sestavení

Jakmile je vše pájeno dohromady, můžete jej nainstalovat do své celooblohové kamery. Namontujte Explorer pHAT na Rasperry Pi, zatlačte jej na 40pinový konektor a poté se k němu připojí Proto-Bonnet na vrchol Pi pomocí několika distančních sloupků. Další možností by bylo použít mezery na horní části Průzkumníka, ale protože jsem používal kryt ABS Pipe, byl Pi příliš velký, aby se vešel více.

Veďte teplotní senzor nahoru do skříně na jeho místo a nainstalujte také kabelový svazek rezistoru. Poté připojte kabelový svazek ke svorkovnici na desce proto.

Přejít na programování!

Krok 4: Krok 3: Načtení knihovny Explorer PHAT a testování programování

Než budeme moci používat Explorer pHAT, musíme pro něj načíst knihovnu z Pimoroni, aby s ním Pi mohla komunikovat.

Na svém Raspberry Pi otevřete terminál a zadejte:

stočit https://get.pimoroni.com/explorerhat | bash

Dokončete instalaci zadáním 'y' nebo 'n' podle potřeby.

Dále budeme chtít spustit jednoduchý program pro testování vstupů a výstupů, abychom zajistili správné zapojení. Připojený DewHeater_TestProg.py je skript pythonu, který zobrazuje teplotu a zapíná a vypíná relé každé dvě sekundy.

čas importu

importovat zpoždění průzkumníka = 2, zatímco True: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1,8 +32 tisk ('{0: 5,3f} voltů, {1: 5,3f} degC, {2: 5,2f} deg F'.format (kulatý (T1, 3), kulatý (tempC, 3), kulatý (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 otevřít soubor na svém malinovém Pi (na mém se otevřel v Thonny, ale existuje spousta dalších editorů Pythonu) a poté jej spustit a měl by začít ukazovat teplotu a uslyšíte cvakání a vypínání relé! Pokud ne, proveďte kontrolu kabeláže a obvodů.

Krok 5: Krok 4: Načtení programování ohřívače rosy

Zde je kompletní programování ohřívače rosy. Dělá několik věcí:

  • Každých pět minut stáhne aktuální venkovní teplotu a rosný bod z daného místa národní meteorologické služby. Pokud data nezíská, uchová předchozí teploty a zkusí to znovu za dalších pět minut.

    • NWS požaduje, aby kontaktní údaje byly zahrnuty do požadavků API, v případě problémů s požadavkem vědí, na koho se obrátit. Toto je v řádku 40 programování, nahraďte prosím „[email protected]“svou vlastní e -mailovou adresou.
    • Budete muset jít na weather.gov a vyhledat předpověď pro vaši oblast, abyste získali ID stanice, což je nejbližší meteorologická stanice na NWS. ID stanice je v () za názvem místa. Zadejte to do řádku 17 programování. V současné době zobrazuje KPDX nebo Portland, Oregon.
    • Pokud se nacházíte mimo USA, existuje další možnost pomocí dat z OpenWeatherMap.org. Sám jsem to nezkoušel, ale na tento příklad se můžete podívat zde: Reading-JSON-With-Raspberry-Pi
  • Všimněte si, že teploty z NWS a z teplotního senzoru jsou ve stupních Celsia, stejně jako ty pro kameru ASI, takže kvůli konzistenci jsem je nechal všechny Centrigrade spíše než převádět na Fahrenheita, na což jsem více zvyklý.
  • Dále odečte teplotu z kupolového senzoru, a pokud je nižší než 10 stupňů nad rosným bodem, pak zapne relé. Pokud je vyšší než 10,5 stupně nad rosným bodem, vypne relé. Tato nastavení můžete v případě potřeby změnit.
  • Jednou za minutu zaznamenává aktuální hodnoty teplot, rosného bodu a stavu relé do souboru.csv, abyste viděli, jak si to v průběhu času vede.

#Ovládací program ohřívače rosy Raspberry Pi

#Dec 2019 #Brian Plett #Používá Pimoroni Explorer pHAT, teplotní senzor a relé #k ovládání odporového obvodu jako rosného ohřívače pro celooblohovou kameru #Táhne venkovní teplotu a rosný bod z webu NWS #udržuje vnitřní teplotu 10 stupně nad rosným bodem čas importu datetime import žádosti import csv import os import explorerhat #Station ID je nejbližší meteorologická stanice na NWS. Přejděte na weather.gov a vyhledejte předpověď pro vaši oblast, ID #stanice je v () za názvem místa. settings = {'station_ID': 'KPDX',} #Alternate URL for information information #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & jednotky = {3}"

#Weather URL pro obnovení dat

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

#zpoždění ovládání 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 souboru cesta = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' zatímco B == 0: zkuste: #Vytáhněte teplotu a rosný bod z NWS každých 60 sekund final_url = BASE_URL.format (nastavení ["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ý tisk pro tisk surových teplotních dat (oatRaw, dewRaw) OAT = kulatý (oatRaw, 3) Rosný = kulatý (rosný, 3) kromě: A = 0 B = 1 zlom A = 0 B = 1 přestávka, pokud A <300: A = A + Control Zpoždění jinak: B = 0 #Přečíst surové napětí z Raspberry Pi Explorer PHat a převést 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ý tisk zobrazující teploty, rosné body a tisk stavu výstupu relé ('{ 0: 5,2f} degC, {1: 5,2f} degC, {2: 5,2f} deg C {3: 5,0f} '. Formát (kulatý (OAT, 3), kulatý (Rosný, 3), kulatý (tempC), 3), explorerhat.output.two.read ())) #10 sekund po uplynutí minuty zapište data do souboru CSV, pokud A == 10: if os.path.isfile (path.format (datestr)): print (path.format (datestr)) s otevřeným (path.format (datestr), "a") jako 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'] with open (path.format (datestr), "w ") jako 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 jsem to do nové složky pod složkou allsky s názvem DewHeaterLogs.

Zkuste to trochu spustit, abyste se ujistili, že vše vypadá dobře, než se přesunete ke spuštění jako skriptu.

Krok 6: Krok 5: Spuštění skriptu při spuštění

Ke spuštění skriptu Dew Heater hned po spuštění Raspberry Pi jsem postupoval podle následujících pokynů:

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

Pro skript Launcher jsem vytvořil toto:

#!/bin/sh

# launcher.sh # přejděte do domovského adresáře, poté do tohoto adresáře, poté spusťte skript pythonu, poté zpět domů cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

Jakmile to bude hotové, měli byste jít. Užijte si fotoaparát bez rosy!

Krok 7: Aktualizujte prosinec 2020

Asi v polovině loňského roku přestal fungovat můj ohřívač rosy, takže jsem kód deaktivoval, dokud se na něj nemohu podívat. Nakonec měl nějaký čas přes zimní přestávku a zjistil, že relé, které jsem použil, vykazovalo během provozu vysoký odpor na svých kontaktech, pravděpodobně z přetížení.

Aktualizoval jsem tedy relé s vyšším jmenovitým výkonem, jedno s kontaktem 5A místo kontaktu 1A. Také je to spíše výkonové relé než signální relé, takže doufám, že to pomůže. Jedná se o TE PCH-105D2H, 000. Také jsem přidal některé šroubové svorky pro Explorer pHAT, takže jsem mohl snadno odpojit ohřívač a teplotní senzor podle potřeby. Všechny tyto 3 jsou v tomto nákupním košíku níže:

Nákupní košík Digikey

Uvědomte si, že piny pro toto relé jsou jiné než předchozí, takže kde se připojujete, je mírně odlišné, ale mělo by být přímé. Na polaritě cívky nezáleží, FYI.

Doporučuje: