فهرست مطالب:

هشدار آب اینترنت اشیا: 5 مرحله (همراه با تصاویر)
هشدار آب اینترنت اشیا: 5 مرحله (همراه با تصاویر)

تصویری: هشدار آب اینترنت اشیا: 5 مرحله (همراه با تصاویر)

تصویری: هشدار آب اینترنت اشیا: 5 مرحله (همراه با تصاویر)
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, نوامبر
Anonim
هشدار آب اینترنت اشیا
هشدار آب اینترنت اشیا

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

مرحله 1: اصل عملکرد

اصل عملکرد
اصل عملکرد

دزدگیر دارای یک میکروکنترلر AVR ATtiny85 به عنوان مغز است. برای تشخیص ولتاژ از باتری و سنسور آب ، آنها را با مقدار از پیش تعریف شده مقایسه می کند تا وجود آب یا وضعیت باتری کم را تشخیص دهد.

سنسور آب به سادگی دو سیم است که تقریباً 1 میلی متر از یکدیگر فاصله دارند. یکی از سیمها به 3.3 ولت و سیم دیگر به پین حسگر میکروکنترلر وصل شده است که از طریق مقاومت 0.5 MOhm به زمین متصل می شود. به طور معمول ، مقاومت بین سیم های سنسور بسیار زیاد است (بیش از 10 MOhm) ، بنابراین پین حسگر تا 0 ولت کشیده می شود. با این حال ، هنگامی که آب بین سیم ها وجود دارد ، مقاومت به کمتر از 1 MOhm کاهش می یابد ، و پین حسگر مقداری ولتاژ می بیند (در مورد من حدود 1.5 ولت). هنگامی که ATtiny85 این ولتاژ را روی پین حسگر تشخیص می دهد ، یک MOSFET را فعال می کند تا یک زنگ صدا را فعال کند و سیگنال بیداری را به ماژول ESP8266 ارسال می کند که مسئول ارسال هشدارها (ایمیل و اعلان های فشار) است. پس از یک دقیقه وزوز ، زنگ خاموش می شود و فقط با دوچرخه سواری قدرت می توان آن را تنظیم کرد.

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

از آنجایی که ماژول ESP8266 مسئول ارسال هشدارهای کم باتری و همچنین هشدارهای سیل است ، به سیگنال کنترل ATiny85 نیاز دارد. به دلیل تعداد محدود پین های موجود ، این سیگنال کنترلی توسط همان پین مسئول نشانگر LED باتری تولید می شود. در حالت عادی (زنگ هشدار مسلح و باتری ها شارژ شده اند) ، LED به صورت متناوب چشمک می زند. هنگامی که وضعیت کم باتری تشخیص داده می شود ، LED روشن می شود تا سیگنال بالایی به پین RX ماژول ESP ارائه دهد. در صورت تشخیص آب ، LED باتری در حالی که ESP8266 بیدار است خاموش می شود.

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

طراحی و مونتاژ
طراحی و مونتاژ
طراحی و مونتاژ
طراحی و مونتاژ
طراحی و مونتاژ
طراحی و مونتاژ

من مدار را طوری طراحی کردم که روی یک صفحه پیش ساخته دو طرفه 4x6 سانتی متر با استفاده از بیشتر قطعات SMD 0805 ساخته شود. شماتیک ارائه شده بر اساس این ساختار است ، اما می توان آن را به راحتی برای اجزای سوراخ سازگار کرد (نکته: برای به حداقل رساندن فضا ، مقاومتهای داخل سوراخ را به صورت عمودی لحیم کنید).

قطعات زیر مورد نیاز است:

- مقاومت: 330 Ω x 1 ؛ 470 Ω x 1؛ 680 Ω x 1؛ 1 kΩ x 1 ؛ 10 kΩ x 3 ؛ 470 kΩ x 3 ؛ - یک خازن سرامیکی 10 µF- یک MOSFET کانال N سطح منطقی (به عنوان مثال RFP30N06LE یا AO3400)- یک LED قرمز و یک زرد (یا رنگهای دیگر در صورت تمایل).- اتصالات ترمینال دو سیم x 3 (آنها نیستند کاملاً ضروری است ، اما اتصال و قطع محیط را در حین آزمایش آسان تر می کند)- یک زنگ بلند پیزو که برای 3.3 ولت مناسب است- میکروکنترلر ATtiny85 (نسخه PDIP)- سوکت PDIP 8 پین برای میکروکنترلر- ماژول ESP-01 (می توان آن را با یک ماژول دیگر مبتنی بر ESP8266 جایگزین کرد ، اما در آن حالت تغییرات زیادی در طرح ایجاد می شود)-مبدل تقویت کننده 3.3 ولت DC-DC که قادر به ارائه جریان 200 میلی آمپر (500 میلی آمپر پشت سر هم) در 2.2 ولت است. ورودی (من https://www.canton-electronics.com/power-converter… را بخاطر جریان آرامش بسیار کم توصیه می کنم)-یک سرصفحه زن 3 پین- دو سربرگ زن 4 پین یا یک سربرگ 2x4- 22 سیم AWG محکم برای سنسور آب- سیم رشته AWG 22 (یا نوع دیگری از سیم نازک برای ایجاد آثار)

من مقادیر مقاومت ذکر شده در بالا را توصیه می کنم ، اما می توانید اکثر آنها را با مقادیر مشابه جایگزین کنید. بسته به نوع LED هایی که می خواهید استفاده کنید ، ممکن است لازم باشد مقادیر مقاومت محدود کننده جریان را تنظیم کنید تا روشنایی مطلوب را بدست آورید. MOSFET می تواند از طریق سوراخ یا SMT (SOT23) باشد. فقط جهت مقاومت 330 اهم تحت تأثیر نوع MOSFET قرار می گیرد. اگر قصد دارید از این مدار با باتری NiMH استفاده کنید ، فیوز PTC (به عنوان مثال دارای رتبه 1 A) توصیه می شود. با این حال ، با باتری های قلیایی نیازی نیست. نکته: قطعات مورد نیاز این زنگ هشدار را می توان ارزان از ebay یا aliexpress خریداری کرد.

علاوه بر این ، برای برنامه ریزی ماژول ESP-01 ، به یک تخته نان ، چندین مقاومت 10k از طریق سوراخ ، چند سیم زن و مرد و زن ("dupont") و یک آداپتور USB-UART نیاز دارید.

سنسور آب را می توان به طرق مختلف تهیه کرد ، اما ساده ترین آنها دو سیم 22 AWG با انتهای نمایان (طول 1 سانتی متر) است که فاصله آنها تقریباً 1 میلی متر است. هدف این است که هنگام تماس آب ، بین مخاطبین سنسور مقاومت کمتر از 5 MΩ داشته باشد.

این مدار برای حداکثر مصرف باتری طراحی شده است. این دستگاه فقط 40-60 میکرو آمپر در حالت نظارت (با LED روشنایی حذف شده روی ماژول ESP-01) می کشد. هنگامی که زنگ هشدار فعال می شود ، مدار 300-500 میلی آمپر (در ورودی 2.4 ولت) برای یک ثانیه یا کمتر می کشد و پس از آن جریان به زیر 180 میلی آمپر می رسد. پس از اتمام ارسال ماژول ESP ، مصرف فعلی به زیر 70 میلی آمپر کاهش می یابد تا زنگ صدا خاموش شود. سپس زنگ هشدار خاموش می شود و مصرف فعلی زیر 30 میکرو آمپر خواهد بود. بنابراین مجموعه ای از باتری های AA قادر خواهند بود مدار را به مدت چندین ماه (به احتمال زیاد در طول یک سال) تغذیه کنند. اگر از مبدل تقویت کننده متفاوتی استفاده می کنید ، مثلا با جریان آرام 500 میکرو آمپر ، باتری ها اغلب باید بیشتر تعویض شوند.

نکات مونتاژ:

از یک نشانگر دائمی برای برچسب زدن تمام آثار و اجزای روی صفحه اولیه برای لحیم کاری آسانتر استفاده کنید. توصیه می کنم به ترتیب زیر عمل کنید:

- LED های SMT بالا و پل های سیم عایق شده

-MOSFET سمت بالا (توجه داشته باشید: اگر SOS-23 MOSFET دارید ، آن را به صورت مورب مانند عکس قرار دهید. اگر از MOSFET سوراخ دار استفاده می کنید ، آن را به صورت افقی با پین دروازه در موقعیت I3 قرار دهید.)

- قسمت بالا از طریق قطعات سوراخ (توجه داشته باشید: زنگ به هم لحیم نشده است و حتی لازم نیست روی PCB نصب شود)

- قطعات و آثار SMT سمت معکوس (به عنوان مثال رشته های جداگانه از سیم AWG22)

مرحله 3: سیستم عامل

کد C برای ATtiny85

Main.c شامل کدی است که باید کامپایل و در میکروکنترلر بارگذاری شود. اگر قصد دارید از یک برد آردوینو به عنوان برنامه نویس استفاده کنید ، می توانید نمودار سیم کشی را در این آموزش پیدا کنید. شما فقط باید بخش های زیر را دنبال کنید (بقیه را نادیده بگیرید):

-پیکربندی Arduino Uno به عنوان ISP (برنامه نویسی درون سیستم)

- اتصال ATtiny85 با Arduino Uno.

برای کامپایل و بارگذاری سیستم عامل ، به CrossPack (برای سیستم عامل Mac) یا به ابزار AVR (برای Windows) نیاز دارید. برای کامپایل کد ، دستور زیر باید اجرا شود:

avr -gcc -Os -mmcu = attiny85 -c main.c؛ avr -gcc -mmcu = attiny85 -o main.elf main.o؛ avr -objcopy -j.text -j.data -O ihex main.elf main.hex

برای بارگذاری سیستم عامل ، موارد زیر را اجرا کنید:

avrdude -c arduino -p attiny85 -P /dev/cu.usbmodem1411 -b 19200 -e -U flash: w: main.hex

به جای "/dev/cu.usbmodem1411" احتمالاً باید پورت سریال را که Arduino شما به آن متصل است وارد کنید (می توانید آن را در Arduino IDE: Ports Tools پیدا کنید).

کد شامل چندین عملکرد است. deep_sleep () باعث می شود که میکروکنترلر به مدت تقریباً 8 ثانیه وارد حالت بسیار کم قدرت شود. read_volt () برای اندازه گیری ولتاژ باتری و سنسور استفاده می شود. ولتاژ باتری در برابر مرجع ولتاژ داخلی (2.56 ولت بعلاوه یا منهای چند درصد) اندازه گیری می شود در حالی که ولتاژ سنسور با Vcc = 3.3 ولت اندازه گیری می شود. خوانش ها به ترتیب با BATT_THRESHOLD و SENSOR_THRESHOLD به ترتیب 932 و 102 مقایسه می شود که مربوط به 3 2.3 و 0.3 ولت. ممکن است بتوانید مقدار آستانه باتری را برای افزایش عمر باتری کاهش دهید ، اما توصیه نمی شود (برای اطلاعات دقیق به ملاحظات باتری مراجعه کنید).

activ_alarm () ماژول ESP را در مورد تشخیص آب مطلع می کند و زنگ را به صدا در می آورد. low_batt_notification () به ماژول ESP اطلاع می دهد که باتری کم است و همچنین زنگ می زند. اگر نمی خواهید نیمه شب بیدار شوید تا باتری را عوض کنید ، "| 1 <" را در low_batt_notification () حذف کنید.

طرح آردوینو برای ESP-01

من برنامه ریزی ماژول ESP را با استفاده از Arduino HAL انتخاب کردم (برای پیکربندی دستورالعمل ها پیوند را دنبال کنید). علاوه بر این ، من از دو کتابخانه زیر استفاده کردم:

ESP8266 ارسال ایمیل توسط Górász Péter

ESP8266 Pushover توسط تیم آردوینو هانوفر

اولین کتابخانه به سرور SMTP متصل می شود و هشدار را به آدرس ایمیل شما ارسال می کند. فقط کافی است یک حساب gmail برای ESP خود ایجاد کنید و اعتبارنامه را به کد اضافه کنید. کتابخانه دوم اعلان های فشار را از طریق سرویس Pushover ارسال می کند (اعلان ها رایگان هستند ، اما برای نصب برنامه بر روی تلفن/رایانه لوحی خود باید یک بار هزینه کنید). هر دو کتابخانه را بارگیری کنید. محتویات کتابخانه Send Email را در پوشه طرح خود قرار دهید (arduino هنگامی که طرح arduino را برای اولین بار باز می کنید ، آن را ایجاد می کند). کتابخانه Pushover را از طریق IDE (Sketch -> Include Library -> Add. ZIP library) نصب کنید.

برای برنامه ریزی ماژول ESP-01 می توانید از آموزش زیر استفاده کنید: سیم هایی برای اتصال پین های ماژول به تخته نان. فراموش نکنید که مبدل تقویت کننده و آداپتور USB-UART باید به اشتراک گذاشته شوند (توجه داشته باشید: ممکن است بتوانید از خروجی 3.3 ولت آداپتور USB-UART به جای مبدل تقویت کننده استفاده کنید ، اما به احتمال زیاد این کار را نمی کند قادر به تولید جریان کافی)

مرحله 4: ملاحظات باتری

کد سیستم عامل ارائه شده برای ارسال هشدار کم باتری و خاموش شدن در 2.3 ولت پیش تنظیم شده است. این آستانه بر این فرض است که از دو باتری NiMH به صورت سری استفاده می شود. توصیه نمی شود که هر سلول NiMH زیر 1 ولت تخلیه شود. با فرض اینکه هر دو سلول دارای ظرفیت و ویژگی های تخلیه یکسانی باشند ، هر دو در 1.15 ولت پوند قطع می شوند - در محدوده ایمن. با این حال ، سلول های NiMH که در بسیاری از چرخه های تخلیه مورد استفاده قرار گرفته اند ، از نظر ظرفیت متفاوت هستند. تا 30٪ اختلاف ظرفیت را می توان تحمل کرد زیرا همچنان منجر به کمترین نقطه قطع سلول در حدود 1 ولت می شود.

در حالی که ممکن است آستانه باتری پایین در سیستم عامل کاهش یابد ، با این کار حاشیه ایمنی حذف می شود و می تواند منجر به تخلیه و آسیب بیش از حد باتری شود در حالی که فقط افزایش ناچیزی در عمر باتری انتظار می رود (سلول NiMH> 85 at در 1.15 ولت تخلیه شد).

یکی دیگر از عواملی که باید مورد توجه قرار گیرد ، توانایی مبدل تقویت کننده برای تأمین حداقل 3.0 ولت (2.5 ولت بر اساس شواهد حدیثی) در حداکثر جریان 300-500 میلی آمپر بر روی باتری های کم است. مقاومت داخلی پایین باتری های NiMH باعث افت ناچیز 0.1 ولت در جریانهای اوج می شود ، بنابراین یک جفت سلول NiMH تخلیه شده به 2.3 ولت (مدار باز) قادر خواهد بود حداقل 2.2 ولت را برای مبدل تقویت کننده تأمین کند. با این حال ، باتری های قلیایی پیچیده تر هستند. با قرار گرفتن یک جفت باتری AA در 2.2-2.3 V (مدار باز) ، انتظار می رود افت ولتاژ 0.2-0.4 V در جریان حداکثر جریان باشد. اگرچه تأیید کرده ام که مدار با مبدل بوست توصیه شده با جریان 1.8 ولت در حداکثر جریان تغذیه کار می کند ، اما احتمالاً باعث می شود ولتاژ خروجی لحظه ای به زیر مقدار پیشنهاد شده توسط اسپرسیفف کاهش یابد. بنابراین آستانه قطع 2.3 ولت باتری های قلیایی حاشیه ایمنی کمی باقی می گذارد (به خاطر داشته باشید که اندازه گیری ولتاژ توسط میکروکنترلر فقط در مثبت یا منفی چند درصد دقیق است). به منظور اطمینان از خرابی ماژول ESP در زمان کم بودن باتری های قلیایی ، توصیه می کنم ولتاژ قطع را به 2.4 ولت افزایش دهید (#تعریف BATT_THRESHOLD 973). در 1.2 ولت (مدار باز) یک سلول قلیایی حدود 70 درصد تخلیه می شود که تنها 5 تا 10 درصد کمتر از درجه تخلیه در 1.15 ولت در هر سلول است.

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

مرحله 5: سلب مسئولیت حقوقی

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

توصیه شده: