Mundarija:

Butun osmonli kamera uchun Raspberry Pi shudring isitgichi: 7 qadam
Butun osmonli kamera uchun Raspberry Pi shudring isitgichi: 7 qadam

Video: Butun osmonli kamera uchun Raspberry Pi shudring isitgichi: 7 qadam

Video: Butun osmonli kamera uchun Raspberry Pi shudring isitgichi: 7 qadam
Video: Kerio Control.1-dars 2024, Noyabr
Anonim
Butun osmonli kamera uchun Raspberry Pi shudring isitgichi
Butun osmonli kamera uchun Raspberry Pi shudring isitgichi

[Amaldagi o'rni o'zgarishini 7 -bosqichga qarang]

Bu Tomas Jakinning ajoyib qo'llanmasiga binoan men yaratgan osmonli kameraning yangilanishi (Simsiz Hamma Osmonli Kamera) Osmon kameralarida (va teleskoplarda ham) tez-tez uchraydigan muammo shundaki, shudring kamera gumbazida soviydi. tungi osmonning ko'rinishini yashiradigan tun. Yechim shudring isitgichini qo'shishdir, u gumbazni shudring nuqtasidan yuqori yoki gumbazda suv kondensatsiyalanadigan haroratni isitadi.

Buning keng tarqalgan usuli - bu oqimni bir nechta rezistorlar orqali o'tkazish, keyin ular isitiladi va uni issiqlik manbai sifatida ishlatishdir. Bunday holda, kamerada Raspberry Pi borligi sababli, men shabnam nuqtasidan ma'lum bir gumbaz haroratini ushlab turish uchun kerak bo'lganda ularni o'chirish va o'chirish orqali rezistor pallasini boshqarish uchun ishlatmoqchi edim. Boshqarish uchun gumbazda harorat sensori o'rnatilgan. Men boshqa sensorni qo'shish o'rniga, zarur bo'lgan shabnam nuqtasi ma'lumotlari uchun Milliy ob -havo xizmatidan mahalliy ob -havo harorati va namlik ma'lumotlarini olishga qaror qildim va kameramga kirishi mumkin.

Raspberry Pi -da GPIO sarlavhasi mavjud bo'lib, u kengaytirish platalariga jismoniy qurilmalarni boshqarishga imkon beradi, lekin IO o'zi qarshilik rezistorining elektr zanjiri talablariga javob bermaydi. Shuning uchun qo'shimcha komponentlar kerak bo'ladi. Men elektr zanjirini ajratish uchun o'z o'rni ishlatishni rejalashtirmoqdaman, shuning uchun Pi bilan bog'lanish uchun IC o'rni drayveri kerak. Gumbaz ichidagi haroratni o'qish uchun menga harorat sensori kerak, shuning uchun Pi haroratni o'qishi uchun raqamli konvertorga (ADC) kerak. Bu komponentlar alohida -alohida mavjud, lekin siz Pi uchun GPO -ga ulanadigan taxtada ushbu qurilmalarni o'z ichiga olgan "shapka" sotib olishingiz mumkin.

Men Pimoroni Explorer pHAT bilan bordim, u butun kirish-chiqish diapazoniga ega, lekin mening maqsadim uchun u 0-5V oralig'ida to'rtta analogli kirish va o'rni haydash uchun mos keladigan to'rtta raqamli chiqishga ega.

Gumbazli harorat sensori uchun men TMP36 -dan foydalandim, bu menga yoqdi, chunki u kuchlanish ko'rsatkichidan haroratni olish uchun oddiy chiziqli tenglamaga ega. Men o'z ishimda termistorlar va RTDlardan foydalanaman, lekin ular chiziqli emas va shuning uchun ularni noldan amalga oshirish ancha murakkab.

Men Adafruit -ning Perma Proto Bonnet Mini to'plamini o'rni, terminal bloki va boshqa simlarni lehimlash uchun elektron karta sifatida ishlatardim, bu Pi uchun o'lchamli va PI taklif qiladigan sxemaga ega.

Bu asosiy narsalar. Men Digikey -dan hamma narsani oldim, chunki ular Adafruit -ning oddiy elektron qismlariga qo'shimcha ravishda, hamma narsani birdaniga olishni osonlashtiradi. Bu erda men buyurtma bergan barcha qismlari bo'lgan xarid qilish savatining havolasi:

www.digikey.com/short/z7c88f

U jumper simlari uchun bir nechta g'altak simlarini o'z ichiga oladi, agar sizda allaqachon bor bo'lsa, sizga kerak emas.

Ta'minotlar

  • Pimoroni Explorer pHAT
  • TMP36 harorat sensori
  • 150 Ohm 2 Vt rezistorlar
  • 1A 5VDC SPDT o'rni
  • Vintli terminal bloki
  • O'chirish platasi
  • Tel
  • elektron plataning uzilishi
  • lehim va lehim temir

Digigeyda qismlar ro'yxati:

www.digikey.com/short/z7c88f

1 -qadam: Elektr nazariyasi bo'yicha eslatmalar

Amaldagi komponentlarning ular ko'radigan quvvat va tokni ushlab turish uchun to'g'ri o'lchamda bo'lishini ta'minlash juda muhim, aks holda siz muddatidan oldin ishlamay qolishingiz yoki hatto yong'in chiqishingiz mumkin!

Bu holda tashvishlanadigan asosiy komponentlar - bu o'rni kontaktlarining joriy reytingi va rezistorlarning quvvat darajasi.

Bizning elektr zanjirimizdagi yagona yuk rezistorlar bo'lgani uchun, biz faqat umumiy qarshilikni hisoblab, Ohm qonuniga kiritib, zanjirdagi tokni hisoblay olamiz.

Parallel rezistorlarning umumiy qarshiligi: 1/R_T = 1/R_1 +1/R_2 +1/R_3 +1/R_N

Agar individual qarshilik teng bo'lsa, uni kamaytirish mumkin: R_T = R/N. Shunday qilib, to'rtta teng qarshilik uchun bu R_T = R/4.

Men 150 dyuymli to'rtta rezistordan foydalanayapman, shuning uchun ularning to'rttasi orqali umumiy qarshiligim (150 Ω) /4=37.5 Ω.

Ohm qonuni shunchaki kuchlanish = joriy X qarshilik (V = I × R). I = V/R olish uchun oqimni aniqlash uchun biz uni qayta tartibga solishimiz mumkin. Agar biz kuchlanishni quvvat manbamizdan va qarshiligimizdan ulasak, biz I = (12 V)/(37,5 Ω) = 0,32 A ni olamiz. Demak, bizning o'rni kamida 0,32 A ga teng bo'lishi kerak. biz foydalanayotgan 1A o'rni kerakli o'lchamdan 3 baravar ko'p, bu juda ko'p.

Rezistorlar uchun biz har biridan o'tadigan quvvat miqdorini aniqlashimiz kerak. Quvvat tenglamasi bir necha shaklda bo'ladi (Ohm qonunini almashtirish orqali), lekin biz uchun eng qulay bo'lgani P = E^2/R. Bizning individual qarshilik uchun bu P = (12V)^2/150Ω = 0,96 Vt bo'ladi, shuning uchun biz kamida 1 vattli rezistorni xohlaymiz, lekin 2 vatt bizga qo'shimcha xavfsizlik omilini beradi.

O'chirishning umumiy quvvati atigi 4 x 0,96 Vt yoki 3,84 Vt bo'ladi (Siz ham umumiy qarshilikni kuch tenglamasiga qo'yib, xuddi shunday natijaga erishishingiz mumkin).

Men bularning barchasini yozaman, shuning uchun agar siz ko'proq quvvat ishlab chiqarishni xohlasangiz (ko'proq issiqlik), siz o'z raqamlaringizni ishga tushirishingiz, kerakli rezistorlar, ularning reytingi va kerakli o'rni reytingini hisoblashingiz mumkin.

Men dastlab Raspberry Pi elektr rayidan 5 voltli kontaktlarning zanglashiga harakat qildim, lekin har bir qarshilik uchun ishlab chiqarilgan quvvat faqat P = (5V)^2/150Ω = 0.166 Vt, jami 0,66 Vt, haroratning bir necha darajadan oshishiga olib kelishi mumkin.

2 -qadam: 1 -qadam: Lehimlash

1 -qadam: Lehimlash
1 -qadam: Lehimlash
1 -qadam: Lehimlash
1 -qadam: Lehimlash
1 -qadam: Lehimlash
1 -qadam: Lehimlash

Yaxshi, qismlar ro'yxati va nazariyasi etarli, keling, sxemani loyihalash va lehimlashga o'taylik!

Men Proto-Bonnet sxemasini ikki xil usulda chizdim, bir marta simlar sxemasi, ikkinchisi esa taxtaning vizual tasviri. Bundan tashqari, Pimoroni Explorer pHAT kartasining u bilan Proto-Bonnet o'rtasida o'tkaziladigan simlar ko'rsatilgan fotosurati ham bor.

Explorer pHAT -da, 40 pinli sarlavha taxtaga lehimlanishi kerak, bu uning Raspberry Pi bilan bog'liqligi. U kirish -chiqish terminali sarlavhasi bilan birga keladi, lekin men uni ishlatmadim, faqat simlarni to'g'ridan -to'g'ri taxtaga lehimladim. Proto-Bonnet shuningdek, sarlavha uchun ulanishlarni ham o'z ichiga oladi, lekin bu holda u ishlatilmaydi.

Raspberry Pi joylashuvi va u joylashgan kamera gumbazi ichidagi farqni aniqlash uchun harorat sensori simlar yordamida to'g'ridan -to'g'ri Explorer pHAT kartasiga ulanadi.

Vintli terminal bloki va boshqaruv o'rni-bu Proto-Bonnet kartasiga lehimlangan ikkita komponent, sxemada ular T1, T2, T3 (uchta vintli terminallar uchun) va o'rni uchun CR1 deb belgilanadi.

Rezistorlar Raspberry Pi-dan Kamera gumbaziga o'tadigan simlarga lehimlanadi, ular T1 va T3 vintli terminallari orqali Proto-Bonnetga ulanadi. Kamerani tomimga o'rnatmasdan oldin yig'ilishning rasmini olishni unutib qo'ydim, lekin gumbaz atrofida rezistorlarni teng ravishda bo'shatishga harakat qildim, faqat ikkita sim Proto-Bonnetga qaytib keldi. Qubba quvurning qarama -qarshi tomonidagi teshiklardan kiradi, harorat sensori gumbaz chetiga yaqin bo'lgan ikkita rezistor o'rtasida teng ravishda joylashtirilgan uchinchi teshik orqali kiradi.

3 -qadam: 2 -qadam: yig'ish

2 -qadam: yig'ish
2 -qadam: yig'ish

Hammasi bir-biriga lehimlangandan so'ng, siz uni osmon kamerasiga o'rnatishingiz mumkin. Explorer pHAT-ni Rasperry Pi-ga o'rnatib, uni 40-pinli sarlavhaga suring, so'ngra Proto-Bonnet unga bir-biriga yaqinlashib, Pi-ning tepasiga o'rnatiladi. Yana bir variant - bu Explorer -ning tepasida to'xtash joylaridan foydalanish, lekin men ABS quvurlari korpusidan foydalanganim uchun, bu Pi -ni juda katta qilib qo'ydi.

Harorat sensori korpusini joyiga ko'taring va rezistorli kamarni ham o'rnating. Keyin jabduqlarni proto-platadagi terminal blokiga ulang.

Dasturlashga o'ting!

4 -qadam: 3 -qadam: Explorer PHAT kutubxonasini yuklash va test dasturlash

PHAT Explorer -ni ishlatishdan oldin, biz kutubxonani Pimoroni -dan yuklashimiz kerak, shunda Pi u bilan aloqa qila oladi.

Raspberry Pi -da terminalni oching va kiriting:

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

O'rnatishni tugatish uchun "y" yoki "n" ni kiriting.

Keyinchalik, biz simlarning to'g'riligiga ishonch hosil qilish uchun kirish va chiqishlarni tekshirish uchun oddiy dasturni ishga solmoqchimiz. Qo'shilgan DewHeater_TestProg.py - bu haroratni ko'rsatadigan va har ikki soniyada o'z o'rni yoqiladigan va o'chiriladigan python skriptidir.

import vaqti

import explorerhat delay = 2 True: T1 = explorerhat.analog.one.read () tempC = ((T1*1000) -500)/10 tempF = tempC*1.8 +32 bosma ('{0: 5.3f} volt, {1: 5.3f} gradC, {2: 5.2f} daraja F'. on () print ('Relay on') time.sleep (delay) V1 = explorerhat.output.two.off () print ('Relay off') time.sleep (delay)

Siz faylni malinali Pi -da ochishingiz mumkin (u menda Thonny -da ochilgan, lekin u erda boshqa Python muharrirlari ham ko'p), keyin uni ishga tushiring va u haroratni ko'rsatishni boshlashi kerak va siz eshitasiz. tugmasini bosish va o'chirish o'rni! Agar yo'q bo'lsa, simlar va kontaktlarning zanglashini tekshiring.

5 -qadam: 4 -qadam: Shudring isitgichini dasturlash

Bu erda shudring isitgichining to'liq dasturi. U bir nechta narsalarni qiladi:

  • Har besh daqiqada Milliy ob -havo xizmati joylashgan joydan hozirgi tashqi harorat va shudring nuqtasini tortib oladi. Agar u ma'lumot olmasa, u avvalgi haroratni ushlab turadi va yana besh daqiqadan so'ng qaytadan urinib ko'radi.

    • NWS aloqa ma'lumotlarini API so'rovlariga kiritishni so'raydi, agar so'rov bilan bog'liq muammolar bo'lsa, ular kim bilan bog'lanishni bilishadi. Bu dasturlashning 40 -qatorida, iltimos, "[email protected]" ni o'z elektron pochta manzilingiz bilan almashtiring.
    • NWS -ga eng yaqin ob -havo stantsiyasi bo'lgan Station ID -ni olish uchun weather.gov -ga borib, o'z hududingiz uchun prognozni qidirishingiz kerak bo'ladi. Stansiya identifikatori manzil nomidan keyin () ichida. Buni dasturlashning 17 -qatoriga kiriting. Hozirda u KPDX yoki Portlend, Oregon shtatini ko'rsatadi.
    • Agar siz AQShdan tashqarida bo'lsangiz, OpenWeatherMap.org ma'lumotlaridan foydalanishning yana bir imkoniyati bor. Men buni o'zim sinab ko'rmadim, lekin siz bu misolni bu erdan ko'rishingiz mumkin: O'qish-JSON-Raspberry-Pi bilan
  • Shuni esda tutingki, NWS va harorat sensori haroratlari ASI kameralaridagi kabi santigrat gradusda, shuning uchun izchillik uchun men Farengeytga aylanishni emas, balki ularning hammasini Centrigrade darajasida saqladim..
  • Keyin, u gumbaz sensori orqali haroratni o'qiydi va agar shudring nuqtasidan 10 darajadan past bo'lsa, u o'z o'rni yoqiladi. Agar u shudring nuqtasidan 10,5 darajadan yuqori bo'lsa, u o'rni o'chiradi. Agar xohlasangiz, bu sozlamalarni o'zgartirishingiz mumkin.
  • Bir daqiqada u harorat, shudring nuqtasi va o'rni holati uchun joriy qiymatlarni.csv fayliga yozib qo'yadi, shunda siz uning vaqt o'tishi bilan qanday ishlashini ko'rasiz.

#Raspberry Pi shudring isitgichini boshqarish dasturi

#Dec 2019 #Brian Plett #Pimoroni Explorer pHAT, harorat sensori va o'rni #dan foydalanadi, bu rezistor sxemasini butun osmon kamerasi uchun shudring isitgichi sifatida ishlatadi #NWS veb-saytidan havo harorati va shudring nuqtasini tortadi #ichki haroratni 10 saqlaydi shabnam nuqtasi import vaqtidan import vaqtini import qilish vaqtini import qilish so'rovlarini import qilish csv importini import qilish tadqiqotchisi #Station ID NWSdagi eng yaqin ob -havo stantsiyasi. Weather.gov saytiga o'ting va o'z hududingiz uchun oldindan ma'lumot qidiring, #stansiya identifikatori manzil nomidan keyin () ichida. settings = {'station_ID': 'KPDX',} #Ob -havo ma'lumoti uchun boshqa manzil #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} va birliklar = {3}"

#Ma'lumotni qaytarish uchun ob -havo manzili

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

#o'rni boshqaruvi uchun kechikish, soniyalar

ControlDelay = 2 A = 0 B = 0 rost bo'lsa: #date jurnali fayl nomidan foydalanish uchun datestr = datetime.datetime.now (). Strftime ("%Y%m%d") #sana va vaqt har bir ma'lumotlar qatori uchun ishlatilishi kerak. localtime = datetime.datetime.now (). strftime ("%Y/%m/%d%H:%M") #CSV fayl yo'lining yo'li = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' B == 0: harakat qilib ko'ring: #Har 60 soniyada NWSdan harorat va shudring nuqtasini torting final_url = BASE_URL.format (sozlamalar ["station_ID"]) weather_data = request.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["xususiyatlar"] ["harorat"] ["qiymat"] dewRaw = ob -havo_data.json () ["xususiyatlar"] ["shudring nuqtasi"] ["qiymat"] Xom harorat ma'lumotlarini chop etish uchun #diagnostik bosma (oatRaw, dewRaw) OAT = dumaloq (oatRaw, 3) Shudring = dumaloq (shudring, 3) bundan mustasno: A = 0 B = 1 tanaffus A = 0 B = 1 tanaffus, agar A <300: A = A + ControlDelay: B = 0 #Raspberry Pi Explorer PHat -dan xom kuchlanishni o'qing va 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 () #diagnostik bosim, harorat, shudring nuqtalari va o'rni chiqish holatining bosimi ('{ 0: 5.2f} daraja, {1: 5.2f} daraja, {2: 5.2f} daraja C {3: 5.0f} 'formatida (yumaloq (OAT, 3), dumaloq (shudring, 3), yumaloq (tempC), 3), explorerhat.output.two.read ())) #daqiqadan keyin 10 soniya o'tgach, ma'lumotlarni CSV faylga yozing, agar A == 10: agar os.path.isfile (path.format (datestr)): print (path.format (datestr)) with open (path.format (datestr), "a") with csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow

Men buni DewHeaterLogs deb nomlangan allskiy papkasi ostidagi yangi papkada saqladim.

Skript sifatida ishlatishdan oldin, hamma narsa yaxshi ko'rinishini ta'minlash uchun biroz harakat qilib ko'ring.

6 -qadam: 5 -qadam: ishga tushirishda skriptni ishga tushirish

Raspberry Pi ishga tushishi bilan Dew Heater skriptini ishga tushirish uchun men bu erdagi ko'rsatmalarga amal qildim:

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

Launcher skript uchun men buni yaratdim:

#!/bin/sh

# launcher.sh # uy katalogiga o'ting, so'ngra ushbu katalogga o'ting, keyin python skriptini ishga tushiring, so'ngra uyga qaytish cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

Bu amalga oshgandan so'ng, siz borishingiz kerak. Shudringsiz kameraga ega bo'ling!

7 -qadam: 2020 yil dekabrni yangilang

O'tgan yilning taxminan yarmida, shudring isitgichim ishlamay qoldi, shuning uchun men uni ko'rib chiqguncha kodni o'chirib qo'ydim. Nihoyat, qishki tanaffusda bir oz vaqt bo'ldi va men ishlatgan o'rni ishlayotganda uning kontaktlari bo'ylab yuqori qarshilik ko'rsatayotganini, ehtimol, ortiqcha yuklanishdan topdim.

Shunday qilib, men uni yuqori baholangan o'rni bilan yangiladim, bittasi 1A emas, balki 5A kontaktli. Bundan tashqari, bu signal o'rni emas, balki kuch o'rni, shuning uchun umid qilamanki, bu yordam beradi. Bu TE PCH-105D2H, 000. Men Explorer pHAT uchun bir nechta vintli terminallarni ham qo'shdim, shuning uchun kerak bo'lganda isitgich va harorat sensori osongina uzilishi mumkin edi. Bularning barchasi uchta savatchada joylashgan:

Digikey xarid qilish savati

Bilingki, bu o'rni pinlari avvalgisidan farq qiladi, shuning uchun siz simni ulash joyi biroz boshqacha, lekin to'g'ri bo'lishi kerak. Kutupluluk bobin uchun muhim emas, ma'lumot.

Tavsiya: