STM32F103C8T6 Extreme Low Power Engy Spring (частота, периферия)

Marti159
Ср. 08 июня 2016 г. 15:13
Привет, мне нужно сделать устройство на основе STM32F103C8T6, которое работает на батареи 2X AA (3V).
Устройство будет подсчитывать импульсы на цифровом входном выводе (около 1-10 импульсов каждую минуту).
Устройство будет отправлять статус каждую минуту более 443 МГц радио:
Изображение

Мне нужен * максимум * возможное время автономной работы.

STM32F103C8T6 будет спать все время. Импульсный вход будет на штифте прерывания и пробуждает STM. После этого STM снова заснул.

Arduino Atmega328 имеет в таблице данных: Power Consumption at 1MHz, 1.8V, 25°C ̶ Active Mode: 0.2mA ̶ Power-down Mode: 0.1µA ̶ Power-save Mode: 0.75µA (Including 32kHz RTC)

Mrburnette
Ср. 08 июня 2016 г., 15:23
Пожалуйста, прочтите этот пост: http: // www.STM32duino.com/viewtopic.PHP?t = 298


Кроме того, возьмите справочное руководство STM32 - используйте Google для поиска его. Читайте о доменах питания в чипе. Существуют также заметки о сбережениях питания по архитектуре чипов - снова используйте Google.

Луча

Rogerclark
Ср. 08 июня 2016 г., 21:30
Как говорит Рэй..

Вам нужно будет прочитать руководство для чипа.

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

На часах также есть 2 -х предварительный проклятор, поэтому я подозреваю, что минимальная частота может быть 8 МГц / 2, при условии, что существует настройка множителя x1 PLL (вам нужно проверить руководство)

Но если вы измените Freq Master Clock, все время в ядре будут разрушены.
эн.глин. UART Timings будет неправильным, Systick E.глин. Миллис ошибся, задержка () будет неправильным и т. д

Ахулл
Ср. 08 июня 2016 г., 11:38
Marti159 написал: Как это на STM32F103C8T6? Более низкая частота = более низкое энергопотребление?

Как я могу уменьшить частоту? Теперь у меня синие таблетки с 8.Кристалл 0 МГц на 72 МГц. Возможно установить частоту, например, 2 или 8 МГц вместо 72 МГц? Могу ли я использовать Crystal 8 МГц и снижение частоты в программном обеспечении, таких как предохранители на Atmel Avr? Есть ли минимальная частота?

Zoomx
Чт, 09 июня 2016 г., 7:27 утра
Я не уверен, но я читал, что короткий быстрый взрыв и более длительный сон не лучше для батарей. Похоже, что батареи (возможно, не все типы батарей) предпочитают иметь немного более длительные операции, но при более низкой магистрации, что короткий взрыв на высокой магистрации.

Но я никогда не делал эксперимент и не читал о подобном эксперименте. Может быть, это только мнение.

@marti159
Обычно платы не предназначены для низкой работы с электроэнергией, и вы должны разработать свою плату или вам необходимо изменить общие доски. Единственные низкие мощности, которые я видел, - это пусковая панель TI (различные модели) и некоторые специализированные доски Arduino.

Marti159
Чт, 09 июня 2016 г., 8:07
Я нашел STM32Cubemx Программное обеспечение, которое может рассчитать энергопотребление с помощью включенной периферии. Скриншоты STM32Cubemx.

Если я сгенерирую код C в STM32Cubemx, как я могу использовать его в «Arduino STM32»?

В это топис На этом форуме есть код Arduino с STM C: #include #include #include #define BOARD_LED_PIN 33 #define BOARD_BUTTON_PIN 32 #define BUTTON_DEBOUNCE_DELAY 1 // These are possibly defined somewhere but I couldn't find them. System Control Register #define SCB_SCR_SLEEPDEEP 4 // Controls deepsleep(1) or sleep(0) #define SCB_SCR_SLEEPONEXIT 2 // Controls sleeponexit (not used here) volatile bool ledState = LOW; // Used in ISR blinkState() /... void loop() { //SerialUSB.println("HI!"); delay(100); // Only works on first iteration, before stop mode // Clear PDDS and LPDS bits PWR_BASE->CR &= PWR_CR_LPDS | PWR_CR_PDDS; // set sleepdeep in the system control register SCB_BASE->SCR |= SCB_SCR_SLEEPDEEP; // Now go into stop mode, wake up on interrupt asm(" wfi"); digitalWrite(BOARD_LED_PIN, ledState); togglePin(3); }

Mrburnette
Чт, 09 июня 2016 г., 11:52 утра
Zoomx написал:Я не уверен, но я читал, что короткий быстрый взрыв и более длительный сон не лучше для батарей. Похоже, что батареи (возможно, не все типы батарей) предпочитают иметь немного более длительные операции, но при более низкой магистрации, что короткий взрыв на высокой магистрации.
<...>

Ахулл
Пт 10 июня 2016 г. 9:59 утра
Существует много хорошей информации о сроке службы батареи и микроконтроллерах, но также довольно много дросков (реклама для последней версии Fantoosh версии Big Boy Silicon Layer в основном).

Это может вызвать ваш аппетит, Однако для большинства небольших проектов довольно легко настроить ваш мультиметр, чтобы наблюдать за тем, как текущий подается на доску (ы) и получить разумную фигуру парка Бала.

клавиатура
Пт 07 апреля 2017 г. 7:28 утра
Интересный, проницательный, мысли/комментарии и указывает на эту ветку обсуждения.

Что я могу найти в момент, как кабель, джиг или такой используют для измерения тока и напряжения? У меня есть ощущение, что джиг - это то, что может быть необходимо. Я подозреваю, что существует столько разных способов разработки джига, сколько и проектов.

Я все еще пытаюсь выяснить, имеет ли смысл подключить батарею к булавке напрямую или питание через USB. Многие комментируют, что регуляторы напряжения многих MCU имеют низкие убытки, связанные с вставкой. Пока что прочтение исследований, которое я сделал на этом, кажется, есть несколько смешанных мнений. Это предполагает мне дополнительные тесты, чтобы выяснить текущие профили/батареи, которые MCU имеет в контексте полного решения. Возможно, сравнить прямое с VS через регулятор с плюсами/минусами.

Я склонен узнать результаты реального мира и иметь данные для. Использование таблиц данных и предыдущих исследований/проектов в качестве отправной точки дизайна. Иногда существует процесс уточнения/обучения, который разворачивается, чтобы улучшить дизайн, который чувствует или рассматривает как проблемы. Иногда можно узнать предварительный опыт. Другое иногда является лишь разнообразной комбинацией многих факторов.


С уважением,

Джон Л. Мужчины
Торонто, Онтарио
Канада
07 апреля 2017 03:28 EDT

AG123
Пт, 02 июня 2017 г. 8:29
Существуют также различные счетчики «топливные датчики липо» и кулоновские стойки, которые могут быть полезны, если кто -то смотрит на «счетчик батареи»
http: // www.eBay.com/sch/i.HTML?_from = r4 ... о&_SACAT = 0
https: // учиться.Sparkfun.com/tuperials/lt ... ОКУП-ГИДЕ

Часто работает на «низкой мощности» не просто о MCU, периферийные устройства также потребляют мощность, следовательно, необходимо было бы попытаться ограничить периферийную силу, E, E.глин. Выключите часы для периферийных устройств, не используемых.

Тогда есть*огромная батарея, потребляющая*** Счетчик Systick*, это не позволяло бы устройству бодрствовать каждый тик каждую миллисекунд
Отключите прерывание Systick, если это не нужно systick_disable();

клавиатура
Пт, 02 июня 2017 г. 11:04
@AG123

Я, скорее всего, запустим устройство на аккумуляционных батареях АА, а не на липо. Доступность является основным фактором, а липо при более холодных температурах является вторым фактором.

Конечно, не только UC Power не является частью расчета бюджета батареи. Периферийные устройства наверняка, внешние и встроенные. Отсюда и мой реальный текущий розыгрыш - это то, что мне нужно знать. Я спросил о базовом розыгрыше тока UC, поскольку это отправная точка для выбора и какие внутренние функции не используют, которые могут уменьшить рисунок тока перед периферийными устройствами.

Я буду использовать DS3231. Я предполагаю, что это будет означать, что счетчик Systick не понадобится? Дизайн для личного проекта, который я пытаюсь создать, всегда имел DS3231 в дизайне от начала.

Мне не понадобится USB. Я буду использовать метод загрузки, который использует наименьшую вспышку с точки зрения накладных расходов. Если это означает серийную загрузку эскиза, которая, вероятно, будет тем, кем он будет или, может быть, Stlink.

Первичное периферийное устройство не прерывается. Скорее всего, я буду применять некоторый подход к дизайну сна в коде, который использует таймер, который не подразумевает необходимость в счетчике Systick.

Мне может понадобиться 72 МГц позже в большей функциональности дизайна. Я могу проверить дизайн для начальной базовой функциональности, мне нужно начать с 48 МГц, чтобы увидеть, помогает ли это в снижении тока.

Я не решил, если и какое устройство коммуникации я буду использовать. Дизайн нуждается в SD/MicroSD как часть минимального дизайна. Наверняка дизайн нуждается только в устройстве связи в том, что является режимом пользователя по требованию. Таким образом, кнопка или таковое включение/выключение при необходимости связи. Ожидание в том, что переключатель будет использоваться пару раз в день. Как долго я не уверен, так как зависит, сколько времени требуется для передачи данных. Я не буду знать время передачи, пока не буду прототип один или несколько вариантов коммуникации для оценки. Первый этап функциональности будет реализовать только DS3231, SD/MicroSD и одно внешнее периферийное устройство I2C, которое разговаривает с периферийными устройствами в нижней части. Нижняя периферийная розыгрыш составляет около 0.001NA в режиме ожидания и 1.5 мА на секунду или менее раз в несколько секунд.

Те, что вы упомянули, возможно, означает, что мне было бы лучше использовать Bluetooth Communications для передачи данных, а не Wi -Fi. Даже когда устройство связи не выключено, оно все еще рисует питание. Количество текущего рисунка устройства для простоя/выключения связи может быть не то, что будет иметь смысл для пару раз в день, мне нужно устройство связи для. Это похоже на общее предложение, которое у меня есть дисплей для отображения текущих значений. OLED кажется слишком маленьким и имеет конечную жизнь. 1602 подойдет для моих потребностей с точки зрения того, что будет отображаться, но опять же, сколько необходимо взглянуть на ток, результаты розыгрыша в моем соблюдении тех, кто хочет, чтобы я включил (да, это одно из личных устройств, которые другие могут пожелать Смотрите значения очень ограниченные времена, которые они хотят.), когда я даже не рассматривал это в более широком функциональном дизайне. Все, что я знаю, это устройство связи, важнее, чем дисплей для того, что мне нужно. Если устройство Bluetooth имеет достаточно низкий ток, если не активно выполнять связь, я рассмотрю. Устройство связи будет организовано выше основного минимального дизайна, в которой я нуждался в течение многих месяцев. Задержка в месяц, в основном из-за очень искаженных сроков доставки, в порядке 120-150 дней, и нечетный фактор того, что, я думаю, будет подходящим для того, что я пытаюсь достичь, что я не ошибаюсь, являются факторами задержки. Бывшая главная причина. Когда я неверный в том, что мне нужно для решения, я должен выяснить, что я делаю, чтобы достичь желаемой функциональной цели, а затем заказать то, что мне нужно, Ergo добавляет к задержкам.

Я ожидал получить основную функциональность в конце декабря 2016 года. Я начал исследование, если, как и что мне нужно год назад. Я начал заказывать детали в конце прошлого лета до ноября 2016 года, когда заказы по состоянию на сентябрь 2016 года начали вступать во владение более чем на 60 дней. Я перестал заказывать другие части, которые мне понадобятся в основном, потому что я понятия не имел, если бы я заказал. Я понятия не имел, что приказы зайдут 120-150 дней, чтобы прибыть. Это вызвало серьезные задержки с тем, что я пытаюсь сделать, это важно для меня, и никто другой.

Ваши очки наиболее полезны.


С уважением,

Джон Л. Мужчины
Торонто, Онтарио
Канада
02 июня 2017 г. 19:04 EDT
02 июня 2017 г. 19:42 EDT Опечатка опечатка

AG123
SAT 03 июня 2017 г., 17:13
Основная проблема с Systick - это *это не бодрствует MCU *
Systick прерывает в основном обновления systick_uptime_millis
https: // github.com/rogerclarkmelbourne/ ... галочка.C#184
Я думаю, что это используется функциями Millis (), Micros (), и вы можете быть застигнуты врасплох, но задержка () использует Millis ()
Так что, если у вас есть коды, которые делаютdelay(100) //delay 100ms

Rogerclark
SAT 03 июня 2017 г. 22:32
@AG123

Исторически Libmaple используется для использования NOPS для задержки, но в любом случае, использование задержки будет тратить власть.