PPM SUM - это просто (очередное простое решение проблемы)

okan_vitaliy
X3_Shim:

Получится отвязаться от провода с данным набором железа ?

Получиться, там выше был проект для ардуинки. Но у Вас будет всего лишь 8 каналов. Впрочем можно поставить тини2313 прямо в коробочку приемника и не заморачиваться. У меня так 2 приемника переделаны.

X3_Shim
okan_vitaliy:

Получиться, там выше был проект для ардуинки. Но у Вас будет всего лишь 8 каналов. Впрочем можно поставить тини2313 прямо в коробочку приемника и не заморачиваться. У меня так 2 приемника переделаны.

8 мне пока хватает. Мне пока вообще 5 хватает (камерой не управляю). Принципиально, что бы файлсейв работал корректо. А 2313 я месяц с ебея ждать буду 😃

okan_vitaliy:

Получиться

Хм, подумал тут. 3S аккум питает передающий модуль, BEC 5 вольт питает турниговский приемник и ардуинку ? Так получается ?

schs
okan_vitaliy:

Впрочем можно поставить тини2313 прямо в коробочку приемника и не заморачиваться.

pro mini тоже нормально помещается.

9 days later
X3_Shim

Добрался я до PPMSUM

Напомню. Arduino pro mini. Спаял по схеме из первого поста. Но там прошивка для 168 (у меня на 328).
Есть прошивка …3drobotics.com/…/8-channel-ppm-encoder-version-2
Она для 328. Но по какой схеме то она спаяна фиг поймешь. Пойдет она для pro mini ? Смотрю там по дефолту частота 8 MHz в мейкфайле прописана. Но у mini pro она же 16 ?
Фьюзы не трогать ? Загрузчик ардуиновый помрет после прошивки ?

SergDoc

то что написано для 168, спокойно пойдёт на 328 без перекомпиляции…
V2 и выше если есть на 16МГц…

SergDoc
X3_Shim:

Фьюзы не трогать ? Загрузчик ардуиновый помрет после прошивки ?

фьюзы трогать не надо, стереть флеш и еепром перед заливкой, лодырь помрёт - но это не страшно, всегда можно новый залить если понадобится…

X3_Shim:

“8 Channel PPM Encoder Version 2”

от неё паршивка пойдёт…

wiki.paparazziuav.org/…/ATmega_PPM_Encoder_Board

X3_Shim
SergDoc:

Ага, читаю. Но фьюзы то они там вроде прошивают
avrdude -p m328p -P <Insert port here> -c <Insert ISP type here> -U lfuse:w:0b11110111:m -U efuse:w:0b111:m hfuse:w:0b11011001:m -U flash:w:ppm_encoder_v4_3+bootloader_16Mhz.hex

SergDoc

не ну если в дудке настроено - эт нормально атмега по умолчанию идёт просто 1МГц на внутреннем генераторе…
если это ардуино, то можно фьюзы и не трогать - они уже правильно стоят 😃
если шить дудкой то просто по инструкции - ничего страшного и не будет 😃
блин уже начал забывать, что такое AVR 😦

X3_Shim
SergDoc:

если это ардуино, то можно фьюзы и не трогать - они уже правильно стоят

Ага, становится понятнее.

Прошил. PPM на выходе есть судя по осцилографу. Ща проверим что там.

Работает все кроме первого канала. На ардуину PWM 1-го канала точно приходит.

UPD разобрался. У меня ардуина поддельная. И RXI по длинной стороне не звонится на RXI по короткой стороне. Перепаял на короткую сторону, все заработало.

Все упаковалось внутрь приемника.

А вот только у меня мысль появилась глупая. Можно ли заюзать стабилизатор стоящий на ардуине для питания приемника ? Ну а снаружи все это питать 12 вольтами.

X3_Shim

В общем таки выкинул BEC из схемы. Вроде все норм работает, на приемник ровно 5 вольт приходит с ардуины, ардуина запитана от 3S (вместе с передающим модулем)
Всем спасиб 😃

alexeykozin
dollop:

Алексей, все немного не так.
Для FlySky приемников (типа hk-tr6a) нужен ВЧ модуль на A7105. Например XL7105-CL
Далее по той теме есть куча работающих проектов под разные нужды. Есть на С подобном языке - arduino. Уже с ppm выходом.

модули наконецто пришли…
сначала решил проверить как работает оригинальная схемка прошивка с внутренним осцилятором на 8мгц
взял последнюю версию схемы, платы скомпилировал и прошил хекс в ардуинку, но поскольку выриантов схем было много ввтч на 328 атмеге не обратил внимание что опубликованы фьюзы для M8 (а у меня только 328 в наличии)
по ошибке влив в нее фьюзы от m8 окирпичил ее.
поскольку времени на раскирпишивание жалко - побыстрому перепаял на новую и оставил заводские фьюзы, вроде как заводские на внутренний осцилятор 8 мгц - но почему то ардуинка не запустилась (наверное с фюзами чтото не так) получасовые поиски инфы о том какой набор фьюзов используется для 328 на 3,3 вольта с внутренним 8 мгц осцилятором успеха не принес, - полно конфигов на 8 мгц 3,3 вольта с внешим кварцем, а с внутренним нет.
попробовал пару вариантов от фьюз-калькулятора - невышло. сделал простейший скетч чтоб в сериал писал строку - для проверки - молчит.

немного поразмыслив о том что в финале мне все равно 8мгц 3 вольтовая вресия нужна не будет по следующим причинам:

  • ппм и пвм выходные сигналы мне будут нужны пятивольтовые
  • при использовании низкой частоты возможен джиттер по каналам
    посему пришел к выводу что нужно соединять радиомодуль с ардуинкой через конвертеры уровней
    из дополнительного ништяка это позволит на стадии “доработки скетча” использовать стандартную ардуину (с бутлоадером) с стандартным 5 вольтовым ftdi без риска спалить радиомодуль
    но с другой стороны искать сейчас чип левел-конвертера - потерять кучу времени.
    простенький левел конвертер который используют в сд-кард ардуино адаптере выглядит так:

    но у меня есть некоторые сомнения касательно не будет ли такой конвертер заваливать фронты на той частоте на которой работает радиомодуль с ардуинкой.
    есть идея заменить нижний резистор в этой схеме стабилитроном на 3 вольта, а номинал верхнего уменьшить до 200 Ом
    в даташите на чип радиомодуля пишут что критическое напряжение питания 3,6 критическое напряжение по сигнальным линиям 3,9

странным показалось что в рцгрупс прошивка под 16мгц есть а как сделали схему - нет

SergDoc

как в USB на тех же 2313 - стабилитроны висят прямо на лапах (программатор на ней собран) могу поискать гдето схема валялась…

типа вот:

alexeykozin

я забыл отписаться,
со стабилитронами все получилось,
очень удобно когда ардуино стандартно от 5 вольт на 16 мгц работает и прошивается через arduino ide
при этом не надо отсоединять передатчик чтоб не сжечь его.
все прибиндилось, сигналы есть, фаилсэйв работает
осталось сделать тест на дальность, антенка не переделывалась - вытравленный на печатной плате патч - если будет работать на 1 км то ничего переделывать не буду

16 days later
flygreen

Народ подскажите, как из PPM получить PWM ? На AIOP надо максимум (мне ) 6 каналов. Остается еще 2 (фриска 8 кан.) . Как эти два выдрать из PPM и сделать именно 7 и 8 канал обычным ШИМом ? Хочу камерой крутить курсовой. Может есть какое решение “на коленке” ?

ЗЫ Я так понял вы тут обсуждаете как из PWM получить PPM… Мне надо наоборот =)

alexeykozin

самое логичное если используете по с открытым кодом для AIOP то дописать вывод нужных каналов на свободные выходы напрямую

mataor

как раз вчера это делал… делается банально, правда у меня на другом проце вий так что могу ошибится… я правда делал на 1 канал… попробую на 9 и 10 пин АИО сча сделать

в def.h добавляем строчку, чтобы можно было отключать

#define AUX34_ON_OUTPUT

в output.ino в ф-ции void initOutput() в конце добавляем

#if defined(AUX34_ON_OUTPUT)
// timer 2 is a 8bit timer so we cant change its range
TCCR2A |= _BV(COM2B1); // connect pin 9 to timer 2 channel B
TCCR2A |= _BV(COM2A1); // connect pin 10 to timer 2 channel A
OCR2B = 1500>>3; //  pin 9
OCR2A = 1500>>3; //  pin 10
#endif

далее в mixTable() после кода

  /****************     neutralize Servos during calibration of gyro&acc   ******************/
  #ifdef SERVO
	if ( (!f.ARMED) && ((calibratingG > 0) || (calibratingA > 0)) ) servos2Neutral();
  #endif

вставляем

  #if defined(AUX34_ON_OUTPUT)
	OCR2B = rcData[AUX3]>>3; //  pin 9
        OCR2A = rcData[AUX4]>>3; //  pin 10
  #endif

это справедливо для любого приемника, что ппмсум что стандартного, что сбас и т.п.