Раздвоитель канала передатчика
Мой первый электронный проект, идея которого исходила не от меня. Maximus43 и AlcoNaft43 предложили мне сделать девайс, который как бы добавляет дискретный канал к уже имеющимся в передатчике. Например, для управления OSD надо 2 дискретных канала, а у нас на пульте есть один только свободный и один или несколько неиспользуемых переключателей. Как быть?
Вариант с одним трехпозиционным переключателем от Maximus43: Переключатель связываем с каналом, например, CH7. Нейтраль - оба выходных канала в 1ms (минимум). Переключатель вниз - один выходной канал в 2000ms (максимум). Переключатель вниз - другой выходной канал в 2ms. Получается что только один выходной канал может быть активен, что удобно для OSD но не подходит для других применений, например:
a) управления светом и сиреной;
b) включение посадочных огней и разворота камеры вниз для посадке на коптере; 😁
c) переключение видеовыхода с ходовой камеры на фотокамеру и нажатие затвора и т.д.
Поэтому первоначальная идея была расширена возможностью сконфигурировать любой выходной канал как триггерный, например, первое опускание переключателя включает канал, а второе - выключает.
Вариант от AlcoNaft43 требует двух двухпозиционных переключателей, двух свободных программируемых миксов и навыков их конфигурирования. При этом девайс считывает все 4 возможных комбинации переключателей, замиксенных в один канал, и преобразует их в два выходных канала.
Итак, девайс может конфигурироваться при помощи кнопки, нажатой при подаче питания. Настраивается режим работы: с одним переключтелем или с двумя, триггерный или моментальный режим каждого канала, и реверс на каждом канале.
Девайс сделан на PIC 12F675 (можно скомпилировать для 12F629). Состоит из двух светодиодов, 3-х резисторов, одного конденсатора и кнопки. Есть возможность выкинуть кнопку и резистор, которая управляет меню конфигурации, и задать все нужные режимы прямо в прошивке. Ну а светодиоды и резисторы можно и так выкинуть, они скорее для красоты. Так что из необходимого остается контроллер и конденсатор. Печатная плата сделана так, что части с ненужными деталями можно отрезать и останется кусочек размером 2x1 см.
Девайс симулирован в Proteus, печатная плата сделана по лазерно-утюжной технологии (мой первый опыт в ЛУТ, между прочим). Исходный код писан на PICC 9.60. В архиве прошивка, схема, файл Proteus, исходник, листинг, батник сборки, печатная плата, и настройки миксов для варианта с двумя переключателями (2sw.settings.txt).
narod.ru/disk/6045352001/DoubleChannel2.rar.html
Выложено на code.google.com/p/andrey-prikupets-projects/
DoubleChannel2.rar
При включении девайс сигналирует режим работы светодиодами: если мигнул только один - режим с одним переключателем, если оба мигнули - то с двумя. Пока логично 😉
Конфигурационное меню:
Если при включении нажать кнопку (включить, держа кнопку нажатой), девайс входит в конфигурирационное меню.
Первым в меню выбор режим работы (1 переключатель или два выключателя). При этом светодиоды быстро мигают - если 1 переключатель, но мигают по очереди; если 2 выключателя, то мигают одновременно. Нажатие (и отпускание, естественно) кнопки переключает этот режим на противоположный. Настойки немедленно сохраняются в энергонезависимую память.
После 5 миганий, если ничего не нажато, начинается настройка реверса выходного канала A. При этом светодиод канала A быстро мигает, а светодиод канала B показывает состояние реверса (если канал A не реверсирован, он не горит и наоборот). Нажатие на кнопку меняет реверс.
После 5 миганий, если ничего не нажато, начинается настройка реверса выходного канала B. При этом уже светодиод канала B быстро мигает, а светодиод канала A показывает состояние реверса (см. выше, как именно). Нажатие на кнопку меняет реверс.
После 5 миганий, если ничего не нажато, начинается настройка триггерного режима выходного канала A. При этом светодиод канала A медленно мигает, а светодиод канала B показывает состояние “триггерности” (если канал A не в триггерном режиме, он не горит и наоборот). Нажатие на кнопку меняет “триггерность”.
После 5 миганий, если ничего не нажато, начинается настройка триггерного режима выходного канала B. При этом светодиод канала B медленно мигает, а светодиод канала A показывает состояние “триггерности” (см. выше). Нажатие на кнопку меняет “триггерность”.
После последнего пункта меню делается пауза в 2 секунды и меню возвращается в начало. Чтобы выйти из меню, выключите питание 😎
Примечание: Триггерность не работает в режиме с двумя выключателями, чтобы не свести с ума пилота, и потому что в этом нет смысла - и так есть возможность независимо включать и выключать каналы. Но в конфигурационном меню настройка триггерности все равно присутствует. 😒