اطلاعیه

Collapse
No announcement yet.

کم شدن شارژ باتری در مدار میکرو کنترلری

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

    کم شدن شارژ باتری در مدار میکرو کنترلری

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

    #2
    نوشته اصلی توسط behzadbayat21 نمایش پست ها
    درود دوستان و مهندسان گرامی من یه مدار میکروکنترلری دارم که از آداپتور و باطری استفاده میکنه و فعلا با رله بین اینها سوییچ رو انجام میدم و وقتی برق آداپتور رو قطع میکنم باتری ها با دو ساعت کار کردن شارژشون کم میشه ولتاژ آداپتور 6 ولت ولتاژ باطری ها 7.5 ولت (5 تا باتری قلمی غیر شارژی) که توسط یک رگولاتور 5 ولتی رگوله میشن حالا 2 تا سوال :
    1 - ممکنه رگولاتور باعث این تخلیه باتری باشه و اگر نه پس چی میتونه باشه
    2 - راه های کاهش مصرف باتری در اینگونه مدارات و افزایش عمر باتری چی هستش
    درود،
    مسلما قطعه ای که در شرایط قطع آداپتور جریان اضافی می‌کشه ، توان مصرف شده رو به شکل گرما منتشر می‌کنه و از داغ شدن هر قطعه ای میشه تشخیص داد کدوم قطعه جریان کشی اضافی انجام میده.
    موقع قطع بودن آداپتور دقیقا چه قطعاتی از باتری تغذیه میکنن؟

    دیدگاه


      #3
      نوشته اصلی توسط HS1386 نمایش پست ها

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

      مد sleep میکرو میتونه مصرفو خیلی کاهش بده مثلا 80حدود درصد؟

      دیدگاه


        #4
        رگولاتور 7805 و چند تا خازن الکترولیتی و عدسی و میکرو و یک سنسور با ارتباط i2c و یک l293 که به سلنویید وصله البته سلونویید پالسی هست و فقط بعضی مواقع در حد 30 میلیثانیه بهش برق وصل میشه

        دیدگاه


          #5
          نوشته اصلی توسط behzadbayat21 نمایش پست ها
          رگولاتور 7805 و چند تا خازن الکترولیتی و عدسی و میکرو و یک سنسور با ارتباط i2c و یک l293 که به سلنویید وصله البته سلونویید پالسی هست و فقط بعضی مواقع در حد 30 میلیثانیه بهش برق وصل میشه
          خب اینها که مصرف جریان خاصی ندارن جز L293 که البته مصرف جریانش اینقدر ها هم بالا نیست !
          راه حلی که می‌تونه باعث کمتر شدن مصرف بشه فرکانس میکروکنترلر رو کمتر کنید ، مثلا اگر الان با ۸ مگاهرتز کار می‌کنه ۱ مگاهرتز کنید .
          البته در صورتی موثر هست که میکروکنترلر مقصر این جریان کشی باشه.
          احیانا نمایشگری در مدارتون استفاده نکردید؟

          دیدگاه


            #6
            نوشته اصلی توسط HS1386 نمایش پست ها

            خب اینها که مصرف جریان خاصی ندارن جز L293 که البته مصرف جریانش اینقدر ها هم بالا نیست !
            راه حلی که می‌تونه باعث کمتر شدن مصرف بشه فرکانس میکروکنترلر رو کمتر کنید ، مثلا اگر الان با ۸ مگاهرتز کار می‌کنه ۱ مگاهرتز کنید .
            البته در صورتی موثر هست که میکروکنترلر مقصر این جریان کشی باشه.
            احیانا نمایشگری در مدارتون استفاده نکردید؟
            متشکرم از راهنماییاتون میکرو 8 مگه فرکانسش کمش میکنم و نمایشگر هم ندارم البته برنامش هست ولی به مدار وصلش نکردم و تست ولتاژ گرفتم
            من فقط استفاده از مدهای sleep به ذهنم رسید ولی با توجه به راهنمایی شما فرکانسشم کم میکنم
            روی برد بورد یه میکرو مگا8 گذاشتم و یه برنامه ساده دادم بهش که مثلا adc رو بخونه و ولتاژو اندازه گرفتم بازم مصرفش زیاد بود تقریبا هر دقیقه 15 میلی ولت مصرف میکرد و از اونجایی که باطری 7.5 ولت می ده و وقتی به حدود 5 میرسه دیگه مدار درست کار نمیکنه یعنی فقط به اندازه 2.5 ولت افت ولتاژ میتونیم داشته باشیم که میشه تقریبا 166 دقیقه کار معادل حدود 2.5 ساعت
            با این تفاسیر فکر میکنم مصرف کننده اصلیمون میکروعه

            دیدگاه


              #7
              نوشته اصلی توسط behzadbayat21 نمایش پست ها

              متشکرم از راهنماییاتون میکرو 8 مگه فرکانسش کمش میکنم و نمایشگر هم ندارم البته برنامش هست ولی به مدار وصلش نکردم و تست ولتاژ گرفتم
              من فقط استفاده از مدهای sleep به ذهنم رسید ولی با توجه به راهنمایی شما فرکانسشم کم میکنم
              روی برد بورد یه میکرو مگا8 گذاشتم و یه برنامه ساده دادم بهش که مثلا adc رو بخونه و ولتاژو اندازه گرفتم بازم مصرفش زیاد بود تقریبا هر دقیقه 15 میلی ولت مصرف میکرد و از اونجایی که باطری 7.5 ولت می ده و وقتی به حدود 5 میرسه دیگه مدار درست کار نمیکنه یعنی فقط به اندازه 2.5 ولت افت ولتاژ میتونیم داشته باشیم که میشه تقریبا 166 دقیقه کار معادل حدود 2.5 ساعت
              با این تفاسیر فکر میکنم مصرف کننده اصلیمون میکروعه
              فکر کنم منظورتون 15 میلی آمپر هست.
              مشخص هست که هر چقدر فرکانس کلاک میکروکنترلر کمتر بشه ، جریان کشی هم کمتر میشه.

              دیدگاه


                #8
                درود دوباره
                دوستان من در ادامه کم مصرف کردن میکرو به این نتیجه رسیدم که از مد power-down استفاده کنم
                در توضیحات این مد اومده که :

                -وقفه های خارجی، 2wireو WATCHDOG اگر فعال شده باشند به عملیاتشان ادامه می دهند.
                ​من با بخش 2wire کار دارم
                سنسور من از این نوع هست و میخوام ببینم این که نوشته بخش i2c کار میکنه تو این مد به این معنی هست که من مقادیر رو از رجیستر های سنسور بخونم و روی متغیرهام ذخیره کنم و در صورتی که خواستم میکرو رو با توجه به مقدار متغیر ها بیدار کنم ؟ و این پروسه میتونه در زمان خواب میکرو بارها انجام بشه؟

                دیدگاه


                  #9
                  نوشته اصلی توسط behzadbayat21 نمایش پست ها
                  درود دوباره
                  دوستان من در ادامه کم مصرف کردن میکرو به این نتیجه رسیدم که از مد power-down استفاده کنم
                  در توضیحات این مد اومده که :

                  -وقفه های خارجی، 2wireو WATCHDOG اگر فعال شده باشند به عملیاتشان ادامه می دهند.
                  ​من با بخش 2wire کار دارم
                  سنسور من از این نوع هست و میخوام ببینم این که نوشته بخش i2c کار میکنه تو این مد به این معنی هست که من مقادیر رو از رجیستر های سنسور بخونم و روی متغیرهام ذخیره کنم و در صورتی که خواستم میکرو رو با توجه به مقدار متغیر ها بیدار کنم ؟ و این پروسه میتونه در زمان خواب میکرو بارها انجام بشه؟
                  شاید مطالب این تاپیک بتونه کمکتون کنه :




                  پ

                  دیدگاه


                    #10
                    درود دوباره
                    با اجازه از مهندسین و قدیمیهای سایت میخواستم برای افراد مبتدی چند تا از تجربه های کاهش مصرفو که به عنوان یه غیر حرفه ایی بدست آوردمو بگم شاید بدرد بقیه دوستان بخوره
                    1 اولیش که خیلی مهم بود استفاده از رگولاتورهای ldo با خروجی جریان متناسب با مدار شما برای به دست آوردن مقدار مناسبش هم یک آمپرمتر بین خروجی رگولاتور و ورودی تغذیه مدار میزاریم تا جریان مصرفی رو بدست بیارریم بعد به نسبت اون رگولاتور مناسب رو انتخاب میکنیم
                    2 برنامه میکرو باید تغییرات اساسی بکنه مثلا بهتره فرکانس میکرو تا حد زیادی که به کارتون صدمه نزنه بیاد پایین و میکرو رو در حالت بیکاری در مد powerdown ببریم و با وقفه بیدارش کنیم و اینکه ت میشه برنامه رو خلاصه کنیم و با کمک ساب روتین ها کدهای تکراری رو دوباره نویسی نکنیم
                    3 از خازن خوب در تغذیه استفاده کنیم یه تجربه عجیب من این بود که در بخش خروجی رگولاتور از خازن smd تانتالیوم استفاده کردم و مصرفم میلی آمپری بود بعدش که بهش شک کردم و خارجش کردم از مسیر تغذیه مصرف میکرو آمپری شد البته از مهندسین عزیز میخوام اگه اطلاعی از نحوه انتخاب خازن مناسب برای مدارات باتری دار دارن در اختیار من و بقیه دوستان بزارن
                    4 از سنسورهایی در مدار استفاده کنید که برای مصرف بهینه طراحی شده اند مثلا من از یه سنسور ارتباط i2c استفاده کردم که تو دیتاشیتش یه بخش زیادی در مورد نحوه کم کردن مصرف سنسور داده بود
                    5 در بخشهایی از مدار که به وقفه زمانی چند ثانیه یا بیشتر احتیاج دارید بجای استفاده از wait از مد idel مثلا و تایمر استفاده کنید
                    6 تا میتونید از led ها و نمایشگرها دوری کنید چون خیلی مصرف میکنن یا در یه زمان معین خیلی کم به صورت اطلاع دادن با چشمک زدن استفاده کنید که led روشن نمونه

                    از دوستان مهندس خواهش میکنم که هر چیز دیگه ایی که به ذهنشون میرسه اضافه کنن

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

                    دیدگاه


                      #11
                      نوشته اصلی توسط behzadbayat21 نمایش پست ها
                      و یه خواهش از دوستان من هر چقدر سعی کردم که در بسکام کدی پیدا کنم که ماژولهای میکرو رو که احتیاج ندارم مثل adc و بقیه رو خاموش کنم که کلاکشون متوقف بشه و مصرف برق کمتر بشه چیزی پیدا نکردم اگه چیزی میدونید لطفا راهنمایی کنید
                      کلاک میکرو حین کار تغییر نمیکنه پس سعی کن بسته به نیازت کلاک و ولتاژ کاری میکرو انتخاب کنی تا اتلاف توان پایین بیاد.مثلا بجای 5 ولت از ولتاژ 3.3ولت برای میکرو استفاده کن و میکرو در حالت بیکاری به مد کم مصرف ببر و بسته به نیازت تو بازه زمانی دلخواه میکرو از حالت توان پایین خارج کن و مقدار سنسور رو بخون و دوباره به حالت مد توان پایین ببر.این کار توان مصرفی رو بصورت قابل توجهی کم میکنه
                      مدهای کاهش توان رو بسته به نیازت باید انتخاب کنی.
                      اگه در حالت استفاده از باتری هستی خودت میتونی قبل از بردن میکرو به حالت کاهش توان بخشهای غیر ضروری و غیرلازم رو غیر فعال کنی .سخت نیست و فرقی نداره با چه زبانی کد مینویسی برای مثال به همین صورت که در اول برنامه ADC رو فعال میکنی در حالت استفاده از باتری میتونی ADC رو غیرفعال کنی و مصرف توان رو پایین بیاری و موقع استفاده از اداپتور دوباره ADC رو فعال کنی.این مسئله در مورد همه پریفرالها و ماژول های داخلی هست حتی میتونی تو این حالت مقدار پورتها رو ورودی کنی تا ولتاژی روی پورت نباشه که باعث اتلاف توان بشه.
                      نکته مهمتر اینه که درایور L293 قسمت 5ولت راه انداز داخلیش مصرف جریان بالایی داره و طبق تجربه ای که خودم داشتم در حالت غیرفعال بودن همه ورودی و خروجی هاش 10میلی امپر جریان ثابت مصرف میکنه و در صورت 1 بودن پین Enable بالای 30 میلی امپر جریان مصرفی داره.


                      دیدگاه


                        #12
                        نوشته اصلی توسط saeiddiod نمایش پست ها
                        کلاک میکرو حین کار تغییر نمیکنه پس سعی کن بسته به نیازت کلاک و ولتاژ کاری میکرو انتخاب کنی تا اتلاف توان پایین بیاد.مثلا بجای 5 ولت از ولتاژ 3.3ولت برای میکرو استفاده کن و میکرو در حالت بیکاری به مد کم مصرف ببر و بسته به نیازت تو بازه زمانی دلخواه میکرو از حالت توان پایین خارج کن و مقدار سنسور رو بخون و دوباره به حالت مد توان پایین ببر.این کار توان مصرفی رو بصورت قابل توجهی کم میکنه
                        مدهای کاهش توان رو بسته به نیازت باید انتخاب کنی.
                        اگه در حالت استفاده از باتری هستی خودت میتونی قبل از بردن میکرو به حالت کاهش توان بخشهای غیر ضروری و غیرلازم رو غیر فعال کنی .سخت نیست و فرقی نداره با چه زبانی کد مینویسی برای مثال به همین صورت که در اول برنامه ADC رو فعال میکنی در حالت استفاده از باتری میتونی ADC رو غیرفعال کنی و مصرف توان رو پایین بیاری و موقع استفاده از اداپتور دوباره ADC رو فعال کنی.این مسئله در مورد همه پریفرالها و ماژول های داخلی هست حتی میتونی تو این حالت مقدار پورتها رو ورودی کنی تا ولتاژی روی پورت نباشه که باعث اتلاف توان بشه.
                        نکته مهمتر اینه که درایور L293 قسمت 5ولت راه انداز داخلیش مصرف جریان بالایی داره و طبق تجربه ای که خودم داشتم در حالت غیرفعال بودن همه ورودی و خروجی هاش 10میلی امپر جریان ثابت مصرف میکنه و در صورت 1 بودن پین Enable بالای 30 میلی امپر جریان مصرفی داره.

                        کوکامی مهندس خیلی لطف کردی
                        بله من اینو فراموش کردم بگم فیوزبیت میکرو رو روی 2.7 ولت گذاشتم و از ولتاژ تغذیه 3.3 ولتی دارم استفاده میکنم
                        و درایور l293 هم داشتم که الان با یه درایور l9110 که smd هست جایگزینش کردم البته هنوز تست مقدار جریان مصرفی نگرفتم ازش

                        دیدگاه


                          #13
                          درود بر دوستان و مهندسین گرامی
                          من مصرف مدارمو حدودا به میانگین 350 میکرو آمپر رسوندم ولی بازم باید کمش کنم البته حدودا 200 میکرو آمپرش مصرف سنسورمه
                          یه چیزی توی دیتاشیت سنسور دیدم نوشته بود در حالت اسلیپ مصرف به 10 میکرو آمپر میرسه
                          حالا میخوام که سنسور هر یک ثانیه یک بار از مد اسلیپ خارج بشه محیطو اسکن کنه دوباره بخوابه​
                          ولی برای بیرون آوردن از حالت اسلیپ فقط یه راه حل داده اونم ارسال دستور استارت روی خط i2c هستش
                          در حالی که میکرو ما خودش در حالت powerdown هست و با وقفه ایی که سنسور میفرستاد تازه روشن میشد

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

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

                          دیدگاه


                            #14
                            سلام دوستان لطفا راهنمایی کنید ????????
                            در مداری که طراحی شده وقتی باتری ولتاژش به حدود 5 ولت میرسه مدار درست کار نمیکنه
                            حالا من مجبورم مکانیزمی پیاده کنم که وقتی ولتاژ به 5 ولت رسید مدار رو غیر فعال کنه که خطایی پیش نیاد
                            دوتا راه به ذهنم رسید یک استفاده از adc میکروعه و دو استفاده از مدار مقایسه کننده
                            از اونجایی که مصرف باتری برامون خیلی مهمه خواستم ببینم کسی میدونه کدوم راه حل مصرف کمتری داره یا اینکه راه دیگه ایی میتونه پیشنهاد بده
                            پیشاپیش تشکر میکنم از توجهتون ????????

                            دیدگاه


                              #15
                              نوشته اصلی توسط behzadbayat21 نمایش پست ها
                              سلام دوستان لطفا راهنمایی کنید ????????
                              در مداری که طراحی شده وقتی باتری ولتاژش به حدود 5 ولت میرسه مدار درست کار نمیکنه
                              حالا من مجبورم مکانیزمی پیاده کنم که وقتی ولتاژ به 5 ولت رسید مدار رو غیر فعال کنه که خطایی پیش نیاد
                              دوتا راه به ذهنم رسید یک استفاده از adc میکروعه و دو استفاده از مدار مقایسه کننده
                              از اونجایی که مصرف باتری برامون خیلی مهمه خواستم ببینم کسی میدونه کدوم راه حل مصرف کمتری داره یا اینکه راه دیگه ایی میتونه پیشنهاد بده
                              پیشاپیش تشکر میکنم از توجهتون ????????
                              سلام مجدد، به نظر علت این مشکل، افت ولتاژ رگولاتور هست ، که وقتی ولتاژ باتری به 5 میرسه خروجی رگولاتور به زیر 4 ولت میرسه.
                              یک راه حل خوب این هست که از Brown Out Detect میکروکنترلر استفاده کنید.
                              اگر بخواهید از آپ امپ استفاده کنید ، در نظر داشته باشید که اکثر آیسی های آپ امپ تا 1 میلی آمپر و حتی بیشتر مصرف دارن که فکر نکنم همچین چیزی بخواید.

                              دیدگاه

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