Перейти к содержанию

минимизация потребления stm32l151rct6


COKPOWEHEU

Рекомендуемые сообщения

Захотелось сделать устройство с минимальным потреблением. Первоначально хотел попробовать на f103, но глянул в даташит и ужаснулся: в любом режиме сна у него потребление больше, чем у AVR-ок. Ну хорошо, в standby сравнимо, но этот режим мне не подходит. Поискал аналоги, вроде бы серия L1 больше подходит для автономных устройств. Да еще там есть вкусности вроде сенсорных кнопок и управления ЖКИ (не то чтобы необходимо, но поиграться стоит).

Собрал макетную плату с высокочастотным (8 МГц) и низкочастотным (32768) кварцами, стабилизатором, кнопками и светодиодами (из кода понятно что где висит). Запускаю RTC с пробуждением раз в секунду (в финальном устройстве просыпаться будет еще чаще) и пытаюсь увести в режим stop. Но вместо потребления в единицы микроампер получаю пол-миллиампера. Либо я какую-то периферию не отключил (да я их и не включал вроде...), либо как-то неправильно увожу в сон (вроде все по даташиту...), либо лыжи не едут.

Вот ключевые моменты кода (остальное во вложении):

void enable_btn(){
  RCC->AHBENR |= RCC_AHBENR_GPIOBEN;
  GPIO_config(JBTN); //настройка на вход с минимальной скоростью, без подтяжке
}

void disable_all(){
  GPIOA->MODER = 0xFFFFFFFF; //all to analog in
  GPIOB->MODER = 0xFFFFFFFF; //all to analog in
  GPIOC->MODER = 0xFFFFFFFF; //all to analog in
  GPIOD->MODER = 0xFFFFFFFF; //all to analog in
  
  GPIOA->OSPEEDR = 0; //all to low speed (наверное, неважно)
  GPIOB->OSPEEDR = 0; //all to low speed (наверное, неважно)
  GPIOC->OSPEEDR = 0; //all to low speed (наверное, неважно)
  GPIOD->OSPEEDR = 0; //all to low speed (наверное, неважно)
  
  GPIOA->OTYPER &=~ 0x0000FFFF;
  GPIOB->OTYPER &=~ 0x0000FFFF;
  GPIOC->OTYPER &=~ 0x0000FFFF;
  GPIOD->OTYPER &=~ 0x0000FFFF;
  
  RCC->AHBENR &=~ (RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOCEN | RCC_AHBENR_GPIODEN);
  clock_MS();
}

void go_sleep(){
  RCC->APB1ENR |= RCC_APB1ENR_PWREN;//вкл тактирование PWR
  SCB->SCR |= SCB_SCR_SLEEPDEEP; //для M3 разрешаем sleepdeep
  PWR->CR &=~PWR_CR_PDDS;//выбираем режим Power Down Deepsleep
  PWR->CR &=~PWR_CR_CWUF ; //очищаем wakeup flag
  PWR->CR |= PWR_CR_LPSDSR; //уменьшаем voltage regulator
  __WFI();
}
...
//когда нужно заснуть
disable_all();
go_sleep();
enable_btn();

Пробовал совсем не переключаться с MSI на HSE, это влияет только на рабочий режим, во сне как было 500 мкА так и остается.

L1_sleep.rar

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

56 минут назад, Yurkin2015 сказал:

Это стабилизатор жрёт 500мкА.

Если бы все было так просто. Ток-то я меряю после него

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Код я привел. Все выводы настраиваются как аналоговые входы, даже те, что под JTAG используются. Внешней обвязки тоже нет, максимум проводки сантиметров по 5 от силы.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

F-ки никак не подходят для малопотребляющих устройств. В сторону L-ек мысль была совершенно правильная

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Читал и раньше.

Попробовал еще несколько комбинаций:

- переключение выводов в Digital input + pull-up вместо analog input: потребление растет

- запуск часов от LSI вместо LSE: потребление практически не меняется. Возможно, только на фоне общего потребления в пол-миллиампера, а в абсолютных величинах будет заметнее.

- бит PWR_CR_ULP (внутренняя опора для аналоговых блоков?) : потребление немного снижается.

Последняя надежда что недостаточно очистил плату и идут утечки по налипшей гадости. Я ее, конечно, отмывал в спирте, но мало ли. Попробую еще в керосине, ацетоне и прочих растворителях.

Кстати, кто-нибудь знает чем можно удалить остатки цианакрилата? В инете пишут что ацетоном, диметилсульфоксидом и теплой водой (wtf?). Пока лучше тонких проволочек и бритвенного лезвия лучшего способа не нашел.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Какие ресурсы и сколько нужны в проекте? Какая периферия будет в обвязке? Бюджет платы?

Потому как помимо устаревшей STM32L152 у того же STM есть и другие LP серии, включая STM32L0 и STM8L0, а есть еще и TI со своей MSP430.

На STM8 делал проект газового счётчика, на измерении вихрей Кармана, со средним потреблением 8мкА, по 3.3В. И это с измерительным обвесом и LCD индикатором.

 

Ссылка на комментарий
Поделиться на другие сайты

Никаких чудес. В основном цель - потыкать режим сна в ARMах длинной палочкой. 5 мкА потребления бы вполне устроили. Внешняя периферия это отдельный вопрос, ее стоит рассматривать индивидуально.

Пока что удалось выжать 20-30 мкА, но это просыпаясь каждые 100 мс. В принципе, уже неплохо, хотя могло бы быть лучше. Оказалось, косяк в цикле main. Сейчас под рукой нет рабочего варианта чтобы выложить. Да вроде никому он тут и не нужен кроме меня.

В 11.05.2019 в 23:27, COKPOWEHEU сказал:

Кстати, кто-нибудь знает чем можно удалить остатки цианакрилата? В инете пишут что ацетоном

не врут! Ацетон полностью удалил следы клея, да еще и кнопку в придачу. Справедливости ради, все остальные компоненты уцелели, даже пластиковые разделители для гребенок.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Ацетон это жёстко. Тогда уж и толуол можно было опробовать. Читал, что раствор димексида (есть в аптеках и в его составе диметилсульфоксид ) размягчает почти все цианакрилаты.

 

Ссылка на комментарий
Поделиться на другие сайты

димексид тоже пробовал, не так впечатлил. Даже нашел "удалитель клея", но уж больно густой оказался, для удаления клея из-под микросхемы бесполезно. А что "жестко"? Оно сработало, разве что кнопка пострадала, но не жалко. Не так много на плате нежных компонентов, которым ацетон повредит.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...