Страница 1 из 3
ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 14:13:12
rl55
Решил я немного приобщиться к миру микроконтроллеров. Подопытным оказался ATmega8A. Использовал простенький программатор PonyProg от com порта.
Ну, в принципе, всё получилось - чтение, запись, с фьюзами познакомился. Простенькую безделушку запустил...
Попутно возник вопрос с током потребления. Вот "8А" позиционируется с меньшим, чем просто "8", током (раза в 2, вроде). А у меня где-то на уровне "8" получается - порядка 16 мА при 8 МГц и 5 вольтах.
Вроде, с уменьшением частоты должен падать и ток потребления - он падает, но ниже 6 мА всё равно не опускается. Пробовал от внешнего генератора тактировать на десятках-сотнях герц и даже отключать тактирование - всё те же 6 мА.
Вопрос - что тогда потребляет эти 6 мА? Аналоговая часть или что там работает в отсутствии тактирования?
И как понять тогда вот этот график из ДШ, где ток доходит до 0,2 мА при 100 кГц?
Спойлер

У меня ничего подобного при 100 кГц не наблюдается.
Я-то понимаю, что многое еще от конкретной программы зависит. Но я полностью стирал память - ток, практически, не меняется. При каких же условиях он проверяется?
Извиняюсь, если мои вопросы покажутся дилетантскими - но только вникаю еще в эту кухню...
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 16:23:25
ARV
А не потребляет ли ток обвязка МК?
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 16:36:55
dgrett
И компаратор отключить
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 17:09:58
rl55
[uquote="ARV",url="/forum/viewtopic.php?p=3804342#p3804342"]А не потребляет ли ток обвязка МК?[/uquote]
Ну, это я в микроконтроллерах только лох, чтобы не подумать об этом...
Нет там никакой особой обвязки, кроме светодиодов в этой игрушке, которые в простое и не горят...
https://cxem.net/mc/mc295.php
Я эту схему максимально упрощенно испытывал - без УМ с динамиком (на внешний усилитель проверял) и с отдельным БП.
Без делителя согласования уровней. Сначала на 3-х вольтах, потом и на 5 -ти рискнул (для микро SD...). Карту SD тоже вытаскивал при измерении тока.
dgrett писал(а):И компаратор отключить
А как это делается?
Кстати, аналоговую часть МК, как я понял, физически не отключишь отключением пина AVCC от питания - при отключении там будет на 0,8В меньше напряжения VCC, что явно указывает на утановленный внутри диод и он тоже явно прозванивается. Кстати, в ДШ я вычитал, что этот пин обязательно должен быть подключен к VCC. Например, или перемычкой, или через дроссель. Кстати, почему я туда полез - так это у меня не соответствовали уровни срабатывания системы контроля питания, которые я выставлял фьюзами (2,7В и 4В). Как раз в схеме автора AVCC никуда не подключен. Подключил я его к VCC и всё с уровнями стало в порядке, а то я все мозги извел, никак не мог понять, почему оно у меня перестает работать при питании, не доходящем до выставленных фьюзами уровней. Потому, что эта система, получается, и контролирует напряжение на AVCC, которое, на 0,8В и ниже VCC, если AVCC к нему не подключить...
Ну, это так, попутно... Хотя и познавательно для меня, в конечном счете...
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 17:46:07
dgrett
Bit 7 – ACD: Analog Comparator Disable
When this bit is written logic one, the power to the Analog Comparator is switched off. This bit can be set at any time to turn off the Analog Comparator. This will reduce power consumption in Active and Idle mode. When changing the ACD bit, the Analog Comparator Interrupt must be disabled by clearing the ACIE bit in ACSR. Otherwise an interrupt can occur when the bit is changed.
Короче, бит7 (ACD) в регистре ACSR надо установить. При включении он сброшен.
ACSR - Analog Comparator Control and Status Register – ACSR
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 18:05:22
akl
Думаю, такой ток потребления и будет. В программе не нашёл использование режимов сна. Аналоговый компаратор выключается для mega8 одной командой
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 18:12:39
rl55
[uquote="dgrett",url="/forum/viewtopic.php?p=3804384#p3804384"]Короче, бит7 (ACD) в регистре ACSR надо установить. При включении он сброшен.
ACSR - Analog Comparator Control and Status Register – ACSR[/uquote]
dgrett, дружище, так вот, я и не знаю, как это делается. Мне попадались в инете упоминания про эти регистры, но я понятия не имею, как (чем) там устанавливается.
Фьюзы же здесь не катят, вроде?
Это в процессе написания программы делается?
Немного в общих чертах объясни - серьезно я этим пока заниматься не собираюсь, а некоторые понятия иметь хочу для начала...
akl, вот и к тебе, тоже...
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 18:19:23
ARV
в программе в самом начале, до главного цикла пишите ACSR |= _BV(ACD);
это и будет отключение компаратора.
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 18:25:11
rl55
ARV, спасибо, значит это в программе делается. Ну, мне до этого далеко, пока, а любопытство верх берет.
И что, тогда потребление тока будет похоже на представленный мной выше график из ДШ? До 0,2 мА при 100 кГц?
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 18:51:28
ARV
я не знаю, какой ток будет у вас. аналоговый компаратор кушает от 40 до 60 мкА, так что кардинального уменьшения потребления вы не увидите. и, если честно, не очень-то я понял, как вы переключили МК на 100 кГц тактовой... и насколько корректны ваши тесты.
Добавлено after 2 minutes 5 seconds:
например, пины МК, оставленные вами в "висящем" состоянии (по умолчанию после сброса все пины именно в таком состоянии) могут реагировать на любые наводки, например, от пальцев - они же работают в режиме аналоговых входов... а значит, встроенная схема может работать в "классе А", потребляя относительно большой ток...
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 19:29:13
rl55
[uquote="ARV",url="/forum/viewtopic.php?p=3804425#p3804425"]и, если честно, не очень-то я понял, как вы переключили МК на 100 кГц тактовой... и насколько корректны ваши тесты.[/uquote]
Включал фьюзами внешнюю синхронизацию и от внешнего генератора подавал на XTAL1. Пробовал и внешнюю RC цепочку. Эксперименты же, как-никак...
Конечно, поделка эта уже не разговаривала человеческим голосом - только ШИМ был слышен... Но, это, по моим понятиям, несущественно для измерения потребляемого тока.
ARV писал(а): они же работают в режиме аналоговых входов... а значит, встроенная схема может работать в "классе А", потребляя относительно большой ток...
Да, мне это знакомо из цифровой техники. В этом направлении я тоже думал. А разве у них нет внутренней подтяжки для таких случаев. Что-то, вроде, в ДШ мелькало про подтяжку.
Попадалось мне при гуглении этой проблемы, якобы незадействованные порты надо на вывод программировать.
Но там это рассматривалось применительно к режимам энергосбережения, где микроамперы на счету были...
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 20:18:13
ARV
rl55 писал(а):поделка эта уже не разговаривала человеческим голосом
а вы можете нарисовать схему измерения тока потребления МК? когда работает ШИМ, да еще и на какую-то нагрузку, 6 мА - это очень по-божески.
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 21:23:54
rl55
А что там рисовать? Измеряю общий потребляемый ток от БП. Питание МК зашунтировано приличной емкостью - когда работает ШИМ, естественно, средний ток измеряется. До 30 мА доходит. Нагрузка ШИМ - высокоомный вход УНЧ. В простое те 16 мА при 8 МГц и 5-ти вольтах.
Просто меня заинтересовало, почему у меня со снижением частоты тактирования всё упирается в 6 мА и куда эти 6 мА идут. Т.е., противоречит указанному мной графику из ДШ.
Чисто практически мне от этой схемы ничего не надо - просто для понимания некоторых моментов.
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 22:23:37
NStorm
А разве у них нет внутренней подтяжки для таких случаев.
По-умолчанию она выключена. Все пины по-умолчанию настроены на вход без подтяжки. Поэтому под наводками жрут ток.
Все рекомендации из ДШ и графики даны с отключенной периферией (вроде того же компаратора) и пинами переведенными в выход вроде. Сделайте прогу, которая отключит АЦП, АК, и переведет все висящие в воздухе пины в выход 0 и замерьте.
Еще как банальный вариант - если брали с китая, вполне может быть отбраковка, которая жрет больше того, что обещает ДШ. Вообще атмега8 даже с а - не самые экономичные МК.
К Avcc кстати всегда надо подавать питание, даже если не используете аналоговую периферию.
Re: ATmega8A - ток потребления
Добавлено: Пн мар 09, 2020 23:46:06
rl55
[uquote="NStorm",url="/forum/viewtopic.php?p=3804518#p3804518"]Сделайте прогу, которая отключит АЦП, АК, и переведет все висящие в воздухе пины в выход 0 и замерьте.[/uquote]
Это мне пока не по силам...
Хорошо, спасибо за указанные направления - попробую дальше самостоятельно поглубже вникнуть в эту кухню.
NStorm писал(а):Еще как банальный вариант - если брали с китая, вполне может быть отбраковка, которая жрет больше того, что обещает ДШ.
Да вот я тоже к такому выводу склоняюсь. Происхождение её мне не известно - стояла в какой-то самоделке.
Ну вот и решил потренироваться на ней для начала, чтобы иметь хоть какие-то представления о программировании МК.
Re: ATmega8A - ток потребления
Добавлено: Вт мар 10, 2020 06:41:35
akl
Сколько будет потреблять схема под управлением программы ниже? Аналоговый компаратор выключен, все лапы, кроме кнопочных, настроены на вывод 0, на 15 лапе PB1/OC1A меандр 10кГц.
Re: ATmega8A - ток потребления
Добавлено: Вт мар 10, 2020 15:21:04
rl55
akl, залил твой hex, фьюзы, как у автора конструкции - внутренний генератор 8 МГц, питание 5В, карта SD вынута.
Результаты:
Вн. 8 МГц ---- меандр на пине 15 10кГц, ток потребления 4,4мА
Вн. 1 МГц ----соответственно, 1,25кГц, ток 1,4мА
Переключил фьюзами на внешний генератор:
100 кГц - ток потребления 1мА
10 кГц - ток 1 мА
Т.е, на 100 кГц и ниже ток всё равно больше, исходя из графика, или тут само исполнение программы прибавку дает?
Кстати, во время исполнения этой программы от внешнего генератора 100 кГц при его отключении ток остается на том же уровне (1мА), что и при работе (на мизер меньше). А вот если вслед за этим сделать сброс или выкл/вкл питание, то ток станет порядка 9 мА.
Если я опять подключу тактирование, то ток вновь станет 1 мА.
Кое-что проясняется... Спасибо!
Теперь бы попробовать с включенным аналоговым компаратором, по логике?
Добавлено after 1 hour 19 minutes 42 seconds:
А что там у автора этой конструкции с портами и компаратором было? Вроде, ты делал анализ его программы, как я понял из предыдущих сообщений.
Re: ATmega8A - ток потребления
Добавлено: Вт мар 10, 2020 16:00:10
NStorm
Теперь бы попробовать на пустой программе, которая не генерит меандр. И вынутом МК из схемы.)
Даже если выход никуда не подключен, всё-равно тратится энергия на переключение транзисторов пина при генерации меандра.
Re: ATmega8A - ток потребления
Добавлено: Вт мар 10, 2020 17:21:32
rl55
NStorm, я оценил твой юмор...
В том, что тратится энергия на переключение логических элементов, я давно в курсе, как и в том, что в статическом состоянии КМОП-структуры ничего не потребляют.
Весь вопрос в количественном выражении её в различных режимах. Я же х.з. сколько там элементов задействовано и какова в целом логика работы МК.
Вот к тому я и клонил в область низких частот тактирования, чтобы минимизировать эти потери и посмотреть, куда же тратятся (с вашей помощью) те злосчастные 6 мА...

Разве не логично?
Опять же, сколько кушает тот компаратор, я тоже х.з....

Как и другие элементы...
Вопрос был к практикам, которые имели дело с этим (и не только с этим) МК и которые наверняка обращали внимание на потребляемый ток в тех или иных случаях, что особенно актуально при автономном питании. Разве не так?
Re: ATmega8A - ток потребления
Добавлено: Вт мар 10, 2020 17:47:06
1en2
так а при включённом внешнем такте, но без такта (просто лог 0), сколько будет ?...тоже 1 ма ?