Isi kandungan:

Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit: 7 Langkah
Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit: 7 Langkah

Video: Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit: 7 Langkah

Video: Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit: 7 Langkah
Video: Create Your Own AllSky Camera (UPDATED!) 2024, November
Anonim
Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit
Pemanas Raspberry Pi Dew untuk Kamera Seluruh Langit

[Lihat Langkah 7 untuk perubahan pada relay yang digunakan]

Ini adalah peningkatan ke kamera langit yang saya buat berikutan panduan hebat Thomas Jaquin (Wireless All Sky Camera) Masalah biasa yang berlaku pada kamera langit (dan juga teleskop) ialah embun akan mengembun di kubah kamera kerana ia semakin sejuk pada malam, yang mengaburkan pemandangan langit malam. Penyelesaiannya adalah dengan menambahkan pemanas embun yang akan memanaskan kubah berada di atas titik embun, atau suhu di mana air akan mengembun di kubah.

Cara biasa untuk melakukan ini adalah mengalirkan arus melalui beberapa perintang, yang kemudian akan menjadi panas, dan menggunakannya sebagai sumber haba. Dalam kes ini, kerana kamera sudah memiliki Raspberry Pi, saya ingin menggunakannya untuk mengawal litar perintang melalui geganti, menghidupkan dan mematikannya seperti yang diperlukan untuk mengekalkan suhu kubah tertentu di atas titik embun. Sensor suhu terletak di kubah untuk kawalan. Saya memutuskan untuk mengambil data suhu & kelembapan cuaca tempatan dari Perkhidmatan Cuaca Nasional untuk maklumat titik embun yang diperlukan, daripada menambahkan sensor lain, dan memerlukan penembusan ke dalam ruang kamera saya yang mungkin bocor.

Raspberry Pi mempunyai header GPIO yang memungkinkan papan pengembangan untuk mengawal peranti fizikal, tetapi IO itu sendiri tidak direka untuk menangani tuntutan litar kuasa perintang semasa. Oleh itu, komponen tambahan diperlukan. Saya merancang untuk menggunakan geganti untuk mengasingkan litar kuasa, jadi IC pemacu geganti diperlukan untuk berinteraksi dengan Pi. Saya juga memerlukan sensor suhu untuk membaca suhu di dalam kubah, jadi analog ke digital converter (ADC) diperlukan supaya Pi dapat membaca suhunya. Komponen ini tersedia secara individu, tetapi anda juga boleh membeli 'topi' untuk Pi yang mengandungi peranti ini di papan yang hanya dipasang ke GPIO Pi.

Saya menggunakan pHAT Pimoroni Explorer, yang mempunyai rangkaian I / O, tetapi untuk tujuan saya, ia mempunyai empat input analog antara 0-5V, dan empat output digital yang sesuai untuk relay memandu.

Untuk sensor suhu kubah, saya menggunakan TMP36, yang saya suka kerana ia mempunyai persamaan linear sederhana untuk mendapatkan suhu dari bacaan voltan. Saya menggunakan termistor dan RTD di tempat kerja saya, tetapi tidak linear dan oleh itu lebih rumit untuk dilaksanakan dari awal.

Saya menggunakan kit Adafruit's Perma Proto Bonnet Mini sebagai papan litar untuk menyolder relay, blok terminal, dan pendawaian lain, yang bagus kerana ukurannya untuk Pi, dan mempunyai litar yang relevan dengan apa yang ditawarkan oleh Pi.

Itulah perkara utama. Saya akhirnya mendapat sebahagian besar dari Digikey, kerana mereka menyimpan bahagian Adafruit sebagai tambahan kepada semua bahagian litar biasa, jadi memudahkan untuk mendapatkan semuanya sekaligus. Berikut adalah pautan ke keranjang belanja dengan semua bahagian yang saya pesan:

www.digikey.com/short/z7c88f

Ia merangkumi beberapa gulungan kawat untuk kabel jumper, jika anda sudah mempunyai beberapa, anda tidak memerlukannya.

Bekalan

  • PHim Penjelajah Pimoroni
  • Sensor suhu TMP36
  • 150 perintang Ohm 2W
  • Relay 1A 5VDC SPDT
  • Blok terminal skru
  • Papan litar
  • Kawat
  • kebuntuan papan litar
  • solder & besi pematerian

Senarai bahagian di digikey:

www.digikey.com/short/z7c88f

Langkah 1: Nota Teori Elektrik

Penting untuk memastikan komponen yang digunakan berukuran betul untuk mengendalikan daya dan arus yang akan mereka lihat, jika tidak, anda mungkin mengalami kegagalan pramatang, atau bahkan kebakaran!

Komponen utama yang perlu dibimbangkan dalam kes ini ialah penarafan kenalan relay semasa, dan penarafan daya perintang.

Oleh kerana satu-satunya beban di litar kuasa kami adalah perintang, kami hanya dapat mengira jumlah rintangan, memasukkannya ke dalam undang-undang Ohm, dan mengira arus di litar kami.

Jumlah Rintangan perintang selari: 1 / R_T = 1 / R_1 + 1 / R_2 + 1 / R_3 + 1 / R_N

Sekiranya rintangan individu sama, ia boleh dikurangkan menjadi: R_T = R / N. Jadi untuk empat perintang yang sama, R_T = R / 4.

Saya menggunakan empat perintang 150 Ω, jadi rintangan total saya melalui keempat-empatnya ialah (150 Ω) /4=37.5 Ω.

Hukum Ohm hanyalah Voltan = Rintangan X Semasa (V = I × R). Kita boleh menyusunnya semula untuk menentukan arus untuk mendapatkan I = V / R. Sekiranya kita memasang voltan dari bekalan kuasa dan rintangan kita, kita mendapat I = (12 V) / (37,5 Ω) = 0,32 A. Jadi itu bermaksud minimum, geganti kita perlu dinilai pada 0,32 A. Jadi geganti 1A yang kami gunakan melebihi 3 kali ukuran yang diperlukan, yang banyak.

Untuk perintang, kita perlu menentukan jumlah daya yang dilalui setiap satu. Persamaan kuasa terdapat dalam beberapa bentuk (melalui penggantian dengan undang-undang Ohm), tetapi yang paling senang bagi kita adalah P = E ^ 2 / R. Untuk perintang individu kita, ini menjadi P = (12V) ^ 2 / 150Ω = 0.96 W. Oleh itu, kita memerlukan sekurang-kurangnya perintang 1 watt, tetapi 2 watt akan memberi kita faktor keselamatan tambahan.

Kuasa total litar hanya 4 x 0,96 W, atau 3,84 W (Anda juga dapat memasukkan rintangan total ke dalam persamaan daya dan mendapatkan hasil yang sama).

Saya menuliskan semua ini, jadi sekiranya anda mahukan lebih banyak kuasa dihasilkan (lebih banyak haba), anda boleh menjalankan nombor anda, dan mengira perintang yang diperlukan, penilaiannya, dan penilaian relay yang diperlukan.

Pada mulanya saya cuba menjalankan litar dengan 5 volt dari rel kuasa Raspberry Pi, tetapi kuasa yang dihasilkan per perintang hanya P = (5V) ^ 2 / 150Ω = 0.166 W, dengan jumlah 0.66 W, yang mana ' cukup untuk menghasilkan kenaikan suhu lebih daripada beberapa darjah.

Langkah 2: Langkah 1: Pematerian

Langkah 1: Pematerian
Langkah 1: Pematerian
Langkah 1: Pematerian
Langkah 1: Pematerian
Langkah 1: Pematerian
Langkah 1: Pematerian

Baiklah, cukup banyak senarai bahagian dan teori, mari kita lihat reka bentuk litar dan pematerian!

Saya telah melukis litar di Proto-Bonnet dengan dua cara yang berbeza, sekali sebagai skema pendawaian, dan sekali sebagai gambaran visual papan. Terdapat juga foto papan tulis PATAT Ponoroni Explorer, menunjukkan pendawaian yang berada di antara ia dan Proto-Bonnet.

Pada Explorer pHAT, header 40 pin yang disertakan dengannya perlu disolder ke papan, ini adalah hubungan antara ia dan Raspberry Pi. Ia dilengkapi dengan header terminal untuk I / O, tetapi saya tidak menggunakannya, sebaliknya hanya kabel yang disolder terus ke papan. Proto-Bonnet juga merangkumi sambungan untuk tajuk, tetapi tidak digunakan dalam kes ini.

Sensor suhu disambungkan terus ke papan pHAT Explorer menggunakan kabel untuk membentuk perbezaan antara lokasi Raspberry Pi dan bahagian dalam Camera Dome di mana ia berada.

Blok Terminal Skru dan Relay kawalan adalah dua komponen yang disolder ke papan Proto-Bonnet, dalam skema mereka dilabel T1, T2, T3 (untuk tiga terminal skru), dan CR1 untuk relay.

Perintang disolder ke petunjuk yang juga pergi dari Raspberry Pi ke Camera Dome, mereka menyambung ke Proto-Bonnet melalui terminal skru di T1 dan T3. Saya lupa mengambil gambar pemasangan sebelum memasang kamera di atas bumbung saya, tetapi saya cuba melepaskan perintang secara merata di sekitar kubah, dengan hanya dua wayar yang kembali ke Proto-Bonnet. Masukkan kubah melalui lubang di sisi bertentangan paip, dengan sensor suhu masuk melalui lubang ketiga, berjarak sama antara dua perintang berhampiran pinggir kubah.

Langkah 3: Langkah 2: Perhimpunan

Langkah 2: Perhimpunan
Langkah 2: Perhimpunan

Setelah semuanya disatukan, anda boleh memasangnya pada kamera langit anda. Pasang pHAT Explorer pada Rasperry Pi, tolak ke header 40 pin, dan kemudian Proto-Bonnet dipasang bersebelahan dengannya di atas Pi menggunakan beberapa kebuntuan. Pilihan lain adalah menggunakan kebuntuan di atas Explorer, tetapi kerana saya menggunakan penutup Pipa ABS, ia menjadikan Pi terlalu besar untuk tidak lagi sesuai.

Arahkan sensor suhu ke penutup ke lokasinya, dan pasangkan juga harness perintang. Kemudian pasangkan tali pinggang ke blok terminal pada papan proto.

Teruskan ke pengaturcaraan!

Langkah 4: Langkah 3: Memuatkan Perpustakaan PHAT Explorer, dan Uji Pengaturcaraan

Sebelum kita dapat menggunakan Explorer pHAT, kita perlu memuatkan perpustakaan untuknya dari Pimoroni sehingga Pi dapat berkomunikasi dengannya.

Pada Raspberry Pi anda, buka terminal dan masukkan:

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

Ketik 'y' atau 'n' yang sesuai untuk menyelesaikan pemasangan.

Seterusnya, kami ingin menjalankan program sederhana untuk menguji input dan output, untuk memastikan pendawaian kami betul. DewHeater_TestProg.py yang dilampirkan adalah skrip python yang memaparkan suhu, dan menghidupkan dan mematikan geganti setiap dua saat.

masa import

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

Anda boleh membuka fail pada raspberry Pi anda, (di bukunya dibuka di Thonny, tetapi terdapat banyak editor Python lain di luar sana), dan kemudian jalankan, dan ia akan mula menunjukkan suhu, dan anda akan mendengar relay mengklik dan mematikan! Sekiranya tidak, lakukan pemeriksaan pendawaian dan litar anda.

Langkah 5: Langkah 4: Memuatkan Pengaturcaraan Pemanas Dew

Berikut adalah pengaturcaraan pemanas embun penuh. Ia melakukan beberapa perkara:

  • Menarik suhu dan titik embun luar semasa dari lokasi Perkhidmatan Cuaca Nasional yang diberikan setiap lima minit. Sekiranya tidak mendapat data, ia akan mengekalkan suhu sebelumnya dan mencuba lagi dalam lima minit lagi.

    • NWS meminta agar maklumat hubungan disertakan dalam permintaan API, jika ada masalah dengan permintaan tersebut, mereka tahu siapa yang harus dihubungi. Ini sesuai dengan pengaturcaraan 40, ganti '[email protected]' dengan alamat e-mel anda sendiri.
    • Anda perlu pergi ke weather.gov dan mencari ramalan untuk kawasan anda, untuk mendapatkan ID Stesen, yang merupakan stesen cuaca terdekat di NWS. ID stesen berada di () selepas nama lokasi. Masukkan ini dalam baris 17 pengaturcaraan. Pada masa ini ia menunjukkan KPDX, atau Portland, Oregon.
    • Sekiranya anda berada di luar AS, ada kemungkinan lain menggunakan data dari OpenWeatherMap.org. Saya sendiri belum mencubanya, tetapi anda boleh melihat contohnya di sini: Reading-JSON-With-Raspberry-Pi
  • Perhatikan bahawa suhu dari NWS dan dari sensor suhu berada dalam darjah Celcius, seperti juga suhu untuk kamera ASI, jadi untuk konsistensi, saya menyimpannya semua Centrigrade daripada menukar ke Fahrenheit, itulah yang saya biasa gunakan.
  • Selanjutnya, ia membaca suhu dari sensor kubah, dan jika kurang dari 10 darjah di atas titik embun, maka ia akan menghidupkan relay. Sekiranya lebih besar daripada 10.5 darjah di atas titik embun, ia mematikan relay. Anda boleh mengubah tetapan ini jika mahu.
  • Sekali seminit, ia mencatat nilai semasa untuk suhu, titik embun, dan status relay ke fail.csv sehingga anda dapat melihat bagaimana keadaannya dari masa ke masa.

Program kawalan #Raspberry Pi Dew Heater

#Dec 2019 #Brian Plett #Menggunakan Pimoroni Explorer pHAT, sensor suhu, dan geganti #untuk mengawal litar perintang sebagai pemanas embun untuk kamera semua langit #Menarik suhu udara luar dan titik embun dari laman web NWS #menjaga suhu dalaman 10 darjah di atas titik impor titik impor masa permintaan permintaan import import csv import os import explorerhat #Station ID adalah stesen cuaca terdekat di NWS. Pergi ke weather.gov dan cari ramalan untuk kawasan anda, #station ID ada di () selepas nama lokasi. setting = {'station_ID': 'KPDX',} #Alternate URL untuk maklumat cuaca #BASE_URL = "https://api.openweathermap.org/data/2.5/weather?appid={0}&zip={1}, { 2} & unit = {3}"

#Weather URL untuk mengembalikan data

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

#lambat untuk kawalan geganti, saat

ControlDelay = 2 A = 0 B = 0 while True: #date to use in log filename datestr = datetime.datetime.now (). Strftime ("% Y% m% d") # tarikh & masa untuk digunakan untuk setiap baris data localtime = datetime.datetime.now (). strftime ("% Y /% m /% d% H:% M") #CSV path path path = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' sementara B == 0: cuba: # Tarik suhu dan titik embun dari NWS setiap 60 saat final_url = BASE_URL.format (setting ["station_ID"]) weather_data = request.get (final_url, timeout = 5, headers = {'User-agent ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["sifat"] ["suhu"] ["nilai"] dewRaw = weather_data.json () ["sifat"] ["titik embun"] ["nilai"] #cetakan diagnostik untuk cetakan data suhu mentah (oatRaw, dewRaw) OAT = bulat (oatRaw, 3) Embun = bulat (dewRaw, 3) kecuali: A = 0 B = 1 rehat A = 0 B = 1 rehat jika A <300: A = A + ControlTunda lain: B = 0 #Baca voltan mentah dari Raspberry Pi Explorer PHat dan ubah ke suhu 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 () #cetakan diagnostik yang menunjukkan suhu, titik embun, dan cetakan keadaan output relay ('{ 0: 5.2f} degC, {1: 5.2f} degC, {2: 5.2f} deg C {3: 5.0f} '. Format (bulat (OAT, 3), bulat (Embun, 3), bulat (tempC, 3), explorerhat.output.two.read ())) # 10 saat selepas minit bergulir, tulis data ke fail CSV jika A == 10: if os.path.isfile (path.format (datestr)): print (path.format (datestr)) dengan terbuka (path.format (datestr), "a") sebagai csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat). output.two.read ()]) other: fieldnames = ['date', 'Outdoor Air Temp', 'Dewpoint', 'Dome Temp', 'Relay State'] dengan terbuka (path.format (datestr), "w ") sebagai csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (fieldnames) txtwrite.writerow ([localtime, OAT, Dew, tempC, explorerhat.output.two.read ()]) time.sleep (ControlDelay)

Saya menyimpannya dalam folder baru di bawah folder allsky yang disebut DewHeaterLogs.

Cuba jalankan ini sebentar untuk memastikan semuanya kelihatan baik, sebelum terus menjalankannya sebagai skrip.

Langkah 6: Langkah 5: Menjalankan Skrip pada Permulaan

Untuk menjalankan skrip Dew Heater sebaik sahaja Raspberry Pi dimulakan, saya mengikuti arahan di sini:

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

Untuk skrip Pelancar, saya membuat ini:

#! / bin / sh

# launcher.sh # arahkan ke direktori rumah, kemudian ke direktori ini, kemudian jalankan skrip python, kemudian balik ke rumah cd / cd home / pi / allsky / DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd /

Sebaik sahaja ini selesai, anda pasti boleh pergi. Selamat menikmati kamera tanpa embun!

Langkah 7: Kemas kini Disember 2020

Lebih kurang separuh tahun lalu, pemanas embun saya berhenti berfungsi, jadi saya mematikan kodnya sehingga saya dapat melihatnya. Akhirnya sempat berehat sepanjang musim sejuk, dan mendapati bahawa geganti yang saya gunakan menunjukkan rintangan yang tinggi pada kenalannya semasa beroperasi, mungkin kerana terlalu banyak beban.

Oleh itu, saya mengemas kini dengan relay yang lebih tinggi, satu dengan kenalan 5A dan bukannya kenalan 1A. Ia juga adalah geganti kuasa dan bukannya geganti isyarat, jadi saya harap ia dapat membantu. Ini adalah TE PCH-105D2H, 000. Saya juga menambah beberapa terminal skru untuk pHAT Explorer, jadi saya dapat melepaskan pemanas dan sensor suhu dengan mudah jika diperlukan. Kesemua 3 ini terdapat di troli membeli-belah di bawah:

Troli beli-belah Digikey

Perlu diketahui bahawa pin untuk relay ini berbeza daripada yang sebelumnya, jadi di mana anda memasang wayar sedikit berbeza, tetapi harus mudah. Kekutuban tidak penting pada gegelung, FYI.

Disyorkan: