Товары из Китая

Светодиодный камин — безумие и отвага


  • Цена: 21$
  • Немножко тепла и уюта в каждый дом.

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

    Как-то гуляя по просторам какого-то молла, я увидел очень интересную эмуляцию огня.

    Светодиодный камин - безумие и отвага

    Светодиодный камин - безумие и отвага

    Размеры:

    Светодиодный камин - безумие и отвага

    Прямо очень было похоже. Называлось это чудо «led latern fireplace» (на али, кстати, ищется по этой же фразе). Я прямо восхищен был — это был точно не экран, и не старый способ вентилятор + тряпочки + подсветка — а выглядело очень правдоподобно.

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

    Я решил сначала попробовать найти его на Али по гораздо более приемлемой цене — и нашел. Заказал и стал ждать.

    Дальше начался детектив — китаец мне написал, что отправить его не может т.к. отправка для него будет стоить дополнительно 7$ и надо их ему заплатить. Естественно к нему улетел фидбэк в 1 и клейм за мошенничество. Камин был перезаказан у другого продавца, и вот он уже отправил без всякой ерунды в тотже день.

    Шла посылка около 2 недель и при получении меня ждало еще два сюрприза — во-первых чья-то доблестная почта сломала у камина одну из внутренних стоек + чуть треснуло орг-стекло в этом месте, а во-вторых кабель-переходник с круглого разъема 2.5×2.1 на USB в комплекте отсутствовал — видимо по пути бакланы проклевали коробку и изъяли его для каких-то своих нужд.

    По-идее надо было открывать спор, но я не стал — ибо самое главное работало — когда я его включил, собрав переходник — это просто сказка была. Но как и всегда бывает в китайской сказке, была там и огромная ложка дегтя.

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

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

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

    А в-четвертых пламя выглядело вполне, но чего-то ему прямо очень не доставало. Посмотрев внимательно какое-то время я понял — языки пламени выглядели вполне натурально, но пламя не мерцало — и это и вызывало это самое странное чувство, когда ты пока еще не понял, что, но мозг тебе усиленно говорит, что что-то тут не так.

    Механизм эмуляции пламени был прост и гениален — вот тут китайцам можно только поклониться. Хитрой формы золотинки были прикреплены к металлической оси, ось была закреплена на шпинделе редуктора, который вращал обычный моторчик.

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

    Т.е. внутри было:

    — разъем питания

    — кнопка включения

    — двигатель с редуктором

    — полоска диодов

    — ось с золотинками

    И все!

    Стукающий звук был вызван тем, что противоположная сторона оси БОЛТАЛАСЬ В ВОЗДУХЕ — хотя посадочное место под нее было даже с отверстиями под шурупы.

    Светодиодный камин - безумие и отвага

    На фото плата — это уже мои эксперименты.

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

    Светодиодный камин - безумие и отвага

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

    Китайцы тоже, видимо, уже получали за это по шапке, поэтому редуктор до отказа был заполнен силиконовой смазкой и, при открытии его, была схожая картинка, которую любят показывать в Голливуде в фильмах ужасов — пасть монстра крупным планом со стекающими слюнями…

    И вот здесь начинается сказ о том, как простая задача может перерасти в очень сложную за щелчок пальцев.

    По сути, на двигатель никакой толком нагрузки толком нет — ось весит мало, крутить ее надо медленно и я решил так — возьму ATTINY-85 и сделаю на ней два ШИМ канала — для управления мотором и для управления подсветкой (об этом ниже).

    Сказано — сделано.

    Был взят DC-двигатель от какой-то японской магнитолы, собран ключ на 2N7000, который модулировался аппаратным ШИМ с Timer0 ATTINY.

    Светодиодный камин - безумие и отвага

    Тут и начнется приключение: я редко сталкиваюсь с моторами в DIY — роботов я не строю, а для большинства задач хватает либо обычного моторчика, ну либо шаговика типа SG90, библиотека для которого давно писана и обкатана.

    И здесь я по наивности также думал, что мне хватит обычного моторчика + ШИМ.

    Как и всегда при столкновении реальность + теория, реальность вносит свои коррективы.

    У светодиодов, например, это гамма и нагрев.

    А у двигателей чуть хитрее.

    Во-первых, обычные моторчики более-менее прилично себя ведут примерно до 100 об/минуту. А вот если ниже — а здесь требовалось 20 об/минуту — начинается всякая разная нестабильность.

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

    В чем выражается нестабильность — поскольку мотор работает в импульсном режиме, да еще и импульсы очень редкие, у него начинаются проблемы со стабильностью вращения. Он может попадать в мертвые зоны, когда из-за недостаточно протяженного импульса и инерции он движется сначала вперед, а потом назад. Может наоборот — то ускоряться, то замедляться и т.д.

    И это — без нагрузки. Под самой крохотной нагрузкой это все усугубляется в разы.

    Но самое главное — он начинает звучать, не хуже чем динамик — так как присутствует модуляция ШИМ-мом на определенной частоте, и она — звуковая. Любое, к чему прикручивается моторчик становится излучателем этого безобразия.

    И даже если он не пищит, он начинает вибрировать – опять же из-за работы в импульсном режиме, для которого он абсолютно не предназначен — что точно также слышно очень хорошо.

    Т.е. вместо приближения своих требований, я, наоборот, отдалялся от них.

    Что делать? Ну пойдем по наторенной дорожке — закажу металлический двигатель с редуктором на 20 об/минуту, вот такой:

    Светодиодный камин - безумие и отвага

    Вроде металл, все маленькое, не должно так греметь…

    Жду, проходит 2 недели, с нетерпением иду забирать, подключаю и… гремит еще больше, тон только изменился — вместо глухого «бр-бр-бр» звонкое «ззззз»! — стало еще хуже.

    Ладно, когда-то нам рассказывали, что один из самых эффективных и тихих редукторов — это планетарный редуктор (он закрытый, по идее должен быть очень тихий) — ищу на али и как не удивительно — нахожу:

    Светодиодный камин - безумие и отвага

    История повторяется — 2 недели, и вот подключение. Ну что — гораздо тише, но теперь уже слышно не редуктор, а сам моторчик — жужжит теперь именно он.

    Обычный моторчик такого типа работает примерно на 3000-4000 об/минуту, это для понимания во сколько раз необходимо было уменьшить скорость и насколько он будет жужжать.

    Боль, смирение, но не принятие — должен же быть выход, ибо даже если вас съели, выходов, как минимум — два…

    Иду на поклон к знакомым механикам. Ну там предлагалось либо система на пассиках и кучей роликов — как в старых кассетных магнитофонах. Либо экзотические редукторы, основанные на разной вязкости жидкости внутри них.

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

    Похоже это как раз то, что нужно — они-то как раз управляются импульсами.

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

    Начинаю эксперименты с самым популярным мотором 28BYJ-48 и сборкой мосфетов (по сути — драйвером) на ULN2003 — но опять неудача, т.к. внутри этого мотора имеется свой редуктор — гремит он еще громче чем все предыдущие.

    Светодиодный камин - безумие и отвага

    Читая, все глубже и глубже вникаю в тему и с этим приходит понимание — мне нужен биплярный шаговый двигатель.

    Благодаря новым знаниям я оживил все двигатели, которые валялись без дела дома, начиная от двигателей от HDD и заканчивая шаговиком от 5.25 FDD 😀

    Один из героев:

    Светодиодный камин - безумие и отвага

    В самом простом случае у него две обмотки и принцип работы примерно следующий:

    Светодиодный камин - безумие и отвага

    Т.е. чтобы повернуть его на шаг, нужно подать на определенную комбинацию из 4 контактов (2 обмотки) определенное напряжение.

    Но тут есть нюанс — во-первых нужно по 4 мосфета на каждую обмотку, во-вторых ШИМ должен быть очень хитрым — там надо вовремя разгонять и вовремя тормозить (подавать обратное напряжение), чтобы шаги были четкими и плавными.

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

    Вот в этом копаться точно не хотелось, хотя в общих чертах я представлял, как это сделать, но 8 мосфетов…

    Наверняка должен быть универсальный драйвер для всего этого.

    Где используются такие двигатели? Ну там, где нужно что-то двигать шагами и при этом с большой точностью — а где такое есть? Ну, например в CNCи 3D принтерах.

    И тут-то мне попалось то, что я искал — драйвер на TMC2208. Эта специализированная микросхема не только умела во все эти хитрые модуляции, но еще и имела два интерфейса — могла общаться как через UART, так и просто пинанием одного из контактов ШИМом.

    Был у нее и выбор направления движения, и количества шагов на оборот.

    Светодиодный камин - безумие и отвага

    Про шаги — чем более они мелкие — тем больше их надо, чтобы совершить оборот и тем плавнее он будет происходить.

    Биполярные моторы умеют в так называемые «полу-шаги» — скажем один шаг у мотора — это 1.8 градуса, однако хитро модулируя прямое и обратное напряжение его можно заставить шагнуть, например, на половину этой величины, или на одну четверть и т.д.

    Был заказан данный драйвер версии 3.0 вот отсюда Опять-же потому, что было дешевле всего.

    У этих ребят есть github, где есть все что нужно по этой плате, тамже есть и схема и макетка — все что нужно.

    Однако есть куча и других предложений схожей тематики на али.

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

    Чтобы отрегулировать мощность — нужно подключить вольтметр между землей и выходом vRef и добиться переменным резистором напряжения около 0.3 вольта — без вольтметра не сделать, ибо у переменника отсутствуют упоры.

    В моем случае установки двигателя нужно вращение против часовой стрелки — поэтому контакт DIR нужно припаять к земле.

    Ну и режим работы с максимальным количеством шагов — MS1 и MS2 на VCC.

    Питание и двигателя и всей платы — от 5v.

    Схема устройства:

    Светодиодный камин - безумие и отвага

    По вкусу можно добавить электролит и керамику по питанию.

    Теперь какой двигатель выбрать?

    А вот здесь я не знаю что ответить, я выбрал такие:

    Светодиодный камин - безумие и отвага

    Почему — цена и мелкий размер, считал, что меньше греметь будет — что, в принципе, оправдалось.

    Старый мотор был с позором изъят, золотинки были нагреты феном и сняты с оси, сама ось и мотор были отправлены на полку.

    Были куплены спицы для вязания (оказывается, мои представления и об этом устарели — там сейчас в ходу керамические, пластиковые и куча других спиц, а металлические сейчас полые внутри — но это сыграло мне на руку).

    Светодиодный камин - безумие и отвага

    Спица была укорочена справа и чуть прорезана дремелем, потом я чуть развел половинки и надел их на шестеренку мотора.

    Светодиодный камин - безумие и отвага

    Мотор был укреплен в демпфере (чтобы еще больше погасить вибрации) из какого-то, найденного в закромах, вспененного материала.

    Светодиодный камин - безумие и отвага

    При помощи клеевого пистолета и такой-то матери золотинки были усажены на новую ось:

    Светодиодный камин - безумие и отвага

    И испытания прошли успешно — все было абсолютно тихо и плавно, именно так как хотелось.

    И теперь еще одна интересная штука — мерцание огня.

    Это далеко не случайное изменение яркости у пламени — как всегда у природы все очень и очень хитро.

    Умные люди сидели и измеряли яркость пламени у свечи и написали формулу, по которой оно меняется — если очень грубо, то яркость зависит от предыдущего значения яркости и случайного колебания.

    У меня результате в очень грубом приближении получилось что-то такое:

    //генератор псевдослучайных цифр из википедии, 
    
    BYTE rnd8( void ) {
    static volatile WORD seed;
    seed = ( seed << 11 ) + ( seed << 2 ) + seed + 13849;
    return ( ( seed & 0xFF ) + ( seed >> 8 ) ) & 0xFF;
    }
    volatile BYTE flameBr = 0;
    #define FLAME_BR_MAX 150 //максимальное гуляние яркости пламени (от 255)
    //функция вычисления следующей яркости и ее установка в ленту
    void flame( void ) {
    BYTE r = rnd8() % FLAME_BR_MAX;
    flameBr = flameBr - ( flameBr >> 1 ) + ( r >> 1 );
    lightSetBright( 255 - FLAME_BR_MAX + flameBr );
    }

    Главное — не забыть про гамму для светодиодов, чтобы яркость была линейной.

    После добавления этого дела камин заработал максимально близко к настоящему.

    Для тех кто спросит: “А как регулируется яркость? ШИМ? Фууу!!! Это будет утомлять глаза!” — так вот, ШИМ на диоды здесь 250kHz — так что если что-то будете видеть или утомляться – вам Нобелевку дадут 🙂

    Ну и после этого шага Остапа понесло и я решил добавить еще и звук горящего очага.

    С этим тоже было не просто — все бесплатные саунд-банки в интернете были облазены и вроде бы достаточно простой звук был найден в большом количестве — но все было не то — не нравилось.

    Помогла как всегда случайность — наши разработчики совсем недавно выпустили «русский Fallout» — игру под названием «ENCASED», которую я предзаказал и в которую иногда поигрывал.

    И вот в очередной раз ГГ бежит по одной из локаций и пробегает мимо горящей бочки… и я прямо остолбенел — вернул его к ней — там был именно тот звук, который я искал — четкий, без посторонних шумов типа завывания ветра, разнообразный и потому не давящий и не надоедающий.

    Минут 20 ушло на копание в файлах ресурсов и проклинание создателей Unreal, еще 10 на написание скрипта-распаковщика и вот оригинальный звук у меня — целых 10 метров в wav, между прочем.

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

    Затем была найдена старая SD-карта на 8 гигов — меньше нет 🙁 И все это было водружено рядом с драйвером двигателя вместе с динамиком.

    Естественно, не обошлось без клеевых соплей, однако я постарался сделать все максимально аккуратно и считаю что мне это вполне удалось.

    Вид конечного устройства:

    Светодиодный камин - безумие и отвага

    Собственно, демонстрация работы видео

    Смотреть обязательно со звуком.

    Прошивка и звук

    Фьюзы на схеме.

    Что бы я сделал после получения всего этого опыта?

    Тут получился дикий оверинжиниринг — но, как говориться, «Без ТЗ результат ХЗ…».

    Связал бы драйвер и однокристаллку по UART-у — все можно настроить по нему без всякой пайки проводов + попробовать недоступные режимы управления.

    Сделал бы проигрывание звука самим процом, отказавшись от платы mp3-плеера, ибо выводить моно-wav — ничего сложного.

    Сделал бы возможность включать/отключать звук.

    Добавил бы таймер авто-отключения.

    Вопрос к знатокам – реально ли найти i2с флэш-память хотя бы мегабайт на 5? — я не смог. Это вместо того, чтобы SD карточки да mp3-плееры юзать.

    Надеюсь, что было интересно.

    Всем добра и уюта в доме!

    P.S. Исходники традиционно не выкладываю. Почему — уже объяснял.

    Кто боится, что модуляцией двигателя и звука со светом я смогу сдуть с него его шапочку из фольги и проникнуть в мозг — написать это на любом проце — дело 15 минут — там всего один таймер + один ШИМ.


СМОТРИ ТАКЖЕ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *