اطلاعیه

Collapse
No announcement yet.

کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

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

    #16
    پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

    نوشته اصلی توسط حامد رحیمی
    اگه تو این حالت میکرو بمونه ممکنه مشکلی براش پیش بیاد چقد ریست میشه مگه ؟؟؟ :eek: :eek:
    اره یه چاره توپ هست براش استفاده از رگلاتور های با قابلیت خاموشی خودکار مثل lm2576
    نه عزیز
    فکر نکنم که مشکلی پیش بیاد ...
    همون که آقا روح الله گفتند
    این کار رو بکنید اگر جواب نگرفتید بعدا برید سراغ راه حل دیگه ...
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #17
      پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

      دوست عزیز، مشکل از تغذیه مدار شماست. به نوع میکروکنترلر مربوط نمیشه. فیوز بیت های بحث شده هم، فقط میکرو رو ریست می کنند. عاقلانه نیست که وسطِ کار یه دستگاه، هِی فرت و فرت ریست بشه!
      یه چاره ای برای تغذیه تون بیاندیشید. معمولاً بهتره که تغذیه میکروکنترلر جدا از مدارات رله و سیمپیچ و اینا تأمین بشه. حتماً رله ها و سیم پیچ ها دیود هرزرگرد داشته باشند. هیچ وقت تغذیه سیم پیچ ها رو از 5 ولت میکروکنترلر تأمین نکنید! در بدترین حالت، شما باید دو تا رگولاتور ولتاژ داشته باشید که یکیش مختص میکروکنترلره. در همه جای تغذیه مدار (قبل و بعد از رگولاتورها) خازن ها الکترولیت و تانتالیوم مرغوب استفاده کنید. همه پایه های تغذیه میکروکنترلر خازن 100nF داشته باشه.
      حتماً پایه ریست میکروکنترلر رو با یه مقاومتِ کم Pull-up کنید و با یه خازن کمتر از 1uF به زمین وصل کنید.
      این کارا رو انجام بدید تا ببینید هیچ سیم پیچِ دربازکنی نمی تونه میکروی شما رو ریست کنه!
      بیایید با Google آشتی کنیم!

      دیدگاه


        #18
        پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

        سلام رفقا،
        من هم یه مشکلی با ایپرام دارم... مدار من یه میکروی Atmega128 داره، و یه ایپرام خارجی.... در زمان عملکرد مدار یه سری داده به طور مداوم در ایپرام خارجی ثبت می شه... من برای اینکه آدرس بعدی خانه حافظه ایپرام خارجی رو گم نکنم یه متغییر ایپرام درز میکرو تعریف کردم:
        eeprom int address

        حالا موضوع اینه که انگار گاهی وقتها که تغذیه وسط کار قطع می شه متغیز آدرس هم صفر می شه! طبق مطالبی که توی انجمن خوندم یه مسئله ی دیگه که باید در نظر می گرفتم این هست که به طور مداوم یه متغیر ایپرام رو پدیت نکنم و ابتدا اون رو در رم ذخیره و در انتها متغیر ایپرام رو پدیت کنم.... اما نمی دونم چه طور اینکار رو انجام بدم...
        صحبت از Brown out شده، آیا وقتی کاهش سطح ولتاژ تشخیص داده بشه... من می تونم یه روتین برنامه رو اجرا کنم تا اطلاعات موجود در حافظه رم رو به ایپرام انتقال بدم؟ چه طوری؟

        و موضوع بعدی اینکه برای پاک کردن حافظه ایپرام خارجی، آیا این کافیه که توی هر خونه حافظه 0 نوشته بشه؟ یا باید 255 نوشته بشه؟

        با سپاس از راهنمایی های ارزنده شما
        همیشه بزرگوار تر از آن باشید که برنجید
        و نجیب تر از آن باشید که برنجانید!

        دیدگاه


          #19
          پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

          نوشته اصلی توسط جعفری
          سلام رفقا،
          من هم یه مشکلی با ایپرام دارم... مدار من یه میکروی Atmega128 داره، و یه ایپرام خارجی.... در زمان عملکرد مدار یه سری داده به طور مداوم در ایپرام خارجی ثبت می شه... من برای اینکه آدرس بعدی خانه حافظه ایپرام خارجی رو گم نکنم یه متغییر ایپرام درز میکرو تعریف کردم:
          eeprom int address

          حالا موضوع اینه که انگار گاهی وقتها که تغذیه وسط کار قطع می شه متغیز آدرس هم صفر می شه! طبق مطالبی که توی انجمن خوندم یه مسئله ی دیگه که باید در نظر می گرفتم این هست که به طور مداوم یه متغیر ایپرام رو پدیت نکنم و ابتدا اون رو در رم ذخیره و در انتها متغیر ایپرام رو پدیت کنم.... اما نمی دونم چه طور اینکار رو انجام بدم...
          صحبت از Brown out شده، آیا وقتی کاهش سطح ولتاژ تشخیص داده بشه... من می تونم یه روتین برنامه رو اجرا کنم تا اطلاعات موجود در حافظه رم رو به ایپرام انتقال بدم؟ چه طوری؟

          و موضوع بعدی اینکه برای پاک کردن حافظه ایپرام خارجی، آیا این کافیه که توی هر خونه حافظه 0 نوشته بشه؟ یا باید 255 نوشته بشه؟

          با سپاس از راهنمایی های ارزنده شما
          من BOR بلد نیستم. ولی یه چیزی میگم شاید به درد بخوره.
          چرا عددِ آدرس حافظه که لازمش داری رو تو خودِ EEPROM خارجی نمی نویسی؟! کلاً میشه 2-3 بایت. هان؟!
          دقت داشته باش که EEPROM داخلی میکروکنترلرها یکم کُند هستند. حدود 5-10 میلی ثانیه طول می کشه یه عدد تو یه خونه ش بنویسی! ولی EEPROM خارجی سریعتره، تعداد دفعات نوشتنش هم 10 تا 100 برابر میکروکنترلره.
          بیایید با Google آشتی کنیم!

          دیدگاه


            #20
            پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

            سلام آقای رستمی، ممنون از راهنمایی اتون... آره به نظر میاد بهترین کار همینه
            الان می خواستم برنامه رو تغییر بدم...
            ولی کلا باید یه فکر اساسی برای این موضوع کنم چون مداری که دارم مدام در حال نوشتن و خوندن از ایپرام هست یعنی آدرس حافظه مدام باید پدیت بشه که این خودش ممکنه مسئله ساز بشه...
            یه سوال دیگه هم پرسیده بودم، برای پاک کردن ایپرام باید 0xff رو توی خونه ها بنویسم؟
            با سپاس
            همیشه بزرگوار تر از آن باشید که برنجید
            و نجیب تر از آن باشید که برنجانید!

            دیدگاه


              #21
              پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

              نوشته اصلی توسط جعفری
              سلام آقای رستمی، ممنون از راهنمایی اتون... آره به نظر میاد بهترین کار همینه
              الان می خواستم برنامه رو تغییر بدم...
              ولی کلا باید یه فکر اساسی برای این موضوع کنم چون مداری که دارم مدام در حال نوشتن و خوندن از ایپرام هست یعنی آدرس حافظه مدام باید پدیت بشه که این خودش ممکنه مسئله ساز بشه...
              یه سوال دیگه هم پرسیده بودم، برای پاک کردن ایپرام باید 0xff رو توی خونه ها بنویسم؟
              با سپاس
              نگران نباش. برای AT24Cxx تا یک میلیون بار می تونی توش بنویسی. تا 100 سال هم برات داده ها رو نگه میداره
              حالا مگه چند بار در ثانیه قراره توی حافظه خارجی چیزی بنویسی؟
              پاک کردنِ حافظه معمولاً معادل قرار گرفتن 0xFF هست. البته اگه چند مرتبه روش می نویسی، نیازی به پاک کردن نداره. همیشه آخرین عدد معتبره.
              بیایید با Google آشتی کنیم!

              دیدگاه


                #22
                پاسخ : کاهش ولتاژ و توقف اجرا ی خطوط نرم افزاری (هنگ کردن میکرو)

                نوشته اصلی توسط محمد رستمی
                نگران نباش. برای AT24Cxx تا یک میلیون بار می تونی توش بنویسی. تا 100 سال هم برات داده ها رو نگه میداره
                حالا مگه چند بار در ثانیه قراره توی حافظه خارجی چیزی بنویسی؟
                پاک کردنِ حافظه معمولاً معادل قرار گرفتن 0xFF هست. البته اگه چند مرتبه روش می نویسی، نیازی به پاک کردن نداره. همیشه آخرین عدد معتبره.
                حقیقتش من از AT24C512 استفاده کردم که توی دیتاشیتش نوشته 100 هزار باز قابلیت رایت شدن داره. من در روز حدودا 250 باری این آدرس و تغییر می دم... حدودا یک سالی پاسخ گو هست... ولی من دوست داشتم مدارم گارانتی مادام العمر داشته باشه!!! :mrgreen:

                با سپاس دوست عزیز
                همیشه بزرگوار تر از آن باشید که برنجید
                و نجیب تر از آن باشید که برنجانید!

                دیدگاه

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