из одного аналогового канала сделать несколько дискретных
Наверняка в природе должна быть схемка, чтобы из одного аналогового канала в РУ сделать несколько дискретных. Я себе это представляю примерно так: в передатчике переменный резистор заменяется на несколько кнопок/тумблеров с матрицей R-2R. А к приемнику на соответствующий канал вешается декодер, который формирует ШИМ-сигналы для нескольких дискретных каналов. Крайние значения выходных ШИМ-сигналов должны настраиваться в декодере. Таким образом, сервы, подключенные к декодеру должны принимать только два положения в зависимости от состояния кнопки/тумблера на передатчике.
Может, кто подскажет такую схемку?
Блин, скоро каждую неделю будут об этом спрашивать… 😦
Поиск, поиск, и еще раз поиск.
К примеру:1. rcopen.com/forum/f8/topic197662
2. rcopen.com/forum/f8/topic163804
3. rcopen.com/forum/f87/topic153744
4. rcopen.com/forum/f8/topic121688
Ну и продолжать можно до бесконечности… Кончатся темы на этом сайте - можно и погуглить… 😃
Удачи!
З.Ы. Учу поиску. Дорого!
Блин, скоро каждую неделю будут об этом спрашивать… 😦
Спасибо!
значит актуально, если спрашивают …
я вот так и не нашел нужную схемку.
как правило, везде, где я нарыл, идет последовательный перебор каналов, т.е. независимо нажимать на кнопки низзя. Ну, и кроме того, на выходах декодеров стоят ключи, а мне хоцеццо ШИМку, чтобы сервой дергать😵.
А зачем ШИМ? Дискрет - оно есть или его нет нет.
А зачем ШИМ? Дискрет - оно есть или его нет нет.
Например, чтобы поворачивать сервой. Т.е. используется только 2 положения сервы.
Или для управления телеметрией. Насколько я понимаю, для управления телеметрией используются, как обычно пишут “каналы, не влияющие на управление”. А так можно будет на один аналоговый канал повесить и управление телеметрией и еще чего-нить.
Поправьте, если я неправильно что-то понимаю.
Схема простая: Микроконтроллер. На одну ногу вход, на остальные - выход. Ну и питание не забыть. 😃 Реализация - на вкус и цвет. Ну вход можно по “инпут капче”, или прерывание + таймер. Выход - либо таймер + дергать ногами “ручками”, либо брать мк с кучей шим.
Как сделать первое - смотреть в примерах. Как последнее - в “самодельный передатчик”. В дебри лезть не обязательно, найдите самый первый вариант Фокуса на меге16. Там разбираться проще. Вот и все.
Вот и все
Вот то-то и оно
Ну, реализация на микроконторллере, само собой. Не на россыпи же городить.
Алгоритм тоже понятен: в передатчике магазин резюков, формирующих импульсы калиброванной длительности. В декодере прога анализирует эту длительность и выдает сигнал на нужный выход. ШИМ не нужен, так как та же прога может легко выдавать импульс нужной длительности. А для “включить - выключить” и этого не надо. Достаточно ключа.
А ШИМ обычно применяют для регулировки мощности. Тут этого не надо.
То что вы ищите, не найдёте. Схем таких не видел да же. То что перебирает каналы последовательно, этого море. За частую этого достаточно для реализации каких либо потребностей.
На Футабах такая тема есть. Но как там реализованно, я да же и не понял. Типа канальный импульс как то делиться ещё на 8, и они пропорциональны при этом. Получается из одного канала делается 8 дискретных или пропорциональных. В зависимости от типа модуля. Но у пропорциональных, появляется недостаток - снижается точность дискретизации.
Но как это реализованно схемотически, не могу сказать. Такое ощущение, что если установить такой модуль на какую то другую аппу, он там работать не будет. Там видимо сам кодер адаптирован, для подключения таких модулей.
Реализовать такое не очень сложно, допустим офицровываем импульс с приемника с разрядностью 8 бит, что позволяет получить 8 дискретных каналов, то есть если бит в в байте стоит, то канал включен, в передатчике ставим как тут уже сказано цап на r-2r с 8 переключателями. По идее все должно работать, тока вот точность сопротивлений в цапе должна быть большой иначе надо будет какую нибудь калибровку придумывать
Если отвязаться от идеи R-2R, то все гараздо проще. Что мешает гнать по этому каналу цыфру и на приемной стороне дешифровать? Ну с теми же стандартными декодерами ппм чтобы не попасть - крайние положения - 0 и 1. И последовательно передавать… Или, разбить диаппазон на 4 положения и 00-01-10-11. Для надежности, можно и контрольную сумму, и избыточность ввести.
Что мешает гнать по этому каналу цыфру и на приемной стороне дешифровать?
Формат мешает. Декодер читает длительность импулса. По его окончанию считает, что пошел другой канал. Набивать цифирь какой то другой модуляцией - головная боль. Так что матрица проще. Недостаток - возможность использовать одновременно только одну дискретную команду. Но, это тоже можно обойти, усложнив кодер.
Например, передавать в одной пачке только инфу по одному из, скажем 8 резисторов. В следующей посылке, другой. И т.д. То есть, разнести все по времени.
А в приемнике пытаться без ошибок причитать всю эту кашу. Или, уж пойти дальше и заставить формировать импульс по этому каналу процессор.
Так я ж и предложил принять одну длительность за 0, другую за 1. А в доп-декодере (который втыкается в разъем серво) читать последовательность и рулить чем-то. Какой формат то мешает???
На каждый канал выделен один импульс. В простейшем случае управления одним дискретным каналом так и делают. Минимальный сигнал “0” - выключено, максимальный “1” - включено. Но, речь идет о нескольких дискретных механизмах управляемых по одному пропорциональному каналу. Это можно сделать разбив максимальную длительность импульса на несколько фиксированных по длительности. А как передать цифрой в одном импульсе, что надо включить 5ую серву?
Обычно в тех каналах, где сервы дискретно двигаются - быстродействие не нужно… Ну и пусть декодер переместит 5-ю серву при получении последовательности следующих “канальных” импульсов: 11111111 1001 1 К примеру… ну первых 8 бит для синхронизации, потом номер машинки, потом - ее положение. Ну да, не в одном пакете ППМ передали инфу, но для дискретных каналов задержка в четверть секунды не критична.
З.Ы. пример не очень удачен, т.е. синхронизация может сбиваться. Ну еще 4 нуля в конце передать, к примеру. 😃 Или какие-нибудь известные протоколы повторить…
Можно график? Боюсь так не разберемся. 😃 Лучше один раз увидеть. 😃
Что увидеть? что в девяти пакетах ППМ канальный импульс имеет длительность 2мс, потом в двух пакетаз он же 1мс, и еще в двух снова по 2мс? 😃
Понял. Это то, о чем я писал. Разнос по времени. Но, засада в том, что надо как то надежно обозначить начало пакета. В самом формате используют синхропаузу. А как тут? Можно, конечно, сделать самую короткую посылку синхронизирующей. Но, вдруг, помеха и она пропала? Практически в двое снижается стойкость к помехе.
Хорошо ли?
Ну я привел пример элементарный. Синхронизироваться по 4 нулям+8 единицам. Последовательность не повторится. Можно посмотреть, что изобрел тот же граупнер\футабы\мульиплекс… ВРоде тут проект расширения каналов с исходниками www.toeging.lednet.de/flieger/profi/…/nautic.htm Думаю принцип тот-же. Сам не смотрел. Только что нагуглил. Удачи!
То есть, потерять время N полных пропорциональных пакетов только на синхронизацию? Жалко. 😃
Цифовых протоколов можно напридумывать массу… Или в каждой посылке передавать адрес (номер дискретного канала)+ значение по этому каналу, или передавать признак цикловой синхронизации, затем в нескольких пакетах данные по каналам, ну и закончить цикл для приличия CRC. У всех способов кодирования будут свои очевидные достоинства и недостатки, но главная проблема, что требуется доработка кодера… Если для меня и Алексея это не проблема 😉, то для топикстартера (если он хочет использовать готовую аппу с мин. переделками) действительно проще хотя бы на резисторах ЦАП слепить. В этом случае следует помнить, что канальный интервал будет сокращаться с ростом кол-ва каналов в геометрической прогрессии, и надежное декодирование, во всяком случае с аналоговым каналом связи, будет нереально…
Согласен. Увлеклись. Реальнее, все же на резисторах остановится. Иначе нужны серьезные переделки.