پروژه سیستم مانیتورینگ منزل


دنلود مقاله و پروژه و پایان نامه دانشجوئی

پروژه سیستم مانیتورینگ منزل مربوطه  به صورت فایل ورد  word و قابل ویرایش می باشد و دارای ۶۷  صفحه است . بلافاصله بعد از پرداخت و خرید لینک دانلود پروژه سیستم مانیتورینگ منزل نمایش داده می شود، علاوه بر آن لینک مقاله مربوطه به ایمیل شما نیز ارسال می گردد

 فهرست

فصل اول : سخت افزار
میکروکنترلرهایAVR    ۱
ساختار اصلی میکروکنترلرهای  AVR..    ۳
انواع حافظه در میکروکنترلرهای AVR    ۴
تایمر و کانتر در میکروکنترلرهایAVR    ۴
مدهای Sleep در میکروکنترلرهای  AVR.    ۵
تایمر Watchdog در میکروکنترلرهای AVR .    ۵
وقفه های خارجی در میکروکنترلرهای AVR ..    ۶
مقایسه کننده آنالوگ در میکروکنترلرهای  AVR..    ۶
مبدل آنالوگ به دیجیتال در میکروکنترلرهای  AVR..    ۷
ارتباط سریال USART در میکروکنترلرهای  AVR.    ۸
پروگرام میکروکنترلر..    ۹
میکروکنترلر ATmaga32 ..    ۱۰
فیوز بیتهای ATmega32     ۱۳
توضیح پایه های ATmaga32 ..    ۱۵
LCD گرافیکی     ۱۷
سنسور MQ09 ..    ۲۰
سنسور دما .    ۲۴
دیود یکسو کننده    ۲۶
رگولاتور ۷۸۰۵٫    ۲۹
فصل دوم : معرفی محیط برنامه نویسی Codevision AVR
آشنایی با نرم افزار Codevision AVR    ۳۱
طریقه نصب نرم افزار Codevision AVR .    ۳۲
معرفی منوهای محیط نرم افزار Codevision AVR     ۳۴
ایجاد یک پروژه جدید در نرم افزار Codevision AVR.    ۳۹
ثابت ..    ۴۱
متغیرها     ۴۱
عملگرها    ۴۲
ساختارها .    ۴۲
یونیون ها (Unions)     ۴۲
شمارش ها (Enumerations)     ۴۲
دستور Typedef     ۴۳
اشاره گرها (Pointers)    ۴۳
دسترسی به رجیسترهای I/O     ۴۳
دسترسی به EEPROM     ۴۳
رهنمودهای پیش پردازنده.    ۴۳
استفاده از وقفه ها ..    ۴۴
اضافه کردن کدهای اسمبلی به برنامه ..    ۴۴
توابع کتابخانه ای.    ۴۴
فصل سوم : پروژه
شماتیک پروژه .    ۴۵
برنامه پروژه ..    ۴۶
PCB طراحی شده توسط نرم افزار پروتل .    ۵۲
پیوست
دیتا شیت میکروکنترلر ATmega32     ۵۳
دیتا شیت سنسور دماLM35  ..    ۵۶
دیتا شیت سنسور گازMQ09  .    ۵۸
منابع و ماخذ     ۶۰

منابع و ماخذ

ü     میکرو کنترلرهای AVR و کاربرد های آنها / مهندس امیر ره افروز

ü     میکرو کنترلرهای AVR / مهندس علی کاهه

ü     کلیه سایت های اینترنتی مربوط به موضوعات پروژه

ü     کلیه وبلاگ های اینترنتی مربوط به موضوعات پروژه

ü     دیتا شیت های مربوط به موضوعات پروژه

میکروکنترلرهایAVR

 AVR ها، میکروکنترلرهای ۸ بیتی از نوع CMOS با توان مصرفی پایین هستند که بر اساس ساختار پیشرفته ی RISC ساخته شده اند. پس از ساخت اولین نسخه های AVR در سال ۱۹۹۶ این سری از میکروکنترلرها توانست نظر علاقمندان به الکترونیک را به خود جلب کند، به طوری که امروزه یکی از پر مصرف ترین انواع میکروکنترلرها به حساب می آید. همان طور که می دانید نمی توان هیچ نوع میکروکنترلری را به عنوان بهترین معرفی کرد چرا که هر میکروکنترلر کاربردهای خاص خود را دارد و بر اساس خصوصیات داخلی اش می توان تنها برای موارد ویژه ای به عنوان بهترین انتخاب گردد ولی با این حال با آشنایی با امکانات و نرم افزار جانبی AVR، متوجه خواهید شد که در کل استفاده از AVR بر بقیه ارجعیت دارد.

AVR ها با ساختار RISC، دستورات را تنها در یک پالس ساعت اجرا می نماید و به این ترتیب   می توان تا به ازای هر یک مگاهرتز، یک مگا دستور در ثانیه اجرا کرده و برنامه را از لحاظ سرعت پردازش و نیز مصرف توان بهینه نموده.

AVR ها، ۳۲ رجیستر همه منظوره و مجموعه دستورات قدرتمندی را شامل می گردند. تمامی این ۳۲ رجیستر مستقیماً به ALU متصل شده اند. بنابراین دسترسی به دو رجیستر در یک سیکل ساعت هم امکان پذیر است. این ساختار موجب می گردد تا سرعت آن نسبت به میکروکنترلرهای CISC تا ده برابر هم افزایش می یابد.

میکروکنترلرهای AVR به سه دسته تقسیم می شوند :

AVR Tiny

AVR Classic

Mega   AVR

تفاوت بین این سه نوع به امکانات موجود در آن مربوط می شود. TinyAVR  ها غالباً تراشه هایی با تعداد پایه و مجموعه دستورات کمتری نسبت به  Mega AVRها می باشد و به عبارتی از لحاظ پیچیدگی حداقل امکانات را دارند.

 Mega AVRها حداکثر امکانات را دارند و ClassicAVR  ها جایی بین این دو نوع قرار می گیرند .

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

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

اولین قسمت اسم (AT90S، ATMega،ATiny) بیانگر نوع میکروکنترلر است بعد از این قسمت یک عدد باقی می ماند. در صورتی که از سمت چپ عدد باقی مانده بزرگترین توان دو را انتخاب کنیم (مثال : )دراین صورت عدد انتخاب شده میزان حافظه Flash در آن میکروکنترلر را بیان می کند. البته این قاعده یک استثنا هم دارد و آن میکروکنترلر ۱۰۳ATMega  می باشد که ۱۲۸ کیلو بایت حافظه فلش دارد.

علاوه بر این ممکن است در انتهای اسم میکروکنترلر پسوندی هم وجود داشته باشد.

(مثلاً : ATiny28V, ATiny28L )، تفاوت تراشه ای که تنها پسوند اسامی آنها با هم اختلاف دارند در میزان قابل قبول برای ولتاژ تغذیه و محدوده مجاز فرکانسی کریستال مورد استفاده می باشد. پسوندهای L , V را می توان به ترتیب مخفف عبارتهای  Low Power، Very Low Powerدانست.

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

ساختار اصلی میکروکنترلرهای  AVR

CPU : وظیفه اصلی CPU اطمینان از اجرای صحیح برنامه می باشد. بنابراین CPU باید بتواند به حافظه ها دسترسی داشته باشد، محاسبه را انجام دهد، وسایل جانبی را کنترل کند و وقفه ها را هم به طور صحیحی رهبری نماید.

 ALU : ALU در AVR به صورت مستقیم با تمام ۳۲ رجیستر همه منظوره ارتباط دارد. عملیاتهای ریاضی در این قسمت در یک سیکل کلاک اجرا می شوند. عملیاتهای ALU به سه قسمت اصلی اعمال ریاضی، منطقی، بیتی تقسیم می گردند. علاوه بر این در بعضی از انواع پیشرفته AVR، ALU به یک ضرب کننده با قابلیت ضرب اعداد بدون علامت، علامت دار و نیز اعداد اعشاری مجهز شده است.

 رجیستر وضعیت : این رجیستر اطلاعاتی را در مورد نتایج آخرین دستور محاسباتی اجرا شده را در بر دارد. به کمک این اطلاعات، با اجرای دستورات شرطی، می توان نحوه اجرای برنامه را تغییر داد. این رجیستر دارای هشت بیت است.

 رجیسترهای همه منظوره : این رجیسترها برای اجرای بهینه مجموعه دستورات AVR طراحی شده اند و هر یک از رجیسترهای همه منظوره به یک آدرس در فضای حافظه داده ها نیز تعلق دارند. در حقیقت این رجیستر در ۳۲ محل اول حافظه داده ها (در SRAM) قرار دارند. این ساختار حافظه، انعطاف پذیری زیادی را در دسترسی به این رجیسترها ایجاد می کند.

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

این اشاره گر در AVR به صورت دو رجیستر ۸ بیتی در فضای I/O  قرار دارد.

انواع حافظه در میکروکنترلرهای AVR

حافظه Flash : این حافظه محل قرار گیری کدهای برنامه است و به طور کلی به دو قسمت Application و Boot تقسیم می شود.

قسمت Application برای برنامه ریزی تراشه و قسمت Boot برنامه ریزی AVR توسط خود آن بدون نیاز به پروگرامر فراهم می آورد.

 حافظه SRAM : این حافظه به سه قسمت تقسیم می شود :

در ابتدای حافظه ۳۲ رجیستر همه منظوره قرار دارند، در ادامه هم رجیسترهای I/O قرار دارند که امکان کنترل و کار با امکانات جانبی تراشه را فراهم می کنند. بعد از این دو قسمت نیز حافظه داده داخلی قرار دارد.

 حافظه EEPROM : این حافظه قابلیتهای ویژه ای را برای میکروکنترلرهافراهم می کند. میکروکنترلر می تواند اطلاعاتی را بر روی این حافظه بنویسد. این اطلاعات با قطع برق یا قطع ولتاژ تغذیه میکرو از بین نمی روند و لذا می توانند با راه اندازی مجدد میکرو مورد استفاده قرار گیرند.

 تایمر و کانتر در میکروکنترلرهای AVR

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

تایمر / کانتر هشت بیتی صفر می تواند کلاک خود را از کلاک سیستم و یا تقسیمی از آن بگیرد که در این صورت به آن تایمر گفته می شود. علاوه بر این در صورتی که کلاک خود را به صورت خارجی از پایه T0 بگیرد به آن کانتر یا شمارنده گفته می شود. چگونگی این قابلیت توسط بیت های CSO2:0 واقع دررجیستر TCCR0 کنترل می گردد.

محتوای تایمر / کانتر در رجیستر هشت بیتیTCNT0 قرار دارد و کنترل نحوه عملکرد آن نیز به کمک رجیستر TCCR0 انجام می گیرد. رجیستر مقایسه خروجی (OCR0) نیز در هر لحظه با محتوی TCNT0 مقایسه می شود و بسته به مد عملیاتی تایمر برای انجام عملی خاص مورد استفاده قرار می گیرد. درخواستهای وقفه تایمر در رجیستر TIFR قابل مشاهده هستند و می توان هر یک از آنها را به صورت جداگانه توسط رجیستر TIMSK فعال یا غیر فعال نمود.

مدهای Sleep در میکروکنترلرهای  AVR

مدهایSleep امکان خاموش کردن بخش­های بدون­ استفاده میکروکنترلر را فراهم مینماید و به این طریق در مصرف توان صرفه جویی می کنند.

 AVR با ایجاد مدهای Sleep متنوع، امکان ذخیره سازی توان را بر حسب نیاز کاربر فراهم می کند.

برای ورود به هر یک از شش مد Sleep، باید بیت SE واقع در رجیستر MCUCR یک گردد، سپس به کمک بیتهایSM0 و SM1و SM2 در رجیستر MCUCR می توان مد Sleep مورد نظر را فعال نمود.

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

تایمر Watchdog در میکروکنترلرهای  AVR

منبع کلاک تایمر Watchdog از یک اسیلاتور داخلی جداگانه که با فرکانس ۱MHz کار می کند، تامین می شود.

البته این فرکانس مربوط به Vcc = 5V است و بسته به مقدار Vcc تغییر می کند. با کنترل تقسیم کننده فرکانس (prescaler) در تایمر Watchdog، فواصل انجام Reset توسط Watchdog تنظیم می شود. تایمر Watchdog حتی اگر غیر فعال باشد، با Reset شدن تراشه، Reset خواهد شد. برای تعیین پریود Reset، هشت پریود مختلف قابل انتخاب هستند.

وقفه های خارجی در میکروکنترلرهای  AVR

وقفه های خارجی توسط پایه های INT2 , INT1 , INT0 تریگر می شوند. حتی زمانی که این بیتها به صورت خروجی تنظیم گردند، باز هم وقفه ها تریگر می شوند، به این طریق می توان به صورت نرم افزاری وقفه تولید کرد.

وقفه های خارجی می توانند با یک لبه بالا رونده، پایین رونده و یا یک سطح منطقی صفر تریگر شوند (INT2 تنها با یک لبه تریگر می شود).

این مشخصات در دو رجیستر MCUCSR , MCUCR تعیین می گردند. زمانی که وقفه خارجی به صورت حساس به سطح (برایINT1 , INT0 ) فعال شود، وقفه تا زمانی که پایه مربوط در حالت صفر منطقی باشد، تریگر می کند. وقفه های حساس به سطح پایین در INT1 , INT0 و وقفه حساس به لبه در INT2 به صورت آسنکرون تشخیص داده می شوند، در این صورت می توان از این وقفه ها برای خارج شدن از مدهای Sleep، غیر از مد Idle استفاده کرد، چرا که در تمامی مدهای Sleep به غیر از مد Idle، کلاک I/O متوقف می شود.

مقایسه کننده آنالوگ در میکروکنترلرهای  AVR

مقایسه کننده های آنالوگ، ولتاژهای ورودی به پایه مثبت (AIN0) و پایه منفی (AIN1) را با هم مقایسه می کند. زمانی که ولتاژ پایه مثبت (AIN0) از ولتاژ پایه منفی (AIN1) بیشتر شود، خروجی مقایسه کننده ACO ، یک می شود.

از خروجی مقایسه کننده می توان برای تریگر کردن قسمت Input Capture در تایمر / کانتر یک استفاده کرد. علاوه بر این، مقایسه کننده می تواند یک وقفه را هم فعال کند.

کاربر می تواند این وقفه را بر روی لبه بالارونده، پایین رونده و یا تغیر سطح خروجی مقایسه کننده، تنظیم کند.

 مبدل آنالوگ به دیجیتال در میکروکنترلرهای  AVR

خصوصیات مبدل آنالوگ به دیجیتال در میکروکنترلرهای  AVRبه صورت زیر می باشد :

دقت ۱۰بیت

زمان تبدیل sµ۶۵ تا sµ۱۲۵

۸ کانال ورودی تک پایه مولتی پلکس شده

۷ کانال ورودی دیفرانسیلی

۲ کانال ورودی دیفرانسیلی با بهره قابل انتخاب ۱۰x و ۲۰۰x

محدوده ولتاژ ورودی ADC از ۰ تا Vcc

ولتاژ مرجع ۲/۵۶ قابل انتخاب برای ADC

امکان تریگر شدن خودکار شروع تبدیل ADC، با منابع وقفه مختلف

ایجاد وقفه در پایان تبدیل ADC

مد Sleep  برای کاهش نویز ADC

 میکروکنترلرهای  AVR از ADC نوع تقریبهای متوالی استفاده می کند.

ADC دارای یک مدار Sample & Hold است که باعث می شود تا ولتاژ ورودی ADC در زمان تبدیل در سطح ثابتی نگه داشته شود.

ADC یک پایه تغذیه مجزا دارد (AVCC)، پایه AVCC نباید بیشتر ازv 3/0  Vcc اختلاف داشته باشد. ولتاژ مرجع می تواند به صورت داخلی با مقدار ۲/۵۶ ولت و یا ولتاژ پایه AVCC و یا به صورت خارجی و متصل به پایه AREF، همراه با یک خازن برای کاهش نویز انتخاب گردد.

 ADC، با نوشتن یک در بیت ADEN واقع در رجیستر ADCSRA فعال می شود. زمانی که ADEN صفر شود، بخش ADC توانی را مصرف نمی کند.

ارتباط سریال USART در میکروکنترلرهای  AVR

65,000 ریال – خرید
 

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

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

 

 

مطالب پیشنهادی:
  • پروژه سیستم برودت بدون گاز
  • مقاله تبدیل کنتور الکترومغناطیسی به کنتور دیجیتالی اعتباری
  • برچسب ها : , , , , , , , , ,
    برای ثبت نظر خود کلیک کنید ...

    براي قرار دادن بنر خود در اين مکان کليک کنيد
    به راهنمایی نیاز دارید؟ کلیک کنید
    

    جستجو پیشرفته مقالات و پروژه

    سبد خرید

    • سبد خریدتان خالی است.

    دسته ها

    آخرین بروز رسانی

      دوشنبه, ۱۵ آذر , ۱۳۹۵
    
    اولین پایگاه اینترنتی اشتراک و فروش فایلهای دیجیتال ایران
    wpdesign Group طراحی و پشتیبانی سایت توسط دیجیتال ایران digitaliran.ir صورت گرفته است
    تمامی حقوق برایdjkalaa.irمحفوظ می باشد.