پروژه پروژه سیستم مانیتورینگ منزل تحت pdf دارای 67 صفحه می باشد و دارای تنظیمات و فهرست کامل در microsoft word می باشد و آماده پرینت یا چاپ است
فایل ورد پروژه پروژه سیستم مانیتورینگ منزل تحت pdf کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه و مراکز دولتی می باشد.
این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است
توجه : توضیحات زیر بخشی از متن اصلی می باشد که بدون قالب و فرمت بندی کپی شده است
بخشی از فهرست مطالب پروژه پروژه پروژه سیستم مانیتورینگ منزل تحت pdf
فصل اول : سخت افزار
میکروکنترلرهایAVR
ساختار اصلی میکروکنترلرهای AVR..
انواع حافظه در میکروکنترلرهای AVR
تایمر و کانتر در میکروکنترلرهایAVR
مدهای Sleep در میکروکنترلرهای AVR.
تایمر Watchdog در میکروکنترلرهای AVR .
وقفه های خارجی در میکروکنترلرهای AVR ..
مقایسه کننده آنالوگ در میکروکنترلرهای AVR..
مبدل آنالوگ به دیجیتال در میکروکنترلرهای AVR..
ارتباط سریال USART در میکروکنترلرهای AVR.
پروگرام میکروکنترلر..
میکروکنترلر ATmaga32 ..
فیوز بیتهای ATmega32
توضیح پایه های ATmaga32 ..
LCD گرافیکی
سنسور MQ09 ..
سنسور دما .
دیود یکسو کننده
رگولاتور 7805
فصل دوم : معرفی محیط برنامه نویسی Codevision AVR
آشنایی با نرم افزار Codevision AVR
طریقه نصب نرم افزار Codevision AVR .
معرفی منوهای محیط نرم افزار Codevision AVR
ایجاد یک پروژه جدید در نرم افزار Codevision AVR.
ثابت ..
متغیرها
عملگرها
ساختارها .
یونیون ها (Unions)
شمارش ها (Enumerations)
دستور Typedef
اشاره گرها (Pointers)
دسترسی به رجیسترهای I/O
دسترسی به EEPROM
رهنمودهای پیش پردازنده.
استفاده از وقفه ها ..
اضافه کردن کدهای اسمبلی به برنامه ..
توابع کتابخانه ای.
فصل سوم : پروژه
شماتیک پروژه .
برنامه پروژه ..
PCB طراحی شده توسط نرم افزار پروتل .
پیوست
دیتا شیت میکروکنترلر ATmega32
دیتا شیت سنسور دماLM35 ..
دیتا شیت سنسور گازMQ09 .
منابع و ماخذ
بخشی از منابع و مراجع پروژه پروژه پروژه سیستم مانیتورینگ منزل تحت pdf
ü میکرو کنترلرهای AVR و کاربرد های آنها / مهندس امیر ره افروز
ü میکرو کنترلرهای AVR / مهندس علی کاهه
ü کلیه سایت های اینترنتی مربوط به موضوعات پروژه
ü کلیه وبلاگ های اینترنتی مربوط به موضوعات پروژه
ü دیتا شیت های مربوط به موضوعات پروژه
میکروکنترلرهایAVR
AVR ها، میکروکنترلرهای 8 بیتی از نوع CMOS با توان مصرفی پایین هستند که بر اساس ساختار پیشرفته ی RISC ساخته شده اند. پس از ساخت اولین نسخه های AVR در سال 1996 این سری از میکروکنترلرها توانست نظر علاقمندان به الکترونیک را به خود جلب کند، به طوری که امروزه یکی از پر مصرف ترین انواع میکروکنترلرها به حساب می آید. همان طور که می دانید نمی توان هیچ نوع میکروکنترلری را به عنوان بهترین معرفی کرد چرا که هر میکروکنترلر کاربردهای خاص خود را دارد و بر اساس خصوصیات داخلی اش می توان تنها برای موارد ویژه ای به عنوان بهترین انتخاب گردد ولی با این حال با آشنایی با امکانات و نرم افزار جانبی AVR، متوجه خواهید شد که در کل استفاده از AVR بر بقیه ارجعیت دارد
AVR ها با ساختار RISC، دستورات را تنها در یک پالس ساعت اجرا می نماید و به این ترتیب می توان تا به ازای هر یک مگاهرتز، یک مگا دستور در ثانیه اجرا کرده و برنامه را از لحاظ سرعت پردازش و نیز مصرف توان بهینه نموده
AVR ها، 32 رجیستر همه منظوره و مجموعه دستورات قدرتمندی را شامل می گردند. تمامی این 32 رجیستر مستقیماً به ALU متصل شده اند. بنابراین دسترسی به دو رجیستر در یک سیکل ساعت هم امکان پذیر است. این ساختار موجب می گردد تا سرعت آن نسبت به میکروکنترلرهای CISC تا ده برابر هم افزایش می یابد
میکروکنترلرهای AVR به سه دسته تقسیم می شوند
AVR Tiny
AVR Classic
Mega AVR
تفاوت بین این سه نوع به امکانات موجود در آن مربوط می شود. TinyAVR ها غالباً تراشه هایی با تعداد پایه و مجموعه دستورات کمتری نسبت به Mega AVRها می باشد و به عبارتی از لحاظ پیچیدگی حداقل امکانات را دارند
Mega AVRها حداکثر امکانات را دارند و ClassicAVR ها جایی بین این دو نوع قرار می گیرند
البته از آنجایی که بین این سه دسته ذکر شده ClassicAVR ها، قبل از دو گروه دیگر تولید شده اند، امروزه در طراحی های جدید کمتر از آنها استفاده می شود و عملاً هر یک از آنها با تراشه ای از گروه MegaAVR یا TinyAVR جایگزین شده اند
با مشاهده اسم میکروکنترلرها می توان این برداشتها را از اسم آن نمود
اولین قسمت اسم (AT90S، ATMega،ATiny) بیانگر نوع میکروکنترلر است بعد از این قسمت یک عدد باقی می ماند. در صورتی که از سمت چپ عدد باقی مانده بزرگترین توان دو را انتخاب کنیم (مثال : )دراین صورت عدد انتخاب شده میزان حافظه Flash در آن میکروکنترلر را بیان می کند. البته این قاعده یک استثنا هم دارد و آن میکروکنترلر 103ATMega می باشد که 128 کیلو بایت حافظه فلش دارد
علاوه بر این ممکن است در انتهای اسم میکروکنترلر پسوندی هم وجود داشته باشد
(مثلاً : ATiny28V, ATiny28L )، تفاوت تراشه ای که تنها پسوند اسامی آنها با هم اختلاف دارند در میزان قابل قبول برای ولتاژ تغذیه و محدوده مجاز فرکانسی کریستال مورد استفاده می باشد. پسوندهای L , V را می توان به ترتیب مخفف عبارتهای Low Power، Very Low Powerدانست
یکی از ویژگی های جالب میکروکنترلرهای AVR در مقایسه دیگر میکروکنترلرها، فیوز بیت ها هستند. فیوزبیت ها همانطور که از اسمشان پیداست فیوزهایی هستند که در زمان برنامه ریزی تراشه، قابل برنامه ریزی هستند و هر یک می تواند یکی از امکانات جانبی میکروکنترلر را فعال یا غیر فعال کند و یا نحوه استفاده از آن را مشخص نماید، ضمناً فیوزبیت ها با پاک کردن میکروکنترلر پاک نمی شود وحتی می توان آنها را قفل نمود
ساختار اصلی میکروکنترلرهای AVR
CPU : وظیفه اصلی CPU اطمینان از اجرای صحیح برنامه می باشد. بنابراین CPU باید بتواند به حافظه ها دسترسی داشته باشد، محاسبه را انجام دهد، وسایل جانبی را کنترل کند و وقفه ها را هم به طور صحیحی رهبری نماید
ALU : ALU در AVR به صورت مستقیم با تمام 32 رجیستر همه منظوره ارتباط دارد. عملیاتهای ریاضی در این قسمت در یک سیکل کلاک اجرا می شوند. عملیاتهای ALU به سه قسمت اصلی اعمال ریاضی، منطقی، بیتی تقسیم می گردند. علاوه بر این در بعضی از انواع پیشرفته AVR، ALU به یک ضرب کننده با قابلیت ضرب اعداد بدون علامت، علامت دار و نیز اعداد اعشاری مجهز شده است
رجیستر وضعیت : این رجیستر اطلاعاتی را در مورد نتایج آخرین دستور محاسباتی اجرا شده را در بر دارد. به کمک این اطلاعات، با اجرای دستورات شرطی، می توان نحوه اجرای برنامه را تغییر داد. این رجیستر دارای هشت بیت است
رجیسترهای همه منظوره : این رجیسترها برای اجرای بهینه مجموعه دستورات AVR طراحی شده اند و هر یک از رجیسترهای همه منظوره به یک آدرس در فضای حافظه داده ها نیز تعلق دارند. در حقیقت این رجیستر در 32 محل اول حافظه داده ها (در SRAM) قرار دارند. این ساختار حافظه، انعطاف پذیری زیادی را در دسترسی به این رجیسترها ایجاد می کند
اشاره گر پشته : اصولاً از پشته برای ذخیره سازی موقت داده، متغیرهای محلی و آدرسهای بازگشت از روتین های وقفه و توابع استفاده می شود. محتوای این اشاره گر با ذخیره هر داده کاهش می یابد و پس از بازیابی هر داده افزایش پیدا می کند
این اشاره گر در AVR به صورت دو رجیستر 8 بیتی در فضای I/O قرار دارد
انواع حافظه در میکروکنترلرهای AVR
حافظه Flash : این حافظه محل قرار گیری کدهای برنامه است و به طور کلی به دو قسمت Application و Boot تقسیم می شود
قسمت Application برای برنامه ریزی تراشه و قسمت Boot برنامه ریزی AVR توسط خود آن بدون نیاز به پروگرامر فراهم می آورد
حافظه SRAM : این حافظه به سه قسمت تقسیم می شود
در ابتدای حافظه 32 رجیستر همه منظوره قرار دارند، در ادامه هم رجیسترهای 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 از یک اسیلاتور داخلی جداگانه که با فرکانس 1MHz کار می کند، تامین می شود
البته این فرکانس مربوط به 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به صورت زیر می باشد
دقت 10بیت
زمان تبدیل sµ65 تا sµ
8 کانال ورودی تک پایه مولتی پلکس شده
7 کانال ورودی دیفرانسیلی
2 کانال ورودی دیفرانسیلی با بهره قابل انتخاب 10x و 200x
محدوده ولتاژ ورودی ADC از 0 تا Vcc
ولتاژ مرجع 2/56 قابل انتخاب برای ADC
امکان تریگر شدن خودکار شروع تبدیل ADC، با منابع وقفه مختلف
ایجاد وقفه در پایان تبدیل ADC
مد Sleep برای کاهش نویز ADC
میکروکنترلرهای AVR از ADC نوع تقریبهای متوالی استفاده می کند
ADC دارای یک مدار Sample & Hold است که باعث می شود تا ولتاژ ورودی ADC در زمان تبدیل در سطح ثابتی نگه داشته شود
ADC یک پایه تغذیه مجزا دارد (AVCC)، پایه AVCC نباید بیشتر ازv 3/0 Vcc اختلاف داشته باشد. ولتاژ مرجع می تواند به صورت داخلی با مقدار 2/56 ولت و یا ولتاژ پایه AVCC و یا به صورت خارجی و متصل به پایه AREF، همراه با یک خازن برای کاهش نویز انتخاب گردد
ADC، با نوشتن یک در بیت ADEN واقع در رجیستر ADCSRA فعال می شود. زمانی که ADEN صفر شود، بخش ADC توانی را مصرف نمی کند
ارتباط سریال USART در میکروکنترلرهای AVR
- ۹۵/۰۵/۱۶