پروژه ساعت و تاریخ شمسی
منو

جستجو در سایت

پروژه ساعت و تاریخ شمسی AVR

پروژه ساعت و تاریخ شمسی با AVR

در این پروژه قصد داریم برنامه ای به زبان بیسیک در محیط Bascom بنویسیم که توسط میکروکنترلر AVR و تراشه DS1307 یک ساعت RTC دقیق و با مبدل تاریخ میلادی به شمسی باشد. میدانیم که تراشه مدنظر اطلاعاتش میلادی تنظیم میشود پس باید زیر برنامه ای برای تبدیل این ساعت به شمسی نوشت.

 

سالهاي شمسي و ميلادي هر دو 365 روزه هستند مگر در سالهاي کبيسه که 366 روز ميباشند که اين استثناء هر 4 سال يکبار اتفاق ميافتد. و دليل آن هم اينست که طول يکسال شمسي و يا ميلادي دقيقأ 365 روز يا (ساعت)24 *(روز)365 =8760 ساعت نميباشد بلکه تقريبأ 365 روز و 1/4 روز يا 6 ساعت است. مقدار دقیق یک سال خورشیدی یا اعتدالی (Solar Year,tropical Year) برابر با 365.2422 روز است بعبارت دیگر مدت زمان یکبار گردش کامل زمین به دور خورشید راکه آنراسال خورشیدی مینامندبرابر است با 365.2422 یا (4.1288192 /1 + 365 ). در دائره المعارف دریائی - خسرو مشتری خواه براي جبران و احتساب اين شش ساعت اضافه هر سال بدين ترتيب عمل ميشود که 4 تا از اين شش ساعت ها که 24 ساعت يا يکروز ميشوند را هر 4 سال يکبار سر جمع حساب کرده و به يک سال (که به آن کبيسه ميگويند) اضافه ميکنند و درواقع بدين ترتيب تقويم تنظيم وکاليبزه ميشود که اين موضوع 6 ساعت اختلاف در هر سال را ميتوان در زمان تحويل سال شمسي مشاهده کرد که هر سال نسبت به سال قبل يا بعد حدود 6 ساعت اختلاف ساعت دارد و هر 4 سال يکبار تقريبأ تحويل سال يکي ميشودکه در نهايت اين اختلاف ساعت ها را هر 4 سال يکبار سر جمع کرده و به يکي از سالها(سال کبيسه)همانطوريکه ذکر شد اعمال ميکنند.

 

نکته: يافتن سالهاي کبيسه ميلادي وشمسي آسان است کافيست يک سال کبيسه را بدانيم و سالهاي 4+يا4- آنرا بدست اوريم مثلأ سال 2008 يک سال کبيسه است و همينطور سالهاي ...و 2000و2004و2008و2012و2016و2020و... سالهاي کبيسه بوده يا هستند. در مورد سالهاي کبيسه شمسي نيز مثلأ سال 1387 سال کبيسه بوده و ...و1379و1383و1387و1391و1395و1399و1403و... نيزسال کبيسه ميباشند. در واقع سالهاي آتي کبيسه قابل پيش بيني و منظور شدن در محاسبات هستند.و تقریبا هر 128 سال سالهای کبیسه همان مضارب 4 سال یکبار را تعقیب میکنند. هر 4 سال(هریک سال کبیسه) 0.7486 ساعت کم می آورد که در مجموع حدود هر 128 سال یکبار نیاز به تنظیم دارد.

جهت ساخت یک ساعت دیجیتال دقیق می توان از RTC داخلی میکروکنترلر استفاده کرد. ولی مشکلی اساسی در این است که با قطع شدن تغذیه مدار یا ریست شدن میکروکنترلر، ساعت خاموش خواهد شد.

اگر بخواهیم یک میکرو را به صورت همیشه روشن نگه داریم نیاز به باتری نیز خواهیم داشت و مشکل آنجا جدی می شود که با توجه به مصرف میکرو این باتری باید توان بالا و ظرفیت ذخیره زیاد  نیز داشته باشد .

در این موارد که ما نیاز به ساعت دقیق داریم می توان از IC هایی مانند DS1307 استفاده کرد که علاوه بر ساعت دارای تقویم نیز می باشد و ورودی برای باتری بک آپ دارند که می تواند با یک باتری ۳ ولت سکه ای به مدت ۱۰ سال کار کند.  

ولی مشکل اصلی این IC تقویم میلادی آن است که نیاز به تبدیل به شمسی دارد.

در این مقاله قصد داریم با زبان Bascom وبا ATmega8  یک ساعت و تقویم طراحی کنیم که تقویم را نیز شمسی  نمایش دهد.

 

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

 پروژه اتصال MMC به AVR

نوشته شده توسط: علی کاظمی

ارتباط با ما

فرم ورود



بازگشت به بالا