خانه / پروژه های میکروکنترلر AVR / پروژه با انواع LCD / راه اندازی سنسور گاز MQ9 با میکروکنترلر AVR

راه اندازی سنسور گاز MQ9 با میکروکنترلر AVR

در این پست از سایت اِمیک, سنسور تشخیص گاز MQ9 را با استفاده از میکروکنترلر AVR راه اندازی خواهیم کرد. سنسور گاز MQ9 قابلیت تشخیص گاز مونو اکسید کربن CO و گاز شهری LPG و گاز CH4 را دارد. این سنسور در بازار معمولا به صورت ماژول موجود هست و ما هم در این اموزش از ماژول طراحی شده با این سنسور استفاده خواهیم کرد, که کار را برای راه اندازی این سنسور بسیار راحت می کند. شکل این ماژول به صورت زیر است :

ماژول MQ9

همانطور که می بینید این ماژول دارای 4 پایه است که دو پایه مربوط به تغذیه ماژول است (GND,VCC) و باید به ولتاژ 5 ولت متصل کنید, همچنین دقت کنید که جریان مصرفی این ماژول 180 میلی امپر می باشد. دو پایه دیگر خروجی انالوگ و دیجیتال ماژول است که بسته به نیاز می توان از خروجی دیجیتال (D0) یا خروجی انالوگ (A0) استفاده کرد. تغییرات ولتاژ خروجی در حالت آنالوگ  بین 0 تا 5V است, که با افزایش غلظت گاز ولتاژ خروجی بالاتر می رود. در این پروژه ی اموزشی ما از هر دو خروجی این ماژول استفاده خواهیم کرد.

پروژه راه اندازی سنسور گاز MQ9 با میکروکنترلر AVR :

MQ9-Test-with-AVR

در این پروژه ما از میکروکنترلر ATmega16 استفاده کرده ایم, همچنین برای نمایش درصد گاز موجود در محیط از یک LCD کاراکتری 2*16 استفاده شده است. عملکرد این پروژه به این صورت است که میکرو با توجه به میزان گاز اندازه گیری شده توسط سنسور, در صورتی که این میزان گاز بیشتر از مقداری که مشخص می کنیم باشد یک بازر هشدار دهنده را به صدا در می اورد و همچنین بطور مداوم درصد گاز موجود در محیط را روی یک LCD کاراکتری نمایش می دهد. شماتیک این پروژه به صورت زیر است :

MQ9-Test-with-AVR

همانطور که در بالا گفته شد, در این پروژه ما از هر دو خروجی انالوگ و دیجیتال این ماژول استفاده خواهیم کرد. خروجی دیجیتال ماژول که با D0 مشخص شده, در زمانی که سنسور گازی را در محیط حس نکند برابر یک منطقی یا 5 ولت است و زمانی که سنسور گاز را در محیط تشخیص دهد برابر 0 منطقی (0 ولت) می شود. حساسیت خروجی دیجیتال ماژول از طریق پتانسیومتری که در پشت برد ماژول است تنظیم می شود. در این پروژه ما به این دلیل خروجی دیجیتال ماژول را به پایه 1 میکرو (یا پین 0 پورت B میکرو) متصل کرده ایم, تا میکرو خروجی را برای ما برعکس کند, یعنی زمانی که خروجی ماژول 1 منطقی است میکرو پایه 2 خود (پین 1 پورت B) را 0 کند و زمانی که خروجی ماژول 0 است میکرو پایه 2 خود را 1 منطقی کند. به این ترتیب زمانی که سنسور گازی را تشخیص داد, بازری که از طریق ترانزیستور و مقاومت به پایه 2 میکرو متصل است فعال می شود و زمانی که گازی در محیط نبود (یا مقدار ان کم بود) بازر غیرفعال است. از انجایی که جریان خروجی پایه های میکرو کم است و نمی تواند یک بازر را راه اندازی کند ما از یک مدار راه انداز شامل ترانزیستور و مقاومت استفاده کرده ایم.

همانطور که گفته شد خروجی انالوگ ماژول در بازه 0 تا 5 ولت تغییر می کند که این تغییرات به غلظت یا میزان گاز موجود در محیط بستگی دارد. ما توسط مبدل انالوگ به دیجیتال میکروکنترلر (ADC) این تغییرات را اندازه گیری می کنیم و به این ترتیب می توانیم میزان گاز محیط را اندازه گیری کرده و ان را به صورت درصدی روی LCD کاراکتری نمایش دهیم. 

 

برنامه کدویژن :

برنامه این پروژه بصورت زیر است که به زبان C و با کامپایلر کدویژن نوشته شده است :

توضیحات قسمت های مهم برنامه نوشته شده, اگر سوالی داشتید می تونید در قسمت نظرات مطرح کنید. 

نکات :

  • پایه های 10 و 11 میکرو برای تغذیه میکرو هستند که باید به ترتیب به مثبت و منفی منبع تغذیه 5 ولت متصل شوند, در شماتیک بالا بدلیل اینکه در شبیه سازی پروتئوس این پایه ها وجود ندارند من وصل نکردم ولی شما در عمل حتما این پایه ها را باید به تغذیه متصل کنید
  • برای تنظیم کنتراست LCD می توانید پین ۳ ان را به یک پتانسیومتر متصل کنید یا در غیر این صورت پین ۳ را به منفی تغذیه وصل کنید 
  • از اونجایی که از ADC میکرو استفاده کرده ایم حتما پین های ۳۰ و ۳۲ رو به ۵ ولت (VCC) متصل کنید
  • از بازر 5 ولت استفاده کنید (در صورتی که از بازر با ولتاژ بیشتر می خواهید استفاده کنید نیاز به تغذیه جداگانه برای ان دارید)
  • در صورتی که با ADC در میکروکنترلر AVR و نحوه راه اندازی ان اشنا نیستید این پست را مطالعه کنید
  • برای اشنایی با LCD کاراکتری و نحوه راه اندازی ان این پست را مطالعه کنید

کلیپ تست عملی پروژه :

من برای تست پروژه از اونجایی که بازر نداشتم بجاش از یک LED استفاده کردم

 

دانلود فایل ها

پسورد فایل زیپ : www.emic.ir

نظر یادتون نره…

درباره ی عابد رازانی

فارغ التحصیل کارشناسی الکترونیک از دانشکده باهنر شیراز و علاقمند به برنامه نویسی و طراحی مدارات الکترونیکی, در حال حاضر به تولید محتوای اموزشی و طراحی و انجام پروژه مشغول هستم و همچنین درحال اماده شدن برای ارشد

2 دیدگاه

  1. برای تست در پروتئوس چیکار باید کرد؟!

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *