Аттини хочет кушать

Господа!
Плата с Attiny85.

  • Резистор светодиода индикации питания удалён.
  • Удалены все компоненты соединения по USB.
  • 78L05 выпаян.
  • Три конденсатора обвеса 78L05 на месте.
  • Светодиод и резистор на PB1 оставил.
  • Питание +5v с USBasp.
Спойлер

Страница 173 datasheet’а, раздел “Figure 22-3. Active Supply Current vs. VCC (Internal RC oscillator, 8 MHz)” - при Vcc = 5v по графику Icc = ~5mA. У меня набегает 6.47mA.

Спойлер

Фьюзы:
L 0xE2
H 0xDF
E 0XFF
Lock 0xFF

Спойлер

Скетч:

Спойлер
void setup() {
  pinMode(PB0, INPUT_PULLUP);
  pinMode(PB1, OUTPUT);
  pinMode(PB2, INPUT_PULLUP);
  pinMode(PB3, INPUT_PULLUP);
  pinMode(PB4, INPUT_PULLUP);
  pinMode(PB5, INPUT_PULLUP);
}

void loop() {}

Как скинуть “лишние” mA?

Это вся буча чтобы снизить с 6.5 ма до пяти? Не тратьте время на ерунду.
Изучите режимы сна, сможете снизить потребление с 5ма до 5 мка

Регистр DIDR. Отвечает за отключение цифровых цепей на аналоговых пинах. Это должно сэкономить немного.
А ещё конденсаторы бы не помешало проверить, мало ли, китайские.

Компаратор вырубите, если не нужен

P.S. Это будет

ACSR |= (1 << ACD);

Зачастую 1 мгц достаточно, а то и ниже. Безо всяких снов. Это делается даже без изменения фьюзов.

Можно по развернутее с этого момента? Как понизить тактовую частоту аттини без смены фьюзов? Или я что-то не так понял?

clock_prescale_set(clock_div_8)

Спасибо!

Тут нужно быть осторожным с понижением менее 1 мгц, т.к. не все программаторы после этого могут работать.

Внял почти всем советам (конденсаторы пока не проверял, посмотрю). Получить потребление 5mA на 8MHz, как писано в “Figure 22-3. Active Supply Current…", мне не удалось.

На 1MHz уже обращал внимание. Вполне возможно, что на нём и остановлюсь.

По clock_prescale_set(clock_div_8). После прошивки IDE не видит плату, т.к. “auto set sck period (because given equals null)” и надо лезть в потроха, править этот sck period. Avrdudess общаться с чипом может или при установке перемычки Slow, или выборе в “Bit clock” 187.5KHz и менее. Показывает фьюзы которые были прошиты ранее. Так что вернуть всё в зад проблем нет.

Не понятно. clock_prescale_set(clock_div_8) это изменение делителя кодом в скетче, как он может влиять на прошивку? Прошивка ведь начинается с RESET и частота определяется фьюзами. Или у Аттини по другому?

2 лайка

Здесь ещё важно, чем измеряете. Дешёвые мультиметры могут и “немного приврать”)))

Куда, какие изменения пишутся не знаю, чип начинает работать на этой частоте. Передёргивания по питанию не помогают. Фьюзы не изменяются.

UT71B. Может врёт, а может и нет.

Я обычно , если не уверен, стараюсь хотя-бы сравнить с парой других подобных. Даже плохие щупы дают доп. погрешность

Не забываем,что чип хз где и как производился. Сейчас оригинала-то не найти.

Что значит не видит? Сообщение давайте.
Ядро какое используете?

Mastech MAS830L - 6.37mA. Со своими щупами. Режима Max/Min у него нет, разовый замер.

Ну , значит более- менее измеряет норм. Значит что-то с микросхемой, или с платой.

Выключи подтяжки. Выстави 0 на всех пинах, затем попробуй 1-цы.
1-цы кроме светодиода естественно.