Самодельный передатчик (часть 2)

EagleB3
Dj_smart:

Там он… Там ЗДОРОВЕННЫЙ БМП-шник…

😃 Я (в свое время) предупреждал.
Зато каждый может сохранить и напечатать с тем качеством, каким пожелает. 😉

Dj_smart:

Так а это не то?

Надо смотреть на какой ноге пищалка. Это самое приметное отличие версий 2 и 2А
(см. историю версий здесь)

sasas

Добрый день форумчане. Собрал данный кодер на плате для пульта от Хоббисити и с короновским модулем от них. Вариант от dollop - “Первый”. Стаж в моделизме не сильно большой-2 года, в электронике давно. Так вот первый полет на этом устройстве длился 15 секунд- после крутая спираль и удачное падение плашмя. Случайно обратил внимание, что элероны остались в отклоненом положении. Ремонт, снова взлет…через 5 минут при выполнении петли -крутая спираль и теперь дрова окончательные. Думал что зарулился. Перестановка аппаратуры на простенький тренер и 2 полета по 15 минут без резких движений стиками. При следующем полете при выполнении петли- как вы уже догадались наверно- спираль и опять дрова. 3 одинаковых события это уже система. Мысль зародилась, что руки не оттуда растут. Подключившись для восстановления рук к АэроФлай симулятору через несколько полетов на нем, так же получаю разбитую машину в спирали. Начав изучать поведение пульта заметил, что при определенном резком движении элеронов и газа одновременно иногда канал элеронов остается в одном из крайних положений. При этом другие каналы и триммер элеронов работает, а от ручки -нет. Пока не двинешь газ до 0. Далее опять все работает, но расходы по элерону уменьшаются примерно до 80 процентов, так все будет до определенных выше условий. Если с элеронами есть мих например на 6 канал, то этот канал так же замерзает. При передергивании питания все восстанавливается до нормы. На средней ножке резистора элерона в норме напряжение меняется от 0.7 до 3.85. Когда глюкнет, то на выводе проца 55 или 0 или напр питания. Менял проц, проверял напряжения, монтаж, резисторы. Все без изменений. Может это только у меня или кто-то встречал подобное?

ADima

Скорее всего не очень хороший контакт общего провода на потенциомметре элерона. Если запрессованый лепесток с него болтается то это оно.

sasas

Вот сейчас сижу экперименты провожу. Оказывается даже не надо все ручки двигать да еще и резко. При полете в симе двигаю газ раза 3 на мах и мин не трогая другие ручки после этого элероны зависают. Но если успеть до падения модели газ пару раз еще предвинуть, то все восстанавливается. Происходит все не постоянно. Но часто. А резистор сейчас сниму для полного изучения. Хотя можно поставить другой.

ADima

Лепесток на резисторе достаточно один раз сдвинуть чтобы потом иметь проблемы.

sasas

Не резистор точно, поменял местами с рулем поворота, все равно отказывает тот же канал. Причем скорее всего программно, так как при отказе элеронов на выводе проца, что идет на средний вывод резистора появляется стабильно 4.75 вольта. Если двигать резистор в сторону массы это напряжение незначительно подсаживается- значит контакт с массой в резисторе 100% присутствует. У меня стоит не оригинальный дисплей о котором тут проскальзывали сообщения. Может как-то связано с ним? Потому что попробывал залить прошивку оригинальную, дисплей показывает крякозябры. Но при этом все-равно бывает отказ.

Dj_smart
sasas:

Если двигать резистор в сторону массы это напряжение незначительно подсаживается- значит контакт с массой в резисторе 100% присутствует.

Полностью “вниз” не продвигал? Если на массу, то какой-бы там проц небыл, кз на корпус просадит со 100% гарантией…

sasas

Полностью вниз он конструктивно не двигается. Смущает то, что после отказа расход канала становится меньше и стоит такой пока не передернешь питание. Даже не дыша, не трогая ручки, не трогая корпус все восстанавливается. Жалко нет оригинального индикатора. Больше думать не на что. Надо попробывать без индикатора будет так или нет.

dollop
  1. Проверяйте тщательно цепь AREF. И подключение переменников. Промыть платку тщательнее.
  2. Что показывает монитор кодера во время глюка?
    (сколько разных конструктивов делал - такого не было)
ADima

дисплей тут явно не при чем. на АЦП выходит ещё JTAG проверь фьюз выключен или нет. Хотя если мне не изменяет память если фьюз включен то на 1 и 2 пине порта 4,5 висят постоянно.

EagleB3

А какая версия прошивки? Откуда бралась?

Воля Ваша, но, КМК, что-то не ладное творится с цепями AVcc/ARef/AGnd.
Проверьте качество пайки всех дорожек и всех деталей, начиная от того места, в котором от +5V отпочковывается то, что в конце-концов даст AVcc и ARef. Может быть, плохое качество у подстроечника R18.
Прошивку - с дисплеем. В режиме цифрового монитора каналов.
И двигайте там стики, ловите свой отказ.

Если Вы с такой уверенностью ловите этот глюк с трехкратным движением стика газа - погоняйте стики таким же образом в режиме в режиме калибровки. Потом отресетьте EEPROM и сделайте то же самое еще раз.

sasas

Прошивка от dollop под неоригинальный дисплей 3310, печатка от него же под HobbyKing. Во время глюка на экране ничего не происходит,все так же. В режиме монитора явно видно что расход по каналу элерона уменьшается с началом работы и не восстанавливается до перезапуска. Кстати при экспериментах выявилось, что возможно зависание как в максимум так и в минимум. Чаще в максимум. Jtag действительно включен оказался. Сейчас не дома, буду завтра попробую перепрограммировать. Это может действительно влиять? Потому что все остальное раз 20 проверено.

ADima
sasas:

Jtag действительно включен оказался. Это может действительно влиять?

У меня влияло и очень сильно.

EagleB3
sasas:

В режиме монитора явно видно что расход по каналу элерона уменьшается с началом работы и не восстанавливается до перезапуска

Только по каналу элерона?
А реально, тестером? Что в начале, что в конце? Что на верху потенциометра, что внизу, что на движке, что на ноге МЕГИ?
Сравнить с другими?
Перекинуть провода потенциометров РВ и элерона (причем все три, и на плате!) - глюк останется в канале элерона или переедет на РВ?

sasas

Коллеги! Коллективный разум побеждает!
Вроде починил я свою игрушку. Действительно включенный фьюз JTAG оказывает такое влияние. Вот уже почти 3 часа гоняю по-всякому и все работает!
Еще буду присматриваться, если за 2 дня не глюкнет-значит победа.
Будут проблемы обязательно поделюсь.
Вот что в итоге вышло.
Всем кто принял участие в моей проблеме- огромное спасибо!

sashok17

Где можно почитать какие функции имеются в кодере?

Нашел…

sashok17

В общем надумал собирать этот кодер sites.google.com/site/samocoder/…/mainstream_msv Прошивка 1.9.1. Но, в спектруме 5 на стиках переменные резисторы сопротивлением 12Ком, а надо 5 (да и к тому же с малым ходом), потом к этой прошивке просто так родной спектрумовский ВЧ модуль не соединить без исправления прошивки (этого я к сожалению делать не умею=( ). Что посоветуете?

EagleB3

Посоветуем понять то, что:

  1. Программа микроконтроллера работает по отсчетам АЦП (привыкайте к буржуйской аббревиатуре ADC);
  2. ADC измеряет не сопротивление потенциометра, а напряжение на ноге микроконтроллера.
    От напряжения 0В до напряжения на ноге ARef укладывается 1024 значения (“тика”) ADC, включая края.

Разверните потенциометры так, чтобы крайнее положение стика (условно - левый или нижний) находились у края колодки +5 градусов поворота. На другой край колодки подайте +5В (если надо - можно и больше, но это с ухищрениями. И потенциально не безопасно для микроконтроллера).
Допустим, полное отклонение потенциометра = 300 градусов, имеем 300/5 = 60 градусов на вольт, или 1/60 вольта на градус.
Отклонение стика (обычно) = 60 градусов. Тогда после полного отклонения стика получите 60+5=65 градусов.
Еще 5 градусов будем “иметь в виду” с другого края, как защиту от переполнения разрядности АЦП. Итого надобно оцифровать 70 градусов колодки. На угле отклонения 70 градусов напряжение движка должно быть
70*(1/60)=7/6=1,16(6)В
Дайте на ногу ARef напряжение = 1,16 вольт. Получите примерно 1023/70=14,6 тиков ADC на градус.

Тогда на нижнем (левом) краю хода стика ADC выдаст значение 73 (помните про 5 градусов смещения? 5*14,6=73),
На верхнем (правом) 1023-73=950.

И заметьте, мы нигде вообще не вспоминали про номинальное сопротивление потенциометра.
Важно только чтобы все потенциометры были одинакового номинала и линейными.

Про спектрумовский модуль ничего не скажу, ибо ничего про их особенности не знаю.

jonison
sashok17:

В общем надумал собирать этот кодер sites.google.com/site/samocoder/…/mainstream_msv Прошивка 1.9.1. Но, в спектруме 5 на стиках переменные резисторы сопротивлением 12Ком, а надо 5 (да и к тому же с малым ходом), потом к этой прошивке просто так родной спектрумовский ВЧ модуль не соединить без исправления прошивки (этого я к сожалению делать не умею=( ). Что посоветуете?

По поводу сопротивлений 12ком в спектруме это норм работать должен хорошо.
а про вч часть с пятерки кажется кто-то из севастополя выкладывал исходники
перетянуть в прошивку 1.9.1 алгоритм работы дсм2 большого труда несоставит
если надо помощь стучи в аську
упс за меня ответили пока писал 😃

Spektrum DX5
forum.rcdesign.ru/search.php?searchid=106159
вот что выдал поиск по сайту
rcopen.com/forum/f8/topic28745/1545
а вот вариант исполнения

Dj_smart
EagleB3:

И заметьте, мы нигде вообще не вспоминали про номинальное сопротивление потенциометра.

Ну да. Только тогда думаю они могут быть даже разными. Важна лишь линейность. Можно и без математики:). По ссылке указано выставить образцовое на 10-20% больше максимально выдаваемого стиком. И всё.
Но математически… придаёт уверенности:).