Подскажите пожалуйста методы снижения потребления тока мироконтроллером, в часности Tiny2313. Мне известно, что нужно отключать неиспользуемую перефирию(АЦП, компаратор, и.т.д) Про режимы пониженного энергопотребления мне тоже всё понятно. Снижать частоту и напряжение питания, тоже понятно. Остался вопрос по портам, в каком состоянии должны быть порты для наименшего потребления? Включать или отключать подтягивающие резисторы внутренние или испльзовать внешние и какого ниминала, куда подтягивать в + или -?
Включение подтягивающих резисторов рекомендуется для устранения "плавания" входов, в результате которого могут возникать "левые" переключения логики на входах. Причём переключения могут быть периодические, например наводки от сети 50/100Гц. А каждое переключение ест электричество. Т.е. чем меньше переключений - тем меньше потребляется энергии. А по поводу куда и чем подтягивать незадействованные входа - смотрим спецификацию: Input Leakage Current per I/O Pin (VCC = 5.5V), MAXIMUM (absolute value) 1 μA - 1 микроампер МАКСИМУМ Ещё что надо?
Добавил через пару минут... Опять же, смотрим спецификацию: Rpu I/O Pin Pull-up Resistor 20-50 kΩ Даже если ты при включенном внетреннем резисторе подтяжки устроишь к.з. на землю, то ток будет не более 0.25 миллиампера.
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Включение подтягивающих резисторов рекомендуется для устранения "плавания" входов, в результате которого могут возникать "левые" переключения логики на входах. Причём переключения могут быть периодические, например наводки от сети 50/100Гц. А каждое переключение ест электричество. Т.е. чем меньше переключений - тем меньше потребляется энергии. А по поводу куда и чем подтягивать незадействованные входа - смотрим спецификацию: Input Leakage Current per I/O Pin (VCC = 5.5V), MAXIMUM (absolute value) 1 μA - 1 микроампер МАКСИМУМ Ещё что надо?
Добавил через пару минут... Опять же, смотрим спецификацию: Rpu I/O Pin Pull-up Resistor 20-50 kΩ Даже если ты при включенном внетреннем резисторе подтяжки устроишь к.з. на землю, то ток будет не более 0.25 миллиампера.
Я так понимаю, что при нажатии кнопки подключённой к порту с подтягивающим резистором я таки получу потребление около 0,25 миллиампера? 0.25 миллиампера для моей задачи много. Что будет если я порт подятну в 0 а кнопка будет на+? я так понимаю тоже самое?
Я так понимаю, что при нажатии кнопки подключённой к порту с подтягивающим резистором я таки получу потребление около 0,25 миллиампера? 0.25 миллиампера для моей задачи много.
Тогда выключите внутренний подтягивающий резистор и поставьте внешний нужного Вам номинала, например, 1 МОм.
я недавно решал подобную задачу, и "бился за каждый микроампер" Если выводы вообще не используются, то с одинаковым результатом были след варианты (мега16А) 1. вывод - выход с низким уровнем 2. вывод - вход с внутренней подтяжкой 3. вывод - вход(Z) с подтяжкой внешним резистором на землюю(ставил 10к)
Если у вас кнопки на выводе, и они должны пробуждать контроллер, то вариант только с внутренней подтяжкой. Внешняя подтяжка резистором большего сопротивления чем встроенный - опасно, потому что, часто даже со встроенными ловятся помехи(особенно на Тини, у мег с этим получше). Если кнопки не учавствуют в пробуждении, то перед усыплением сделайте эти выводы - выходами с низким уровнем, и не бойтесь ни случайных нажатий, ни переключений входа от наводок. а как контроллер проснется - снова сконфигурируйте эти выводы как вам нужно.
Liv боюсь 1мом - что есть, что нет, без разницы будет. вон например в тини 2313 вроде 100ком, так что с ним, что без него - разница не большая, прикосновения пальца к выводу ловит только в путь а у меги вроде 35к, работает приемлемо
Благодарю за ответы! Строю я счётчик наработки моточасов двигателя внутреннего сгорания, который имеет батарейное питание и должен на двух батарейках "пальчиковых" проработать хотябы год. Использую Attiny2313 на частоте 1Мгц и дисплей TIC5234.
1 МОм достаточно, чтобы перебороть утечки и задать на КМОП-входе определенный уровень. Конечно, чувствительность к наводкам будет высокая. Но применимость зависит от задачи.
Если кнопка просто должна пробуждать устройство, то перед засыпанием включить встроенную подтяжку, а как только проснется - переключить вход на вывод с нулем. Ток подтяжки при нажатии кнопки будет лишь кратковременный. Но если у кнопки есть еще какие-то функции, то можно ее опрашивать, кратковременно включая вывод на вход с подтяжкой.
1 МОм достаточно, чтобы перебороть утечки и задать на КМОП-входе определенный уровень. Конечно, чувствительность к наводкам будет высокая. Но применимость зависит от задачи.
В том то и дело, что прибор будет находится в непосредственной близости от двигателя внутреннего сгорания, а там провода высоковольтные на свечи. Помеха круче некуда...
Благодарю за ответы! Строю я счётчик наработки моточасов двигателя внутреннего сгорания, который имеет батарейное питание и должен на двух батарейках "пальчиковых" проработать хотябы год.
А ДВС исключительно вручную заводится или таки есть батарея? Если батарея присутствует, не вижу смысла особо экономить. Единственное - предусмотреть резервное питание типа CR2032 на случай отключения основной батареи. Когда движка не работает, контроллер в полный дип-слип режим, потребление должно быть мизерное. Не знаю правда как с этим у tiny2313.
SABRAT писал(а):
Использую Attiny2313 на частоте 1Мгц и дисплей TIC5234.
А 32 кГц не хватит? По-моему для такой тривиальной задачи - за глаза и за уши. Тактируй часовым кварцем - и время считать удобней, и потребление ниже. Если все же нужна временами высокая производительность - используй внутренний RC-генератор для режима вычислений, а 32 кГц кварцем тактировать таймер 1, который будет считать время и будить контроллер своим прерыванием.
А ДВС исключительно вручную заводится или таки есть батарея? Если батарея присутствует, не вижу смысла особо экономить. Единственное - предусмотреть резервное питание типа CR2032 на случай отключения основной батареи. Когда движка не работает, контроллер в полный дип-слип режим, потребление должно быть мизерное. Не знаю правда как с этим у tiny2313.
SABRAT писал(а):
Использую Attiny2313 на частоте 1Мгц и дисплей TIC5234.
А 32 кГц не хватит? По-моему для такой тривиальной задачи - за глаза и за уши. Тактируй часовым кварцем - и время считать удобней, и потребление ниже. Если все же нужна временами высокая производительность - используй внутренний RC-генератор для режима вычислений, а 32 кГц кварцем тактировать таймер 1, который будет считать время и будить контроллер своим прерыванием.
Это подвесные лодочные двигатели, в них зачастую даже генератора нет, не то что акб. Тактировать от кварца 32768 можно, но в этом случае нужно городить внешний генератор, на прямую от кварца не заводится. Генератор отдельно делать не хочется, так как он тоже ток потребляет.
Ну, низкочастотный кварцевый генератор на одном транзисторе потребляет единицы микроампер. Хотя в принципе, если удастся получить 30 мкА @ 1 МГц в Stаndby режиме как нарисовано в даташите - этого хватит побольше чем на год, даже от 2-х элементов ААА.
Может камень тогда более подходящий подобрать? Вот STM8L, скажем, в режиме слипа вообще несколько НАНОампер кушает. Вполне можно питать целый год од одной 3-х вольтовой батарейки.
_________________ Да здравствует всё то, благодаря чему мы не смотря ни на что!
Может камень тогда более подходящий подобрать? Вот STM8L, скажем, в режиме слипа вообще несколько НАНОампер кушает. Вполне можно питать целый год од одной 3-х вольтовой батарейки.
А посчитать?
3-х вольтовый дисковый литий имеет емкость 45 мач. Примем, что до минимально рабочего напряжения для МК элемент провалится за 30 мач. Значит при потреблении в 1 МИКРОампер элемент продержится 30 000 часов. Делим на 24. Получаем 1250 дней. Делим на 365. Получаем 3,5 года... Так о чем же этот "фильм"? Да ни о чем... Саморазряд элемента определит срок его службы. Бороться за токи менее 1 мка при питании от таких элементов (об алкалайне в типоразмере ААА или АА я вообще молчу, там емкость 1500...4000 мач) просто глупо...
Active mode: 1MHc, 1.8V - 230uA 32kHc, 1.8V - 20uA (including oscillator) Power-downe Mode: <0.1 uA at 1.8V
То есть 100 наноампер в ждущем режиме максимум. Можно ставить литиевую батарейку и не заморачиваться. Ну при работе на 4-х мегагерцах будет кушать 1 мА - но это же редко и недолго. Лучше смотрите, сколько будет кушать остальная часть схемы.
_________________ Да здравствует всё то, благодаря чему мы не смотря ни на что!
Input Leakage Current per I/O Pin (VCC = 5.5V), MAXIMUM (absolute value) 1 μA - 1 микроампер МАКСИМУМ Ещё что надо?
Микроампер - это много. Часто дейсвительно бьешся за них. Если вывод вообще никак не используется - сделать его выходом лог. 0 и заземлить наглухо. Кстати, напряжение питания снижать надо, а вот частоту - не стоит. Если посчитать, то при работе на более низкой частоте МК тратит больше энергии за счет увеличения времени работы, чем при более высокой частоте. По крайней мере, AVR.
_________________ Оптимизм х (Опыт + Знания) = const
Если вывод вообще никак не используется - сделать его выходом лог. 0 и заземлить наглухо.
а вы уверены в этом??? Дело в том, что небольшой потенциал присутствует даже когда вывод переключен в 0. и если его "наглухо" посадить на землю, то по идеи получим доп. потребление. Конечно мизерное, но мыже за мизер и воюем. Я думаю, просто вывести 0 будет правильнее.
Если вывод вообще никак не используется - сделать его выходом лог. 0 и заземлить наглухо.
а вы уверены в этом??? Дело в том, что небольшой потенциал присутствует даже когда вывод переключен в 0. и если его "наглухо" посадить на землю, то по идеи получим доп. потребление. Конечно мизерное, но мыже за мизер и воюем. Я думаю, просто вывести 0 будет правильнее.
Нет там потенциала, кроме утечки закрытого верхнего полевика (нижний при этом открыт) - посмотри схему выходного каскада. Утечка эта настолько мала, что на дорожках от батарейки больше теряем. А вот заземлять-ли его - не вижу разницы, кроме наводок. Если рядом вход АЦП, теоретически полезно иметь рядом заземленный вывод, но для AVR это не влияет.
maglev Я знаю строение выходного каскада. Если вы измерите ток между землей и выводом МК с 0, то ток не будет равен 0. Вот про этот ток я и говорил. И если автор повел разговор о микро и нано амперах, то ябы не советовал без явной надобности вывод с нулем сажать "наглухо" на землю.
по поводу портов в/в мне кажется либо подключать к питанию напрямую (либо к + либо к -) ножку порта настроенную на вход, либо оставлять свободной ножку настроенную на выход. вариант с подключением ножки настроенной на выход к питанию отметаю, поскольку в даташите в электрических характеристиках контроллера написано что минимальное напряжение лог. "1" на выходе равно 4.2 Вольта, что по-сути допустимо для всех CMOS микросхем, но недопустимо в условиях минимального потребления (аналогично лог."0" максимум 0.7 Вольта) при замыкании на питание потечет нехилый (в рассматриваемом случае) ток.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения