اطلاعیه

Collapse
No announcement yet.

ذخیره اطلاعات در eeprom هنگام قطع تغذیه

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

    ذخیره اطلاعات در eeprom هنگام قطع تغذیه

    با سلام بر دوستان
    میخوام 160 بایت اطلاعات رو هنگامی که تغذیه قطع میشه در eeprom ذخیره کنم. اومدم یه خازن 4700uf در تغذیه میکرو گذاشتم (با یه دیود شاتکی) ال وقای تغذیه قطع میشه، میکرو بتونه روشن بمونه و اطلاعات رو ذخیره کنه. و به کمک ADC تغذیه رو مداوم چک میکنم تا وقتی تغذیه از یه مقداری کم شد اطلاعات رو ذخیره کنه. ولی فقط 6 بایت از اطلاعات رو میتونه در eeprom ذخیره کنه. راه حلی به نظرتون میرسه؟ میشه از مدهای sleep برای کم کردن مصرف میکرو استفاده کرد؟ ممنون میشم اگه راهنماییم کنین چون واقعا کارم لنگه همین موضوع هست.
    یه سوال دیگه هم راجع به پورت G میکرو atmega64 دارم. من این پورت رو بصورت ورودی تعریف کردم، مقاومت pull down هم گذاشتم ولی فقط از پین اول این پورت میتونم جواب بگیرم یعنی PG.0 واز بقیه پین ها نتونستم جواب بگیرم. atmega103 compatibility رو هم غیرفعال کردم، پورت رو هم بصورت بیتی نمیخونم مثلا با دستور زیر یک بودن پین PG.1 رو چک میکنم:
    if(PING &0x02==1)
    ولی جواب نمیگیرم. به نظرتون مشکل از کجاست

    #2
    پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

    کسی نیست راهنماییم کنه؟ من واقعا کارم گیره همین مشکله. این همه استاد AVR داریم تو این انجمن، لطفا راهنماییم کنین تا کارم را بیافته. ممنون

    دیدگاه


      #3
      پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

      نوشته اصلی توسط mhm_004
      کسی نیست راهنماییم کنه؟ من واقعا کارم گیره همین مشکله. این همه استاد AVR داریم تو این انجمن، لطفا راهنماییم کنین تا کارم را بیافته. ممنون
      سلام دوست عزیز
      من خودم از روش شما استفاده کردم و یه خازن 3300میکرو گذاشتم.و خازن رو موازی کردم با رگولاتور .شما اومدی کارتو سختر کردی که از ADC استفاده کردی.ما اومدیم یه پایه میکرو رو بصورت مستقیم بهش ولتاژ اعمال کردیم (از قبل از رگولاتور گرفیتم).و این پایه رو ورودی تعریف کردیم( 1 ) . حالا اگر برق بره این پایه صفر میشه دیگه درسته؟؟.گفتیم اگر این پایه صفر شد برو فلان زیر برنامه رو بخون . زیر برنامه کارش چیه ؟؟تمام اطلاعات رو میرزه تو E2PROM ..حالا تو این مدت زمانی که برق قطع شده خازن برا چندلحظه (به ثابت زمانی خازن بستگی داره )تغذیه میکرو رو تامین میکنه و عمیلات ذخیره تو E2PROM اتفاق میافته .بعد اومدیم اول برنامه گفتیم .هر چیزی که ریختی داخلE2PROM حالا بیار و بده به ما.

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

      دیدگاه


        #4
        پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

        ممنون دوست عزیز
        متوجه شدم چیکار کردی، ولی تو استفاده از ADC مشکلی نیست. یعنی ADC رو به این خاطر استفاده کردیم که قبل از اینکه ولتاژ به 4 افت پیدا کنه میکرو متوجه بشه. مشکل اینجاست که خازن نمیتونه زمان لازم برای ذخیره 160 بایت اطلاعات رو در اختیار میکرو بذاره. شما چند بایت اطلاعات رو با خازن 3300 میکرو فاراد تو eeprom ذخیره کردین؟

        دیدگاه


          #5
          پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

          نوشته اصلی توسط mhm_004
          ممنون دوست عزیز
          متوجه شدم چیکار کردی، ولی تو استفاده از ADC مشکلی نیست. یعنی ADC رو به این خاطر استفاده کردیم که قبل از اینکه ولتاژ به 4 افت پیدا کنه میکرو متوجه بشه. مشکل اینجاست که خازن نمیتونه زمان لازم برای ذخیره 160 بایت اطلاعات رو در اختیار میکرو بذاره. شما چند بایت اطلاعات رو با خازن 3300 میکرو فاراد تو eeprom ذخیره کردین؟
          دقیق یادم نیست ولی در حد ذخیره شما نبود خیلی کمتر از این بود .شمانمیتونی خازن هم بیشتر کنی چون حجم مدار رو میگیره.مشکلی با اشغال شدن فضای برد نداری ؟
          یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

          دیدگاه


            #6
            پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

            شما چرا از یه باتری بکاپ استفاده نمی کنی که وقتی برق قطع شد میکرو از اون استفاده کنه؟! :agree:
            انا لله و انا اليه الراجعون

            دیدگاه


              #7
              پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

              نوشته اصلی توسط علیدلی
              دقیق یادم نیست ولی در حد ذخیره شما نبود خیلی کمتر از این بود .شمانمیتونی خازن هم بیشتر کنی چون حجم مدار رو میگیره.مشکلی با اشغال شدن فضای برد نداری ؟
              با حجم مدار مشکل زیادی ندارم. ولی اگه قرار باشه خازن رو زیاد کنم فکر کنم باید کلی خازن بذارم. چون وقتی با یه خازن 4700 میکرو فاراد میشه 8 9 بایت رو ذخیره کرد، برای ذخیره 160 بایت باید کلی خازن قرار داد.

              نوشته اصلی توسط شاهین شرق
              شما چرا از یه باتری بکاپ استفاده نمی کنی که وقتی برق قطع شد میکرو از اون استفاده کنه؟! :agree:
              باتری بکاپ یکی از گزینه هایی که میشه استفاده کرد ولی مشکلات خاص خودش رو داره. چون قراره داخل یک دستگاه صنعتی استفاده بشه باید وقتی باتری تموم شد، تعویض بشه که یه کم سخته.

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

              دیدگاه


                #8
                پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                نوشته اصلی توسط شاهین شرق
                شما چرا از یه باتری بکاپ استفاده نمی کنی که وقتی برق قطع شد میکرو از اون استفاده کنه؟! :agree:
                نظر شاهین خوبه :applause: :applause:
                شما بیا باتری شارژی بذار .مثلا 4 تا بذار.اگر 4تا بذاری حتی دیگه مدارت خاموش هم نمیشه .برا شارژش هم یه برنامه ساعت بنویس مثلا هر روز به مدت 20مدت دقیقه یه پایه رو فعال کنه و از طریق رله و تغذیه مدارت باتری رو شارژکن.چون همیشه نمیخای از این باتریها استفاده کنی بنابراین چندسال برات کار میکنه :nerd: :nerd:

                در ضمن این دکمه تشکرم بزنی من خیلی خوشحال میشم :redface: :redface: :redface: :icon_razz:
                یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                دیدگاه


                  #9
                  پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                  سلام
                  دوستان روش هاس خوبی پیشنهاد دادند
                  1- در خیلی از دستگاه های صنعتی نیز باطری وجود دارد شما چهار عدد باطری قلمی قابل شارژ و یا یک باطری 9 ولت قابل شارژ و یا دو عدد باطری موبایل بگذاری بعد از رفتن برق نیز کلی دستگاه کار خواهد کرد.

                  2- با استفاده از خازن
                  این خوبی و ارزان است فقط تغذیه میکرو را با یک دیود از بقیه مدار جدا کن سپس خارن را فقط به تغذیه میکرو وصل کن و یک پایه میکرو که اینتراپت است را به قبل از دیود وصل کن اگر ولتاژ کم شد اینتراپت فعال شود ( لبه پایین رونده فعال شود)
                  برای توضیح بهتر میتوانم بگویم که به پایه منفی آی سی رگولاتور 5 ولتت یه عدد دیود وصل کند بعد به زمین بزن تا تغدیه خروجی 5.6 ولت شود سپس خروجی رگولاتور را به دو دیود وصل کن آن طرف دیود ها یکی تغذیه کل مدار را میدهد و آن یکی هم فقط میکرو را
                  هر چقدر مصرف مدارت بالا نیز باشد خازن میکرو خالی نخواهد شد و میکرو به اندازه کافی زمان برای ذخیره و کارهای دیگر خواهد داشت
                  من خودم این کارها را کرده ام و خوب جواب گرفته ام

                  موفق باشید :applause:
                  کمتر سخن گویم
                  بیشتر عمل کنیم

                  دیدگاه


                    #10
                    پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                    می تونیم تکنیکی استفاده کنیم که مصرف باتری رو به حداقل برسونیم.
                    به این صورت که میکرو بعد ذخیره 160 بایت مسیر جریان باتری رو هم قطع کنه و دیگه باتری هم (در هنگام قطع برق) بی خودی استفاده نشه. :job:
                    انا لله و انا اليه الراجعون

                    دیدگاه


                      #11
                      پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                      نوشته اصلی توسط شاهین شرق
                      می تونیم تکنیکی استفاده کنیم که مصرف باتری رو به حداقل برسونیم.
                      به این صورت که میکرو بعد ذخیره 160 بایت مسیر جریان باتری رو هم قطع کنه و دیگه باتری هم (در هنگام قطع برق) بی خودی استفاده نشه. :job:
                      بنظرم بیا از مد POWER DOWN استفاده کن و وقتی برنامه ذخیره شد.دستور بده که میکرو به حالت POWER DOWN بره .و اینجوری میکرو که مغز مدار هست به خواب عمیق فرو میره
                      و جریانی مصرف نمیشه
                      یا به اندازه آرزوهایت تلاش میکنی یا به اندازه تلاشت ارزو میکنی

                      دیدگاه


                        #12
                        پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                        با سلام

                        برای ضبط نمودن یک بایت در eeprom

                        در حدود 10 میلی ثانیه زمان نیاز دارد.

                        برای 160 بایت باید 1600 میلی ثانیه = 1.6 ثانیه باید ولتاز تغذیه میکرو در محدوده مجاز برای نوشتن eeprom قرار گیرد.

                        با سپاس
                        گشتی در لاله زار
                        http://www.eca.ir/forum2/index.php?topic=76138.0

                        http://www.eca.ir/forum2/index.php?topic=76141

                        دیدگاه


                          #13
                          پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                          واقعا از دوستان ممنونم
                          نوشته اصلی توسط mpc

                          2- با استفاده از خازن
                          این خوبی و ارزان است فقط تغذیه میکرو را با یک دیود از بقیه مدار جدا کن سپس خارن را فقط به تغذیه میکرو وصل کن و یک پایه میکرو که اینتراپت است را به قبل از دیود وصل کن اگر ولتاژ کم شد اینتراپت فعال شود ( لبه پایین رونده فعال شود)
                          برای توضیح بهتر میتوانم بگویم که به پایه منفی آی سی رگولاتور 5 ولتت یه عدد دیود وصل کند بعد به زمین بزن تا تغدیه خروجی 5.6 ولت شود سپس خروجی رگولاتور را به دو دیود وصل کن آن طرف دیود ها یکی تغذیه کل مدار را میدهد و آن یکی هم فقط میکرو را
                          هر چقدر مصرف مدارت بالا نیز باشد خازن میکرو خالی نخواهد شد و میکرو به اندازه کافی زمان برای ذخیره و کارهای دیگر خواهد داشت
                          من خودم این کارها را کرده ام و خوب جواب گرفته ام

                          موفق باشید :applause:
                          میشه یه کم بیشتر توضیح بدید، یا اگه شماتیکی دارین بذارین برام. تو این دستگاه ما رگولاتور نداریم. چون مدارات جریان زیادی در حد 4 5 آمپر لازم دارن از یک منبع تغذیه که ورودیش 220 ولت هست و خروجیش 5 ولت استفاده میشه. یعنی رگولاتور نداریم. یه پایه مثبت داریم یه منفی. اگه بیشتر توضیح بدین ممنون میشم

                          نوشته اصلی توسط علیدلی
                          نظر شاهین خوبه :applause: :applause:
                          شما بیا باتری شارژی بذار .مثلا 4 تا بذار.اگر 4تا بذاری حتی دیگه مدارت خاموش هم نمیشه .برا شارژش هم یه برنامه ساعت بنویس مثلا هر روز به مدت 20مدت دقیقه یه پایه رو فعال کنه و از طریق رله و تغذیه مدارت باتری رو شارژکن.چون همیشه نمیخای از این باتریها استفاده کنی بنابراین چندسال برات کار میکنه :nerd: :nerd:

                          در ضمن این دکمه تشکرم بزنی من خیلی خوشحال میشم :redface: :redface: :redface: :icon_razz:
                          در
                          نوشته اصلی توسط شاهین شرق
                          می تونیم تکنیکی استفاده کنیم که مصرف باتری رو به حداقل برسونیم.
                          به این صورت که میکرو بعد ذخیره 160 بایت مسیر جریان باتری رو هم قطع کنه و دیگه باتری هم (در هنگام قطع برق) بی خودی استفاده نشه. :job:
                          در صورتی که نتونم از خازن جواب بگیرم این تنها راه خواهد بود. ممنون از راهنمایی هاتون

                          دیدگاه


                            #14
                            پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                            نوشته اصلی توسط mpc
                            برای توضیح بهتر میتوانم بگویم که به پایه منفی آی سی رگولاتور 5 ولتت یه عدد دیود وصل کند بعد به زمین بزن تا تغدیه خروجی 5.6 ولت شود سپس خروجی رگولاتور را به دو دیود وصل کن آن طرف دیود ها یکی تغذیه کل مدار را میدهد و آن یکی هم فقط میکرو را
                            هر چقدر مصرف مدارت بالا نیز باشد خازن میکرو خالی نخواهد شد و میکرو به اندازه کافی زمان برای ذخیره و کارهای دیگر خواهد داشت
                            فکر کنم منظورشون این جوری باشه
                            http://electronic289.persiangig.com/7805.gif

                            دیدگاه


                              #15
                              پاسخ : ذخیره اطلاعات در eeprom هنگام قطع تغذیه

                              همونجوری که دوستان گفتن شما باید 1.5 ثانیه مدارت روشن بمونه که زیاد سخت نیست.
                              اولین مشکل شما استفاده از adc برای فهمیدن قطع برقه. همونطور که میدونید خازن وقتی از 5 ولت به 4 ولت برسه حدود 20 درصد انژیش رو از دست داره و شما تا زمانی که ولتاژ به 3 ولت برسه وقت دارید کارتون رو انجام بدید که قطعه نمیشه.
                              1. باید همونطور که دوستمون گفتن مسیر 5 ولت اختصاصی برای میکرو درست کنید. طوری که انرژی خازن 4700 فقط فقط صرف میکرو بشه.
                              2. روش بهتری برای تشخیص قطع برق هست. شما باید از خروجی ترانس قبل از دیود پل یه اپتو بزارید که وجود برق رو به صورت پالسهای مربعی در خروجیش به میکرو بده. یا روشی مثل این. اندازه گیری ولتاژ تغذیه بینهایت غیر اصولیه.
                              3. موقع تشخیص قطع برق تمام پورتهای میکرو باید به حالت ورودی در بیان.
                              موفق باشید
                              بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
                              اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

                              دیدگاه

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