طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
این پروژه یک مدار واسط I/O می باشد که دارای 4 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر چهار رله را به صورت مجزا فعال و غیر فعال کرد.ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.با استفاده از ماژول HM-R و HM-T ابتدا به کمک سنسور LM35 دما اندازه گیری شده و به ماژول HM-T ارسال می شود، در سمت گیرنده سیگنال توسط HM-R دریافت شده و بر اساس مقدار دما دور موتور به صورت PWM کنترل می شود. همچنین قابلیت تعریف رنج دمای کاری برای موتور نیز امکان پذیر می باشد.خروجی سه کاناله با کنترل سرعت به صورت مجزا، دو کلید افزایشی و کاهشی برای کنترل سرعت در هر کانال، فرکانس های مختلف و ثابت برای هر کانال، جریان خروجی بیش از 10 آمپر و ولتاژ بیش از 30 ولتاین پروژه یک دماسنج ساده می باشد که توانایی اندازه گیری دما از منفی 40 تا مثبت 120 درجه سانتی گراد با دقت دو رقم اعشار را دارد.
پروژه کنترل رله توسط پورت USB با AVR و C شارپ

MCP-31

پروژه کنترل رله توسط پورت USB با AVR و C شارپ
پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr

MCP-13

پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
پروژه کنترل بی سیم دور موتور برحسب دما با avr

MCP-8

پروژه کنترل بی سیم دور موتور برحسب دما با avr
پروژه کنترل دور موتور با PWM و جریان خروجی بالا با avr

MCP-19

پروژه کنترل دور موتور با PWM و جریان خروجی بالا با avr
پروژه دماسنج ساده با avr

MCP-29

پروژه دماسنج ساده با avr

ساعت دقیق با میکروکنترلر AVR به صورت غیر همزمان با کریستال خارجی RTC 32.768KHz

www.picpars.com ساعت دقیق با میکروکنترلر AVR به صورت غیر همزمان با کریستال خارجی RTC 32.768KHz 194

تایمر کانتر صفر یا دو در برخی از میکرو کنترولرها این قابلیت را دارند که به صورت غیر همزمان کار کنند یعنی پالس مورد نیاز خودشان را نه از نوسان ساز دریافت کنند بلکه از یک کریستال 32.768KHz که به پایه های TOSC1 , TOSC2 متصل شده دریافت می کنند. حال فلسفه این عدد 32.768 چی؟ با استفاده از این نوسان ساز و انتخاب N=128 می توان دقیقا هر یک ثانیه یک سریز در تایمر داشته باشم یعنی اگر تایمر با این فرکانس کار بکند از 00H شروع و به FFH برسید 1 ثانیه طول میکشد که با استفاده از این قضیه می توان یه RTC ساعت واقعی طراحی کرد.

از بخش سفارش طراحی هم اکنون درخواست خود را ثبت کنید
حل و تشریح کلیه تمرینات درس میکروکنترلر AVR
طراحی و ساخت مدارات دلخواه شما با میکروکنترلر AVR


در این پروژه ما با استفاده از تایمر 2 میکرو ATMEGA16 یک ساعت دقیق طراحی کردیم. با استفاده از Code Wizard تایمر 2 را به صورت زیر تنظیم می کنیم:

Clock Source: TOSC1 pin
Clock Value: PCK2/128
Mode: Normal to FFH
Output: Disconnect
1 Overflow Intrrupt
0 Compare Match Interrupt
Timer Value: 0h
Compare: 0h

منبع کلاک تایمر 2 را پین TOSC1 انتخاب می کنیم و به این پین کریستال کوارتز 32.768 کیلوهرتز وصل کردن و در قسمت مقدار کلاک گزینه PCK2/128 را انتخاب کرده تا فرکانس بر 128 تقسیم شود 256=128/32768 که این عدد روند معادل همان FFH می باشد که تایمر قابلیت شمارش آن را دارد. همچین باید وقفه تایمر را نیز تیک بزنید تا زیرروال آن ایجاد گردد. بعد از اجرای کدویزارد کد وقفه تایمر TIMSK=0x40; ایجاد می شود که باید آن را در تابع main قرار دهید.

توضیح برنامه:

زیرروال date_calc وظیفه آن این است که محاسبات مربوط به تاریخ  که به صورت شمسی می باشد را انجام داده و درون متغییر های مربوطه قرار دهد.

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

در تابع main هم تنظیمات و پیکره بندی مروبط به LCD و تایمر و همچنین فعال کردن وقفه سراسری می باشد. و در حلقه بی نهایت هم هر 300 میلی ثانیه LCD رفرش می شود.

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

این پروژه همراه با توضیحات آن تنها در وب سایت www.picpars.com به صورت متن باز ارئه شده و کپی برداری از آن تنها با ذکر منبع امکان پذیر می باشد.

با تشکر فراوان سید محسن قاسمیان

ورژن نرم افزار ها: CodeVisionAVR V2.04.4a  و Proteus 7.7 sp2 Professional

  منبع: www.picpars.com

  لطفا مقالات، آموزش‌ها و پروژه های خود را به آدرس ایمیل ارتباطی ایمیل نمائید تا آن را با نام خودتان در سایت منتشر کنیم.




فایل های ضمیمه ( ورود - عضويت )

فایل شماره 109 | نسخه 1 | حجم 45 کیلوبایت | دانلود 7904 بار

منبع www.picpars.com  نویسنده: سید محسن قاسمیان

منبع www.picpars.com  دانلود ساعت دقیق با میکروکنترلر AVR به صورت غیر همزمان با کریستال خارجی RTC 32.768KHz

منبع www.picpars.com  پسورد: www.picpars.com

به این مطلب امتیاز دهید

برچسب ها:
تاریخ ارسال دوشنبه، 11 بهمن ماه، 1389    نویسندهنویسنده: مدیریت    نظرات 20 نظر    بازدید بازدید [ 46301 ]   پرینتنسخه چاپی
فایل پی دی اف فایل پی دی اف   ارسال به دوستان ارسال به دوستان   

در ارتباط با این مطلب پروژه های آماده زیر جهت خرید موجود است
پروژه دربازکن الکترونیکی خانه قفل رمز با avr
کد پروژه: MCP-5
عنوان: پروژه دربازکن الکترونیکی خانه قفل رمز با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
این پروژه در اصل یک قفل امنیتی است که می توان جلوی درب اصلی منزل (در کنار آیفون) آن را نصب کرد. از امکانات آن می توان به موارد زیر اشاره نمود: نمایش دما از 125 تا 55- درجه سانتیگراد، نمایش ساعت دقیق، نمایش تاریخ شمسی همراه با روز هفته به صورت فارسی، نمایش تعداد فرصت های باقیمانده برای وارد کردن رمز صحیح، و قفل شدن سیستم به مدت 15 دقیقه در صورتی که 4 بار رمز اشتباه وارد شود. امکان تغییر رمز و تنظیم کردن ساعت و تاریج و ...
پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr
کد پروژه: MCP-7
عنوان: پروژه آلارم صبحگاهی و یادآور با LCD گرافیکی و avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
این پروژه در اصل یک ساعت زنگ دار می باشد که قابلیت برنامه ریزی آلارم صبحگاهی و تنظیم 5 برنامه یادآور را دارد. با تنظیم آلارم هر روز راس ساعت تنظیمی آلارم پخش می شود، همچنین با تنظیم یادآور ها در ساعت و تاریخ مشخص نیز آلارم پخش می شود. از امکانات آن می توان برای هر یادآور یک نام تعیین کرد (20 کاراکتر اسکی) با قابلیت تایپ حروف کوچک و بزرگ انگلیسی با کیبورد 3×4 و ...
پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
کد پروژه: MCP-13
عنوان: پروژه ساعت دیواری دیجیتال به همراه تاریخ شمسی و دما با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
ساعت دیواری دیجتال با قابلیت نمایش ساعت و دقیقه، دمای اتاق، تاریخ شمسی، روز هفته، زدن تک بوق وقتی که زمان یک ساعت جلو می رود، تنظیم ساعت و دما تنها با 2 کلید. ابعاد ساعت 33*27 سانتی متر می باشد.
پروژه کنترل بی سیم دور موتور برحسب دما با avr
کد پروژه: MCP-8
عنوان: پروژه کنترل بی سیم دور موتور برحسب دما با avr
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
با استفاده از ماژول HM-R و HM-T ابتدا به کمک سنسور LM35 دما اندازه گیری شده و به ماژول HM-T ارسال می شود، در سمت گیرنده سیگنال توسط HM-R دریافت شده و بر اساس مقدار دما دور موتور به صورت PWM کنترل می شود. همچنین قابلیت تعریف رنج دمای کاری برای موتور نیز امکان پذیر می باشد.
پروژه مدار دستگاه فتوتراپی (پایین آورنده زردی خون نوزادان)
کد پروژه: MCP-24
عنوان: پروژه مدار دستگاه فتوتراپی (پایین آورنده زردی خون نوزادان)
میکروکنترلر: AVR ==> زبان سی C (کدویژن)
قیمت: به جزئیات پروژه مراجعه نمایید
جزئیات سفارش خرید
این مدار یک کنترلر زمانی و دمایی می باشد، که بر اساس برنامه ریزی دلخواه توسط کاربر یک رله خروجی را کنترل می نمایید. با اتصال لامپ فلورسنت مرغوب به رله دستگاه می توانید لامپ را تحت کنترل داشته باشید.

مرتبط باموضوع :          مطالب بیشتر در این موضوع

 پروژه اسیلوسکوپ دیجیتال با AVR و نمایش روی LCD گرافیکی  [ چهارشنبه، 23 فروردين ماه، 1391 ] 41027 مشاهده
 برنامه نویسی پروتکل RC5 به زبان C با میکروکنترلر AVR (کدویژن)  [ پنجشنبه، 13 مرداد ماه، 1390 ] 26058 مشاهده
 پروژه کنترل از راه دور 5 کاناله مادون قرمز به زبان سی  [ شنبه، 9 ارديبهشت ماه، 1391 ] 22670 مشاهده
 ساعت دقیق با وقفه تایمر یک به زبان سی CodeVision  [ شنبه، 16 ارديبهشت ماه، 1391 ] 36518 مشاهده
 دانلود پروژه کامل چراغ راهنمایی (trafic _ light) تحت کدویژن  [ چهارشنبه، 3 شهريور ماه، 1389 ] 78017 مشاهده
نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : دوشنبه، 24 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

سلام 

 

آیا میشه به جای استفاده از ds1307 از این روش استفاده کرد ؟ 

آیا میشه از باتری پشتیبان برای این روش استفاده کرد که زمان ریست نشه ؟ 

مقدار خطای این روش در 24 ساعت چقدر هست ؟

با تشکر

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:
در مورخه : دوشنبه، 24 بهمن ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)

برای استفاده از این روش شما میتونید از سری L میکروکنترلرها استفاده کنید که با ولتاژ 3 ولت هم کار میکنند و البته کم مصرف تر هم هستند در این صورت با استفاده از یک باتری 3ولتی میتونید از اطلاعات RAM محافظ کنید. با توجه به خاص بودن کریستال 32.768KHz تقریبا خطای خیلی خیلی کمی خواهد داشت حداقل در طی 24 ساعت فکر نمیکنم که خطایی ایجاد بشه چون درست زمان سریز تایمر دقیقه 1 ثانیه خواهد و شمارش هم با وقفه انجام میشه. پس فرکانس کلاک میکرو هرچی بالاتر باشه زمان اجرای دستورات کمتر میشه در نتیجه درصد خطا هم کم میشه.

ارسال جوابیه

ارسال جوابیه

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : سه شنبه، 25 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

 

با تشکر از توضیح کامل شما 

ایا میشه از این زمان در کدنویسی استفاده کرد ؟ 

مثلا در مدت 15 دقیقه یه متغیر رو مورد برسی قرار بدیم و ذخیره کنیم ؟

اگه به صورت کد توضیح بدید ممنون میشم

 
جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:
در مورخه : سه شنبه، 25 بهمن ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)

منظورتون از زمان چی؟6 من متوجه نشدم، بیشتر توضیح بدید...

ارسال جوابیه

ارسال جوابیه

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : پنجشنبه، 27 بهمن ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

مثلا من میخوام میزان توان مصرفی یه مصرف کننده رو در زمان 15 دقیقه اندازه بگیرم 

و حالا براش یه شرایطی بزارم که اگه در این 15 دقیقه مثلا از 10 وات بیشتر شد این کارو انجام بده

 

اگه میشد وقتی شما به پست من جواب میدید یه ایمیل میومد خیلی خوب بود

ارسال جوابیه

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : دوشنبه، 1 اسفند ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

بزارید یه مثال دیگه بزنم

من میخوام وقتی مصرف کننده روشن هست مدت زمان روشن بودنش رو محاسبه کنم و همچنین وقتی خاموش میشه (استندبای) مدت زمان خاموش بودنش رو محاسبه کنم و در 2 متغیر ذخیره کنم 

آیا میشه با استفاده از این روش این کارو انجام داد ؟ 

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:
در مورخه : دوشنبه، 1 اسفند ماه، 1390

شما می تونید وضعیت فعال یا غیر فعال بودن اون وسیله موردنظرتون رو به وسیله یکی از پین های میکرو مورد برسی قرار دهید. و در تابع سریز 1 ثانیه این پین رو مورد ارزشیابی قرار دهید. در صورتی که وضعیت پین یک است (فعال بودن دستگاه) یک واحد به متغییر مربوط به حالت فعال اضافه کند و در صورتی که صفر است (غیرفعال بودن دستگاه) یک واحد به متغییر مربوط به حالت غیرفعال اضافه کند.

با تشکر

ارسال جوابیه

ارسال جوابیه

نام شما: سعید
ایمیل شما: hamidinezhad@gmail.com
در مورخه : دوشنبه، 1 اسفند ماه، 1390توسط
(مشخصات کاربر saeidhp | ارسال پیغام شخصی)

خوب تا اینجا قبول 

حالا این مدت زمان رو میشه در یک روز ثبت کرد ؟

یعنی مثلا در تاریخ 20/11/90 این مصرف کننده 10 ساعت روشن بوده ؟

یا در هفته گذشته مثلا 40 ساعت روشن بوده ؟ 

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:
در مورخه : سه شنبه، 2 اسفند ماه، 1390توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)

اگر اطلاعات ثبت شما برای بیشتر از یک ماه می باشد باید از حافظه های فلش و یا ... استفاده کرد. اما در صورتی که برای حدودا یک ماه هست می تونید از حافظه EEPROM میکرو استفاده کنید به این صورت که برای هر روز یک متغیر و برای مدت زمان روشن بودن هم یک متغیر تغریف کنید. (البته به صورت آرایه ای) که اون بستگی به مدل میکرو تون داره چه اندازه حافظه داشته باشه ولی حدس میزنم برای ثبت اطلاعات یک ماه ATMEGA8‌کافی باشه. البته نیازی نیست مدت زمان خاموشی رو ثبت کنید و کافی 24 رو منهای مدت روشن بودن کنید به این صورت مدت خاموشی هم به دست خواهد آمد و در حافظه هم صرفه جویی میکنید.

ارسال جوابیه

ارسال جوابیه

نام شما: ali
ایمیل شما: abedinmansoory@yahoo.com
در مورخه : چهارشنبه، 4 مرداد ماه، 1391

من می خوام تابلو روان بسازم اگه میشه کمکم کنید

جوابیه ها

نام شما: سید محسن قاسمیان
ایمیل شما:
در مورخه : چهارشنبه، 4 مرداد ماه، 1391توسط
(مشخصات کاربر SMGH-admin | ارسال پیغام شخصی)

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

ارسال جوابیه

ارسال جوابیه

نام شما: اصغر
ایمیل شما: as13851365@yahoo.com
در مورخه : چهارشنبه، 4 مرداد ماه، 1391توسط
(مشخصات کاربر proel | ارسال پیغام شخصی)

میکرو : Mega8L
محیط : کدویژن
کریستال ساعت 
کلاک میکرو : 1،000،000

هیچ فیوزبیتی تغییر داده نشده 

توی قسمت Mode مگا 8 این گزینه Mode: Normal to FFH وجود نداره یعنی Mode : Normal top=0xFF وجود داره که وقتی این رو انتخاب می کنم تایمر خیلی سریع کار می کنه یعنی هر 10 ثانیه واقعی یک دقیقه شمارش می کنه 

کریستال 32.768KHz رو به دوپایه 9 و 10 وصل می کنم ( بدون هیچ واسطه ای )

ممنون می شم در این باره راهنماییم کنید 

ارسال جوابیه

نام شما: m.h
ایمیل شما: darab1370
در مورخه : جمعه، 13 مرداد ماه، 1391

خوب بود

ارسال جوابیه

نام شما: javad
ایمیل شما: jh.5123@yahoo.com
در مورخه : يكشنبه، 19 خرداد ماه، 1392

ممنون بسیار عالی بود.

ارسال جوابیه

نام شما: کیان
ایمیل شما: kian.setareh@yahoo.com
در مورخه : چهارشنبه، 20 آذر ماه، 1392

سلام

میخواستم ببینم  چجوری میشه به این مدار یک آمپلی فایر متصل کرد تا از آن به عنوان یک زنگ مدرسه استفاده کرد؟

 

ارسال جوابیه

نام شما: mohamad
ایمیل شما: h.khaleghdadi@gmail.com
در مورخه : سه شنبه، 16 ارديبهشت ماه، 1393

 

باسلام

بخاطر این برنامه واقعا سپاسگذارم

من این برنامه رو به عنوان پروژه درس کنترل صنعتی انتخاب کردم و استادم پذیرفته

اما استادم گفته باید تغییری در آن ایجاد کنی به این صورت که یک تاریخ مشخصی یا یه زمان رو بهش بدی که وقتی به اون تاریخ یا زمان رسید یه LED رو روشن کنه

من با زبان c اشنایی ندارم

ازتون خواهش میکنم اگه کسی میتونه کمک کنه

نصف نمره این درسم مربوط به همین پروژست

لطف بزرگی میکنید

ارسال جوابیه

نام شما: omidrezayat
ایمیل شما: omidrezayat@yahoo.com
در مورخه : يكشنبه، 30 شهريور ماه، 1393توسط
(مشخصات کاربر omidrezayat | ارسال پیغام شخصی)

با عرض سلام

من نمیتونم فایل پروژه را دانلود کنم،اگه امکانش هست لینک دانلود فایل را اصلاح کنید.ممنونشکلک

ارسال جوابیه

نام شما: وجیهه
ایمیل شما: vajiheesmailibojdani@gmail.com
در مورخه : پنجشنبه، 15 تير ماه، 1396
سلام میشه لطف کنید بگید اگه بجای mega16 بخوایم mega32 از نوع A بذاریم باید چه تغییراتی بدیم؟؟فوری هستش...اگه لطف کنین زود جواب بدین ممنون میشم.
ارسال جوابیه

 
نام شما: [ کاربر جدید ]

نام شما (ضروری): 
ایمیل شما : 
نظر:
کد امنیتی
کد امنیتی

  [ بازگشت ]