расширение каналов

PigTail

Э… на коленке на тини13 собирал декодер на 4 дискретных канала, можно и на больше расширить, текст проги и схему подключения инициатору темы приводились. Принцип простой, длительностью канального импульса, имеющую 16 фиксированных значений задается состояние 4 дополнительных дискретных каналов, увеличим до 32 значений и имеем уже 5 доп. дискретных каналов.

Brandvik

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

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

radioham

Я может и не кораблестроитель - но и не пасудник 😃
Все верно - надо незвисимые дискретные каналы используя один из пропорц
Тем кто предлагает поисковик - пробуйте и поймете …
Теоретически я понимаю процесс подмешивания , и могу собрать на логике ( даже уже собирал ) но размеры - сами понимаете
Потому и вопрос задал - может кто на контроллере делал ( я не силен в программировании)
Скорость работы - не особенно критична( в пределах разумного)

PigTail - спасибо Ваша тема работает и уже задействована … надо БОЛЬШЕ !

PigTail

Дык объясните толком как влезаете в формирование канала в передатчике, тады будет понятно что можно сделать на контроллере, а то при неимении такого передатчика хрен его знает что и как там 😉. Надо больше - попробуем приделать больше 😃

ubd

По моему, так просто взять и в передетчике разделить один канальный ипульс, ещё на 8 не возможно, т.к. кодер в передатчике, считывает с переменного резистора джойстика, уровень напряжения, и уже внутри проца работает АЦП, после него программа, в зависимости от числа которое выдаёт АЦП, формирует длинну канального импульса.

Тогда если делить один канальный импульс, то нужно изменять программу в кодере передатчика, просто на АЦП подать ещё 8 маленьких канальных импульса, не получиться. Работать не будет.

Например, Футаба делает такие аппаратуры, у которых можно один канал разделить ещё на 8, но там видимо, схема и программа кодера в передатчике, специально заточена под это дело…

PigTail

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

toxa
PigTail:

Принцип простой, длительностью канального импульса, имеющую 16 фиксированных значений задается состояние 4 дополнительных дискретных каналов, увеличим до 32 значений и имеем уже 5 доп. дискретных каналов.

Brandvik:

Второе, предложенная схема ему не подходит, ему нужны независимые дискретные каналы.

Они и получаются независимые! 😃 32 фиксированных значений канального импульса задает 5 независимых положений переключателей: 2 в 5-ой степени будет 32. Для создания восьми независимых дискретных каналов нужно 2^8 = 256 фиксированных значений.

Как кодировать много каналов с ухудшением быстродействия? Да все просто. Кодируем вышеописанным способом например 5 бит. Посылаем. В следующей пачке еще 5 бит. Посылаем. Передаем, например, 30 бит в 6 пачках. Кодируем-декодируем, например, кодом Хэмминга. Получаем довольно сносную помехозащищенность. Можно, в принципе, использовать любой другой код, не обязательно с исправлением ошибок, нам просто нужно детектировать ошибочность всей посылки, учитывая, что ошибок может быть большое количество, просто Хэмминг - первое что мне пришло в голову.

toxa

Начало кодовой пачки можно определять либо по импульсу специфической длины (например, нам нужно 32 отсчета для передачи бит, а мы используем 33 для индикации начала пачки), либо по структуре расшифрованных данных, например, используем несколько контрольных бит, а принятые биты сдвигаем в регистре, пока не детектируем структуру всей посылки. Помехи хорошо отсекаются при помощи контроля длины импульсов, пример - IPD.