اطلاعیه

Collapse
No announcement yet.

ذخیره اطلاعات روی eeprom قبل از قطع برق

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

    #16
    پاسخ : ذخیره اطلاعات روی eeprom قبل از قطع برق

    سلام
    دوستان چرا وقفه brown- out رو پیشنهاد نمیکنید.
    بنده هم نیازمند ذخیره سازی در هنگام قطع برق هستم البته نمیدونم دقیقآ چطوری ازش استفاده کنم.
    آیا این وقفه brown out مناسب اینکار نیست؟
    تشکر

    دیدگاه


      #17
      پاسخ : ذخیره اطلاعات روی eeprom قبل از قطع برق

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

      دیدگاه


        #18
        پاسخ : ذخیره اطلاعات روی eeprom قبل از قطع برق

        سلام
        این پروژه رو چیکار کنم تا ساعتش بعد قطع برق از بین نره ( یعنی ذخیره بشه فقط متغییر ساعت هم ذخیره بشه کافیه ؟؟
        بازم خدا رو شکر ...

        دیدگاه


          #19
          پاسخ : ذخیره اطلاعات روی eeprom قبل از قطع برق

          سلام
          با اجازه ی همه ی مهندسین و تشکر
          موضوع برای من خیلی شفاف نبود شما اگر میخواهید زمانی که برق مدار قطع میشه زمان را ذخیره کنید و بعد از اینکه برق وصل شد زمان را از eeprom بردارید و ادامه بدید مطمئنا مدتی که برق مدار قطع بوده را از دست دادید و دیگه ساعتتون با ساعت رسمی سینک نیست. پساگر میخواهید زمان سینک بماند باید از باتری بکاپ استفاده کنید که توضیحش مفصله و میتونید با بردن مدار به وضعیت کم مصرف ساعتها از باتری بکاپ استفاده کنید.
          راه حل دیگه استفاده ازآی سی RTC هست https://eshop.eca.ir/p/2101015001
          البته این آی سی هم نیاز به باتری داره ولی خیلی کم مصرفه. میتونید چندین سال با یه باتری سکه ای زمان را در این باتری داشته باشید.

          اما شاید شما میخواهد مدت زمان کارکرد مدارتون را ذخیره کنید مثلا از صفر شروع کنید و تا زمانی که مدار برق دارد به یک کانتر اضافه کنید وقتی برق قطع شد کانتر را ذخیره کنید بعدا دوباره که برق وصل شد از عدد قبلی شروع کنید و مثلا تا یک ماه جمع ثانیه هایی که مدار برق داشته است را گزارش کنید. این مقصود از طراحی شما قابل دستیابی است و با توجه به اینکه تعداد دفعات نوشتن در حافظه ی eeprom محدود است هر ثانیه توی یک خانه ننویسید یک الگوریتم توی برنامه تون بگذارید که از هر بار جایی از حافظه را که آخرین دیتا در آن هست را عوض کند مثلا یک خانه برود جلو تا آخر حافظه و دوباره از خانه 10 شروع کند و خانه 1 تا 10 را رزرو کنید. خانه 1 باشد برای آدرس آن جایی که آخرین دیتا در آن هست. با هر بار روشن شدن مدار یک خانه تکانی و انتقال به خانه بعدی... .
          اینطوری دیگه لازم نیست به وقفه Brown out هم نگاه کنید. این وقفه وقتی اتفاق می افتد دیگه اونقدر زمان و ولتاژ برای نوشتن توی eeprom نداریم.


          جدیدترین ویرایش توسط saeed391; ۱۰:۰۸ ۱۳۹۹/۰۵/۱۴.

          دیدگاه


            #20
            پاسخ : ذخیره اطلاعات روی eeprom قبل از قطع برق

            نوشته اصلی توسط saeed391 نمایش پست ها
            سلام
            با اجازه ی همه ی مهندسین و تشکر
            موضوع برای من خیلی شفاف نبود شما اگر میخواهید زمانی که برق مدار قطع میشه زمان را ذخیره کنید و بعد از اینکه برق وصل شد زمان را از eeprom بردارید و ادامه بدید مطمئنا مدتی که برق مدار قطع بوده را از دست دادید و دیگه ساعتتون با ساعت رسمی سینک نیست. پساگر میخواهید زمان سینک بماند باید از باتری بکاپ استفاده کنید که توضیحش مفصله و میتونید با بردن مدار به وضعیت کم مصرف ساعتها از باتری بکاپ استفاده کنید.
            راه حل دیگه استفاده ازآی سی RTC هست https://eshop.eca.ir/p/2101015001
            البته این آی سی هم نیاز به باتری داره ولی خیلی کم مصرفه. میتونید چندین سال با یه باتری سکه ای زمان را در این باتری داشته باشید.

            اما شاید شما میخواهد مدت زمان کارکرد مدارتون را ذخیره کنید مثلا از صفر شروع کنید و تا زمانی که مدار برق دارد به یک کانتر اضافه کنید وقتی برق قطع شد کانتر را ذخیره کنید بعدا دوباره که برق وصل شد از عدد قبلی شروع کنید و مثلا تا یک ماه جمع ثانیه هایی که مدار برق داشته است را گزارش کنید. این مقصود از طراحی شما قابل دستیابی است و با توجه به اینکه تعداد دفعات نوشتن در حافظه ی eeprom محدود است هر ثانیه توی یک خانه ننویسید یک الگوریتم توی برنامه تون بگذارید که از هر بار جایی از حافظه را که آخرین دیتا در آن هست را عوض کند مثلا یک خانه برود جلو تا آخر حافظه و دوباره از خانه 10 شروع کند و خانه 1 تا 10 را رزرو کنید. خانه 1 باشد برای آدرس آن جایی که آخرین دیتا در آن هست. با هر بار روشن شدن مدار یک خانه تکانی و انتقال به خانه بعدی... .
            اینطوری دیگه لازم نیست به وقفه Brown out هم نگاه کنید. این وقفه وقتی اتفاق می افتد دیگه اونقدر زمان و ولتاژ برای نوشتن توی eeprom نداریم.


            خیلی ممنون از راهنماییتون
            من در واقع میخواستم یه کرنومتر با بسکام درست کنم
            اما از اونجا که آماتور هستم خیلی کارم سخت شد .
            اومدم یه برنامه ساعت برداشتم زمان مورد نظر خودم رو مساوی ساعت قرار دادم ( مثلا اگه بخوام 2 ساعت یه پایه خروجی داشته باشه دستور دادم یه متغییر مساوی 2 باشه بعد که ساعت شروع کرد به کار رسید به 2 اون پایه قطع بشه )
            ببخشید دیگه هم باید سریع آماده میکردم هم دانش شما رو ندارم
            اگه بتونید توو برنامه کرنومتر کمکم کنید ممنون میشم
            بازم خدا رو شکر ...

            دیدگاه

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