اطلاعیه

Collapse
No announcement yet.

هنگ کردن ds1307

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

    هنگ کردن ds1307

    بنام خدا
    ds1307 گاهی در پروژه های عملی هنگ میکنه
    بنده گمان میکردم در ارتباط تو وایر نویز باعث به هم خوردن اطلاعات میشه و وقتی یک بار مقادیر به هم بخورد دیگه اطلاعات خراب شده و کار نمیکنه .
    بررسی کردم ظاهرا خود ds1307 هنگ میکنه و اینطور نیست که اطلاعات خراب شود .
    یعنی sda sca آ‌رو دستکاری کردم و بصورت لحظه ای ساعت خراب میشد ولی بعد که دستم رو بر میداشتم ساعت درست میشد .
    یک برنامه ای نوشتم که هر چند دقیقه درصورتیکه مقدار دقیقه تغییر نکرده باشد اطلاعات ساعت رو دوباره در rtc بریزه اما اصلاح نشد .
    بنده به این نتیجه رسیدم که خود rtc هنگ میکنه
    درصورتیکه نتیجه بنده درست باشد چه باید کرد
    1- اگر از ds1307اورجینال استفاده کنم مشکل کاملا حل میشه ؟ ( هر چند اورجینال هم نمیدونم کی داره ) درصوتیکه از ds1307 اورجینال هم استفاده کنم احتمال میدم دوباره گاهی مشکل پیش بیاد و بنده میخوام هیچوقت مشکل پیش نیاد
    2- یک مدار بزارم هنگامیکه ds1307 هنگ کرد اول برقش رو قطع و وصل کنم ( تا ریست شه ) و سپس اطلاعات رو دوباره بریزم
    www.Askdin.com
    www.BEKco.ir

    #2
    پاسخ : هنگ کردن ds1307

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

    مدارتون رو بزارید با برنامه تا دوستان نگاه کنن
    عامل کلیدی تمام موفقیتها " عمل کردن" است

    دیدگاه


      #3
      پاسخ : هنگ کردن ds1307

      سلام
      مدار که همین مداری که همه میبندن و نرم افزار هم همان طور
      مشکل کلی ندارم و همه چیز درست است . در بعضی پروژه ها عملی که بعد از چند ماه ساعت از کار میفته و هنگ میکنه
      بنده میخوام به هیچ وجه هنگ نداشته باشم
      www.Askdin.com
      www.BEKco.ir

      دیدگاه


        #4
        پاسخ : هنگ کردن ds1307

        با فرض اصلی بودن IC مورد استفاده و فاصله بهینه کریستال از پایه های آن و رعایت نکاتی در تغذیه که بارها در مورد آن در انجمن بحث شده است، کیفیت کریستال مورد استفاده هم می تواند بسیار مهم باشد و کریستال های متفرقه به لحاظ دقت و پایداری در نوسان می توانند مشکل ساز باشند.
        اوژن: به معنای افکننده و شکست دهنده است
        دانایی، توانایی است-Knowledge is POWER
        برای حرفه ای شدن در الکترونیک باید با آن زندگی کرد
        وضعمان بهتر می شود، اگر همه نسبت به جامعه و اطراف خود مسوول باشیم و نگوئیم به ما چه
        قوی شدن و خوب ماندن - خوبی کردن به دیگران یک لذت ماندگار است
        اگر قرار باشد نفت و منابع خام را بدهیم و چرخ بگیریم، بهتر است چرخ را از نو اختراع کنیم
        ساعت کار بدن اکثر انسان ها کمتر از 800000 ساعت است و بعد از آن از کار می افتد

        دیدگاه


          #5
          پاسخ : هنگ کردن ds1307

          کدتون رو قرار بدید.
          .The best question deserves a better answer
          =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
          «پناه»می برم «به خدا»
          از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
          محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

          دیدگاه


            #6
            پاسخ : هنگ کردن ds1307

            سلام

            www.Askdin.com
            www.BEKco.ir

            دیدگاه


              #7
              پاسخ : هنگ کردن ds1307

              نوشته اصلی توسط •.´™ مَسِِــــح`.•
              کدتون رو قرار بدید.
              سلام
              'configure the scl and sda pins
              Config Sda = Portc.1
              Config Scl = Portc.0


              'address of ds1307
              Const Ds1307w = &HD0 ' Addresses of Ds1307 clock
              Const Ds1307r = &HD1

              Config Clock = User ' this will dim the bytes automatic

              Getdatetime:
              I2cstart ' Generate start code
              I2cwbyte Ds1307w ' send address
              I2cwbyte 0 ' start address in 1307

              I2cstart ' Generate start code
              I2cwbyte Ds1307r ' send address
              I2crbyte _sec , Ack
              I2crbyte _min , Ack ' MINUTES
              I2crbyte _hour , Ack ' Hours
              I2crbyte Weekday , Ack ' Day of Week
              I2crbyte _day , Ack ' Day of Month
              I2crbyte _month , Ack ' Month of Year
              I2crbyte _year , Nack ' Year
              I2cstop
              _sec = Makedec(_sec) : _min = Makedec(_min) : _hour = Makedec(_hour)
              _day = Makedec(_day) : _month = Makedec(_month) : _year = Makedec(_year)
              Return
              www.Askdin.com
              www.BEKco.ir

              دیدگاه


                #8
                پاسخ : هنگ کردن ds1307

                سلام دوست عزیز:
                منم دقیقا مشکل شما رو داشتم وکلی سر یه پروژه اذیتم کرد اما آخرش درست شدوالانم نزدیک به یک ساله که داره بدون مشکل کار میکنه :applause:
                اما نکته این بود که باید یه مقاومت 270 اهمی با تغذیه ds1307 سری کنی..... :applause: :applause: :applause:
                در پناه حق...

                دیدگاه


                  #9
                  پاسخ : پاسخ : هنگ کردن ds1307

                  نوشته اصلی توسط طراح
                  با فرض اصلی بودن IC مورد استفاده و فاصله بهینه کریستال از پایه های آن و رعایت نکاتی در تغذیه که بارها در مورد آن در انجمن بحث شده است، کیفیت کریستال مورد استفاده هم می تواند بسیار مهم باشد و کریستال های متفرقه به لحاظ دقت و پایداری در نوسان می توانند مشکل ساز باشند.
                  سلام استاد
                  IC اصل کی داره . با وارد کننده صحبت کردم گفت انقدر بازی در اوردن و جنس قلابی دادن که دیگه نمیاریم
                  فاصله ها حداقل است
                  کریستال رو هم از نظر دقت زمان کنترل میکنم
                  بعضی نکات تغذیه بخصوص زنر سریع رعایت شده .
                  بنده نیتم این بود که با یک روشی از کلیه اگر و اما های سخت افزار راحت شوم . خدا رو شکر در قسمت میکرو هیچگونه نویز در این حوزه خاص ندارم .
                  www.Askdin.com
                  www.BEKco.ir

                  دیدگاه


                    #10
                    پاسخ : هنگ کردن ds1307

                    نوشته اصلی توسط sidhadi2000
                    سلام دوست عزیز:
                    منم دقیقا مشکل شما رو داشتم وکلی سر یه پروژه اذیتم کرد اما آخرش درست شدوالانم نزدیک به یک ساله که داره بدون مشکل کار میکنه :applause:
                    اما نکته این بود که باید یه مقاومت 270 اهمی با تغذیه ds1307 سری کنی..... :applause: :applause: :applause:
                    در پناه حق...
                    سلام
                    لطفا یکم توضیح بیشتر بدین چون بنده اکنون فرصت تجربه ندارم .
                    .
                    شما در چه محیطی کار میکردین ؟
                    منظور تون اینست که ds1307 عملکردش درست بود وقتی تو محیط پر نویز میرفت بعد از چند وقت ساعتش خراب میشد ؟ ( یعنی دقیقا مشکل بنده را داشتین ) . وقتی مقاومت رو گذاشتین دیگر هیچ خرابی نداشتین ؟
                    بعد از 270 خازن میزارین ؟ چه خازنی؟
                    از ای سی اصل استفاده کردین یا کپی ؟ چند خریدین ؟ از کجا
                    270 اهم رو از کجا اوردون ؟ تجربی بوده ؟
                    ممنون

                    www.Askdin.com
                    www.BEKco.ir

                    دیدگاه


                      #11
                      پاسخ : هنگ کردن ds1307

                      مدارم توی خونه درست کار میکرد اما در محل بعضی مواقع هنگ میکرد....
                      خازن نمیخاد .البته دوسر تغذیه اون اگه یه خازن عدسی 104 بزاری بهتر واصولی تره اما در خصوص مقاومت فقط کافیه اون ترکی از پی سی بیتون که به پایه 8 آی سی میره رو از یه جا ارتباطشو قط کنین و این مقاومتو بین دونقطه بوجود اومده بزاری تا اول 5 ولت بره به سر مقاومت و سر دیگه اون بره برای تغذیه آی سی....وبه احتمال 100 درصد مشکلتون حل میشه که برای اطمینان بیشتر میتونی روی برد بورد اینو تست کن...توی دیتا شیتش هم هست .که مربوط به سطوح سیگنال sclو sda بود..(یادم رفته کجاش بود )
                      در مورد آی سی هم همینو بگم که یه سری از یه فروشگاه چنتا مثلا اوریجینالشو خریدم (که قیمتش نسبتا دوبرابر بود)اما در عمل تفاوتی رو ندیدم مگه اینکه در دراز مدت خودشو نشون بده.

                      دیدگاه


                        #12
                        پاسخ : هنگ کردن ds1307

                        سلام

                        کدی که قرار دادین به احتمال زیاد بخشی از کل فایلتون هست و نمیشه درست در موردش تصمیم گرفت ولی به عنوان راهنمایی باید بگم که موارد زیر میتونه باعث هنگ کردن بشه

                        1- خوندن همزمان تاریخ و ساعت از داخل حلقه اصلی برنامه و یکی از اینتراپتها
                        2- افت ولتاژ کمتر از 4.5 ولت روی پایه vcc و خوندن rtc
                        3- کم بودن مقاومت پول پ ( بهتره 2.7 یا 3.3 کیلو بزارین)
                        4- تغذیه نادرست و نداشتن خازن 100 نانو

                        دیدگاه


                          #13
                          پاسخ : هنگ کردن ds1307

                          نوشته اصلی توسط sidhadi2000
                          مدارم توی خونه درست کار میکرد اما در محل بعضی مواقع هنگ میکرد....
                          خازن نمیخاد .البته دوسر تغذیه اون اگه یه خازن عدسی 104 بزاری بهتر واصولی تره اما در خصوص مقاومت فقط کافیه اون ترکی از پی سی بیتون که به پایه 8 آی سی میره رو از یه جا ارتباطشو قط کنین و این مقاومتو بین دونقطه بوجود اومده بزاری تا اول 5 ولت بره به سر مقاومت و سر دیگه اون بره برای تغذیه آی سی....وبه احتمال 100 درصد مشکلتون حل میشه که برای اطمینان بیشتر میتونی روی برد بورد اینو تست کن...توی دیتا شیتش هم هست .که مربوط به سطوح سیگنال sclو sda بود..(یادم رفته کجاش بود )
                          در مورد آی سی هم همینو بگم که یه سری از یه فروشگاه چنتا مثلا اوریجینالشو خریدم (که قیمتش نسبتا دوبرابر بود)اما در عمل تفاوتی رو ندیدم مگه اینکه در دراز مدت خودشو نشون بده.
                          اون محیط مشکل دار شما صنعتی بود دیگه ؟ یعنی توش پمپ و اینورتر و اینجور چیزا بود ؟
                          تست این موضوع در محیط صنعتی انجام میشه . چون در حالت عادی مشکلی نداریم
                          www.Askdin.com
                          www.BEKco.ir

                          دیدگاه


                            #14
                            پاسخ : هنگ کردن ds1307

                            نوشته اصلی توسط mahdi421
                            سلام

                            کدی که قرار دادین به احتمال زیاد بخشی از کل فایلتون هست و نمیشه درست در موردش تصمیم گرفت ولی به عنوان راهنمایی باید بگم که موارد زیر میتونه باعث هنگ کردن بشه

                            1- خوندن همزمان تاریخ و ساعت از داخل حلقه اصلی برنامه و یکی از اینتراپتها
                            2- افت ولتاژ کمتر از 4.5 ولت روی پایه vcc و خوندن rtc
                            3- کم بودن مقاومت پول پ ( بهتره 2.7 یا 3.3 کیلو بزارین)
                            4- تغذیه نادرست و نداشتن خازن 100 نانو
                            1- نرم افزار چیز خاصی نیست به نظرم چون معمولا کار درست انجام میشه نباید از برنامه باشه . درسته ؟
                            2- افت ولتاژ رو فکر نمیکنم باشه . دی سی ورودی رگولاتور 13 ولته
                            3- پول پ 10 کیلو است . کریستال میکرو 4 مگا است . ایا 10 کیلو زیاد است و اگر 3.3 بزارم بهتر میشه؟
                            4- تغذیه 7805 + زنر فست + 100 نانو تانتال در تمام آی سی ها
                            www.Askdin.com
                            www.BEKco.ir

                            دیدگاه


                              #15
                              پاسخ : هنگ کردن ds1307

                              بنده هم یک جایی دیدم تو ورودی sca sda مقاومت گذاشته .
                              کجا بود یادم نیست
                              اما تو دیتا شیت ندیدم
                              www.Askdin.com
                              www.BEKco.ir

                              دیدگاه

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