Приемник FlySky

Приступаю к модернизации RainbowRX. Задача перейти с NRF24 на A7105. Рассчитываю увеличить дальность у добавить совместимость с аппаратурой FlySky.

Для тестов аппаратура FlySky TH-9X с родной прошивкой, Arduino pro mini 3.3v 8MHz, радиомодуль A7105.

На макетке приемник заработал, сыпет в ком-порт все 8 каналов. Пытаюсь на Arduino micro сэмулировать джойстик, используя PPM c pro mini: работает, но идет помеха по всем каналам. В jstest видно как на разные каналы на фоне правильно высчитанных значений несколько раз в секунду выдаются произвольные числа. Пару кругов в FPV Freerider пролететь можно, а вот посадить практически нереально. Менял значения PULSE_WIDTH, переписывал stickValue - не помогло.

Подключил к Naze32 - действительно шумный PPM. С NRF24 помогало разнести приемник с контроллером, попробую отодвинуть или заэкранировать атмегу. PPM генерится проверенным кодом, только на другой ноге, может в этом дело.

################

Решил проблему с помехой, взял код приемника отсюда и убрал не нужные мне отдельные выходы для сервомашинок, оставив только PPM. Для FPV Freerider вполне играбельно получилось.

Подключаю к Naze32-receiver и наблюдаю периодический дребезг во всех каналах +4-5 точек, причем только в бОльшую сторону. Сравнил с приемником на NRF24L01 - последний ведет себя лучше (±2 точки). Проверил значения в ком-порте приемника A7105 - там все идеально (±1 точка). Делаю вывод - пляшут длительности PPM импульсов, хотя код генерации PPM практически идентичен. Ищу дальше…

################

Для гашения помех уже испробовал:

  1. Притягивал PPM к земле 10K резистором
  2. Зашивал optiboot с внутренним тактированием

################

Принял решение пока оставить как есть, позже добавлю в Rainbow RX поддержку SBUS и проблема отпадет сама.

  • 283