В очередной раз модернизировал свою дешевую шестиканалку. Это уже третья волна модернизации... первой была банальная замена ВЧ модуля на FrSky, вторая описана в этой статье:
Дисплей телеметрии FrSky и блок речевого информатора для простой шестиканальной аппаратуры+161
30 сент. 2013 г., 16:49:57 | Алексей Приходько Луцк
Статья http://www.parkflyer.ru/blogs/view_entry/2457/


Вот видео с демонстрацией возможностей двух добавленных каналов (звук... не обращайте на него внимания :) )
После замены ВЧ модуля и соотвественно приемника я получил странную ситуацию: приемник 8 канальный, а электроника пульта может выдать только шесть каналов. Так как мне не особо нужны были дополнительные два канала до этого момента, то я ничего и не делал. Ну а теперь каналов вдруг стало не хватать (управление камерой с земли). Вот на всякий случай ссылки на ВЧ модуль и приемник FrSky.
FrSky D8R-XP 2.4Ghz Receiver (w/telemetry & CPPM)
Товар http://www.parkflyer.ru/ru/product/185814/
FrSky DHT 8-ми канальный DIY передатчик с телеметрией
Товар http://www.parkflyer.ru/ru/product/103811/

Принципиальная схема
:

На схеме не показан разъем программатора и некоторые варианты использования схемы (на будущие изменения прошивки). На плате все эти задумки учтены. Микроконтроллер может быть любой из Atmega48,88,168,328. Есть отдельная прошивка для устаревшей, но все еще распространенной Atmega8.

Кратко о работе схемы. СРРМ сигнал с "родной" платы пульта приходит на микроконтроллер (PORTD.2). При любом изменении уровня сигнала - срабатывает прерывание и сигнал копируется на выход схемы (PORTD.3) и потом подается на ВЧ модуль. Для того, чтобі добавить два канала в нужном месте СРРМ сигнала (т.е. после 6 канала) - замеряются интервалы времени между импульсами "родного" СРРМ сигнала. Как только будет найден самый длинный (больше 2500мкс - это синхропауза между пакетами СРРМ) интервал - мы точно будем знать, что следующий импульс будет первым, т.е. что мы попали на начало пакета СРРМ сигнала.

После этого начинаем подсчитывать импульсы. После прихода 7 импульса (завершение 6 канала) - включаем прерывание таймера, которое сработает через заданое количество микросекунд (сейчас оно зависит от измеренного напряжения на крутилке), тем самым формируя импульс, завершающий 7 канал. В подпрограмме прерывания выключаем его (т.е. чтобы больше не сработало) и настраиваем второе прерывание на девятый импульс (8 канал). В подпрограмме второго прерывания - выключаем его, формируем этот 9 импульс, обнуляем счетчик и ждем следующей синхропаузы. То, что прерывания сами себя отключают и включаются только тогда, когда будет найдена синхропауза - гарантирует, что импульсы 7-8 каналов не вклинятся в СРРМ пакет (а значит не испортят 1-6 каналы)
Прошивка сейчас написана так, чтобы 8 канал использовался для переключения режимов Ардупилота. Но никто не мешает сделать поддержку двух крутилок. Просто, думаю, что 3 крутилки (кроме основных стиков) - это уже достаточно много :). А удобное переключение режимов автопилота - это и .. удобно. И надежно... не нужно запоминать какую комбинацию тумблеров установить на аппаратуре (у меня знакомый так угробил свой красивый дорогой FPV носитель - включив ручное управление вместо возврата домой).
А ведь можно еще и наклейки на кнопки повесить (а я так и сделаю, как только определюсь, какие режимы автопилота я буду использовать).
Теперь о крутилке. Почему внешняя, а не внутренняя. Это для оператора видеосъемки - будет нацеливать камеру по FPV, в то время когда я буду летать визуально (либо будет два видеопередатчика = один для меня, второй для оператора). Одной крутилки, конечно мало, но кто мешает вынести еще одну?

Печатная плата (для Sprint Layout. Все элементы подписаны всплывающими надписями)

Отдельно кнопки со светодиодами

Конструктивно - блок кнопок оформлен съемным.

Основная плата закреплена сразу под передней панелью. Под штырьки в панеле просверленны отвертсия, и изнутри под ними установлены соотвествующие разъемы. На термоклей (некрасиво, но надежно... и быстро)

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


Архив с прошивкой, схемой, платой и фьюзами можно скачать здесь.
Ссылка на страничку (на всякий случай) с этим проектом: http://luckytech.ru/add2ch.html

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