اطلاعیه

Collapse
No announcement yet.

استفاده از Brown-out برای ذخیره در EEPROM

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

    استفاده از Brown-out برای ذخیره در EEPROM

    در یک پروژه شمارنده نیاز به این دارم که اخرین وضعیت را ذخیره کنم . با توجه به محدود بودن تعداد نوشتن در فلش AVR نمیتونم تمامی شمارش ها رو بنویسم . پس : میخوام که از BOD استفاده کنم . یعنی وقتی باطری خالی شد . Brown Out Detection انجام بشه و من اطلاعات رو ذخیره کنم .

    ولی مشکل اینجاست که نمیدونم اصلاً وقفه ای برای این کار وجود داره یا نه . اگه داره اسمش چیه .


    لطفاً کمکم کنید ..

    #2
    پاسخ : استفاده از Brown-out برای ذخیره در EEPROM

    فکر نکنم بتونین از Brown-out استفاده کنید
    ولی یک راه خیلی ساده هست
    سر راه تغذیه میکرو یک دیود سری بزارید
    بعد ازدیود (بین دیود و میکرو) یک خازن با ظرفیت بالا بذارید
    یک سیم قبل از دیود هم به پایه یکی از وقفه های میکرو وصل کنید و وقفه رو روی لبه پایین رونده بذاربد
    حالا اگه برق قطع بشه چون هنوز خازن ذخیره داره راحت میکرو به وقفه میره و چند ثانیه ای وقت داره تا کارش رو انجام بده
    پروردگارا: به من زيستني عطا کن که در لحظه مرگ بر بي ثمري لحظه اي که براي زيستن گذشته است حسرت نخورم، و مردني عطا کن که بر بيهودگيش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست ميداري

    دیدگاه


      #3
      پاسخ : استفاده از Brown-out برای ذخیره در EEPROM

      نوشته اصلی توسط l3ai3ak
      در یک پروژه شمارنده نیاز به این دارم که اخرین وضعیت را ذخیره کنم . با توجه به محدود بودن تعداد نوشتن در فلش AVR نمیتونم تمامی شمارش ها رو بنویسم . پس : میخوام که از BOD استفاده کنم . یعنی وقتی باطری خالی شد . Brown Out Detection انجام بشه و من اطلاعات رو ذخیره کنم .

      ولی مشکل اینجاست که نمیدونم اصلاً وقفه ای برای این کار وجود داره یا نه . اگه داره اسمش چیه .


      لطفاً کمکم کنید ..
      سلام
      همونطوری که دوستمون گفتند امکان استفاده از BOD نیست چون زمانیکه BOD عمل میکند دقیقا زمانیست که میکرو ریست شده است
      یه راه دیگری هم دارید که زمان بیشتری داشته باشید .اگه از رگولاتور استفاده میکنید و ورودی شما بیش از 5 ولت است (مثلا 12) با یه تقسیم مقاومتی و ADC از خروجی نمونه برداری کنید و وقتی ولتاژ از 11 ولت کمتر شد شروع به عملیات ذخیره کردن کنید
      البته در طرف 12 ولت از یه خازن ظرفیت بالا مثلا 4700 میکروفاراد استفاده کنید
      فرزندم در راه است

      دیدگاه


        #4
        پاسخ : استفاده از Brown-out برای ذخیره در EEPROM

        از این که جواب دادین تشکر می کنم .

        تغذیه مدار 2 تاهست :

        1 - یک منبع سوئیچ 4.2 ولت ( شارژر موبایل )
        2- باطری 3.7 ولت 1050 میلی آمپر .

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

        از هر دو ولتاژ نمونه میگیرم . و با استفاده از رفرنس ولتاژ داخلی میکرو و مقاومت .آمار رو از ولتاژ ها دارم .

        مشکل اینجاست . عملاً به هیج وجه نمیشه تشخیص داد . که میکرو دقیقاً در چه ولتاژی ریست میشه . که من برنامم رو بزارم رایت کنه به E2prom

        در حال حاظر روشی که استفاده کردم همینه . ولی با این فرق که بعد از نوشتن داخل EEPROM میکرو رو Sleep میکنم و نمیزارم بیدار بشه تا این که باطری تموم بشه . و میکر ریست بشه با وصل شدن تغیه سیستم دوباره شروع به کار میکنه .
        مشکلی که دارم اینه : وقتی sleep میشه باید حتماً صبر کنی تا باطری کاملاً خالی بشه بعد میکرو داون بشه . تا وقطی برق وصل شد دوباره شروع بکنه.
        در واقع در زمان sleep اگر برق وصل بشه سیستم کار نمیکنه .

        دیدگاه

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