РЕЗУЛЬТАТ ИЗ ДАТАШИТА БЫЛ ПОЛУЧЕН!!! Если выпаять светодиод то в замен скорее всего придется запаять новый.А резистор в цепи светодиода можно хоть 20 рас выпаивать и запаивать он более живучий . Логичнее было выпаять резистор, что и было сделано.
Можно сделать проще. Один замер с не отключенными диодами обоими. Второй замер с отключенным PC13. Разница покажет ток потребления одного диода. Потом просто отнять от показания амперметра ток потребления второго диода. И не надо паять лишний раз смд компоненты.
Попробовал на Nucleo STM32F103RB в режиме Standby на HALе также 23 мА и мерею третьим прибором. А вот если использовать твой код то Кейл ругается на строчку с SCB->SCR |= SCB_SCR_SLEEPDEEP - он ее не находит, а именно - SCB_SCR_SLEEPDEEP, использовать твой код нельзя. Кейл 5 со всеми обновлениями библиотек.
Да, дело в дефайнах при использовании HAL, подстава от них. Твоего кода не было в комментариях, я сам писал и сравнивал с Reference Manual, файлами stm32f1xx_hal_pwr.c и core_cm3.h. Вот работающий код при использовании HAL: RCC->APB1ENR |= RCC_APB1ENR_PWREN; SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; PWR->CR |= PWR_CR_PDDS; PWR->CR |= PWR_CR_CWUF ; PWR->CSR |= PWR_CSR_EWUP; __WFE(); // или WFI, кому что нужно
Здравствуйте! При использовании Standby режима обязательн должно тактирование от внутреннего резонатора быть? У меня с внешним почему то не выходит из pwrdwn
ЛИБО LSE 32.768 kHz ЛИБО LSI внутернний www.st.com/content/ccc/resource/technical/document/application_note/ff/0a/dc/d2/5e/f5/4b/5a/CD00171691.pdf/files/CD00171691.pdf/jcr:content/translations/en.CD00171691.pdf
After each wakeup from Standby mode, the STM32F10xxx restarts from the reset state. Я не знаю логику вашей программы если контроллер заснул GPIO, RTC настроены ,а LSE или LSI не работают то по часам он уже не проснется.На вашем месте я бы включил отладку по моему можно активировав соответствующий регистр посмотреть че у вас работает а че нет. DBGMCU->CR |= (DBGMCU_CR_DBG_SLEEP | DBGMCU_CR_DBG_STOP | DBGMCU_CR_DBG_STANDBY); // // Debug Sleep Mode + Stop Mode + Standby mode
Спасибо! Моя ошибка была что я не включал RTC .... теперь все работает исправно, долго вам приходилось изучать STM32 ? Мне после 8 битников немного тяжко, но HAL библиотеки спасают
@@ElectroHobby1 вот мой код //enable the PWR control clock RCC->APB1ENR |= RCC_APB1ENR_PWREN; //setSLEEPDEEP bit of Cortex System Control Register SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; //select standby mode PWR->CR |= PWR_CR_PDDS; //clear wake up flag PWR->CR |= PWR_CR_CWUF; //enable wake up pin PWR->CSR |= PWR_CSR_EWUP; __DSB(); /* Ensure effect of last store takes effect */ //request wait for interrupt __WFI();
@@uawhisper вроде все правильно.Нужно смотреть в отладчике может чего не включилось. Я бы проект еще ваш посмотрел целиком если он под Keil. Я постараюсь поискать проект но навряд ли найду (в понедельник). Возможно скоро будет переиздание старых роликов так так возможно они уже не работают.
Посмотри вторую часть видео не последнюю) ua-cam.com/video/AVo4EZyfHsM/v-deo.html и потребление моей погодной станции программа написана в среде ардуино ua-cam.com/video/FdqzAEjrkWQ/v-deo.html . Пожалуйста
Серия L сложнее и менее доступна. Вообще лучше всего просто RTC таймер какой-нибудь использовать, и низковольтовый MOSFET на включение остальных вещей. .
Интересно но не горит) т.к. сейчас уделяю время и другим проектам, которые ожидали приход недостающих деталей.Может для начала сделаю видео моей аврКи за окном, которая уже год как трудится и отсылает температуру.Будет интересно сравнить потребление.
Мужик сказал, мужик сделал. Уже 3400 просмотров, где выпаяные светодиоды?
РЕЗУЛЬТАТ ИЗ ДАТАШИТА БЫЛ ПОЛУЧЕН!!! Если выпаять светодиод то в замен скорее всего придется запаять новый.А резистор в цепи светодиода можно хоть 20 рас выпаивать и запаивать он более живучий . Логичнее было выпаять резистор, что и было сделано.
Светодиод, подключенный к PC13 можно потушить программно.
Можно но останется еще 1 по питанию.Выпаяю по питанию,PC13 отключу программно перед входом в STANDBY и посмотрим.
Можно сделать проще. Один замер с не отключенными диодами обоими. Второй замер с отключенным PC13. Разница покажет ток потребления одного диода. Потом просто отнять от показания амперметра ток потребления второго диода. И не надо паять лишний раз смд компоненты.
Можно но это не наш метод)
Все, понял. Ждем видео. :)
Обещал же выпаять, а не математику устраивать.
Попробовал на Nucleo STM32F103RB в режиме Standby на HALе также 23 мА и мерею третьим прибором. А вот если использовать твой код то Кейл ругается на строчку с SCB->SCR |= SCB_SCR_SLEEPDEEP - он ее не находит, а именно - SCB_SCR_SLEEPDEEP, использовать твой код нельзя. Кейл 5 со всеми обновлениями библиотек.
нужно эту строчку откорректировать на SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk; - тогда контроллер переходить в режим 2мкА !!! Ура!)))
Молодец.Дефайны сделали немного по другому и не работало.Так код был в комментариях к видео?)
Да, дело в дефайнах при использовании HAL, подстава от них. Твоего кода не было в комментариях, я сам писал и сравнивал с Reference Manual, файлами stm32f1xx_hal_pwr.c и core_cm3.h. Вот работающий код при использовании HAL:
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
PWR->CR |= PWR_CR_PDDS;
PWR->CR |= PWR_CR_CWUF ;
PWR->CSR |= PWR_CSR_EWUP;
__WFE(); // или WFI, кому что нужно
И тестер за одно проверил)
ага, один на работе и два дома)))
Здравствуйте! При использовании Standby режима обязательн должно тактирование от внутреннего резонатора быть? У меня с внешним почему то не выходит из pwrdwn
ЛИБО LSE 32.768 kHz ЛИБО LSI внутернний www.st.com/content/ccc/resource/technical/document/application_note/ff/0a/dc/d2/5e/f5/4b/5a/CD00171691.pdf/files/CD00171691.pdf/jcr:content/translations/en.CD00171691.pdf
А вы используете HSE?
Если я в CUBE сконфигурировал LSE 32,768 и внешник 8Мгц, то перед сном я должен буду отдать тактирование на LSE ?
After each wakeup from Standby mode, the STM32F10xxx restarts from the reset state. Я не знаю логику вашей программы если контроллер заснул GPIO, RTC настроены ,а LSE или LSI не работают то по часам он уже не проснется.На вашем месте я бы включил отладку по моему можно активировав соответствующий регистр посмотреть че у вас работает а че нет. DBGMCU->CR |= (DBGMCU_CR_DBG_SLEEP | DBGMCU_CR_DBG_STOP |
DBGMCU_CR_DBG_STANDBY); // // Debug Sleep Mode + Stop Mode + Standby
mode
Спасибо! Моя ошибка была что я не включал RTC .... теперь все работает исправно, долго вам приходилось изучать STM32 ? Мне после 8 битников немного тяжко, но HAL библиотеки спасают
Сделал всё аналогично, но STM-ка не просыпается ни по Wake Up пину ни по Alarm-у. В чём может быть проблема?
Если контроллер как у меня скинте проект посмотрю.
Wake up пин еще включить надо
HAL_PWR_EnableWakeUpPin(PWR_WAKEUP_PIN1);
сделал все как на видео (тот код который закоментирован). Потребление 0.6мА. Подскажите, в чем проблема???
Резистор который идет на светодиод питания надо тоже убирать.Если потребление не меняется можете скинуть проект посмотрю после выходных.
@@ElectroHobby1 вот мой код
//enable the PWR control clock
RCC->APB1ENR |= RCC_APB1ENR_PWREN;
//setSLEEPDEEP bit of Cortex System Control Register
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
//select standby mode
PWR->CR |= PWR_CR_PDDS;
//clear wake up flag
PWR->CR |= PWR_CR_CWUF;
//enable wake up pin
PWR->CSR |= PWR_CSR_EWUP;
__DSB(); /* Ensure effect of last store takes effect */
//request wait for interrupt
__WFI();
ElectroHobby резистор R1 выпаял. Никакого эффекта от этого не произошло.
@@uawhisper вроде все правильно.Нужно смотреть в отладчике может чего не включилось. Я бы проект еще ваш посмотрел целиком если он под Keil. Я постараюсь поискать проект но навряд ли найду (в понедельник). Возможно скоро будет переиздание старых роликов так так возможно они уже не работают.
Здраствуйте, поделитесь проектом?)
Если в описании к видео нет, не найду уже.
@@ElectroHobby1 жаль, а реализацию программы в каком цикле делаете? в каком прерывании или в while?
Спасибо.
Посмотри вторую часть видео не последнюю) ua-cam.com/video/AVo4EZyfHsM/v-deo.html и потребление моей погодной станции программа написана в среде ардуино ua-cam.com/video/FdqzAEjrkWQ/v-deo.html . Пожалуйста
ElectroHobby оо, обязательно.
Самый адекватный способ для снижения энергопотребления - это использовать серию L, а не F. Вообще умные люди так и делают и не заморачиваются.
Серия L сложнее и менее доступна. Вообще лучше всего просто RTC таймер какой-нибудь использовать, и низковольтовый MOSFET на включение остальных вещей. .
79 likes) видео без диодов хотим
А самому не интересно какой будет ток? 😊
Интересно но не горит) т.к. сейчас уделяю время и другим проектам, которые ожидали приход недостающих деталей.Может для начала сделаю видео моей аврКи за окном, которая уже год как трудится и отсылает температуру.Будет интересно сравнить потребление.
сУстем???
ОК.
Зачем выпаивать и смотреть , ты даташиту не веришь ?! Дичь какая то , все будет в заявленных пределах , я проверял !)))
Вот тут долго искали 2 мкА forum.easyelectronics.ru/viewtopic.php?f=35&t=6723 .С HAL может быть тоже не все так просто.