اطلاعیه

Collapse
No announcement yet.

مشکل داغ شدن ds1307

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل داغ شدن ds1307

    سلام

    توی یه پروژه از ds1307 استفاده کرده ام اما نمی دونم چرا وقتی تغذیه رو وصل می کنم آی سی خروجی نداره و بعد از یه مدت داغ می کنه

    توی پروتئوس جواب گرفتم اتصالات هم دقیقا عین دیتاشیت وصل کردم اما نمی دونم چرا توی عمل خروجی ندارم از پول پ های 10 کیلو استفاده کردم برای تغذیه هم از 7805 استفاده کردم و از ترانس 9 ولت 500ma

    اگر کسی میدونه لطفا راهنمایی کنه. .... فوری و واجبه

    #2
    پاسخ : مشکل داغ شدن ds1307

    با سلام

    آی سی تون رو عوض کردید ببینید آیا باز هم همون نتیجه رو میده ؟( شاید آی سی مشکل داره اگر از برنامه و اتصالات مطمئنید ) ، بجای 10 کیلو به نظرم اگه از 4.7 کیلو استفاده کنید بهتره .

    دیدگاه


      #3
      پاسخ : مشکل داغ شدن ds1307

      ممنون از جوابتون ... تست می کنم

      اما چندتا سوال دیگه ... از ds1307 می خوام برای یه کنتور استفاده کنم (شمارش توان در هر ثانیه) نظر شما چیه از rtc خود میکرو استفاده کنم یا از همین آیسی (ذاهرا خیلی نظرات در باره دقت این آیسی جالب نیست)

      و دوم این که این آیسی به طور مستقل عمل شمارش زمان و تاریخ رو انجام میده و ما فقط این زمان رو از ثبات آیسی فراخوانی می کنیم درسته؟ پس نباید خطوط برنامه میکرو روی دقتش تاثیر داسته باشه درسته؟

      دیدگاه


        #4
        پاسخ : مشکل داغ شدن ds1307

        سلام
        سعی کنین حتما از تراشه های rtc منجمله ds1307 استفاده کنین تا به جای میکرو
        شما برای ds1307 زمان و تاریخ رو مشخص می کنین و خود تراشه با enable شدن به صورت نرم افزاری شروع به شمارش می کنه و هر وقت لازم داشتین زمان رو بدونین توسط پروتکل i2c داده هاتون رو از تراشه می خونین
        هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

        دیدگاه


          #5
          پاسخ : مشکل داغ شدن ds1307

          همونطور که جناب baby_1 گفتند ، بهتره که از rtc به صورت external استفاده کنید ، کمترین مزیتش کاهش بار cpu هست و از اون مهمتر استفاده از rtc داخلی در عمل به خاطر وقوع وقفه هایی که در طول اجرای برنامه ، امکان داره که بعضی اوقات زمان از دست بره و یا بدلیل دقیق نبودن کلاک میکرو زمان محاسبه شده توسط rtc داخلی زمان مورد نظر درست محاسبه نشه و در دراز مدت با خطای چشم گیری مواجه بشید .
          فقط اگه از rtc با کریستال خارجی استفاده میکنید ، بدنه کریستال رو به زمین متصل کنید (بشکلی که تو مادر بورد ها انجام میشه) .

          دیدگاه


            #6
            پاسخ : مشکل داغ شدن ds1307

            متاسفانه همچنان نتونستم جواب بگیرم آی سی رو عوض کردم و دیگه داغ نشد ولی روی lcd اعداد (0:0:80 و بعضی وقتها 85135) نشون می ده و تغییر نمی کنه از مقاومت های 1k 10k 4.7k استفاده کردم

            دیدگاه


              #7
              پاسخ : مشکل داغ شدن ds1307

              با درود . . .
              نکته اول:
              مشکل داغ شدن آی سی به دلیل کیفیت نامناسب خود RTC هست
              منم توی خریدهام با چند نمونه به این شکل مواجه شدم
              بدون هیچ مسئله ای ناگهان داغ میکرد و هیچ خبری هم نبود
              متاسفانه اجناس فعلی بازار کیفیت چندانی ندارند

              نکته دوم:
              RTC داخلی میکرو از تایمر شماره 2 در مد آسنکرون استفاده میکنه و دارای بالاترین درجه سرریز وقفه هست. به عبارتی اولویت بالاتری رو نسبت به بقیه وقفه ها داره و مشکلی براش پیش نمیاد
              مزیت های زیادی رو میشه برای استفاده از نوع خارجی نام برد که بهترینش عدم از دست رفتن زمان در صورت قطع تغذیه و وجود باطری 3 ولت روی پایه 3 هست

              نکته سوم:
              اون شماره هایی رو هم که میبینبد در اولین بار استفاده از آی سی و یا در مواقعی که نویز و ای هر چیزی باعث از کار افتادن آی سی بشه پیش میاد
              اگر یکبار زمان رو براش تعریف کنید(مثلا ساعتش رو دستی تنظیم کنید) دیگه مشکلی نباید داشته باشید

              موفق باشید


              درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

              به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
              بدرود . . .

              دیدگاه


                #8
                پاسخ : مشکل داغ شدن ds1307

                پس این وقفه های خارجی چی ؟ بعد از ریست بالاترین اولویت رو دارند و البته همیشه که قرار نیست وقفه ها با هم اتفاق بیوفتن . در هر صورت فکر میکنم برای نمایش دائم زمان زیاد بدرد نمیخوره(شاید برای نمایش زمان در یک لحظه خاص بهتر باشه) چون اینجوری باید دائم روتین های مربوط به محاسبه زمان اجرا بشن و این شاید یه بار اضافی رو به cpu تحمیل کنه و نزاره بقیه روتین ها سر فرصت انجام بشن . تازه اگه اون روتین ها مشکلی برای روتین محاسبه زمان پیش نیارند (به لحاظ زمانی)و البته برای محاسبه دقیق زمان اگه روتین های محاسبه زمان تو روتین وقفه نوشته بشن اون وقت امکان داره بعضی از وقفه های دیگه از دست برن.
                یه مورد هم هست ، برای کار با rtc داخلی یکسری موارد رو هم باید در نظر داشت ، تو دیتاشیت قسمت "Asynchronous Operation of Timer/Counter2"

                دیدگاه


                  #9
                  پاسخ : مشکل داغ شدن ds1307

                  نوشته اصلی توسط mojtaba_led
                  پس این وقفه های خارجی چی ؟ بعد از ریست بالاترین اولویت رو دارند و البته همیشه که قرار نیست وقفه ها با هم اتفاق بیوفتن . در هر صورت فکر میکنم برای نمایش دائم زمان زیاد بدرد نمیخوره(شاید برای نمایش زمان در یک لحظه خاص بهتر باشه) چون اینجوری باید دائم روتین های مربوط به محاسبه زمان اجرا بشن و این شاید یه بار اضافی رو به cpu تحمیل کنه و نزاره بقیه روتین ها سر فرصت انجام بشن . تازه اگه اون روتین ها مشکلی برای روتین محاسبه زمان پیش نیارند (به لحاظ زمانی)و البته برای محاسبه دقیق زمان اگه روتین های محاسبه زمان تو روتین وقفه نوشته بشن اون وقت امکان داره بعضی از وقفه های دیگه از دست برن.
                  یه مورد هم هست ، برای کار با rtc داخلی یکسری موارد رو هم باید در نظر داشت ، تو دیتاشیت قسمت "Asynchronous Operation of Timer/Counter2"

                  بله حق با شماست
                  منتها من یکی زیاد از وقفه های خارجی استفاده نمیکنم
                  در کل در اون حد هم خطا نداره. من خودم یکی از کارهام رو با همین داخلی انجام دادم و هیچ مشکلی تابحال نداشته.
                  اما کلا استفاده از 1307 و یا هر RTC خارجی برای اینکارها بهتره.(البته اگر اونم اصلیش گیر بیاد! نه ریمارک چین!!! نمونه اصل دالاس قیمتی حدود 2500 الی 3500 داره و نمونه چین حدود 400 الی 1000!!!)
                  درد من تنهایی نیست؛ بلکه مرگ ملتی است که گدایی را قناعت، بی‏عرضگی را صبر، و با تبسمی بر لب این حماقت را حکمت خداوند می‏ نامند! "گاندی"

                  به دلیل وجود برخی مشکلات و بی احترامی ها این اکانت رو غیر فعال کردم. همیشه سر بلند باشید.
                  بدرود . . .

                  دیدگاه


                    #10
                    پاسخ : مشکل داغ شدن ds1307

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

                    دیدگاه


                      #11
                      پاسخ : مشکل داغ شدن ds1307

                      اما یه سوال دیگه

                      توی نرم افزار اسمبلی میشه با دقت میزان تاخیر رو محاسبه کرد چون هر فرمان در سیکل ماشین مشخصی اجرا می شوند. اما آیا این امکان در codevision هم هست؟

                      دیدگاه


                        #12
                        پاسخ : مشکل داغ شدن ds1307

                        در کل در اون حد هم خطا نداره. من خودم یکی از کارهام رو با همین داخلی انجام دادم و هیچ مشکلی تابحال نداشته.
                        آقا ، من که نگفتم خودش خطا داره (rtc داخلی یه تایمر با یه کلاک خارجی که وقفه اش میتونه هر یک ثانیه یک بار رخ بده که بیشتر نیست و اجراش تا اینجا که اصلا به cpu کاری نداره و تا اینجا ی کار تنها عامل در دقت عملکردش ، کریستال ساعت خارجی و اون مواردی که تو اون قسمت دیتا شیت گفته شده هست ) من گفتم احتمال داره به خاطر اجرای روتین های دیگه ، و وقفه های دیگه ، محاسبات به مخاطره بیوفته حالا هر چقدر این برنامه سبک تر باشه و از وقفه های کمتر استفاده بشه ، با خطای کمتری مواجه هستیم ، یا تو محاسبه زمان یا تو اجرای روتین های دیگه یا اجرای وقفه های دیگه .

                        توی نرم افزار اسمبلی میشه با دقت میزان تاخیر رو محاسبه کرد چون هر فرمان در سیکل ماشین مشخصی اجرا می شوند. اما آیا این امکان در codevision هم هست؟
                        منظورتون اینه که مثلا هر خط که به زبان سی نوشته میشه چقدر اجراش طول میکشه ؟
                        اگه میشه بیشتر توضیح بدید.

                        دیدگاه


                          #13
                          پاسخ : مشکل داغ شدن ds1307

                          بله منظورم همین بود که اجرای هر فرمان در زبان C چقدر طول می کشه

                          دیدگاه


                            #14
                            پاسخ : مشکل داغ شدن ds1307

                            نوشته اصلی توسط toska_s
                            بله منظورم همین بود که اجرای هر فرمان در زبان C چقدر طول می کشه
                            خوب ، کد سی که دقیقا اجرا نمیشه ، اول کامپایل میشه و تبدیل میشه به کد اسمبلی ، از روی کد اسمبلی معادل اون ها میتونید با دونستن این که هر دستور اسمبلی چند کلاک اجراش طول میکشه مدت زمان لازم برای اجرا اون کد نوشته شده به زبان سی رو محاسبه کنید.

                            دیدگاه


                              #15
                              پاسخ : مشکل داغ شدن ds1307

                              سلام به همه ی دوستان
                              من نمیدونم شما چه طور برنامه ی همچین ساعتی رو می نویسید(ساعت با کانتر داخلی)که مثلا چه طوری محاسباتش را انجام دادید اما اگه اینطوری نوشته باشید که از دستور mod(در زبان بیسیک) استفاده کرده باشید قاعدتا نباید مشکلی از نظر خطا وجود داشته باشه چون اگه بر فرض همین دستور چندین بار مثلا تا199بار پشت سر هم،هم انجام نشه و بعد انجام بشه زمان خطایی نخواهد داشت و فقط ثانیه ای که نشان میدهید از 60 بیشتر است.
                              و البته این اتفاق امکانش یک در میلیارد است همچنین من ساعتم که با کانتر داخلی بود را به مدت های چند ساعته با یک کرنومتر امتحان کردم و خطا نداشت.
                              ین دو خانه یک برد بورد (به علت وجود پلاستیک عایق بین آنها) یک خازن کوچک وجود دارد که خیلی سریع شارژ میشود.

                              به این دلیل در مدارات فرکانس بالا که سرعت تغییرات زیاد است نمیتوان از برد بورد استفاده نمود. چون زمان شارژ خازن کوچک محسوس میشود.
                              http://www.botlobby.com/PishAzEftetah/

                              دیدگاه

                              لطفا صبر کنید...
                              X