Переход на 2.4GHz Turnigy 9ch (часть 2)

Ammafrion

Вот и заработал мой генератор PPM сигнала.
Проблема была вот в чем:
я считал ширину синхроимпульса между пакетами исходя из того, что длина пакета фиксирована и почему-то равна 20 000 микросекунд, то есть вычитая из общей длины пакета длину импульсов соответствующих восьми каналам и пауз между ними. Турнига такой сигнал не воспринимала. Сегодня запитал ВЧ-модуль и прямо на него подал сигнал РРМ… заработало. Сервы шевелятся, но имеет место очень сильный шум. Сделал синхропаузу фиксированной, равной 10 500 микросекунд - шум пропал. Вставил ВЧ-модуль в передатчик, подал сигнал на тренерский разъем - все работает. Попробовал посчитать синхроимпульс “по-старому” - не работает. Странно, конечно, но мне советовали считать синхроимпульс именно первым способом… В любом случае теперь работу можно продолжить и видимо скоро я смогу отписать на форум как повела себя эта система в поле 😃

На случай если кому-то еще понадобится один из вариантов РРМ сигнала, который точно работает с Turnigy 9Х и стоковым ВЧ-модулем:
1. синхропауза ровно 10 500 микросекунд
2. ширина канала от 1000 до 2000 микросекунд
3. число каналов - 8
4. паузы между сигналами 200 микросекунд
5. Паузы - логические единички, сигналы - нули.
6. Единичкой может быть напряжение от 3.3 до 5 вольт.

P.S. Большое спасибо за помощь коллегам ВитГо, HikeR и targetorsk!

P.P.S. И еще один вопрос: кто знает какую минимальную разницу в длине импульса воспринимают приемники turnigy 9x?

ВитГо

проверяйте полярность сигнала… то что вы написали про пакет ppm фигня полная 😦

вот выдранный кусок из прошивки Vcoder (рабочая прошивка)

… здесь код выдающий импульсы каналов, не буду его приводить, так как значения не имеет

PPM_PAUSE=PPM_PAUSE+CH_PPM[PPM_CUR_CH_NUM]; // считаем длительности всех импульсов

// CH_PPM[PPM_CUR_CH_NUM];- это длительность текущего канала,
// переменная PPM_CUR_CH_NUM принимает последовательно значения от 0 до 7 (8 каналов) таким образом в переменной PPM_PAUSE собирается общая длительность каналов
}
else {
OCR1A=2*(20000-PPM_PAUSE); // заливаем длительность паузы - это [20000- длительности всех каналов]

так что проверяйте код… чтото у вас не так…

кстати, турниговый приемник первой версии у меня уверенно принимал импульсы шириной где то в 600 мкс. правда сервы этот сигнал уже не понимали и после рывка в сторону - вставали по центру, и снова дергали в сторону, и снова вставали по центру

-----

кстати 8 каналов по 2000 мкс это 16 мс
плюс 1.6 мс паузы
плюс пауза 10.5 мс
итого 28.1 мс - ИМХО многовато !!!

Вячеслав Михеев, Алексей Гореликов, Дмитрий (HikeR) откликнитесь !!!

а то я уже сУмневаться в своих знаниях начинаю 😦(

Ammafrion

Виталий, а что не так по-вашему с полярностью сигнала? В коде у меня точно где ноль там 5 вольт, где единичка там 0, больше там проверять нечего.

Я так понимаю, что с тренерского разъема сигнал на ВЧ-модуль передает прошивка, при чем после того как смикширует каналы. Видимо в этом вся разница между сигналами передаваемыми на тренерский разъем и на ВЧ-модуль непосредственно.

P.S. Что я должен понять глядя на фрагмент кода я не понял. Даже после того как открыл исходник. С ВЧ-модулем напрямую у меня тоже работало так, но с шумами, с тренерским разъемом не работает вообще такой вариант.

P.P.S. В любом случае если где-то в моей реализации есть косяк, то он выплывет по ходу работы и тогда я сообщу об этом. Но пока это работает…

ВитГо

разницы между тем сигналом который идет на тренерский разъем и выходит из контроллера аппы нет… и там и там ppm сигнал…

кстати, а что значит “шумы” ? - дергаются сервы ? - скорее всего все таки не все нормально с длительностями у вас… либо вместо 8 каналов получается так что передаете 9… (лишний импульс для паузы делаете)…

выход пачки ppm за 22,5 мс приводит к тому что быстродействие серв на выходе из приемника будет намного меньше… причем возможно даже в 2 раза !! я столкнулся с таким когда делал дешифратор мультиканала для VCodera - там приемник не получив в 22,5 мс новую пачку ppm выдавал на сервы прошлую пачку… таким образом пропуская целый пакет ppm… я имел очень долгий и продолжительный половой акт с платой дешифратора, прошивками, приемниками, сервами - пока понял что же все таки происходит…
в моем случае мне помогла отладочная плата которая выводила длительности сигналов с приемника

как в вашем случае проверить быстродействие я не скажу. 😦

p.s. бог с ним с исходником (если не увидели, то не важно, на словах уже все описал)

кстати, а можете дать исходник вашего генератора ppm ?
ну и сказать на чем писали…

PigTail

ВитГо прав, фрейм 22.5 мс, синхроимпульс фрейма это остатки от фрейма за вычетом суммы всех длительностей каналов, длительность межканального синхроимпульса порядка 0.3-0.4 мс, длительность канала это время между фронтами межканальных синхроимпульсов. Модуль родной турниги требует не более 3.3 вольта, фактически там вроде 2.5 подается, смотрите делители по схемам 9Х и четырех и шестиканалок. Для первой версии вч от ФлайСкай полярность ППМ была пофигу, для второй не знаю.

Ammafrion

кстати, а что значит “шумы” ? - дергаются сервы ? - скорее всего все таки не все нормально с длительностями у вас… либо вместо 8 каналов получается так что передаете 9… (лишний импульс для паузы делаете)…

Именно, сервы дергаются. Во-первых, просто дрожат, а во-вторых, с периодом в 2-3 секунды нейтральное положение как бы переключается между двумя значениями (качалки ходят влево-вправо с небольшим шагом).

Пробую разные варианты. Заработал вариант с фиксированным размером PPM пакета, если из его длины вычитать только длины сигналов соответствующих каналам. До этого вычитал еще и паузы между импульсами и пауза получалась на полторы миллисекунды меньше. Косяк?

Исходный код кинул в личку.

Что еще интересно, сигнал когда по всем 8 каналам длительность импульса 2 милисекунды, паузы между импульсами 200 микросекунд и синхроимпульс 10.5 миллисекунд турнига съела и не подавилась.

zombrero

Подскажите - можно ли питать турнигу от 2s и как отключить сигнал слабого заряда батареи?

Владимир1961418
zombrero:

Подскажите - можно ли питать турнигу от 2s

Загляните в ФАГ по аппаратуре.

zombrero
Владимир1961418:

Загляните в ФАГ по аппаратуре.

Я не знаю где это. Можно ссылку? Спасибо 😃

darkcats
zombrero:

Подскажите - можно ли питать турнигу от 2s и как отключить сигнал слабого заряда батареи?

без переделки 2S будет мало!!! после переделки, и перепрошивки порог срабатывания пищалки можно поставить любым!!! так что, читай факи по прошивке и по питанию аппы, на форуме все есть… не надо лениться

zombrero
Владимир1961418:

Там вроде как написано, что если впаять ресистор 8,2К, то сигнал появится только лишь когда аккумулятор будет разряжен до 6.6в. Пи этом Липоли уже будет не возможно зарядить, потому что зарядник может выдать ошибку…? Как бы понять что происходит при таком способе обмана аппаратуры?

man-bis

А что Вас смущает в разряде 2s до 6,6 в? Вполне нормальное напряжение разряженного акка. вместо пайки резистора (2 точки) впаяйте лучше шлейф программатора (5 точек) будет полезней.

Владимир1961418
zombrero:

Там вроде как написано,

Лично я на своих двух аппах использую 3 баночные ЛиПо,и не заморачиваюсь,а когда поставлю туда вместо кренок импульсники,аппа будет работать ещё дольше.

man-bis:

впаяйте лучше шлейф программатора (5 точек) будет полезней.

Полностью поддерживаю.

zombrero
man-bis:

А что Вас смущает в разряде 2s до 6,6 в? Вполне нормальное напряжение разряженного акка. вместо пайки резистора (2 точки) впаяйте лучше шлейф программатора (5 точек) будет полезней.

Со шлейфом не совсем понял… Вы к тому, что бы перепрошить аппу и в новой прошивке есть функция изменения порога сигнала? Можно ссылку?

С Резистором норм идея. Думаю даже вывести переключатель, на тот случай когда приедет акк на 3s,что бы не разбирать, а просто переключить.

zombrero

Чет. я туплю… если сигнал будет на 6.6 в. это 3.3 на банку, что нормально для неё вроде. А на счет прошивки - спасибо. Не хотел сперва заморачиваться, но кругом все хвалят новые прошивки, так что загляну завтра на радиорынок по теме програматоров…

zombrero

Все круто сделал. Спасибо за советы. Отлично все работает. Перепрошивать пока что не стал, потому что на рынке был только крутой програматор с отладчиком за 1500р… как то круто… подожду пока за 500р. появятся менее крутые.

zombrero

О! не знал! Спасибо. Но у меня уже в посылке с паркфлаера места нет ни грамма… так что купил на ебей за 180р. с бесплатной доставкой. Подожду месяц - мне не горит ))) Спасибо Вам и этому форуму! Так держать! ))

Retif

Народ, помогите плиз, получил аппаратуру Авионикс, быстрей подключать аккумулятор Li-Fe, начал родной разъем разбирать в адаптере, который под батарейки и забыл, где минус. Плюс помню, что посередине.