Satura rādītājs:

Raspberry Pi rasas sildītājs visu debesu kamerai: 7 soļi
Raspberry Pi rasas sildītājs visu debesu kamerai: 7 soļi

Video: Raspberry Pi rasas sildītājs visu debesu kamerai: 7 soļi

Video: Raspberry Pi rasas sildītājs visu debesu kamerai: 7 soļi
Video: Часть 5 - Аудиокнига Уолдена Генри Дэвида Торо (глы 12–15) 2024, Jūlijs
Anonim
Raspberry Pi rasas sildītājs visu debesu kamerai
Raspberry Pi rasas sildītājs visu debesu kamerai

[Skatiet 7. darbību, lai mainītu izmantoto releju]

Šis ir jauninājums uz visu debesu kameru, kuru es uzbūvēju pēc Tomasa Žakina lieliskā ceļveža (bezvadu visas debess kameras). Kopīga problēma, kas rodas debesu kamerām (un arī teleskopiem), ir tā, ka, kļūstot vēsākam, uz kameras kupola kondensējas rasa. nakts, kas aizēno skatu uz nakts debesīm. Risinājums ir pievienot rasas sildītāju, kas sasildīs kupolu virs rasas punkta vai temperatūru, kādā ūdens uz kupola kondensēsies.

Parasts veids, kā to izdarīt, ir vadīt strāvu caur vairākiem rezistoriem, kas pēc tam sakarst un izmantot to kā siltuma avotu. Šajā gadījumā, tā kā kamerai jau ir Raspberry Pi, es gribēju to izmantot, lai kontrolētu rezistora ķēdi, izmantojot releju, pēc vajadzības ieslēdzot un izslēdzot, lai uzturētu noteiktu kupola temperatūru virs rasas punkta. Kupolā atrodas temperatūras sensors, lai to kontrolētu. Es nolēmu iegūt informāciju par laika apstākļiem un mitrumu no Nacionālā laika dienesta, lai iegūtu nepieciešamo rasas punkta informāciju, nevis pievienot citu sensoru, un man ir nepieciešams iekļūt manā kameras korpusā, kas varētu noplūst.

Raspberry Pi ir GPIO galvene, kas ļauj paplašināšanas dēļiem kontrolēt fiziskās ierīces, bet pats IO nav paredzēts, lai apstrādātu strāvu, ko pieprasa rezistora barošanas ķēde. Tāpēc ir nepieciešami papildu komponenti. Es plānoju izmantot releju, lai izolētu strāvas ķēdi, tāpēc ir nepieciešams releja draivera IC, lai izveidotu saskarni ar Pi. Man ir nepieciešams arī temperatūras sensors, lai nolasītu temperatūru kupola iekšpusē, tāpēc ir nepieciešams analogs ciparu pārveidotājs (ADC), lai Pi varētu nolasīt temperatūru. Šie komponenti ir pieejami atsevišķi, taču jūs varat arī iegādāties “cepuri” Pi, kas satur šīs ierīces uz tāfeles, kas vienkārši tiek pievienota Pi GPIO.

Es devos ar Pimoroni Explorer pHAT, kuram ir viss I/O diapazons, bet maniem mērķiem tam ir četras analogās ieejas diapazonā no 0 līdz 5 V un četras digitālās izejas, kas piemērotas braukšanas relejiem.

Kupola temperatūras sensoram es izmantoju TMP36, kas man patika, jo tam ir vienkāršs lineārs vienādojums, lai iegūtu temperatūru no sprieguma rādījuma. Es savā darbā izmantoju termistorus un RTD, taču tie ir nelineāri, un tāpēc tos ir sarežģītāk ieviest no jauna.

Es izmantoju Adafruit Perma Proto Bonnet Mini komplektu kā shēmas plati, lai pielodētu releju, spaiļu bloku un citus vadus, kas ir jauki, jo tas ir piemērots Pi, un tam ir shēma, kas atbilst Pi piedāvājumam.

Tās ir galvenās lietas. Beidzot es dabūju gandrīz visu no Digikey, jo tajās papildus visām parastajām ķēdes daļām ir Adafruit detaļas, tāpēc ir viegli iegūt visu uzreiz. Šeit ir saite uz iepirkumu grozu ar visām manis pasūtītajām detaļām:

www.digikey.com/short/z7c88f

Tas ietver pāris stieples spoles džemperu vadiem, ja jums tādas jau ir, jums tas nav vajadzīgs.

Piegādes

  • Pimoroni Explorer pHAT
  • TMP36 temperatūras sensors
  • 150 omi 2W rezistori
  • 1A 5VDC SPDT relejs
  • Skrūves spaiļu bloks
  • Shēmas plate
  • Vads
  • shēmas plates pārtraukumi
  • lodāmurs un lodāmurs

Digikey detaļu saraksts:

www.digikey.com/short/z7c88f

1. darbība. Piezīmes par elektroteoriju

Ir svarīgi nodrošināt, lai izmantotās sastāvdaļas būtu pareizi izmērītas, lai apstrādātu redzamo jaudu un strāvu, pretējā gadījumā var rasties priekšlaicīga kļūme vai pat aizdegties!

Galvenās sastāvdaļas, par kurām jāuztraucas, ir releja kontaktu pašreizējais vērtējums un rezistoru jaudas novērtējums.

Tā kā vienīgā slodze mūsu strāvas ķēdē ir rezistori, mēs varam vienkārši aprēķināt kopējo pretestību, ievietot to Oma likumā un aprēķināt strāvu mūsu ķēdē.

Kopējā paralēlo rezistoru pretestība: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Ja atsevišķās pretestības ir vienādas, to var samazināt līdz: R_T = R/N. Tātad četriem vienādiem rezistoriem tas ir R_T = R/4.

Es izmantoju četrus 150 Ω rezistorus, tāpēc mana kopējā pretestība caur tiem četriem ir (150 Ω)/4=37,5 Ω.

Oma likums ir tikai spriegums = strāva X pretestība (V = I × R). Mēs varam to pārkārtot, lai noteiktu strāvu, lai iegūtu I = V/R. Ja mēs pievienojam spriegumu no barošanas avota un pretestības, mēs iegūstam I = (12 V)/(37,5 Ω) = 0,32 A. Tātad tas nozīmē, ka vismaz mūsu relejam jābūt novērtētam ar 0,32 A. 1A relejs, kuru mēs izmantojam, ir vairāk nekā 3 reizes lielāks par nepieciešamo, kas ir daudz.

Rezistoriem mums jānosaka jaudas daudzums, kas iet caur katru. Jaudas vienādojumam ir vairākas formas (aizstājot ar Ohmas likumu), bet mums ērtākais ir P = E^2/R. Mūsu individuālajam rezistoram tas kļūst par P = (12V)^2/150Ω = 0,96 W. Tātad mēs vēlēsimies vismaz 1 vatu rezistoru, bet 2 vati mums dos papildu drošības faktoru.

Ķēdes kopējā jauda būtu tikai 4 x 0,96 W vai 3,84 W (kopējo pretestību var ievietot arī jaudas vienādojumā un iegūt tādu pašu rezultātu).

Es to visu rakstu, tādēļ, ja vēlaties, lai tiktu ģenerēta lielāka jauda (vairāk siltuma), varat ievadīt savus skaitļus un aprēķināt nepieciešamos rezistorus, to nominālvērtību un vajadzīgā releja vērtējumu.

Sākumā es mēģināju palaist ķēdi ar 5 voltiem no Raspberry Pi barošanas sliedes, bet uz vienu rezistoru radītā jauda ir tikai P = (5V)^2/150Ω = 0,166 W, kopā 0,66 W, kas nebija t pietiekami, lai radītu vairāk nekā pāris grādu temperatūras paaugstināšanos.

2. darbība: 1. darbība: lodēšana

1. solis: lodēšana
1. solis: lodēšana
1. solis: lodēšana
1. solis: lodēšana
1. solis: lodēšana
1. solis: lodēšana

Labi, pietiek ar detaļu sarakstiem un teoriju, ķersimies pie shēmas projektēšanas un lodēšanas!

Es esmu uzzīmējis ķēdi uz Proto-Bonnet divos dažādos veidos: vienu reizi kā elektroinstalācijas shēmu un vienu reizi kā vizuālu dēļa attēlojumu. Ir arī atzīmēta Pimoroni Explorer pHAT plāksnes fotogrāfija, kurā redzama elektroinstalācija, kas atrodas starp to un Proto-Bonnet.

Pārlūkprogrammā Explorer pHAT 40 tapu galvene, kas tai pievienota, jāpielodē pie tāfeles, tas ir savienojums starp to un Raspberry Pi. Tam ir I/O termināļa galvene, bet es to neizmantoju, tā vietā vienkārši pielodēju vadus tieši pie tāfeles. Proto-Bonnet ietver arī galvenes savienojumus, taču šajā gadījumā tas netiek izmantots.

Temperatūras sensors ir pieslēgts tieši pie Explorer pHAT plates, izmantojot vadus, lai atšķirtu Raspberry Pi atrašanās vietu un kameras kupola iekšpusi, kur tas atrodas.

Skrūves spaiļu bloks un vadības relejs ir divas sastāvdaļas, kas ir pielodētas pie Proto-Bonnet plates, shematiski tās ir apzīmētas ar T1, T2, T3 (trīs skrūvju spailēm) un CR1-relejam.

Rezistori ir pielodēti pie vadiem, kas arī iet no Raspberry Pi uz kameras kupolu, tie savienojas ar Proto-Bonnet caur skrūvju spailēm T1 un T3. Pirms kameras uzstādīšanas atpakaļ uz jumta, es aizmirsu nofotografēt montāžu, bet es centos vienmērīgi izvietot rezistorus ap kupolu, tikai diviem vadiem atgriežoties Proto-Bonnet. Ieejiet kupolā caur caurumiem caurules pretējās pusēs, temperatūras sensoram ieejot caur trešo caurumu, kas vienmērīgi atrodas starp diviem rezistoriem pie kupola malas.

3. darbība: 2. darbība: montāža

2. solis: montāža
2. solis: montāža

Kad tas viss ir pielodēts, varat to instalēt savā visu debesu kamerā. Uzstādiet Explorer pHAT uz Rasperry Pi, piespiežot to uz 40 kontaktu galvenes, un pēc tam Proto-Bonnet tiek uzstādīts blakus tam virs Pi, izmantojot dažus ierobežojumus. Vēl viena iespēja būtu izmantot nobīdes virs Explorer, bet, tā kā es izmantoju ABS cauruļu korpusu, tas padarīja Pi pārāk lielu, lai to vairs nederētu.

Virziet temperatūras sensoru uz korpusu līdz tā atrašanās vietai un uzstādiet arī pretestības jostu. Pēc tam piekabiniet vadu pie pamatplāksnes spaiļu bloka.

Uz programmēšanu!

4. darbība: 3. darbība. Explorer PHAT bibliotēkas ielāde un testēšanas programmēšana

Pirms mēs varam izmantot Explorer pHAT, mums ir jāielādē bibliotēka no Pimoroni, lai Pi varētu ar to sazināties.

Raspberry Pi atveriet termināli un ievadiet:

čokurošanās https://get.pimoroni.com/explorerhat | bash

Lai pabeigtu instalēšanu, ierakstiet “y” vai “n”.

Tālāk mēs vēlēsimies palaist vienkāršu programmu, lai pārbaudītu ieejas un izejas, lai pārliecinātos, ka mūsu vadi ir pareizi. Pievienotais DewHeater_TestProg.py ir python skripts, kas parāda temperatūru un ik pēc divām sekundēm ieslēdz un izslēdz releju.

importa laiks

importēt explorerhat aizkavi = 2, kamēr True: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1,8 +32 drukāt ('{0: 5.3f} volti, {1: 5.3f} degC, {2: 5.2f} ° F '. Formāts (apaļa (T1, 3), apaļa (tempC, 3), apaļa (tempF, 3))) V1 = explorerhat.output.two. on () print ('Relay on') time.sleep (delay) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (kavēšanās)

Jūs varat atvērt failu savā aveņu Pi (manējā tas tika atvērts Thonny, bet ir arī daudz citu Python redaktoru), un pēc tam to palaist, un tam vajadzētu sākt rādīt temperatūru, un jūs dzirdēsit relejs noklikšķina un izslēdzas! Ja nē, pārbaudiet elektroinstalāciju un ķēdes.

5. darbība: 4. darbība: rasas sildītāja programmēšanas ielāde

Šeit ir pilna rasas sildītāja programmēšana. Tas veic vairākas lietas:

  • Ik pēc piecām minūtēm no pašreizējās Valsts laika dienesta vietas izvelk pašreizējo āra temperatūru un rasas punktu. Ja tas nesaņem datus, tas saglabā iepriekšējo temperatūru un mēģina vēlreiz pēc piecām minūtēm.

    • NWS pieprasa iekļaut kontaktinformāciju API pieprasījumos, ja rodas problēmas ar pieprasījumu, viņi zina, ar ko sazināties. Tas ir programmēšanas 40. rindā, lūdzu, aizstājiet “[email protected]” ar savu e -pasta adresi.
    • Jums būs jādodas uz weather.gov un jāmeklē sava reģiona prognoze, lai iegūtu stacijas ID, kas ir tuvākā laika ziņu stacija NWS. Stacijas ID atrodas () aiz atrašanās vietas nosaukuma. Ievadiet to programmēšanas 17. rindā. Pašlaik tas parāda KPDX jeb Portlendu, Oregonu.
    • Ja atrodaties ārpus ASV, ir vēl viena iespēja izmantot OpenWeatherMap.org datus. Es pats to neesmu izmēģinājis, bet jūs varat apskatīt šo piemēru šeit: Reading-JSON-With-Raspberry-Pi
  • Ņemiet vērā, ka temperatūra no ZRV un no temperatūras sensora ir Celsija grādos, tāpat kā ASI kamerai, tāpēc konsekvences labad es tās saglabāju visas Centrigrade, nevis pārveidoju par Fārenheitu, pie kā esmu vairāk pieradis.
  • Tālāk tas nolasa temperatūru no kupola sensora, un, ja tas ir mazāks par 10 grādiem virs rasas punkta, tas ieslēdz releju. Ja tas ir lielāks par 10,5 grādiem virs rasas punkta, tas izslēdz releju. Ja vēlaties, varat mainīt šos iestatījumus.
  • Reizi minūtē tas reģistrē pašreizējās temperatūras, rasas punkta un releja statusa vērtības.csv failā, lai jūs varētu redzēt, kā tas notiek laika gaitā.

#Raspberry Pi Rasas sildītāja kontroles programma

#Decembris 2019 #Brian Plett #Izmanto Pimoroni Explorer pHAT, temperatūras sensoru un releju #, lai kontrolētu rezistoru ķēdi kā rasas sildītāju visas debess kamerai #Izvelk ārējā gaisa temperatūru un rasas punktu no NWS vietnes #saglabā iekšējo temperatūru 10 grādi virs rasas punkta importēšanas laika importēšanas datuma un laika importa pieprasījumi importēt csv importēt importēt explorerhat #Station ID ir tuvākā laika stacija NWS. Dodieties uz weather.gov un meklējiet sava reģiona forcast, #stacijas ID ir () aiz atrašanās vietas nosaukuma. settings = {'station_ID': 'KPDX',} #Alternatīvs laika apstākļu informācijas URL #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} un vienības = {3}"

#Laika vietrādis URL datu atgūšanai

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

#aizkavēšanās releja vadībai, sekundes

ControlDelay = 2 A = 0 B = 0, kamēr True: #date, ko izmantot žurnāla faila nosaukumā datestr = datetime.datetime.now (). Strftime ("%Y%m%d") #datums un laiks, kas jāizmanto katrai datu rindai localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") #CSV faila ceļa ceļš = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' kamēr B == 0: mēģiniet: #Pievelciet temperatūru un rasas punktu no NWS ik pēc 60 sekundēm final_url = BASE_URL.format (settings ["station_ID"]) weather_data = request.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["rekvizīti"] ["temperatūra"] ["vērtība"] dewRaw = weather_data.json () ["rekvizīti"] ["rasas punkts"] ["vērtība"] #diagnostikas druka neapstrādātu temperatūras datu drukāšanai (oatRaw, dewRaw) OAT = apaļa (oatRaw, 3) rasa = apaļa (rasaRaw, 3), izņemot: A = 0 B = 1 pārtraukums A = 0 B = 1 pārtraukums, ja A <300: A = A + ControlDelay cits: B = 0 #Lasiet neapstrādātu spriegumu no Raspberry Pi Explorer PHat un pārveidojiet par temperatūru T1 = explorerhat.analog.one.read () tempC = ((T1 *1 000) -500)/10 #tempF = tempC*1,8 +32, ja (tempC Dew + 10,5): V1 = explorerhat.output.two.off () #diagnostic print, kas parāda temperatūru, rasas punktus un releja izejas stāvokļa izdruku ('{ 0: 5,2 °} ° C, {1: 5,2 °} ° C, {2: 5,2 °} ° C {3: 5,0 °} formāts (apaļš (OAT, 3), apaļš (rasa, 3), apaļš (tempC), 3), explorerhat.output.two.read ())) #10 sekundes pēc minūtes apgāšanās, ierakstiet datus CSV failā, ja A == 10: ja os.path.isfile (path.format (datestr)): print (path.format (datestr)) ar open (path.format (datestr), "a") kā csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([lokālais laiks, OAT, rasa, tempC, explorerhat. output.two.read ()]) else: fieldnames = ['datums', 'Āra gaisa temperatūra', 'Rasas punkts', 'Doma temp', 'Relay State'] ar atvērtu (path.format (datestr), "w ") kā csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (lauku nosaukumi) txtwrite.writerow ([vietējais laiks, OAT, rasa, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

Es to saglabāju jaunā mapē zem mapes allsky ar nosaukumu DewHeaterLogs.

Pirms pāriet uz skripta palaišanu, mēģiniet to nedaudz palaist, lai viss izskatītos labi.

6. darbība: 5. darbība: skripta palaišana startēšanas laikā

Lai palaistu Dew Heater skriptu, tiklīdz tiek startēts Raspberry Pi, es izpildīju šeit sniegtos norādījumus:

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

Palaidēja skriptam es izveidoju šo:

#!/bin/sh

# launcher.sh # dodieties uz mājas direktoriju, tad uz šo direktoriju, pēc tam izpildiet python skriptu, tad atgriezieties mājās cd/cd home/pi/allsky/DewHeaterLogs miega 90 sudo python DewHeater_Web.py & cd/

Kad tas ir izdarīts, jums vajadzētu doties ceļā. Izbaudiet kameru bez rasas!

7. darbība. Atjauniniet 2020. gada decembri

Aptuveni pagājušā gada vidū mans rasas sildītājs pārstāja darboties, tāpēc es atspējoju kodu, līdz varēju to apskatīt. Visbeidzot, ziemas pārtraukumā bija kāds laiks un konstatēja, ka manis izmantotais relejs darbojoties demonstrēja augstu pretestību kontaktos, iespējams, pārslodzes dēļ.

Tāpēc es to atjaunināju ar augstāku nominālo releju, vienu ar 5A kontaktu, nevis 1A kontaktu. Arī tas ir jaudas relejs, nevis signāla relejs, tāpēc es ceru, ka tas palīdzēs. Tas ir TE PCH-105D2H, 000. Es arī pievienoju dažus skrūves spailes Explorer pHAT, lai pēc vajadzības varētu viegli atvienot sildītāju un temperatūras sensoru. Visi šie 3 ir šajā iepirkumu grozā zemāk:

Digikey iepirkumu grozs

Ņemiet vērā, ka šī releja tapas atšķiras no iepriekšējā, tāpēc vieta, kur pieslēgt vadu, ir nedaudz atšķirīga, taču tai jābūt vienkāršai. Spolei polaritāte nav svarīga, FYI.

Ieteicams: