OSD на ATmega1281

ubd

Вот у вас и не запускается потому что сервоимпульс не доходит до 1мс это -100% и не доходит до 2 мс это в +100%. Расширьте расходами, что бы было от 1 до 2 мс.
У меня была та же проблема, я просто расходами добавил и всё.

И дело тут не в эксперте. Он передаёт ровно то что вы ему на вход подсунули, т.е. то что выдаёт ваш передатчик.

Межканальные паузы у вас нормальные. Инверсия РРМ, может быть любая.

период импульсной телеграммы 19мс (при чем этот период начинает меняться в зависимости от длительности канальных импульсов - простыми словами, если двигать ручками, то положение первого импульса в следующей посылке начинает меняться, сдвигается первый импульс)

Это то же не влияет.

Вот если бы КП сделать такой параметр. Например указывать, хотя бы только для канала управления, длительность канального импульса. Что бы канал управления начал хавать тот импульс который приходит на канал управления. Или фициру коррекции сделать.

А лучше сделать вообще, установка длительности канального импульса. т.е. замеряешь осциллом какая длительность приходит любого из каналов, и вбиваешь ему что -100 это соответвует скажем 0,9мс, а +100 1,9 мс. И всё АП начинает хавать этот РРМ, и на выходе выдавать то же самое на сервы.

Dacor

Немножко дополню.

По осциллографу выставил длительность канальных импульсов каналов 3 и 5 (в конфигураторе 3 канал - газ, 5 канал - управление АП). Использую пока 8-ми канальный РРМ (проще всю аппаратуру включать). При неподключенном РРМ ОСД выдает невращающуюся палочку в белом кружкЕ и цифру 128. При включении с подключенным РРМ палочка начинает вращаться и число со 128 уменьшается и становиться 0. Палка продолжает вращаться в белом кружкЕ, на выходе PWM отсутствует. Режим АП остается FS.

Куда копать дальше?

Спасибо.

msv

Прямо квест какой-то у меня получился… 😃

Dacor:

При включении с подключенным РРМ палочка начинает вращаться и число со 128 уменьшается и становиться 0.

Отлично, пакеты PPM АП устраивают. Вы успешно дошли до кода:

    if(!gCTRL_starting)
      {
      if(err==0 &&
         gCTRL_InBuff[gCTRL.Ch_AP_control] < -((CTRL100*80)/100) &&
         gCTRL_InBuff[] < -((CTRL100*95)/100))
            { gCTRL_starting=1; gCTRL_ready=1; }
       }

gCTRL_starting - флаг старта приема PPM
err - количество дропов ( у вас уже ноль)
gCTRL_InBuff - буфер с нормализированными значениями каналов.
CTRL100 - определение, соответствует 100% (0.5мс) отклонению от условного 0 (1.5мс).

ЗЫ А, еще отключите пока в конфигураторе определение FS по газу ниже нормы и восьмому каналу больше половины.

ЗЫЫ

ubd:

А лучше сделать вообще, установка длительности канального импульса. т.е. замеряешь осциллом какая длительность приходит любого из каналов, и вбиваешь ему что -100 это соответвует скажем 0,9мс, а +100 1,9 мс. И всё АП начинает хавать этот РРМ, и на выходе выдавать то же самое на сервы.

Довольно долго у меня вообще была полноценная калибровка всех каналов (по макс, мин, середине) прямо на OSD. Но там есть свои сложности ( например, как-то надо учитывать триммера) и выкинул, посчитав ненужным наворотом…

Dacor
msv:

Прямо квест какой-то у меня получился…

😁 Это я еще не смотрел, что ОСД покажет с приемником от Эксперта!

Панкратов_Сергей

Сергей, а реверс на газ включил?
У Футабы не как у людей.😃
Минимуму газа соответствует максимум длительности.

Dacor

Да я по осцилографу смотрел - ручка газа получается в верхнем положении. В Футабе (по крайней мере в 12ФГ) и каналы не на своих местах по умолчанию - приходиться переставлять на првычные вручную.

Ща пойду еще поколдую.

Подключил приемник от Эксперта (предварительно выставив 10-ти канальный РРМ) - даже палка не крутится…

msv:

А, еще отключите пока в конфигураторе определение FS по газу ниже нормы и восьмому каналу больше половины.

Откючено (ноль стоИт)

Как бы приемник ФрСкай меня мало волнует - летаь то буду на Эксперте.
Сергей (MSV) можно Вас попросить исправить код под РРМ Эксперта (достоверны параметры могу у него попросить и Вам передам). Или скажите какой РРМ нужен АП, я попробую Дмитрия (Эксперт) уговорить подправить его код.

Спасибо.

ubd

По осциллографу выставил длительность канальных импульсов каналов 3 и 5 (в конфигураторе 3 канал - газ, 5 канал - управление АП). Использую пока 8-ми канальный РРМ (проще всю аппаратуру включать). При неподключенном РРМ ОСД выдает невращающуюся палочку в белом кружкЕ и цифру 128. При включении с подключенным РРМ палочка начинает вращаться и число со 128 уменьшается и становиться 0. Палка продолжает вращаться в белом кружкЕ, на выходе PWM отсутствует. Режим АП остается FS.

А вы осцилом смотрели на выходе приёмника?
В контрольной панели указан 5 канал для управления?

Канальный импульс считается вместе с суммой межканальной паузы. т.е. если межканальная пауза 0,4 мс (лог 1), то импульс (лог 0) канала должен быть 0,6 мс, Вместе они дадут 1 мс. У вас так?

Я меня было то же самое. RSSI 100%, 0 потерянных пакетов, но палка крутиться в белом кружке. Оказалось канал газа был не 1 мс, и канал управления не и 1 мс. Когда всё поправил, всё пошло.

Dacor
ubd:

А вы осцилом смотрели на выходе приёмника?
В контрольной панели указан 5 канал для управления?

Да.

ubd:

Канальный импульс считается вместе с суммой межканальной паузы.

Пилять… Ща переделаю.

ubd

Как бы это стандарт. Читайте что такое РРМ сигнал.

Dacor

как бы ничего не изменилось…

Опа, изменилось. Все таки осцилл пора в поверку сдать - немногоприверал и на тебе. А какие допуски по длительности 3 и 5 каналов при старте системы?

ubd

Не может быть. Смотрите внимательно, на большем разрешении осцила, у вас скорее всего не 1 мс. И посмотрите в пачке импульсов, газ точно 3-й импульс слева если считать, в пачке импульсов, и управляющий канал 5-й?

Попробуйте сделайте 6-й канал. Я не проверял другие каналы, всегда делал 6-й. Попробуйте 6-й. Если заработает, то можете переделать на любой другой.

Dacor
ubd:

Как бы это стандарт. Читайте что такое РРМ сигнал.

Да, действительно, подзабыл.

msv
Dacor:

А какие допуски по длительности 3 и 5 каналов при старте системы?

Смотрим код из #1090
gCTRL_InBuff[gCTRL.Ch_AP_control] < -((CTRL100*80)/100)
Значение управляющего канала должно быть меньше 1,5мс(соответствует середине, те нулю)-0.5мс(определяется CTRL100)*80/100=1,5-0.4=1,1мс ( это соответствует команде MNL)
gCTRL_InBuff[gThr.Ch] < -((CTRL100*95)/100)
Значение газа должно быть меньше 1,5- ((0,5*95)/100)=1,025мс.

Dacor:

Сергей (MSV) можно Вас попросить исправить код под РРМ Эксперта

Для начала вопрос- а у эксперта нельзя настроить количество каналов в sum_ppm до 8? Там же что-то, как то настраивается?
В принципе у PPM к сожалению нет жестких стандартов, но есть значения, определяемые здравым смыслом…
Если задаться исходной задачей передать 8 каналов с периодом 20мс с минимальным спектром то неизбежно приходим:
Длина межканального интервала >2.5мсек.
Длина канального импульса 0.8-2,2мсек. Из них 0.4 мс на строб.

Dacor

Уговорил (точнее просто попросил) Дмитрия на 8-ми канальный РРМ на выходе. Залил, в конфигураторе поставил 8 - работает. Заливаю обратно 10-ти канальную, выставляю 10 - не работает. Внешне и тот и другой РРМ идентичны (ну кроме количества каналов). Блин как так то?

ubd

Ну не поддерживает 10 каналов АП.
Так заработало всё при 8ми каналах?

Dacor

Вон оно что оказывается… Я то чего то подумал, что если есть настройка количества каналов, то как бы и 12-ть модно подать - как бы это тоже обычный РРМ. Да и на большее количество есть. Ну да ладно… Буду дальше разбираться что к чему. Всем откликнувшимся спасибо!!!

P.S. Да, 8 каналов работает.

ubd

Так заработало? не понятно…

Dacor

Да, с восьмиканальным РРМ все заработало.

ubd

Блин весь мозг вынес. Там же к конфигураторе не зря указывается кол-во каналов…

Dacor
ubd:

Там же к конфигураторе не зря указывается кол-во каналов…

Да это все понятно. Нигде не было сказано (ну или я этого не заметил), что поддерживается максимум 8 каналов.

Иван
Dacor:

Да это все понятно. Нигде не было сказано (ну или я этого не заметил), что поддерживается максимум 8 каналов.

в конфигураторе только для 8ми каналов доступна настройка… 😉