خانه / AVR / آموزش جامع راه اندازی ماژول ساعت ds3231

آموزش جامع راه اندازی ماژول ساعت ds3231

ds3231 یک آی سی ساعت  (RTC(real time clock بسیار دقیق است که با پروتکل I2C پشتیبانی می شود . اکثر شما شاید با آی سی ساعت DS1307 آشنایی داشته باشید و حتی در کنار پروژه هایی که نیاز به اندازه گیری زمان دقیق و واقعی است از  آی سی DS1307 استفاده کرده باشید .

همانطور که می دانیدبرای ایجاد زمان یک ثانیه دقیق به فرکانس کلاک Khz 32.768 نیاز می باشد . به همین منظور کریستالهایی در بازار وجود دارد تحت عنوان کریستال ساعت که فرکانس ۳۲٫۷۶۸ کیلو هرتز به کمک آن تولید می شود . شما نیز شاید تا کنون از این کریستال ها برای راه اندازی بخش RTC میکروکنترلر ها استفاده کرده باشید . تصویر زیر یک نمونه کریستال با فرکانس ۳۲٫۷۶۸ کیلو هرتز می باشد .

کریستال 32768
کریستال ۳۲۷۶۸

آی سی DS1307 برای ایجاد زمان یک ثانیه از کریستال خارجی ۳۲٫۷۶۸ Khz استفاده می کند . به دلیل نامرغوب بودن این کریستال ها همیشه فرکانس آن ها برابر ۳۲٫۷۶۸ کیلوهرتز نخواهد بود و چند هرتز با مقدار ایده آل تفاوت دارد . همین اختلاف باعث می شود تا مقدار ساعت قرائت شده از  آی سی DS1307 در مدت زمان طولانی با مقدار ساعت واقعی اختلاف داشته باشد . حتی تغییر دمای محیط نیز باعث تغییر روی فرکانس این کریستال می شود ، و باعث اختلاف در اندازه گیری زمان واقعی می شود .

برای رفع نواقص  آی سی ساعت DS1307 ، نسل جدید این آی سی با نام DS3231 ارائه شد ، که برای جبران سازی تغییر فرکانس کریستال به دلیل تغییر دما از روشی با نام TCXO : Temperature compenstated crystal osillator استفاده شده که با اندازه گیری دما و مدارات جبران ساز آنالوگ ، فرکانس خروجی نوسان ساز نسبت به تغییرات دما همواره ثابت و برابر با مقدار ۳۲٫۷۶۸ کیلو هرتز می باشد . به همین منظور کریستال به همراه سنسور دما به صورت داخلی درون آی سی ds3231 استفاده شده و دیگر نیاز به اتصال کریستال خارجی نمی باشد .

ماژول ds3231

اگر برای تهیه  آی سی ساعت ds3231 به بازار مراجعه نمائید ، با ماژول هایی با نام ds3231 مواجه خواهید شد .  ماژول ds3231 ،بورد راه اندازی است که تشکیل شده از یک آی سی ساعت ds3231 به همراه یک باطری بک آپ ۳ ولتی و یک آی سی حافظه EEPROM با ظرفیت ۳۲ کیلو بایت ، با نام AT24C32 . از دیگر مزایای آی سی DS3231 می توان به سنسور دمای داخلی ۱۰ بیتی با رزولوشن ۰٫۲۵ درجه سانتیگراد و دو آلارم با قابلیت تنظیم بر اساس سال ، ماه ، روز ، ساعت ، دقیقه و ثانیه اشاره کرد .

DS3231
DS3231

 

آی سی ساعت ds3231  در دمای ۰ الی ۴۰ درجه سانتی گراد دقت ۲ppm برای آن گارنتی شده است . یعنی هر یک میلیون ثانیه حدود یک ثانیه خطا دارد. ما می توانیم توسط رجیستر aging offset این دقت را بالاتر ببریم مقدار تنظیم شده در این رجیستر با افزایش و کاهش مقدار خازن اسیلاتور ، فرکانس را تنظیم میکند .

رنج قابل تنظیم در این رجیستر از -۱۲۸ , ۱۲۷ به صورت متمم دو می باشد . در دمای ۲۵ درجه سانتی گراد هر یک واحد افزایش یا کاهش در این رجیستر تقریبا برابر تغییر ۰٫۱ppm  در فرکانس اسیلاتور می باشد . همچنین حداکثر تغییرات  قابل برنامه ریزی در محدوده +و-۱۳ppm می باشد . تغییر هر ۰٫۱ استپ کلاک فرکانس تقریبا حدود ۰٫۰۰۲ الی ۰٫۰۰۳ هرتز است .

کتابخانه ds3231

در سطح اینترنت کتابخانه ها و نمونه کدهای زیادی برای راه اندازی ماژول DS3231 توسط آردوینو یا کدویژن وجود دارد . اما کتابخانه و سورس مناسبی برای کار در محیط بسکام وجود ندارد . به همین منظور ما در ابتدا یک فایل آموزشی تهیه کرده ایم که شما را به صورت کامل با این ماژول و عملکرد پایه های خروجی آن آشنا می سازد . در این فایل آموزشی به صورت مجزا به تشریح تمامی رجیسترهای آی سی DS3231 پرداخته شده و به صورت بیت به بیت هر رجیستر را بیان می کند .

برای راه اندازی تمامی بخش ها سورس کد مجزا ارئه شده تا بهتر درک شود . سورس کد ها به زبان بیسیک و در نرم افزار بسکام می باشد اما شما بعد از خواندن این مقاله با هر نوع میکروکنترلر یا زبان برنامه نویسی که تسلط دارید می توانید این ماژول را راه اندازی کنید .

رمز فایل : www.avr-city.ir
محیط برنامه نویسی : BASCOM
نویسنده : حسین غیاثوند
تاریخ انتشار: 1396/12/6
 لینک خرید و دانلود :

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

کتابخانه ای تهیه شده دارای قابلیتهای زیر می باشد : 

 خواندن و تنظیم ساعت
 خواندن و تنظیم تاریخ
 تبدیل تاریخ میلادی به شمسی
 خواندن و نوشتن در حافظه EEPROM  به صورت بایت و رشته
 خواندن دما
 تنظیم آلارم ها

اشتراک گذاری :

4 نظر

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

  2. با سلام
    من یه پروژه با این ماژول و اتمگا8 می خوام که ساعت و تاریخ و دما را روی سون سگمنت نمایش بده و امکان تنظیم آلارم را هم داشته باشه
    امکان چنین برنامه ای هست؟

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

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

نشانی ایمیل شما منتشر نخواهد شد.