Мазмұны:

Аспан камерасы үшін Raspberry Pi шық жылытқышы: 7 қадам
Аспан камерасы үшін Raspberry Pi шық жылытқышы: 7 қадам

Бейне: Аспан камерасы үшін Raspberry Pi шық жылытқышы: 7 қадам

Бейне: Аспан камерасы үшін Raspberry Pi шық жылытқышы: 7 қадам
Бейне: ЖАСЫРЫН бейнебақылау камерасы ВИДЕО КӨЗ!!! 2024, Шілде
Anonim
Аспан камерасы үшін Raspberry Pi шық жылытқышы
Аспан камерасы үшін Raspberry Pi шық жылытқышы

[Қолданылатын реледегі өзгерістерді 7 -қадамнан қараңыз]

Бұл Томас Жакиннің тамаша нұсқаулығына сәйкес мен салған аспан камерасының жаңартуы (Барлық аспан сымсыз) Аспан камераларында (және телескоптарда) туындайтын ортақ мәселе-камера күмбезінде шық суып бара жатқанда жиналады. түнгі аспанның көрінісін жасыратын түн. Шешім - күмбезді шық нүктесінен жоғары қыздыратын шық қыздырғышты немесе күмбезде судың конденсацияланатын температурасын қосу.

Мұны істеудің жалпы әдісі - токты бірнеше резистор арқылы өткізу, ол содан кейін қызады және оны жылу көзі ретінде пайдаланады. Бұл жағдайда, камерада Raspberry Pi бар болғандықтан, мен мұны шық нүктесінен жоғары күмбез температурасын ұстап тұру үшін қажет болғанда оларды қосу және өшіру арқылы резистордың тізбегін басқару үшін қолданғым келді. Басқару үшін күмбезде температура сенсоры орналасқан. Мен басқа датчиктерді қоспай, қажет ауа температурасы мен ылғалдылық туралы мәліметтерді Ұлттық ауа райы қызметінен алуды шештім, және камераға ағып кетуі мүмкін.

Raspberry Pi -де физикалық құрылғыларды басқаруға арналған кеңейту тақталарына мүмкіндік беретін GPIO тақырыбы бар, бірақ IO өзі резисторлық қуат тізбегінің талаптарын қанағаттандыруға арналмаған. Сондықтан қосымша компоненттер қажет. Мен электр тізбегін оқшаулау үшін релені қолдануды жоспарлап отырмын, сондықтан ПИ -мен интерфейс үшін IC релелік драйвер қажет. Маған күмбез ішіндегі температураны оқу үшін температура сенсоры қажет, сондықтан Pi температураны оқи алатындай цифрлық түрлендіргіш (ADC) қажет. Бұл компоненттер жеке түрде қол жетімді, бірақ сіз Pi үшін GPIO -ға қосылатын тақтада осы құрылғыларды қамтитын Pi үшін «қалпақ» сатып ала аласыз.

Мен Pimoroni Explorer pHAT-пен жүрдім, ол енгізу-шығарудың барлық диапазонына ие, бірақ менің мақсатым үшін оның 0-5В диапазонындағы төрт аналогты кірісі және релені басқаруға жарамды төрт цифрлық шығысы бар.

Күмбезді температура сенсоры үшін мен TMP36 қолдандым, ол маған ұнады, себебі кернеудің көрсеткішінен температураны алу үшін қарапайым сызықтық теңдеу бар. Мен өз жұмысымда термисторлар мен РТД қолданамын, бірақ олар сызықты емес, сондықтан оларды нөлден енгізу қиынырақ.

Мен Adafruit компаниясының Perma Proto Bonnet Mini жиынтығын реле, терминал блогы мен басқа да сымдарды дәнекерлеу үшін схема ретінде қолдандым, ол Pi өлшеміне сәйкес келеді және Pi ұсынатын схемаға сәйкес келеді.

Негізгі нәрселер осылар. Мен Digikey -ден көп нәрсені алдым, өйткені олар Adafruit -тің барлық қарапайым бөлшектерінен басқа бөлшектерін жинақтайды, сондықтан бәрін бірден алуды жеңілдетеді. Міне, мен тапсырыс берген барлық бөлшектері бар сауда арбасына сілтеме:

www.digikey.com/short/z7c88f

Ол қосқыш сымдарға арналған бірнеше орам сымды қамтиды, егер сізде бұрыннан бар болса, сізге қажет емес.

Жабдықтар

  • Pimoroni Explorer pHAT
  • TMP36 температура сенсоры
  • 150 Ом 2 Вт резисторлар
  • 1А 5VDC SPDT релесі
  • Бұрандалы терминал блогы
  • Электр тізбегі
  • Сым
  • схеманың тоқтауы
  • дәнекерлеуші мен дәнекерлейтін темір

Дигикейдегі бөліктер тізімі:

www.digikey.com/short/z7c88f

1 -қадам: Электрлік теорияға ескертулер

Қолданылатын компоненттердің олар көретін қуат пен токқа сәйкес келетін мөлшерде болуын қамтамасыз ету маңызды, әйтпесе сізде мерзімінен бұрын істен шығу немесе өрт болуы мүмкін!

Бұл жағдайда алаңдатудың негізгі компоненттері - реле контактілерінің ағымдағы рейтингі және резисторлардың қуат көрсеткіші.

Біздің қуат тізбегіндегі жалғыз жүктеме резистор болғандықтан, біз жалпы қарсылықты есептеп, Ом заңына енгізіп, тізбегіміздегі токты есептей аламыз.

Параллель резисторлардың жалпы кедергісі: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Егер жеке қарсылықтар тең болса, оны: R_T = R/N дейін төмендетуге болады. Осылайша төрт бірдей резистор үшін бұл R_T = R/4.

Мен 150 дюймдік төрт резисторды қолданамын, сондықтан олардың төртеуіндегі жалпы қарсыласуым (150 Ω) /4=37.5 Ω.

Ом заңы - кернеу = ағымдағы X кедергісі (V = I × R). Біз I = V/R алу үшін токты анықтау үшін оны қайта реттей аламыз. Егер біз кернеуді қуат көзінен және қарсылықтан қосатын болсақ, онда I = (12 В)/(37,5 Ω) = 0,32 А. аламыз, демек, біздің реле кем дегенде 0,32 А шамасында болуы керек. біз қолданатын 1А релесі қажетті мөлшерден 3 есе асады, бұл жеткілікті.

Резисторлар үшін біз олардың әрқайсысынан өтетін қуат мөлшерін анықтауымыз керек. Қуат теңдеуі бірнеше формада болады (Ом заңымен алмастыру арқылы), бірақ бізге ең қолайлы нәрсе - P = E^2/R. Біздің жеке резистор үшін бұл P = (12V)^2/150Ω = 0,96 Вт болады, сондықтан бізге кем дегенде 1 ватт резистор қажет болады, бірақ 2 ватт бізге қосымша қауіпсіздік факторын береді.

Схеманың жалпы қуаты 4 х 0,96 Вт немесе 3,84 Вт болады (Сіз жалпы қарсылықты қуат теңдеуіне қойып, сол нәтижеге қол жеткізе аласыз).

Мен мұның бәрін жазамын, сондықтан егер сіз көбірек қуат өндіргіңіз келсе (көбірек жылу), сіз өз нөмірлеріңізді іске қосып, қажетті резисторларды, олардың рейтингісін және қажетті реле рейтингісін есептей аласыз.

Мен бастапқыда Raspberry Pi электр рельсінен 5 вольтты тізбекті іске қосуға тырыстым, бірақ бір резистор үшін өндірілетін қуат тек P = (5V)^2/150Ω = 0,166 Вт, барлығы 0,66 Вт, температураның бірнеше градусқа көтерілуін қамтамасыз ету үшін жеткілікті.

2 -қадам: 1 -қадам: Дәнекерлеу

1 -қадам: дәнекерлеу
1 -қадам: дәнекерлеу
1 -қадам: дәнекерлеу
1 -қадам: дәнекерлеу
1 -қадам: дәнекерлеу
1 -қадам: дәнекерлеу

Жарайды, бөлшектер тізімі мен теория жеткілікті, схеманың дизайны мен дәнекерлеуге көшейік!

Мен Proto-Bonnet схемасын екі түрлі жолмен салдым, бірін сымдардың схемасы ретінде, екіншісі тақтаның көрнекі бейнесі ретінде. Сондай-ақ, Pimoroni Explorer pHAT тақтасының белгіленген фотосуреті бар, оның арасында Proto-Bonnet арасындағы сымдар көрсетілген.

Explorer pHAT -те онымен бірге келетін 40 істікшелі тақырыпты тақтаға дәнекерлеу қажет, бұл оның Raspberry Pi арасындағы байланысы. Ол енгізу -шығару терминалының тақырыпшасымен келеді, бірақ мен оны пайдаланған жоқпын, тек сымдарды тақтаға тікелей дәнекерледім. Proto-Bonnet сонымен қатар тақырыпқа қосылымдарды қамтиды, бірақ бұл жағдайда ол қолданылмайды.

Температура сенсоры Raspberry Pi мен Камера күмбезінің орналасқан жері арасындағы айырмашылықты анықтау үшін сымдарды қолдана отырып, Explorer pHAT тақтасына тікелей қосылады.

Бұрандалы терминал блогы мен басқару релесі-бұл Proto-Bonnet тақтасына дәнекерленген екі компонент, схемада олар T1, T2, T3 (үш бұрандалы терминалдар үшін) және реле үшін CR1 деп белгіленген.

Резисторлар Raspberry Pi-ден Камера күмбезіне өтетін сымдарға дәнекерленген, олар T1 және T3 бұрандалы терминалдары арқылы Proto-Bonnet-ке қосылады. Мен камераны төбеме орнатпас бұрын, жинақты суретке түсіруді ұмытып кеттім, бірақ резисторларды күмбездің айналасына біркелкі орналастыруға тырыстым, тек екі сым Proto-Bonnet-ке қайтып оралды. Күмбезге құбырдың қарама -қарсы жағындағы тесіктер арқылы кіреді, температура сенсоры күмбездің шетіне жақын резисторлардың екеуінің арасында біркелкі орналасқан үшінші тесік арқылы кіреді.

3 -қадам: 2 -қадам: Жинау

2 -қадам: құрастыру
2 -қадам: құрастыру

Барлығы бірге дәнекерленгеннен кейін оны аспан камерасына орнатуға болады. Explorer pHAT қондырғысын Rasperry Pi-ге орнатыңыз, оны 40 істікшелі тақырыпқа итеріңіз, содан кейін Proto-Bonnet оған іргелес Пи үстіне орнатылады. Тағы бір нұсқа Explorer -дің үстіңгі жағындағы келіспеушіліктерді қолдануы мүмкін, бірақ мен ABS құбырының корпусын қолданғандықтан, ол Pi -ді тым үлкен етіп қойды.

Температура сенсорын корпусқа жоғары бағыттаңыз, сонымен қатар резисторлық белдікті орнатыңыз. Содан кейін белдікті протон тақтасындағы терминал блогына жалғаңыз.

Бағдарламалауға өтіңіз!

4 -қадам: 3 -қадам: Explorer PHAT кітапханасын жүктеу және тестілеу бағдарламалау

PHAT Explorer бағдарламасын қолданбас бұрын, оған кітапхананы Пиморониден жүктеп алу керек, сонда Pi онымен байланыса алады.

Raspberry Pi -де терминалды ашып, енгізіңіз:

бұйра https://get.pimoroni.com/explorerhat | bash

Орнатуды аяқтау үшін сәйкесінше 'y' немесе 'n' теріңіз.

Әрі қарай, біз сымдардың дұрыс екеніне көз жеткізу үшін кірістер мен шығыстарды тексеретін қарапайым бағдарламаны іске қосқымыз келеді. Қосылған DewHeater_TestProg.py - бұл температураны көрсететін және релені әр екі секунд сайын қосатын және өшіретін питон сценарийі.

импорт уақыты

импорттау explorerhat кешігуі = 2 True кезінде: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1.8 +32 басып шығару ('{0: 5.3f} вольт, {1: 5.3f} degC, {2: 5.2f} градус F'.формат (дөңгелек (T1, 3), дөңгелек (tempC, 3), дөңгелек (tempF, 3))) V1 = explorerhat.output.two. on () print ('Relay on') time.sleep (delay) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (delay)

Сіз файлды таңқурай Pi -де аша аласыз (ол менің Тонниде ашылған, бірақ Python -да басқа редакторлар көп), содан кейін оны іске қосыңыз, ол температураны көрсете бастайды, сіз оны естисіз. реле басу және өшіру! Олай болмаса, сымдар мен тізбектерді тексеріңіз.

5 -қадам: 4 -қадам: шық жылытқышты бағдарламалауды жүктеу

Міне, шық жылытқышының толық бағдарламасы. Ол бірнеше нәрсені жасайды:

  • Ұлттық ауа райы қызметінің берілген орнынан ағымдағы ашық ауа температурасы мен шық нүктесін әр бес минут сайын алады. Егер ол деректерді алмаса, ол алдыңғы температураны сақтайды және тағы бес минуттан кейін қайталайды.

    • NWS байланыс ақпаратын API сұрауларына қосуды сұрайды, егер сұрауға қатысты мәселелер туындаса, олар кімге хабарласу керектігін біледі. Бұл бағдарламалаудың 40 -шы жолында, '[email protected]' мекенжайын өзіңіздің электрондық пошта мекенжайыңызбен ауыстырыңыз.
    • NWS -те ең жақын метеостанция станциясы идентификаторын алу үшін сізге weather.gov сайтына кіріп, сіздің аймағыңыздың болжамын іздеу қажет. Станция идентификаторы орналасқан жердің атауынан кейін () ішінде болады. Мұны бағдарламалаудың 17 -жолына енгізіңіз. Қазіргі уақытта ол KPDX немесе Портленд, Орегон штатын көрсетеді.
    • Егер сіз АҚШ -тан тыс болсаңыз, OpenWeatherMap.org деректерін пайдаланудың тағы бір мүмкіндігі бар. Мен мұны өз бетімше көрмедім, бірақ сіз мына мысалды мына жерден қарай аласыз: Reading-JSON-With-Raspberry-Pi
  • NWS -тен және температура сенсорынан алынған температура ASI камерасы сияқты Цельсий градуста екенін ескеріңіз, сондықтан бірізділік үшін Фаренгейтке айналдырудың орнына мен олардың барлығын Центриградта сақтадым..
  • Әрі қарай, ол күмбез сенсорынан температураны оқиды, ал егер ол шық нүктесінен 10 градустан төмен болса, онда реле қосылады. Егер ол шық нүктесінен 10,5 градустан жоғары болса, ол релені өшіреді. Қаласаңыз, бұл параметрлерді өзгертуге болады.
  • Ол минутына бір рет температураның, шық нүктесінің және реле күйінің ағымдағы мәндерін.csv файлына тіркейді, осылайша оның уақыт өте келе қалай болатынын көруге болады.

#Raspberry Pi Dew Heater бақылау бағдарламасы

#Дек 2019 #Брайан Плетт #Pimoroni Explorer pHAT, температура сенсоры мен релесін қолданады шекті нүктеден импорттық уақыт импорттау датасы импорттау сұраныстары импорттау csv импорттау импорттау зерттеушісі #Station ID NWS -тегі ең жақын ауа райы станциясы. Weather.gov сайтына кіріңіз және сіздің аймағыңыз үшін алдын ала іздеңіз, #станция идентификаторы орналасқан жердің атауынан кейін () ішінде. settings = {'station_ID': 'KPDX',} #Ауа райы ақпараты үшін басқа URL #BASE_URL = «https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & бірлік = {3} «

#Деректерді қайтару үшін ауа райы URL мекенжайы

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

#релелік басқарудың кешігуі, секунд

ControlDelay = 2 A = 0 B = 0, True кезінде: #date журналы файл атауында қолдану үшін datestr = datetime.datetime.now (). Strftime («%Y%m%d») #датасы мен әр деректер жолы үшін пайдалану уақыты. localtime = datetime.datetime.now (). strftime («%Y/%m/%d%H:%M») #CSV файл жолының жолы = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' while B == 0: көріңіз: #60 секунд сайын NWS-тен температура мен шық нүктесін алыңыз final_url = BASE_URL.format (параметрлер [«station_ID»]) weather_data = өтініштер.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () [«қасиеттер»] [«температура»] [«мән»] dewRaw = ауа райы_data.json () [«қасиеттер»] [«шық нүктесі»] [«мән»] Шикі температура деректерін басып шығаруға арналған диагностикалық басып шығару (oatRaw, dewRaw) OAT = дөңгелек (oatRaw, 3) Dew = дөңгелек (dewRaw, 3) қоспағанда: A = 0 B = 1 үзіліс A = 0 B = 1 үзіліс, егер A <300: A = A + ControlDelay басқа: B = 0 #Raspberry Pi Explorer PHat шикі кернеуін оқып, 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 () температураны, шық нүктелерін және реле шығысының күйін көрсететін диагностикалық баспа ('{ 0: 5.2f} degC, {1: 5.2f} градус, {2: 5.2f} градус С {3: 5.0f} '. Пішімі (дөңгелек (ОАТ, 3), дөңгелек (Шық, 3), дөңгелек (tempC, 3), explorerhat.output.two.read ())) #минут өткеннен кейін 10 секундтан кейін CSV файлына деректерді жазыңыз, егер A == 10: егер os.path.isfile (path.format (datestr))): print (path.format (datestr)) with open (path.format (datestr), «a») with csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow

Мен мұны DewHeaterLogs деп аталатын allsky қалтасының астындағы жаңа қалтаға сақтадым.

Мұның бәрі сценарий ретінде жұмыс жасамас бұрын, бәрі жақсы болатынына көз жеткізу үшін оны аздап іске қосып көріңіз.

6 -қадам: 5 -қадам: сценарийді іске қосу кезінде іске қосу

Dew Heater сценарийін Raspberry Pi іске қосылғаннан кейін іске қосу үшін мен мына нұсқауларды орындадым:

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

Launcher сценарийі үшін мен мынаны жасадым:

#!/бин/ш

# launcher.sh # үй каталогына өтіңіз, содан кейін осы каталогқа өтіңіз, содан кейін python сценарийін орындаңыз, содан кейін home cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

Бұл аяқталғаннан кейін, сіз жақсы болуыңыз керек. Шаңсыз камерамен рахаттаныңыз!

7 -қадам: 2020 жылдың желтоқсанында жаңартыңыз

Өткен жылдың шамамен жартысында менің шық жылытқышым жұмысын тоқтатты, сондықтан мен кодты қарап шыққанша өшірдім. Ақырында қысқы үзілісте біраз уақыт болды және мен қолданған реле жұмыс кезінде контактілерде жоғары қарсылық көрсететінін анықтады, мүмкін шамадан тыс жүктелуден.

Сондықтан мен оны рейтингі жоғары релемен жаңарттым, бір контакті 1А емес, 5А. Бұл сигнал релесі емес, қуат релесі, сондықтан мен көмектеседі деп үміттенемін. Бұл TE PCH-105D2H, 000. Мен Explorer pHAT үшін бірнеше бұрандалы терминалдарды қостым, сондықтан қажет болған жағдайда жылытқыш пен температура сенсорын оңай ажыратуға болады. Олардың 3 -еуі төмендегі сауда қоржынында:

Digikey қоржыны

Есіңізде болсын, бұл реле түйреуіштері бұрынғыға қарағанда өзгеше, сондықтан сіз сым қосатын жер сәл өзгеше, бірақ қарапайым болуы керек. Полярлық катушка үшін маңызды емес, FYI.

Ұсынылған: