مقاله

سنسور PIR چیست ؟ — نحوه کار و مدار عملی

در آموزش‌های قبلی مجله فرادرس با سنسور و برخی از انواع آن مانند سنسور دما، موقعیت، فشار، فاصله‌سنج و مجاورتی آشنا شدیم. در این آموزش، مطالبی را درباره سنسور PIR بیان می‌کنیم.

سنسور PIR چیست؟

همه اجسام زنده که دمای بدن آن‌ها بیش از صفر درجه سانتی‌گراد است، گرما را به شکل اشعه فروسرخ از بدن خود منتشر می‌کنند که به آن «تابش گرمایی» (Thermal Radiation) نیز گفته می‌شود. چشم انسان نمی‌تواند این انرژی تابشی را مشاهده کند. چنین سیگنال‌هایی را می‌توان با استفاده از سنسور PIR که برای چنین اهدافی طراحی شده است، تشخیص داد. در «سنسور فروسرخ غیرفعال» (Passive Infrared Sensor) یا PIR، کلمه غیرفعال نشان می‌دهد که سنسور PIR هیچ انرژی را برای تشخیص اجسام تولید یا تابش نمی‌کند.

سنسور PIR
خطای دید شبکه‌ای

سنسورهای PIR گرما را اندازه نمی‌گیرند (تشخیص نمی‌دهند)، بلکه تابش فروسرخ ساطع شده یا منعکس شده از اجسام را تشخیص می‌دهند. این سنسورها ارزان و کم‌مصرف هستند و استفاده از آن‌ها آسان است و معمولاً در خانه‌ها، کاربردهای پزشکی، کارخانه‌ها و… به کار می‌روند.

سنسور PIR چگونه کار می‌کند؟‌

سنسور PIR اساساً از یک سنسور «پیروالکتریک» (Pyroelectric) ساخته شده‌ که می‌تواند سطح تابش فروسرخ را تشخیص دهد.

بلوک‌های سنسور PIR
بلوک‌های سنسور PIR

شکل زیر قطعه PIR را نشان می‌دهد که یک قوطی فلزی گرد با یک کریستال مستطیل شکل در مرکز است.

قطعه سنسور PIR
قطعه سنسور PIR

هر جسمی مقداری پرتو سطح پایین می‌تاباند و اجسام گرم‌تر نیز پرتو بیشتری از خود ساطع می‌کنند. سنسور در دو شکاف تقسیم شده است که به گونه‌ای سیم‌کشی می‌شوند تا یکدیگر را خنثی کنند.

عملکرد سنسور PIR
عملکرد سنسور PIR

اگر یک نیمه تابش فروسرخ را بیشتر یا کمتر از دیگری مشاهده کند، خروجی کم (LOW) یا زیاد (HIGH) می‌شود. سیگنال‌های ورودی از هر دو ترمینال عنصر PIR با استفاده از مدار تقویت‌کننده تقویت می‌شوند و با استفاده از مدار مقایسه‌کننده مقایسه می‌شوند. قطعه PIR با لنز (عدسی) پوشانده شده تا دامنه عملکرد افزایش یابد. جسم در دو حالت می‌تواند بررسی شود:‌ عدم وجود شخص و وجود شخص.

سنسور PIR از قطعه RE200B برای تشخیص فروسرخ استفاده می‌کند. هر دو اسلات (شکاف) این سنسور به تقویت‌کننده تفاضلی متصل هستند. هنگامی که شخصی وجود ندارد، هر دو شکاف مقدار یکسانی فروسرخ را تشخیص می‌دهند. بنابراین، هیچ سیگنال خطایی بین ورودی‌های تفاضلی وجود ندارد و خروجی مدار مقایسه‌کننده صفر است.

اما اگر هر جسمِ گرمی از مقابل سنسور عبور کند، با یک شکاف از سنسور PIR تلاقی خواهد داشت. این امر باعث تغییر تفاضلی مثبت بین دو شکاف می‌شود. این تغییر توسط قسمت A در شکل زیر نشان داده شده است. وقتی جسم گرم از ناحیه سنجش خارج می‌شود، سنسور تغییرات تفاضلی منفی ایجاد می‌کند. این تغییر توسط قسمت B در شکل نشان داده شده است. هر دو این تغییرات در پالس، بیانگر تشخیص جسم گرم است که سیگنال‌های فروسرخ را می‌تاباند.

تغییر تفاضل بین دو شکاف
تغییر تفاضلی بین دو شکاف

برای آشنایی بیشتر با موضوعات مرتبط با مدارهای الکترونیکی، پیشنهاد می‌کنیم به مجموعه آموزش‌های مهندسی الکترونیک مراجعه کنید که توسط فرادرس تهیه و لینک آن در ادامه آورده شده است.

پایه‌های ماژول سنسور PIR

شکل زیر یک ماژول سنسور PIR را نشان می‌دهد.

پایه‌های ماژول سنسور PIR
پایه‌های ماژول سنسور PIR
  • پایه ۱ (GND): این پایه به زمین وصل می‌شود.
  • پایه ۲ (خروجی): این پایه با تشخیص حرکت خروجی ۳٫۵ ولتی می‌دهد.
  • پایه ۳ (Vcc): این پایه ولتاژ تغذیه (۵ ولت) سنسور PIR و مدار داخلی را تأمین می‌کند.

این سنسور PIR دو حالت عملکردی دارد: تریگر تکی و تریگر تکراری.

  • حالت تریگر تکی:
نمودار زمان‌بندی حالت تریگر تکی
نمودار زمان‌بندی حالت تریگر تکی

برای انتخاب حالت تریگر تکی، جامپر سنسور PIR باید روی LOW تنظیم شود. در حالت تریگر تکی، وقتی حرکت تشخیص داده شود، خروجی HIGH می‌شود. پس از تأخیر معین (tsel) حتی اگر جسم در حال حرکت باشد، خروجی LOW خواهد شد. خروجی برای مدتی LOW است و اگر جسم در حرکت باقی بماند، دوباره HIGH می‌شود. این تأخیر معین (tsel) توسط کاربر و با استفاده از پتانسیومتر اعمال می‌شود. این پتانسیومتر در ماژول سنسور PIR قرار دارد. به این ترتیب، اگر جسم در حرکت مداوم باشد، سنسور PIR پالس‌های HIGH/LOW خواهد داشت.

  • حالت تریگر تکراری:
نمودار زمان‌بندی حالت تریگر تکراری
نمودار زمان‌بندی حالت تریگر تکراری

برای انتخاب حالت تریگر تکراری، جامپر سنسور PIR باید روی HIGH تنظیم شود. در این حالت، خروجی با تشخیص حرکت HIGH می‌شود. خروجی سنسور PIR تا زمانی که جسم در حرکت نباشد، HIGH است. وقتی جسم حرکت را متوقف می‌کند یا از زاویه دید سنسور ناپدید می‌شود، PIR به اندازه تأخیر زمانی مشخص (Tsel) حالت HIGH خود را ادامه می‌دهد. با تنظیم پتانسیومتر می‌توانیم این تأخیر (tsel) را اعمال کنیم. این پتانسیومتر در ماژول سنسور PIR قرار دارد. به این ترتیب، اگر جسم در حرکت مداوم باشد، سنسور PIR پالس HIGH می‌دهد.

تغییر حساسیت و زمان تأخیر در ماژول سنسور PIR

در برد سنسورهای حرکت PIR دو پتانسیومتر به کار رفته است: پتانسیومتر تنظیم حساسیت و پتانسیومتر تنظیم زمان تأخیر. می‌توان سنسور PIR را به میزان لازم حساس یا غیرحساس کرد. حداکثر حساسیت تا 6 متر قابل دستیابی است. پتانسیومترِ تنظیم زمان تأخیر برای تنظیم زمان‌ نشان داده شده در نمودارهای زمان‌بندی بالا استفاده می‌شود. حرکت در جهت عقربه‌های ساعت حساسیت PIR را بیشتر می‌کند.

سنسور PIR با عدسی فرنل

شکل زیر آشکارساز PIR را با لنز (عدسی) فرنل نشان می‌دهد.

آشکارساز PIR با لنز (عدسی) فرنل
آشکارساز PIR با لنز (عدسی) فرنل

هنگام ساخت سنسور PIR در نظر گرفتن دو نکته مهم است: هزینه کم و حساسیت بالا که با استفاده از درپوش عدسی می‌توان به هر دو این موارد دست یافت. عدسی‌ها دامنه عملکرد را افزایش می‌دهند، حساسیت را زیاد می‌کنند و الگوی حس را به راحتی تغییر می‌دهند.

تست سنسور PIR

شکل زیر مدار ساده‌ای را نشان می‌دهد که با استفاده از آن می‌توان سنسور PIR را تست کرد.

مدار تست سنسور PIR
مدار تست سنسور PIR

همان‌طور که در تصویر متحرک زیر می‌بینیم، هر زمان که PIR حرکت را تشخیص دهد، LED روشن می‌شود و در غیر این صورت خاموش می‌ماند.

تست سنسور PIR

محدوده کاری سنسورهای PIR به شرح زیر است:

  • سنسور PIR داخلی: فواصل تشخیص از 25 سانتی‌متر تا 20 متر است.
  • سنسور PIR داخلی پرده‌ای: فاصله تشخیص از 25 سانتی‌متر تا 20 متر است.
  • سنسور PIR خارجی (فضای باز): فاصله تشخیص از 10 متر تا 150 متر است.
  • سنسور PIR خارجی پرده‌ای: فاصله از 10 متر تا 150 متر

مدار سنسور PIR با PIC18F4550

می‌خواهیم مدار کوچکی طراحی کنیم که در آن LED با تشخیص حرکت روشن شود. برای این کار، از سنسور حرکت PIR با PIC18F4550 استفاده می‌کنیم. همان‌طور که در شکل مدار نشان داده شده است، پایه خروجی سنسور حرکت PIR به پایه PORTA.0 متصل است. اگر این پایه HIGH شود، حرکت شناسایی شده و LED روشن می‌شود. با توجه به حالت عملکرد، اگر این پین LOW باشد، به این معنی است که یا حرکت وجود ندارد یا دوره تریگر به پایان می‌رسد و LED را خاموش می‌کند. در اینجا ماژول را در حالت تریگر تکرارپذیر پیکربندی می‌کنیم.

سنسور PIR
سنسور حرکت PIR

توجه کنید که بعد از روشن کردن مدار، ماژول برای عملکرد مناسب به حدود 30 تا 50 ثانیه برای گرم شدن نیاز دارد.

مدار سنسور PIR با PIC18F4550
مدار سنسور PIR با PIC18F4550

برنامه مورد استفاده برای PIC18F4550 به صورت زیر است:

پوشه مربوط به این پروژه را از این لینک (+)‌ دانلود کنید.

مدار سنسور PIR با AVR ATmega16/ATmega32

در اینجا، می‌خواهیم حرکت را با استفاده از یک سنسور PIR که با AVR ATmega16/32 ارتباط دارد، تشخیص دهیم. وقتی حرکت شناسایی شد (یعنی پین خروجی HIGH شود)، LED روشن می‌شود.

مدار سنسور PIR با AVR ATmega16/ATmega32
مدار سنسور PIR با AVR ATmega16/ATmega32

برنامه مورد استفاده برای AVR ATmega32 به صورت زیر است:

پوشه مربوط به این پروژه را از این لینک (+)‌ دانلود کنید.

مدار سنسور PIR با 8051

می‌خواهیم یک مدار کوچک طراحی کنیم که در آن LED با شناسایی حرکت روشن شود. برای این کار، سنسور حرکت PIR را در کنار میکروکنترلر 8051 به کار می‌گیریم. همان‌طور که در نمودار مدار نشان داده شده است، پایه خروجی سنسور حرکت PIR به پایه PORT0.0 متصل است. برای به دست آوردن سطح مناسب (0 و 5) در پایه ورودی 8051 که برای خواندن سنسور PIR استفاده می‌شود، ترانزیستور به کار می‌رود. وقتی از ترانزیستور استفاده شود، پین P0.0 در حالت LOW قرار می‌گیرد و نشان می‌دهد حرکت شناسایی شده و LED روشن می‌شود. با توجه به نحوه عملکرد، اگر High روی این پین تشخیص داده شود، به این معنی است که یا حرکت وجود ندارد یا دوره تریگر تمام شده و LED را خاموش می‌کند. در اینجا ماژول را در حالت تریگر تکرارپذیر پیکربندی می‌کنیم.

توجه کنید که ماژول بعد از روشن کردن، برای عملکرد مناسب به حدود 30-50 ثانیه برای گرم شدن نیاز دارد.

مدار سنسور PIR با 8051
مدار سنسور PIR با 8051

برنامه مورد استفاده برای میکروکنترلر 8051 به صورت زیر است:

پوشه مربوط به این پروژه را می‌توانید از این لینک (+)‌ دانلود کنید.

مدار سنسور PIR با Arduino UNO

شکل زیر، مدار تشخیص حرکت اجسام زنده با استفاده از سنسور PIR و آردوینو را نشان می‌دهد.

مدار سنسور PIR با Arduino UNO
مدار سنسور PIR با Arduino UNO

با تشخیص حرکت، عبارت “Object detected” روی نمایشگر سریال آردوینو چاپ می‌شود و وقتی حرکتی وجود ندارد، عبارت “No object in sight” روی نمایشگر نشان داده می‌شود.

برنامه مورد استفاده برای Arduino UNO به صورت زیر است:

پوشه مربوط به این پروژه را می‌توانید از این لینک (+)‌ دانلود کنید.

اگر از وقفه استفاده کنیم، مدار به صورت زیر خواهد بود.

مدار سنسور PIR با Arduino UNO با وقفه
مدار سنسور PIR با Arduino UNO با وقفه

برنامه مورد استفاده برای Arduino UNO با در نظر گرفتن وقفه به صورت زیر است:

پوشه مربوط به این پروژه را می‌توانید از این لینک (+)‌ دانلود کنید.

مدار سنسور PIR با MSP-EXP430G2 TI Launchpad

مدار سنسور PIR با MSP-EXP430G2 TI Launchpad به صورت زیر است.

واسط سنسور PIR با MSP-EXP430G2 TI Launchpad
مدار سنسور PIR با MSP-EXP430G2 TI Launchpad

با تشخیص حرکت، جسم شناسایی شده روی نمایشگر سریال چاپ می‌شود. وقتی هیچ حرکتی وجود نداشته باشد، هیچ چیزی روی مانیتور سریال Energia نمایش داده نمی‌شود. برد MSP-EXP430G2 TI Launchpad دارای یک رم 512 بایت است که مخصوصاً هنگام استفاده از کتابخانه‌های مختلف به راحتی پر می‌شود. مواردی وجود دارد که باید بافر سریال آنقدر بزرگ باشد تا بتواند داده‌های مورد نظر را در خود داشته باشد. باید اندازه بافر را برای کتابخانه سریال تغییر دهیم. در حین انجام چنین کارهایی، باید اطمینان حاصل کنیم که کد بیش از 70 درصد رم را استفاده نمی‌کند.  مواقعی وجود دارد که ممکن است میزان استفاده از RAM از 70 درصد بیشتر شود و کدها کاملاً خوب کار کنند و همچنین مواردی نیز دیده شده که کد حتی در صورت استفاده از 65 درصد رم نیز کار نکند. در چنین مواردی، ممکن است کمی سعی و خطا با اندازه بافر و/یا متغیرها لازم باشد.

برنامه مورد استفاده برای MSP-EXP430G2 TI Launchpad به صورت زیر است:

پوشه مربوط به این پروژه را می‌توانید از این لینک (+)‌ دانلود کنید.

سنسور PIR با NodeMCU

می‌خواهیم سنسور PIR را با کمک NodeMCU به کار گیریم. هنگامی که حرکت تشخیص داده می‌شود، خروجی PIR روی HIGH قرار می‌گیرید که توسط NodeMCU خوانده می‌شود. بنابراین، وقتی حرکت توسط حسگر PIR تشخیص داده شود، LED را روشن خواهیم کرد. LED به پایه D4 متصل است.

واسط سنسور PIR با NodeMCU
مدار سنسور PIR با NodeMCU

در اینجا اسکچ Arduino و همچنین اسکریپت Lua برای NodeMCU را می‌نویسیم.

اسکریپت Lua برای سنسور به صورت زیر است:

برنامه اسکچ آردوینو نیز به شکل زیر نوشته می‌شود:

نوشته های مشابه

دیدگاهتان را بنویسید

دکمه بازگشت به بالا