Второй день пытаюсь бороться с этим микроконтроллером. Исходные данные. К микроконтроллеру подключен часовой кварц на 32768 Гц, светодиод и кнопка. Инициализация портов: Спойлер
Тут видно, что пытался играться с тактированием от часового кварца в режиме LP, от Timer1 и от внутреннело LF генератора на 31 кГц. Но все эти режимы в конечном итоге не влияют на ток потребления в спящем режиме. Подтягивающий резистор включен один для кнопки. Её задача вывести микроконтроллер из сна по внешнему прерыванию, переключить светодиод и опять уйти в спячку. Ток спячки измеряю при ВЫКЛЮЧЕННОМ светодиоде! Вся остальная периферия выключена. WDT и BORCON не работают и выключены!
При этом ток потребления примерно 50 мкА, хотя по ДШ он должен быть не более 15-20 мкА.
PS. на измерение тока в спящем режиме сильно влияет программатор. Приходится отключать микроконтроллер от него. При чем зачастую после отключения программатора ток подрастает на 10-15 мкА, а не снижается. С чем связано я не понимаю. PS2. на плате утечки тока нет. При отключении от платы микроконтроллера и программатора ток потребления нулевой на моём тестере в режиме мкА.
Добавлено after 1 hour 24 minutes 7 seconds: В общем виновником светодиод оказался. Хоть при выключении светодиода я перевожу пин в Z состояние, но через него все равно течет ток. Без светодиода 19 мкА. Получается нельзя напрямую на вывод порта включать светодиод??? Неправильно! Нельзя было этот вывод переводить в Z состояние. Надо было отставлять как выход и записать в него 0.
Последний раз редактировалось serg_svd Ср сен 10, 2025 14:39:50, всего редактировалось 1 раз.
В общем виновником светодиод оказался. Хоть при выключении светодиода я перевожу пин в Z состояние, но через него все равно течет ток. Без светодиода 19 мкА. Получается нельзя напрямую на вывод порта включать светодиод???
А что там с подтягивающими резисторами порта?
_________________ Астролябия-сама меряет, было бы что мерять!!!
Да все нормально! Один включен в регистре WPUA для кнопки. Возможно с внешним резистором ток будет меньше, надо экспериментировать.
КРАМ писал(а):
Наверное нужно опубликовать схему своего устройства...
До можно и опубликовать, если нарисовать её . А так я в первом сообщении поправил. Нельзя было пин со светодиодом переключать в Z состояние. Об этом ДШ говорит, я читал, но картинка в мозгу сразу не сложилась. Искал утечку в другом месте.
ДШ так же говорит об величине тока утечки Z состояния. И это не десятки микроампер. Это всего 0,1 мкА. Так что было бы интересно узнать как у вас включен светодиод.
Диод создает плавающий потенциал на входе (третье состояние - это вход). Поэтому на выходе входного буфера наблюдается сквозной ток в наблюдаемой разнице токов потребления. Либо нужен параллельный светодиоду резистор примерно 10 кОм, либо нулевой выход.
Надо пробовать и остальные неиспользуемые пины переввести на выход и установить в ноль. Может и через них еще утечка идет? 20 мкА тоже много, если в ДШ указан совсем мизерный ток. Про 20 мкА, к которым я стремился, это я невнимательно ДШ прочел. 20 мкА - это ток в рабочем режиме самого микроконтроллера с LP тактировпнием. А в спячке то тактировпние выключено. Значит надо искать, как еще можно снизить ток
Попробуйте в обратном порядке: создайте настройки нужного генератора, выключите вся периферия и убедитесь, что в спящем режиме потребление низкое и соответствует документации. Затем постепенно включайте периферии, функции и т.д., пока не получите желаемые функции. Так будет легче найти "виновника". В прошлом с подобным PIC12 у меня как идея осталась: WDTE OFF, BOREN OFF -> на простом измерительном приборе с минимальным ток. диапазоном: 2 mA в выключенном состоянии PIC12 показание: 0,000 . Некоторые PIC12x на это более способны. Напр. любимый: PIC12LF1571 /но нет генератора с внешним кварцем/.
Надо пробовать и остальные неиспользуемые пины переввести на выход и установить в ноль. Может и через них еще утечка идет? 20 мкА тоже много, если в ДШ указан совсем мизерный ток. Про 20 мкА, к которым я стремился, это я невнимательно ДШ прочел. 20 мкА - это ток в рабочем режиме самого микроконтроллера с LP тактировпнием. А в спячке то тактировпние выключено. Значит надо искать, как еще можно снизить ток
Перечитал ДШ и вопрос
если у вас PIC12F1822 - то это минимум - 20мкА
а вот если PIC12LF1822 - то там действительно мизерные токи !
Заголовок сообщения: Re: PIC12F1822 SLEEP. Большой ток в спящем режиме
Добавлено: Пт сен 12, 2025 12:23:56
Нашел транзистор. Понюхал.
Карма: 3
Рейтинг сообщений: 21
Зарегистрирован: Чт ноя 26, 2015 23:22:35 Сообщений: 159 Откуда: не с Уфы
Рейтинг сообщения:0
16F636 ... 3.6 вольт ... какие-то ноги выходные, какие-то входные ... подтяжка везде включена (что-то к верху, что-то к низу) sleep - 0,6 микроампера (всё, что может кушать - отключено).
У PIC12F1822 ядро процессора питается 1,7в, ноги от входного. А ядро кормит стабилизатор. Он и жрет те 20мкА. У PIC12LF1822 стаба нет, потому максимальное питающее 3,6в. Зато потребление в слипе - наноамперы.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения