Приемник 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 практически идентичен. Ищу дальше…
################
Для гашения помех уже испробовал:
- Притягивал PPM к земле 10K резистором
- Зашивал optiboot с внутренним тактированием
…
################
Принял решение пока оставить как есть, позже добавлю в Rainbow RX поддержку SBUS и проблема отпадет сама.