ساخت ساعت آنالوگ
در این بخش دانلود پروژه ساعت آنالوگ و تقویم با LCD گرافیکی KS0108, توسط تیم الکترونیک و برنامه نویسی الکترونیک ۹۸ برای شما علاقه مندان به پروژه های میکروکنترلر AVR آماده شده است. در این پروژه قصد داریم تا با استفاده از یک ال سی دی LCD گرافیکی توسط میکروکنترلر ATmega32 و تراشه شناخته شده و پرکاربرد (آی سی ساعت DS1307) یک ساعت آنالوگ زیبا به همراه تقویم دیجیتال (Digital Calender) طراحی کنیم. لازم به ذکر است در این پروژه برنامه میکروکنترلر به زبان بیسیک BASIC و در محیط نرم افزار BASCOM-AVR نوشته شده است.
آی سی ساعت DS1307
تراشه DS1307 یک آی سی IC ساعت با زمان واقعی (RTC) می باشد که به دلیل دارا بودن توابعی آماده برای راه اندازی در کامپایلرهای شناخته شده و پشتیبانی از پروتکل ارتباطی I2C که در میکروکنترلرهای خانواده AVR نیز پشتیبانی می شود, یک گزینه مناسب برای استفاده در این پروژه می باشد. در ادامه به تشریح عملکرد و ویژگی های آی سی ساعت DS1307 به صورت کامل می پردازیم.
ساعت زمان واقعی سریال DS1307, یک ساعت / تقویم BCD کم مصرف با 56 بایت حافظه NV RAM است. آدرس و داده از طریق ارتباط I2C منتقل می شوند. این تراشه ساعت / تقویم, اطلاعات ثانیه, دقیقه, ساعت, روز, ماه و سال را فراهم می کند. آی سی ساعت DS1307 به طور خودکار برای ماه های کمتر از 31 روز و سال های کبیسه تنظیم شده است. ساعت می تواند به هر دو صورت 12 و 24 ساعته با علامت قبل / بعد از ظهر به کار گرفته می شود. این تراشه دارای مدار داخلی تشخیص نقص تغذیه نیز می باشد و در صورت بروز قطع تغذیه, باطری پشتیبان را به طور خودکار در مدار قرار می دهد.
نقشه شماتیک پروژه
لیست قطعات مورد نیاز
مقاومت 10 کیلو اهم با توان 0.25 وات و تلرانس 1 درصد | 4 عدد |
مقاومت 330 اهم با توان 0.25 وات و تلرانس 1 درصد | 2 عدد |
مقاومت 4.7 کیلو اهم با توان 0.25 وات و تلرانس 1 درصد | 2 عدد |
پتانسیومتر خوابیده 10K کیلو اهم تکدور مدل DIP | 1 عدد |
دیود 1N4007 | 2 عدد |
خازن عدسی 100nF نانوفاراد | 2 عدد |
خازن الکترولیتی 100uf میکروفاراد 16 ولت | 1 عدد |
خازن الکترولیتی 470uf میکروفاراد 16 ولت | 1 عدد |
رگولاتور ولتاژ 5 ولت L7805 | 1 عدد |
میکروکنترلر ATMEGA32A مدل DIP تایوانی با 40 پایه | 1 عدد |
آی سی شمارش و نگهداری ساعت و تقویم DS1307 مدل DIP | 1 عدد |
سوکت آی سی 40 پایه مدل معمولی | 1 عدد |
سوکت آی سی 8 پایه مدل معمولی | 1 عدد |
ترمینال پیچی 2 پین مدل KF300 رنگ آبی | 1 عدد |
تک سوئیچ 4 پایه DIP سایز 6x6x5 میلیمتر | 4 عدد |
LCD گرافیکی سایز 128x64 با بک لایت آبی و درایور KS108 | 1 عدد |
کریستال 3.2768MHz مگاهرتز | 1 عدد |
باتری 3ولتی مدل سکه ای CR2032 | 1 عدد |
پین هدر نری صاف 1x40 با ارتفاع 11 میلیمتر - مشکی | 1 عدد |
پین هدر مادگی صاف 1x40 با فاصله پایه 2.54 میلیمتر - مشکی | 1 عدد |
آداپتور 12V ولت 2A آمپر مدل بین راهی ساخت ایران | 1 عدد |
ویژگی های برجسته آی سی ساعت DS1307
:: توانایی شمارش ثانیه, دقیقه, ساعت, روز, ماه, سال, سال کبیسه تا سال 2100 میلادی
:: مصرف کمتر از 500nA در حالت استفاده از باتری پشتیبان
:: محدوده دمای صنعتی 40- تا 85+ درجه سانتی گراد
:: آشکار ساز خودکار نقص تغذیه و مدار کلید زنی باتری
:: 56 بایت حافظه NV RAM برای ذخیره اطلاعات
:: بسته بندی های 8 پایه PDIP و SOIC
:: سیگنال خروجی مربعی برنامه پذیر
:: ارتباط I2C
نقشه جاگذاری قطعات بر روی برد PCB
لیست ابزار آلات و تجهیزات مورد نیاز
هویه | 1 عدد |
سیم لحیم | 1 عدد |
کف چین | 1 عدد |
قلع کش | 1 عدد |
شرح عملکرد آی سی ساعت DS1307
آی سی ساعت DS1307 به عنوان برده (Slave) در باس قرار می گیرد و دسترسی به آن با پیاده سازی شرایط آغاز و فراهم کردن کد شناسایی وسیله ممکن می شود. رجیسترهای بعدی تا رخ دادن شرایط پایان, به ترتیب در دسترس قرار قرار می گیرند. تراشه هنگامی که ولتاژ تغذیه از 1.25V برابر ولتاژ باتری کمتر شود, وظیفه در حال اجرا را به پایان می رساند و شمارنده آدرس قطعه را ریست می کند. در این حالت, سیگنال های ورودی به تراشه شناسایی نمی شوند.
تراشه به طور خودکار, هنگامی که ولتاژ تغذیه به کمتر از ولتاژ باتری افت کند, باتری پشتیبان را وارد مدار می کند. در شرایط Power Up با رسیدن ولتاژ تغذیه به VBAT + 0.2V تراشه از باتری به مدار تغذیه کلیدزنی می کند و آنگاه که ولتاژ از 1.25 برابر ولتاژ باتری بالاتر رفت, سیگنال های ورودی تشخیص داده می شوند. در تصویر زیر ترتیب پایه های این تراشه نشان داده شده است.
ویدئو ضبط شده از نحوه راه اندازی و عملکرد مدار ساخته شده
دانلود مستندات پروژه
توجه: به دلیل توقف فعالیت سایت امکان دریافت پروژه وجود ندارد.
سلام مهندس اکبری
من برنامه روی atmega 128 اجرا کردم jtag رو غیر فعال کردم اما برنامه ساعت اجرا میشه کلید ها کار نمیکنن
الف*سویچ ها همه pull_down شدن با مثاومت ۱۰ کیلو
ب*بنابراین بدلیل pull_up شدن سوییچ مدار شما من داخل برنامه همه تنظیمات سویچ رو از 0 به 1 و برعکس تبدیل کردم( sw ها و key)
پ*ضمنا پایه های سوییچ به پورت c میکرو متصل شدن
ج*ضمنا من از پایه int استفاده نکردم و اونو ازا گذاشتم اما تنظیمات int0 مربوط به پایه sout چیپ ساعت در برنامه رو پیدا نکردم
و احتمال دادم که شاید بخاطر استفاده نکردن از پایه int باشه و دستور گیری از این پایه
متاسفانه الان صفحه ساعت نمایش داده میشه اما تنظیمات بالا نمیاد
برنامه به دلیل فارسی بودن بسیار عالیه اما متاسفانه صفحه مربوط به تنظیمات اون منو سردرگم کرد
در واقع الان میکرو با یک شدن پایه های پورت c دستور میگیرن و با تغیر کدها نتونستم کاری رو پیش ببرم
ممنون میشم راهنمایی کنید با سپاس فراوان از سایت بسیار عالی و پر بارتوم
با سلام و احترام
در صورتیکه ساعت بر روی نمایشگر به صورت ثابت نشان داده می شود و هیچگونه عملیاتی انجام نمی شود، این موضوع مربوط به اتصالات آی سی ساعت با میکروکنترلر است. لطفا توجه داشته باشید در صورتیکه مدار مربوط به آی سی ساعت به درستی به میکروکنترلر متصل نشود و یا مدار آن مطابق نقشه شماتیک بسته نشود و یا اینکه تراشه ساعت شما معیوب باشد این اتفاق می افتد. همچنین توجه داشته باشید اتصال پایه INT0 در میکروکنترلر با تراشه ساعت بسیار مهم است چراکه با هر بار تحریک این پایه توسط تراشه DS1307 عملیات بروزرسانی ساعت بر روی نمایشگر انجام می گردد.
سپاسگذارم مشکلم حل شد