فهرست مطالب:

گرمکن شبنم رزبری پای برای دوربین همه آسمان: 7 مرحله
گرمکن شبنم رزبری پای برای دوربین همه آسمان: 7 مرحله

تصویری: گرمکن شبنم رزبری پای برای دوربین همه آسمان: 7 مرحله

تصویری: گرمکن شبنم رزبری پای برای دوربین همه آسمان: 7 مرحله
تصویری: تیگو ۷ پرومکس توسط مدیران خودرو معرفی شد 2024, جولای
Anonim
Raspberry Pi Dew Heater مخصوص دوربین تمام آسمان
Raspberry Pi Dew Heater مخصوص دوربین تمام آسمان

[برای تغییر رله مورد استفاده به مرحله 7 نگاه کنید]

این یک ارتقاء به یک دوربین تمام آسمانی است که من به دنبال راهنمای عالی توماس ژاکین (Wireless All Sky Camera) ساخته ام. یک مشکل رایج که برای دوربین های آسمان (و تلسکوپ ها نیز ایجاد می شود) این است که با سردتر شدن هوا شبنم روی گنبد دوربین متراکم می شود. شب ، که منظره آسمان شب را پنهان می کند. راه حل این است که بخاری شبنم را اضافه کنید که گنبد را بالاتر از نقطه شبنم گرم می کند یا دمایی که در آن آب روی گنبد متراکم می شود.

یک راه متداول برای انجام این کار این است که جریان را از طریق چندین مقاومت عبور دهید ، که سپس گرم می شوند و از آن به عنوان منبع گرما استفاده کنید. در این مورد ، از آنجا که دوربین قبلاً رزبری پای دارد ، می خواستم از آن برای کنترل مدار مقاومت از طریق رله استفاده کنم و آنها را در صورت لزوم روشن و خاموش کنم تا دمای گنبد بالاتر از نقطه شبنم حفظ شود. یک سنسور دما برای کنترل در گنبد قرار دارد. من تصمیم گرفتم تا اطلاعات مربوط به دما و رطوبت آب و هوای محلی را از سرویس هواشناسی ملی برای اطلاعات مربوط به نقطه شبنم ، به جای افزودن یک سنسور دیگر ، بیرون بیاورم و به نفوذ به محفظه دوربین خود نیاز داشته باشم که ممکن است نشت کند.

Raspberry Pi دارای هدر GPIO است که به تخته های انبساط اجازه می دهد تا دستگاههای فیزیکی را کنترل کنند ، اما IO خود به گونه ای طراحی نشده است که بتواند جریان مدار مورد نیاز مدار قدرت را کنترل کند. بنابراین اجزای اضافی مورد نیاز است. من در حال برنامه ریزی برای استفاده از یک رله برای جدا کردن مدار قدرت هستم ، بنابراین IC درایور رله برای ارتباط با Pi مورد نیاز است. من همچنین برای خواندن دمای داخل گنبد به یک سنسور دما نیاز دارم ، بنابراین مبدل آنالوگ به دیجیتال (ADC) مورد نیاز است تا Pi بتواند دما را بخواند. این قطعات به صورت جداگانه در دسترس هستند ، اما همچنین می توانید یک کلاه برای Pi خریداری کنید که حاوی این دستگاه ها است روی تخته ای که فقط به GPIO Pi متصل می شود.

من با PHAT Pimoroni Explorer ، که دارای طیف وسیعی از ورودی/خروجی است ، رفتم ، اما برای اهداف من ، چهار ورودی آنالوگ بین 0 تا 5 ولت و چهار خروجی دیجیتال مناسب برای رله های رانندگی دارد.

برای سنسور دمای گنبد ، من از TMP36 استفاده کردم ، که آن را دوست داشتم زیرا دارای یک معادله خطی ساده برای استخراج دما از قرائت ولتاژ است. من در کار خود از ترمیستورها و RTD ها استفاده می کنم ، اما آنها غیر خطی هستند و بنابراین پیاده سازی آنها از ابتدا پیچیده تر است.

من از کیت Perma Proto Bonnet Mini Adafruit به عنوان برد برای اتصال رله ، بلوک ترمینال و سایر سیم کشی ها استفاده کردم ، که از نظر اندازه برای Pi مناسب است و دارای مدارهای مربوط به آنچه Pi ارائه می دهد ، است.

اینها چیزهای اصلی هستند. من نهایتاً همه چیز را از Digikey دریافت کردم ، زیرا آنها قطعات Adafruit را علاوه بر تمام قطعات معمولی مدار ذخیره می کنند ، بنابراین تهیه همه چیز در یک زمان ساده می شود. در اینجا پیوندی به سبد خرید با تمام قطعاتی که سفارش داده ام آمده است:

www.digikey.com/short/z7c88f

این شامل چند قرقره سیم برای سیم های بلوز است ، اگر قبلاً آن را دارید ، به آن احتیاج ندارید.

تدارکات

  • PHIMOR Pimoroni Explorer
  • سنسور دما TMP36
  • مقاومت 150 اهم 2 وات
  • رله 1A 5VDC SPDT
  • بلوک ترمینال را پیچ کنید
  • تخته مدار
  • سیم
  • مشکلات برد مدار
  • لحیم کاری و آهن لحیم کاری

لیست قطعات در digikey:

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 V)/(37.5 Ω) = 0.32 A. را بدست می آوریم ، بنابراین این بدان معناست که حداقل ، رله ما باید 0.32 A باشد. بنابراین رله 1A مورد استفاده ما بیش از 3 برابر اندازه مورد نیاز است که بسیار است.

برای مقاومت ها ، ما باید میزان قدرت عبور از هر کدام را تعیین کنیم. معادله قدرت به اشکال مختلف (از طریق جایگزینی با قانون اهم) ارائه می شود ، اما آنچه برای ما راحت تر است P = E^2/R است. برای مقاومت فردی ما ، این مقدار P = (12V)^2/150Ω = 0.96 وات می شود. بنابراین ما حداقل یک مقاومت 1 وات می خواهیم ، اما 2 وات یک ضریب ایمنی بیشتر به ما می دهد.

کل توان مدار فقط 4 0. 0.96 وات یا 3.84 وات خواهد بود (همچنین می توانید مقاومت کل را در معادله توان قرار دهید و نتیجه یکسانی را بدست آورید).

من همه اینها را می نویسم ، بنابراین در صورت تمایل به تولید نیروی بیشتر (گرمای بیشتر) ، می توانید اعداد خود را اجرا کرده و مقاومتهای مورد نیاز ، رتبه آنها و رتبه رله مورد نیاز را محاسبه کنید.

من در ابتدا سعی کردم مدار را با 5 ولت راه آهن رزبری پای اجرا کنم ، اما قدرت تولید شده در هر مقاومت فقط P = (5V)^2/150Ω = 0.166 W ، در مجموع 0.66 W ، که نبود t به اندازه ای که بیش از چند درجه افزایش دما ایجاد کند.

مرحله 2: مرحله 1: لحیم کاری

مرحله 1: لحیم کاری
مرحله 1: لحیم کاری
مرحله 1: لحیم کاری
مرحله 1: لحیم کاری
مرحله 1: لحیم کاری
مرحله 1: لحیم کاری

خوب ، به اندازه کافی از لیست قطعات و نظریه ، اجازه دهید به طراحی مدار و لحیم کاری برسیم!

من مدار را روی Proto-Bonnet به دو روش مختلف ترسیم کرده ام ، یک بار به صورت شماتیک سیم کشی ، و بار دیگر به صورت تصویری از برد. همچنین یک علامت مشخص شده از برد PHIM Pimoroni Explorer وجود دارد که سیم کشی بین آن و Proto-Bonnet را نشان می دهد.

در PHAT Explorer ، هدر 40 پین همراه با آن باید به برد لحیم شود ، این ارتباط بین آن و رزبری پای است. این یک سربرگ ترمینال برای ورودی/خروجی دارد ، اما من از آن استفاده نکردم ، در عوض فقط سیمها را مستقیماً به برد بچسبانید. Proto-Bonnet همچنین شامل اتصالات برای سرصفحه است ، اما در این مورد استفاده نمی شود.

سنسور دما مستقیماً با استفاده از سیم به برد PHAT اکسپلورر متصل می شود تا تفاوت بین محل رزبری پای و داخل گنبد دوربین که در آن قرار دارد را ایجاد کند.

بلوک ترمینال پیچ و رله کنترلی دو جزء هستند که به برد Proto-Bonnet لحیم شده اند ، در شماتیک آنها برچسب T1 ، T2 ، T3 (برای سه پایانه پیچ) و CR1 برای رله وجود دارد.

مقاومت ها به سیم هایی که از رزبری پای به گنبد دوربین می روند ، لحیم می شوند و از طریق پایانه های پیچ T1 و T3 به Proto-Bonnet متصل می شوند. من فراموش کردم که قبل از نصب مجدد دوربین روی سقف ، از مونتاژ عکس بگیرم ، اما سعی کردم مقاومت ها را به طور مساوی در اطراف گنبد قرار دهم و فقط دو سیم به Proto-Bonnet برمی گردد. ورودی گنبد از طریق سوراخ هایی در طرف مقابل لوله انجام می شود و سنسور دما از طریق سوراخ سوم وارد می شود و به طور مساوی بین دو مقاومت در نزدیکی لبه گنبد فاصله دارد.

مرحله 3: مرحله 2: مونتاژ

مرحله 2: مونتاژ
مرحله 2: مونتاژ

هنگامی که همه چیز با هم لحیم شد ، می توانید آن را روی دوربین تمام آسمان خود نصب کنید. PHAT اکسپلورر را بر روی Rasperry Pi سوار کرده و آن را روی سربرگ 40 پین فشار دهید و سپس Proto-Bonnet در مجاورت آن در بالای Pi با استفاده از برخی از توقف ها نصب می شود. یکی دیگر از گزینه ها استفاده از استندفورس در بالای اکسپلورر است ، اما از آنجا که از محفظه لوله ABS استفاده می کردم ، Pi را بسیار بزرگتر کرد تا دیگر جا نیفتد.

سنسور دما را تا محفظه بالا ببرید و مهار مقاومت را نیز نصب کنید. سپس مهار را به بلوک ترمینال روی برد اولیه وصل کنید.

بریم سراغ برنامه نویسی!

مرحله 4: مرحله 3: بارگیری کتابخانه PHAT Explorer و برنامه نویسی تست

قبل از اینکه بتوانیم از PHAT Explorer استفاده کنیم ، باید کتابخانه آن را از Pimoroni بارگذاری کنیم تا Pi بتواند با آن ارتباط برقرار کند.

در رزبری پای خود ، ترمینال را باز کرده و وارد کنید:

پیچ خوردن https://get.pimoroni.com/explorerhat | خراب کردن

برای اتمام نصب ، "y" یا "n" را به طور مناسب تایپ کنید.

در مرحله بعد ، ما می خواهیم یک برنامه ساده برای آزمایش ورودی ها و خروجی ها اجرا کنیم تا مطمئن شویم سیم کشی ما درست است. پیوست DewHeater_TestProg.py یک اسکریپت پایتون است که دما را نمایش می دهد و رله را هر دو ثانیه روشن و خاموش می کند.

زمان واردات

import explorerhat delay = 2 while 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'.format (دور (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 (تأخیر)

می توانید فایل را روی تمشک پای خود باز کنید (در مورد من در Thonny باز شد ، اما ویرایشگرهای دیگر 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 ثبت می کند تا بتوانید نحوه عملکرد آن را در طول زمان مشاهده کنید.

برنامه کنترل #بخاری شبنم تمشک پای

#دسامبر 2019 #برایان پلت #از Pimoroni Explorer pHAT ، سنسور دما و رله #برای کنترل مدار مقاومت به عنوان بخاری شبنم برای دوربین تمام آسمان #دمای هوای بیرون و نقطه شبنم را از وب سایت NWS بیرون می کشد #دمای داخلی 10 را حفظ می کند درجه بالاتر از نقطه شبنم زمان واردات زمان واردات زمان واردات درخواست واردات csv import os import explorerhat #ایستگاه ID نزدیکترین ایستگاه هواشناسی در NWS است. به weather.gov بروید و منطقه خود را پیش بینی کنید ، شناسه #ایستگاه در () بعد از نام مکان قرار دارد. تنظیمات = {'station_ID': 'KPDX'،} #URL جایگزین برای اطلاعات آب و هوا #BASE_URL = "https://api.openweathermap.org/data/2.5/weather؟appid={0}&zip={1} ، { 2} & واحدها = {3}"

#آدرس آب و هوا برای بازیابی اطلاعات

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

#تاخیر برای کنترل رله ، ثانیه

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 row data localtime = datetime.datetime.now (). strftime ("٪ Y/٪ m/٪ d٪ H:٪ M") مسیر مسیر فایل #CSV = '/home/pi/allsky/DewHeaterLogs/DewHeatLog{}.csv' در حالی که B == 0: سعی کنید: #دمای و نقطه شبنم را از NWS هر 60 ثانیه بکشید ':' Raspberry Pi 3+ Allsky Camera [email protected] '}) oatRaw = weather_data.json () ["Properties"] ["temperature"] ["value"] dewRaw = weather_data.json () ["properties"] ["نقطه شبنم"] ["ارزش"] #چاپ تشخیصی برای چاپ داده های دمای خام (oatRaw ، dewRaw) OAT = دور (oatRaw ، 3) شبنم = گرد (dewRaw ، 3) به جز: A = 0 B = 1 شکست A = 0 B = 1 شکست اگر A <300: A = A + ControlDelay else: 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} درجه سانتی گراد ، {1: 5.2f} درجه سانتیگراد ، {2: 5.2f} درجه سانتی گراد {3: 5.0f} '. فرمت (دور (OAT ، 3) ، دور (شبنم ، 3) ، دور (دما ، 3)، explorerhat.output.two.read ())) #10 ثانیه پس از چرخش دقیقه ، داده ها را در یک فایل CSV بنویسید اگر A == 10: اگر os.path.isfile (path.format (datestr)): print (path.format (datestr)) با open (path.format (datestr) ، "a") به عنوان csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow ([localaltime، OAT، Dew، tempC، explorerhat output.two.read ()]) else: fieldnames = ['date'، 'Outdoor Air Temp'، 'Dewpoint'، 'Dome Temp'، 'Relay State'] with open (path.format (datestr)، "w ") به عنوان csvfile: txtwrite = csv.writer (csvfile) txtwrite.writerow (نام فیلدها) txtwrite.writerow ([localtime، OAT، Dew، tempC، explorerhat.output.two.read ()]) time.sleep (ControlDelay)

من این را در یک پوشه جدید در زیر پوشه allsky به نام DewHeaterLogs ذخیره کردم.

سعی کنید این را کمی اجرا کنید تا مطمئن شوید همه چیز خوب به نظر می رسد ، قبل از اینکه آن را به عنوان یک اسکریپت اجرا کنید.

مرحله 6: مرحله 5: اجرای اسکریپت در هنگام راه اندازی

برای اجرای اسکریپت Dew Heater به محض راه اندازی Raspberry Pi ، دستورالعمل های زیر را دنبال کردم:

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

برای اسکریپت پرتاب ، این را ایجاد کردم:

#!/bin/sh

# launcher.sh # به فهرست اصلی ، سپس به این فهرست بروید ، سپس اسکریپت پایتون را اجرا کنید ، سپس به خانه برگردید cd/cd home/pi/allsky/DewHeaterLogs sleep 90 sudo python DewHeater_Web.py & cd/

وقتی این کار انجام شد ، باید خوب بروید. از داشتن یک دوربین بدون شبنم لذت ببرید!

مرحله 7: دسامبر 2020 را به روز کنید

تقریباً در نیمه راه سال گذشته ، بخاری شبنم کار نکرد ، بنابراین کد را غیرفعال کردم تا بتوانم به آن نگاه کنم. سرانجام در تعطیلات زمستانی مدتی وقت گذاشت و متوجه شد که رله ای که من استفاده می کنم در حین کار مقاومت بالایی در برابر مخاطبین خود نشان می دهد ، احتمالاً از اضافه بار.

بنابراین من آن را با رله با امتیاز بالاتر به روز کردم ، یکی با 5A و نه 1A. همچنین این یک رله قدرت است نه یک رله سیگنال ، بنابراین امیدوارم کمک کند. این یک TE PCH-105D2H ، 000 است. من همچنین تعدادی پایانه پیچ را برای PHAT Explorer اضافه کردم ، بنابراین می توانم بخاری و سنسور دما را در صورت نیاز به راحتی قطع کنم. هر 3 مورد در سبد خرید زیر موجود است:

سبد خرید Digikey

توجه داشته باشید که پایه های این رله با قبلی متفاوت است ، بنابراین محل اتصال شما کمی متفاوت است ، اما باید مستقیم باشد. قطبی برای سیم پیچ مهم نیست ، FYI.

توصیه شده: