Пульт ДУ с малым током покоя на ATmega328P

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!


По КДПВ видно, что автор неравнодушен к винтажной аудиотехнике Sony. Тут и MD Walkman, и недавнее приобретение — малогабаритный музыкальный центр с вертикальным CD-«транспортом». Продавался он без пульта, к самодельному аналогу которого автор предъявил требование: такой же малый ток покоя, как у готовых пультов на специализированных микросхемах.

Поначалу автор хотел написать прошивку с нуля, поскольку ранее он уже реализовывал программно протокол, применяемый в пультах ДУ Sony. Но затем решил воспользоваться существующей библиотекой. Она поддерживает различные протоколы, устройста, а также имеет доп. функции, облегчающие разработку и отладку.

С этой библиотекой достаточно подключить ИК-диод к ножке микроконтроллера и приступить к поиску кодов ДУ Sony. Заставить самодельный пульт заработать удалось очень быстро. Но что толку, если батарейка в нём разрядится за один-два дня, даже если им совсем не пользоваться?

В общем, задача состояла в переводе ATmega328P в спящий режим, чтобы он практически не потреблял ток, пока не будет нажата какая-нибудь клавиша. Библиотеки для управления спящим режимом тоже существуют, но автор решил, что раз он взял готовую библиотеку для передачи команд, то пусть хотя бы эта часть прошивки будет написана самостоятельно. Согласно даташиту, перевод микроконтроллера в спящий режим оказался многоступенчатым процессом.

Поэтому в скетче всё достаточно подробно прокомментировано, чтобы читая одновременно код и даташит, можно было понять, что происходит при выполнении каждой строки. Микроконтроллер «спит» практически всё время, а при изменении состояния одного из входов «просыпается», определяет, какая кнопка нажата, передаёт команду и снова «засыпает».

С кварцем на 16 МГц микроконтроллер, когда он не «спит», будет потреблять больший ток, чем при работе от встроенного тактового генератора на 8 МГц. Чтобы перенастроить соответствующие «фьюзы», пришлось воспользоваться внутрисхемным программатором. Спящий режим выбран такой, при котором отключается всё, кроме прерываний. Автор не сразу понял, что нужно отключить АЦП, отчего долго не мог найти причину, по которнй в спящем режиме микроконтроллер потреблял почти один миллиампер. Сторожевой таймер тоже пришлось отключить, и вот результат: около 2 мкА в спящем режиме и 3,5 мА при передаче команды. Этот калькулятор показал, что в идеальных условиях, если нажимать кнопки 5 раз в час, элемента в таком режиме хватит на 4,82 года. Даже один-два года — уже здорово, а так — тем более.

Плату автор разработал в Eagle. Файлы для повторения: скетч, схема, «герберы», исходник платы.





Видео, где показано в т.ч. измерение тока:



Процесс совершенствования конструкции продолжается, прежде всего необходимо заставить заработать пару кнопок, для которых найденные в сети коды оказались неправильными. Далее автор приводит упрощённый аналог CC-BY из одной фразы: «Если хотите, используйте код и плату в других самоделках, только не забудьте указать, кто всё это для вас разработал». Поскольку исходная библиотека не под GPL, а под LGPL, так делать можно.
Источник: https://habr.com/ru/post/452046/


Интересные статьи

Интересные статьи

В 17-м эпизоде 2-ого сезона South Park Мистер Гаррисон поручает классу сделать доклады, от успешности которых зависит, останется ли он в должности учителя. В конце концов герои делают доклад со с...
Но если для интернет-магазина, разработанного 3–4 года назад «современные» ошибки вполне простительны потому что перед разработчиками «в те далекие времена» не стояло таких задач, то в магазинах, сдел...
Java — это универсальный язык программирования, имеющий много альтернативных решений для ваших определённых задач. Тем не менее, существуют хорошие подходы, которым следует следовать, и также сущ...
История сегодня пойдёт про автосервис в Москве и его продвижении в течении 8 месяцев. Первое знакомство было ещё пару лет назад при странных обстоятельствах. Пришёл автосервис за заявками,...
Совершенствуя свой комнатный термостат, о котором писал раньше, я задался целью дополнить его беспроводным датчиком температуры для измерения температуры воздуха на улице, собрать термостат с пит...