Шлем оптимуса натолкнул на мысли...
Товарищ попросил помочь перенести динамическую подсветку с оптимуса на прикормочный катер (ну любит он рыбачить ночью и, чтоб можно было регулировать освещение дистанционно, было придумано такое решение) но меня озарила не менее интересная идея )))
Товарищ попросил помочь перенести динамическую подсветку с оптимуса на прикормочный катер (ну любит он рыбачить ночью и, чтоб можно было регулировать освещение дистанционно, было придумано такое решение) но меня озарила не менее интересная идея )))
Итак, поехали:
Немного теории. Управление нашей подсветкой будем осуществлять от любого из каналов приемника, можно через Y-кабель, можно смикшировать с каналом газа, можно просто на отдельный какнал, тут кому что нравится/необходимо. Каким именно образом формируются управляющие импульсы можно подробно почитать здесь. Зажигать светодиоды мы будем используя ШИМ.
Что нам потребуется: руки, паяльник, микроконтроллер ATMega8 (просто была под рукой), кусочек (18х36) двухстороннего текстолита, 12-ть smd резисторов, пара конденсаторов, спаренные штырьковые разъемы, собственно сами светодиоды ну и программатор (я использую USBASP).
Реализация: Прошивка написана на MikroC, плата разведена в DipTrace. По этой причине, я скомпилировал исходники и выгнал плату в pdf. Исходников два, первый (led_6x6.c) на порту С - динамическое управление светодиодами, на порту B - дискретное управление. второй (led_12x0.c) - оба порта управляются динамически. Соответственно две скомпилированные прошивки (flash_6x6.hex) (flash_12x0.hex). Ну и сама плата в формате pdf (PCB.pdf), она уже отзеркалена, просто распечатываем как есть и переводим с помощью ЛУТ на текстолит.
В самих исходниках я постарался максимально закомментировать все выполнямые действия. Как это работает: На внешнем прерывании INT0 висит сигнал от приемника, когда приходит передний фронт управляющего импульса, включается таймер и считает тики до окончания управляющего импульса. По завершению счета, мы получаем значение длительности этого импульса, он меняется от 1мс до 2мс, что соответствует минимальному и максимальному положению стика газа на пульте. Второй таймер тикает постоянно, и считает от 0 до 255 (это наш диапазон изменения яркости свечения светодиодов), при прохождении счетчика таймера через 0, на порт со светодиодами подается высокий уровень, при достижении значения таймера соответствующего значению длительности входа, порт отключается до следующего перехода через ноль, т.е. получаем классический программный ШИМ, который и позволит нам зажигать светодиоды с различной яркостью. В прошивке "6x6" реализовано дополнение - на порту B светодиоды загораются при положении стика газа больше среднего т.е. при длительности управляющего импульса больше 1.5мс, а при меньшем значении - отключаются.
Для того чтобы залить прошивку на плате предусмотрены площадки для припаивания проводков программатора.
Площадки RESET, SCK, MISO, MOSI - это для программатора, к ним припаиваем проводки, шьем прошивку и отпаиваем проводки. Площадка GND и аналогичная под C1 - это переходные отверстия на противоположную сторону, там фольгу не вытравливаем, там у нас земля. правая площадка под C1 - это питание. Сверху платы выведен порт C, снизу порт B, конденсаторы С1 и С2 любые (у меня С1 - 0.1мкФ, С2 - 22мкФ танталовый электролит). Контакты signal, +5v, GND (слева) - сюда подключается выход из приемника (как обычная серва). Резисторы надо подбирать под ваши светодиоды, чтобы добиться минимального потребления тока при максимальном свечении, ну обычно номинал этих резисторов от 300Ом до 1кОм, у меня отлично все получилось при номинале 510Ом. Питается вся схема от управляющего сигнала приемника, т.е. отдельное питание не надо, только смотрите, чтоб оно не превышало 5.5вольт, чтоб не спалить контроллер. Контроллер тактируется внутренним резонатором на 8МГц.
Как все это выглядит в собранном виде:
С припаянными проводами программатора:
Вид снизу:
с программатором:
устройство, готовое к эксплуатации:
На последнем фото показано, как подключаются светодиоды, т.е. плюс на сторону с дорожками, минус - на сторону с фольгой.
вот скрин как установить фьюзы:
Для чего две разные версии прошивок: ну например, ставим все светодиоды по окружности выходного канала сопла, шасть из них будут плавно загораться при увеличении газа до половины, после зажгутся остальные шесть (визуально как будто включился форсаж). Можно поставить по три динамических и три дискретных на каждое сопло. Можно поставить все светодиоды как динамические, по шесть на каждое сопло. Т.е. вариантов несколько, каждый выбирает по вкусу свой.
Ну и на закуску, видео работы полученного девайса:
Для данного примера использовано всего два светодиода на динамическом канале.
Будут вопросы - задавайте.
летом катер выходит в плавание, весной, надеюсь, полетит истребитель из видео.
Вес собранной платы без внешних светодиодов - 6гр.
Немного теории. Управление нашей подсветкой будем осуществлять от любого из каналов приемника, можно через Y-кабель, можно смикшировать с каналом газа, можно просто на отдельный какнал, тут кому что нравится/необходимо. Каким именно образом формируются управляющие импульсы можно подробно почитать здесь. Зажигать светодиоды мы будем используя ШИМ.
Что нам потребуется: руки, паяльник, микроконтроллер ATMega8 (просто была под рукой), кусочек (18х36) двухстороннего текстолита, 12-ть smd резисторов, пара конденсаторов, спаренные штырьковые разъемы, собственно сами светодиоды ну и программатор (я использую USBASP).
Реализация: Прошивка написана на MikroC, плата разведена в DipTrace. По этой причине, я скомпилировал исходники и выгнал плату в pdf. Исходников два, первый (led_6x6.c) на порту С - динамическое управление светодиодами, на порту B - дискретное управление. второй (led_12x0.c) - оба порта управляются динамически. Соответственно две скомпилированные прошивки (flash_6x6.hex) (flash_12x0.hex). Ну и сама плата в формате pdf (PCB.pdf), она уже отзеркалена, просто распечатываем как есть и переводим с помощью ЛУТ на текстолит.
В самих исходниках я постарался максимально закомментировать все выполнямые действия. Как это работает: На внешнем прерывании INT0 висит сигнал от приемника, когда приходит передний фронт управляющего импульса, включается таймер и считает тики до окончания управляющего импульса. По завершению счета, мы получаем значение длительности этого импульса, он меняется от 1мс до 2мс, что соответствует минимальному и максимальному положению стика газа на пульте. Второй таймер тикает постоянно, и считает от 0 до 255 (это наш диапазон изменения яркости свечения светодиодов), при прохождении счетчика таймера через 0, на порт со светодиодами подается высокий уровень, при достижении значения таймера соответствующего значению длительности входа, порт отключается до следующего перехода через ноль, т.е. получаем классический программный ШИМ, который и позволит нам зажигать светодиоды с различной яркостью. В прошивке "6x6" реализовано дополнение - на порту B светодиоды загораются при положении стика газа больше среднего т.е. при длительности управляющего импульса больше 1.5мс, а при меньшем значении - отключаются.
Для того чтобы залить прошивку на плате предусмотрены площадки для припаивания проводков программатора.
Площадки RESET, SCK, MISO, MOSI - это для программатора, к ним припаиваем проводки, шьем прошивку и отпаиваем проводки. Площадка GND и аналогичная под C1 - это переходные отверстия на противоположную сторону, там фольгу не вытравливаем, там у нас земля. правая площадка под C1 - это питание. Сверху платы выведен порт C, снизу порт B, конденсаторы С1 и С2 любые (у меня С1 - 0.1мкФ, С2 - 22мкФ танталовый электролит). Контакты signal, +5v, GND (слева) - сюда подключается выход из приемника (как обычная серва). Резисторы надо подбирать под ваши светодиоды, чтобы добиться минимального потребления тока при максимальном свечении, ну обычно номинал этих резисторов от 300Ом до 1кОм, у меня отлично все получилось при номинале 510Ом. Питается вся схема от управляющего сигнала приемника, т.е. отдельное питание не надо, только смотрите, чтоб оно не превышало 5.5вольт, чтоб не спалить контроллер. Контроллер тактируется внутренним резонатором на 8МГц.
Как все это выглядит в собранном виде:
С припаянными проводами программатора:
Вид снизу:
с программатором:
устройство, готовое к эксплуатации:
На последнем фото показано, как подключаются светодиоды, т.е. плюс на сторону с дорожками, минус - на сторону с фольгой.
вот скрин как установить фьюзы:
Для чего две разные версии прошивок: ну например, ставим все светодиоды по окружности выходного канала сопла, шасть из них будут плавно загораться при увеличении газа до половины, после зажгутся остальные шесть (визуально как будто включился форсаж). Можно поставить по три динамических и три дискретных на каждое сопло. Можно поставить все светодиоды как динамические, по шесть на каждое сопло. Т.е. вариантов несколько, каждый выбирает по вкусу свой.
Ну и на закуску, видео работы полученного девайса:
Для данного примера использовано всего два светодиода на динамическом канале.
Будут вопросы - задавайте.
летом катер выходит в плавание, весной, надеюсь, полетит истребитель из видео.
Вес собранной платы без внешних светодиодов - 6гр.
Ну и наконец,зачем было понты кидать? Тут половина пользователей акк не может правильно подключить с первого раза. Но правда три проводка спаяные в узел по закону Кирхгофа оценивает высоко,хотя и не знает кто такой Кирхгоф
В предыдущей статье этого автора мои комменты облили фекалиями из под тишка. Лишь один высказался резко,но он вояка(если правду пишет и ему это простительно. Даже не смотря на то,что за такие выпады на приличных ресурсах отправляют в перманентный бан). Я на него не в обиде. Мне противна сама ситуация коммунальной квартиры(или детской песочницы)когда рыжего чморят или изгоем назначают. То же и тут происходит,не замечали? Тольео от переходов с громким срачем,к тихой гомосятине.
Мною тут уже детей пугают: "Надо развеивать образ "желчного монстра" 8-), а то тут уже "маленьких пугают" Игорем Ко 8-)." http://www.parkflyer.ru/32895/blogs/view_entry/9946/ А мне всего лишь хочется донести в своих статьях ИНФОРМАЦИЮ,что бы вопросов меньше было. А не парой фоток показать -смотри как я умею.
Или кордовая пилотага чемпионатского класса,блестючая как авто из салона за 3 ляма уже не идеал моделизма?