Надоела статичная подсветка на квадрике. Решил немного оживить ее. Появилась идея сделать подсветку, зависимую от положения стиков пульта. На форуме уже решения имеются, но хотел бы описать свой вариант и представить его с максимально понятным описанием.
На лучи приклеены светодиодные полоски по 2шт на луч. Передние – белые, задние – красные. Делал аналогию с автомобилем, чтобы проще ориентироваться.
Работа подсветки должна осуществляться следующим образом: при исходном положении стиков (газ на минимуме, остальные в центре) подсветка не горит, при повышении газа подсветка загорается и постоянно подсвечиваются все лучи. Далее при отклонении стика рыскания сделать имитацию кругового вращения влево и вправо соответственно. При отклонении стиков крена и тангажа мигать подсветкой лучей в соответствующем направлении, оставшиеся лучи должны подсвечиваться постоянно. При отклонении стиков по диагоналям – мигать только одним. При возврате стиков (кроме газа) в центральные положения – прекращать мигания и включить все. Необходимо учесть триммеры стиков и возможные реверсы газа и тангажа.
Набросал картинку поведения:
Далее собираем схему. Понадобится AVR-контроллер, способный работать на 16МГц, 4 NPN транзистора (например BC846B ), светодиодные ленты на 12Вольт, кварцевый резонатор 16МГц, два конденсатора 22пф, 5 резисторов 1кОм, кнопка без фиксатора или перемычка. Перемычка служит для включения режима настройки границ срабатывания стиков (с учетом триммеров) и настройки реверса газа и тангажа (делалось под мою аппаратуру Turnigy 9x и полетные контроллеры КК и Multiwii; в других конфигурациях, возможно придется переписывать код). Под использование других напряжений и светодиодных лент необходимо сделать выбор других транзисторов.
Электрическая принципиальная схема:
Использовал контроллер ATMega8A из более дешевых и доступных. Для прошивки можно использовать как и «5и контактный» программатор, так и любой другой. Я использовал USBasp, т.к. он поддерживается средой разработки Arduino. На плате сделал разъем внутрисхемного программирования. Для начала необходимо выставить фьюзы на контроллере для использования внешнего кварца на 16МГц. Выставлял программой «eXtreme Burner – AVR». Фьюзы Low EF, High C9. Конденсаторы у кварца лучше использовать 22пф, но также должно работать и от 18 до 30пф. При подключении к приемнику коптера сделал параллельные соединения проводников, которые подключил к своему устройству. Запитал устройство (+5В) от свободных контактов приемника, светодиодные ленты(+11,1) от платы разводки питания с аккумулятора на регуляторы двигателей.
Устройство нуждается в настройке. Рекомендую производить со СНЯТЫМИ пропеллерами во избежание чего-либо ужасного, т.к. может сработать арминг во время движения стиков. Лучше даже будет откинуть проводки, идущие на полетный контроллер или обесточить его.
Порядок настройки:
- Установить перемычку на устройство при отключенном питании.
- Включить пульт, приемник и устройство.
- Передние светодиоды моргнут длинным и коротким (_.) и затем все будут быстро моргать короткими (………) в течение 15 секунд.
- Во время моргания надо по два раза отвести стики в крайние угловые положения. Я делал вращательными движениями против часовой стрелки.
- При завершении моргания светодиоды погаснут и задние моргнут длинным и коротким (_.), показывая конец установки границ и запись в EEPROM. После этого перемычку снимаем.
- Далее отведено 5 секунд для установки реверса газа, в течение которых, по необходимости установить перемычку. Если перемычка не установлена, то реверса не будет, соответственно включится установка реверса, если перемычка установлена. По истечении 5и секунд мигнут левые передние и задние светодиоды. В этот момент опрашивается перемычка и производится запись в EEPROM. После этого перемычку снимаем.
- Далее отведено 5 секунд для установки реверса тангажа, в течение которых, по необходимости установить перемычку. Если перемычка не установлена, то реверса не будет, соответственно включится установка реверса, если перемычка установлена. По истечении 5и секунд мигнут правые передние и задние светодиоды. В этот момент опрашивается перемычка и производится запись в EEPROM. После этого перемычку снимаем.
- Отключаем устройство и включаем со снятой перемычкой.
- Далее необходимо проверить работу. Начинаем повышать газ и подсветка должна загореться. Если загорается при нижнем положении стика и гаснет при верхнем, то необходимо провести реверс настройки газа. Проверяем реакцию на отклонение рыскания. Подсветка должна мигать кругом в сторону отклонения. Проверяем отклонение крена и тангажа отдельно, а также вместе по диагоналям. Если при отклонении стика тангажа вверх, мигают задние светодиоды и отклонении вниз – передние, то необходимо провести реверс настройки тангажа. Для реверса необходимо опять выполнить настройку с начала(пункт 1).
После настройки, если снимались провода или питание с полетного контроллера, вернуть все подключения. Если после настройки устройства проводилось триммирование стиков, то настройку следует сделать повторно.
Первый вариант прошивки. Hex файл по ссылке:
r_lights_v1.rar
Мигание при рыскании не очень понравилось. Сделал, чтобы мигали все одинаково 10мс вкл/10мс выкл. По крену и тангажу очень даже понравилось.
Второй вариант прошивки — версия без вращения по рысканию.
r_lights_v2_wo_yaw.rar
Плюсы:
Динамичное оформление коптера.
Настройка реверсов.
Минусы:
После триммирования необходимо заново выполнить настройку.
Как выглядит на практике:
Если кому интересна идея – пробуем и делимся отзывами!
Автор: raefaraefa