В основе этого давнего DIY проекта — известная копилка от AlexGyver. Я решил не просто повторить, а довести идею до ума: напечатал новый корпус на 3D-принтере, переработал схему, развел печатную плату и изготовил её вручную. Что из этого вышло — читайте в статье!
Принцип работы
В основе лежит метод оптического прерывания. При прохождении монеты через луч инфракрасного светодиода она частично перекрывает излучение, направленное на фототранзистор. Чем меньше диаметр монеты, тем меньше перекрытие: 1 рубль дает минимальное падение напряжения на фототранзисторе, 5 рублей — максимальное.
Система записывает сигнал с привязкой ко времени пролета, получая зависимость падения напряжения от времени. Затем эта кривая сравнивается с калибровочными эталонами для каждого номинала, заранее сохраненными в памяти.
В процессе работы устройство подсчитывает количество монет каждого номинала и умеет выводить итоговый отчет.
Исходники на GitHub
Принципиальная схема
Зарядный модуль
Зарядный модуль для аккумулятора 18650 реализован по классической схеме с использованием 3-х микросхем:
TP4056 — заряжает аккумулятор стабильным током до 1 А до достижения 4,2 В;
DW01A — контроллер защиты отслеживает напряжение на аккумуляторе и ток через нагрузку, обеспечивая защиту от переразряда ниже 2,4 В, перезаряда выше 4,3 В и перегрузки по току (КЗ);
FS8205A - сдвоенный N-канальный MOSFET, который разрывает цепь между аккумулятором и схемой по сигналу от DW01A (при переразряде, перезаряде или КЗ), переходя в режим блокировки и требуя подключения зарядного устройства для выхода из этого режима.
Индикация процесса зарядки стандартная: красный светодиод горит во время зарядки, зеленый загорается по окончании.
Повышающий преобразователь
Для питания Arduino и дисплея используется повышающий DC-DC преобразователь на микросхеме MC34063. Входное напряжение: 3–4,2 В, выходное: 5 В.
Первоначальная схема:
Arduino питалась напрямую от аккумулятора, а повышающий преобразователь и дисплей включались отдельно по сигналу от Arduino через MOSFET. Главный недостаток: при снижении напряжения на аккумуляторе до 3,9 В происходило преждевременное отключение микроконтроллера, хотя аккумулятор был еще далеко не разряжен.
Итоговая схема:
Arduino запитывается от непрерывно работающего повышающего преобразователя MC34063. Это позволило стабилизировать напряжение на входе микроконтроллера на уровне 5 В, благодаря чему система сохраняет полную работоспособность даже при снижении напряжения на аккумуляторе до 3 В. Дисплей по-прежнему управляется отдельно по сигналу от Arduino через транзисторный ключ.
Цена вопроса: автономность
Однако стабилизация питания имела обратную сторону — рост энергопотребления:
Активный режим: 124 мА
Режим сна: 4 мА, из которых: 0,07 мА приходится на Arduino, 3,93 мА — собственное потребление преобразователя MC34063
Таким образом, в режиме сна 97% всего потребления приходится на микросхему MC34063 и лишь 3% — на микроконтроллер. Аккумулятора емкостью 2000–3000 мА·ч хватает примерно на 20 дней.
Для дальнейшего снижения энергопотребления необходима замена микросхемы преобразователя на более экономичную, например MT3608, у которой собственный ток намного ниже.
UPD: Осознание ошибки
Ошибки, допущенные в данном проекте, стали очевидны лишь спустя месяц, когда я приступил к разработке «Метеостанции». Оптимизируя энергопотребление в новом устройстве (снижение частоты МК и порога BOD), я понял: это решение идеально подошло бы и для «Копилки».
Исходная схема, где Arduino во сне питалась через постоянно работающий повышающий преобразователь, оказалась неэффективной. Правильнее было запитать преобразователь через транзистор, а Arduino подключить напрямую к аккумулятору. Благодаря сниженному порогу BOD микроконтроллер не отключался бы даже при падении напряжения до 2,7 В, а преобразователь просыпался бы только для вы��ода информации на дисплей.
Такая доработка могла бы увеличить автономность устройства до одного года.
Устранение помех
Повышающий импульсный преобразователь на MC34063 создавал значительные помехи, из-за чего Arduino работала некорректно: система самопроизвольно засчитывала отсутствующие монеты.
Начальная версия (навесной монтаж): Для подавления помех достаточно было установить электролитический конденсатор 470 мкФ.
После перехода на печатную плату (ПП): Этой меры оказалось недостаточно. Для надежного подавления помех потребовался комплекс мер:
Добавлен LC-фильтр с частотой среза 2,3 кГц
Топология платы изменена — преобразователь максимально удален от Arduino и аналоговой части (фототранзистор)
Разделение земель — аналоговая земля отделена от силовой
В результате устройство стало работать стабильно, а ослабление пульсаций составило 18,6 дБ, что соответствует снижению уровня помех в 8,5 раза по напряжению.
Сравнение осциллограмм до и после применения фильтра приведено на рисунках ниже


Печатная плата в Altium Designer
Готовое устройство на печатной плате
ПП изготовлена вручную фоторезистивным методом.
Для защиты токопроводящих дорожек от окисления и коротких замыканий на плату нанесена паяльная маска, сформированная методом УФ-экспонирования через фотошаблон. Также это придало устройству красивый профессиональный вид.
Для обеспечения компактности ПП и гибкости размещения компонентов в корпусе устройства — аккумулятора, фототранзистора, ИК-светодиода, кнопки включения и дисплея — их подключение к основной плате реализовано через разъемы типа PLS.
Такое решение позволило:
Оптимально разместить элементы в пространстве корпуса
Упростить сборку и разборку устройства
При необходимости легко заменять компоненты без перепайки
Корпус
3D-моделирование выполнено в SolidWorks, печать корпуса — из ABS-пластика.
Особенности конструкции:
Крепление: дисплей и аккумуляторный отсек зафиксированы винтами М3 через вплавляемые гайки, запрессованные в пластик корпуса
Монтаж платы: ПП удерживается пластиковыми клипсами
Компоновка: внутреннее пространство разделено перегородкой, изолирующей электронику от монет
Доступ к монетам: задняя крышка скользит по направляющим, что позволяет легко и быстро извлекать содержимое
Интерфейсы: разъем зарядки и светодиодная индикация выведены на левую грань корпуса
Хочу сказать отдельное спасибо Передовой инженерной школе «ЛЭТИ» и аспиранту кафедры ЭПУ Кушнаревой Олесе Андреевне за помощь и предоставленную возможность в реализации корпуса для проекта.
Демонстрация работы устройства
Итог
Проект «Копилка» прошел полноценный путь развития: от первого прототипа в DIY-корпусе с навесным монтажом до законченного устройства на печатной плате в индивидуальном корпусе, изготовленном с помощью 3D-печати.
Главный вывод, который я сделал для себя: энергопотребление нужно закладывать на начальных этапах разработки устройства, а не дорабатывать после сборки.
Подписывайтесь, если интересны DIY проекты и истории их (не всегда идеальной) разработки. Пишите в комментарии — что я упустил? Как бы сделали вы?
