Лучшее из возможного!

Размер шрифта:  Aa Aa Aa Aa Aa



Бесполезная коробка

Модернизируем своими руками игрушку Useless box

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

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

Можно сделать бесполезную коробку своими руками, но все-таки в игрушке главное - внешний вид. А сделать аккуратную и красивую коробочку не так-то просто. У меня лично главная проблема всегда возникает именно с корпусом для своих конструкций.

Useless boxes Aliexpress

На Aliexpress много предложений разных вариантов бесполезных коробок, нужно просто набрать в поиске «Useless box». Предлагаются как самые простые, без какого-либо интеллекта, так и более крутые, с контроллером и звуковыми эффектами. Стоимость простейшего варианта начинается примерно с 8...10 USD. Более навороченные стоят 20...30 USD.

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

Хотя жадность и не является доминирующей чертой моего характера, все же я не решился тратить более 10 USD на приобретение этого гаджета. Поэтому заказал простой вариант, но в симпатичном деревянном корпусе.

Простая бесполезная коробка

Все работает, коробка сделана довольно аккуратно. Внутри все предельно просто - конечный выключатель, двигатель с редуктором и две батарейки. Соответственно и поведение незамысловатое, без каких-либо эффектов.

Бесполезная коробка изнутри

Пользуясь наличием свободного времени (COVID-19!) я решил модернизировать приобретенную бесполезную коробку и немного разнообразить ее реакцию на манипуляции с тумблером. Благо, что в Интернет много самодельных вариантов Useless box на Arduino. К сожалению, в очередной раз пришлось все делать самому. Дело в том, что во всех интеллектуальных бесполезных коробках с контроллерами используется сервопривод, а в моем, простейшем варианте установлен просто электродвигатель с редуктором.

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

Я решил, что в такой игрушке не должно быть ничего лишнего, никаких выключателей питания. Гаджет должен быть постоянно готов к работе, но в спящем состоянии он не должен расходовать энергию батареи. Питание тоже решил оставить 3 вольта - 2 батарейки. Использовать плату Arduino оказалось нецелесообразно, на ней много лишнего, что увеличивает бесполезное потребление дефицитной энергии. В данном случае нужен только контроллер. В своем «ящике с хламом» я нашел ATmega48. Этот контроллер гарантированно работает при напряжении 2,7 вольта и имеет встроенный тактовый генератор. От используемого в Arduino ATmega328 он отличается, в основном, меньшим объемом памяти, что в данном случае не имеет значения.

Доработка схемы коробки

Переделки коробки минимальны. От штатной схемы нужно отпаять двигатель и батарею, перерезать одну дорожку и установить одну перемычку на плате. Изменения показаны цветом на рисунке. Таким образом, от штатной схемы используется только пара контактов от тумблера и конечного выключателя. Вооружившись мультиметром и своим собственным интеллектом внести эти изменения в схему штатной платы не составит труда.

Схема блока с контроллером

А вот схема дополнительного блока с контроллером. Как оказалось, двигатель потребляет довольно существенный ток - около 350 мА, поэтому транзисторы должны не просто выдерживать такой ток, но и обеспечивать минимальное падение напряжения при этом. Подходят старые советские КТ814, КТ815 или КТ816, КТ817 с любым буквенным индексом. Можно поискать и какие-нибудь полевые транзисторы, но необходима комплементарная пара, которая может открываться напряжением не более 2,5 вольт. Конкретные типы я не искал. VD1 - выпрямительный мостик подходящего габарита и с допустимым током до 1 ампера.

Все пассивные компоненты в SMD корпусах типоразмера 1206 или 0805, контроллер в DIP корпусе. Блокировочный конденсатор по питанию неполярный, керамический. Ставить электролит нежелательно, т.к. это увеличит потребляемый в спящем режиме ток. Хотел использовать для световых эффектов синий светодиод, но он практически не светится от 3 вольт. Пришлось ограничиться красным, зеленым, желтым. Желательно использовать яркие светодиоды.

Первоначально я планировал использовать PWM для регулировки скорости двигателя. К сожалению, не получилось. Момент двигателя на пределе, нужно поднимать напряжение питания и использовать редуктор с бОльшим передаточным отношением. Если первое еще можно сделать, то второе уже проблематично. Пришлось довольствоваться тем, что есть.

Чертеж печатной платы

Плата изготовлена из одностороннего фольгированного стеклотекстолита и имеет размеры 60x26 мм. Вид со стороны печатных проводников, при печати для лазерно-утюжной технологии нужно ставить галочку «зеркально».

Плата для бесполезной коробки

На плате предусмотрены контактные площадки для внутрисхемного программирования контроллера. Для этой цели необходим программатор. В данном случае важно правильно установить FUSE биты. Нужно поставить галочку SPIEN, выбрать режим «Brown-out detection disable» и «Int.RC Osc 8 MHz. Start-up time RWRDN/RESET 6CK/14CK+65ms». Т.е. нужно запрограммировать следующие байты FUSE: Extended = 0xFF, High = 0xDF, Low = 0xE2.

Плата в корпусе

Плата размещается внутри коробки рядом с батарейками. Налаживания устройство не требует, через несколько секунд после включения коробка готова к работе. Я запрограммировал несколько вариантов реакции на переключение тумблера, они выбираются каждый раз случайным образом. Если быстро нажимать тумблер, он выключается без эффектов. Сложные варианты поведения появляются реже, чем простые.

При первом включении тумблера коробка пробуждается от сна и возвращает тумблер обратно без эффекта. В этот момент происходит калибровка, сводящая к минимуму влияние разряда батарей на алгоритм работы устройства. Если игрок бездействует в течение 8 секунд, бесполезная коробка засыпает. В режиме сна потребляемый ток менее 1 мкА, он практически не будет влиять на срок службы батареи. Лучше использовать дешевые солевые батарейки, применять что-нибудь типа Duracell особого смысла нет. По моим наблюдениям у солевых батареек напряжение в процессе разряда более стабильно, а срок их службы практически не отличается от более крутых. По крайней мере такое у меня сложилось впечатление, специальных исследований я, разумеется, не проводил.

Схему в формате sPlan, плату в Sprint Layout, прошивку контроллера, проект в CodeVision AVR V 2.05.0 с исходным текстом программы на Си вы можете загрузить по ссылкам в конце странички. Вот, наверное, и все. Приятного время провождения!

© 2020г.


ZIP Плата в Sprint Layout и схема в sPlan
ZIP Прошивка для ATmega48
ZIP Проект на Си в CodeVision AVR V 2.05.0