Доработка Spektrum DX6i до 8 каналов
Есть спортивный интерес реализовать такую задумку - добавить два пропорциональных канала в Spektrum DX6i. Выглядеть это будет так: положение двух дополнительных крутилок будет опрашиваться микроконтролером ATmega8 и затем интегрироваться в общую последовательность, которая поступает на передающий модуль. Начать планирую с прослушивая посылок, которые поступают на передающий модуль в установившемся режиме. В сети пробегала информация о подобных исследованиях, но это было давно. Может кто видел?
может разобраться с ее дисплеем и портировать focus\MSV программу? тем более, что кто-то делал в ней поддержку модулей от ДХ6 с 8-ю каналами.
На поверку оказывается что модули из дх5 и лп6 в большинстве случаем больше 6 каналов не едят. Если в дх6 - такойже, то маловероятно. Ну а насчет портирования - тогда уж лучше прошивку от турниджи.
можно пойти еще дальше и переписать программу процессора стоящего в ВЧ модуле. поверьте, это не сложно =)
но есть нюанс. вот эти bitbucket.org/PhracturedBlue/…/changesets уважаемые люди ДСМХ пока не допилили, а вот с ДСМ2 можете получить 14 каналов. с телеметрией я почти разобрался, воюю с биндом.
есть еще нюанс - программатор для PSoC, мне оказалось проще сделать самому.
Залез я в свой спектрум, наконец то. Для начала пощупал осцилографом что идет на модуль передатчика. Питание, земля, TX от Меги128…как будто бы все. На двух ногах модуля также присутствет одинаковая последовательность из двух импульсов с частотой около 50Гц. Видимо не используется. Также замечено, что RX у меги тоже никуда не подключено. Прослушка последовательности показала, что протокол похож на тот, что идет с сателита спектрума, с небольшими отличиями. Всего 14байт через 22мс. Информацию о каналах несут 3-14 байты. Как внедрить еще пару каналов пока неясно, возможно разгадка кроется в последовательности иницилизации модуля. Также замечено, что в байте 1,11,13 прыгает 13-й разряд. Попытки выявить систему в поведении этого разряда пока не увенались успехом.
В приложенном файле байты в десятичном формате. Младшие разряды немного пляшут на стиках - это понять можно. Но почему пляшут разряды на дискретных каналах - загадка для меня.
Продолжил исследования… Давайте взглянем на кварц 8Мгц, который тактирует Мегу 128. Если посчитать ошибку, которую выдает UART на скорости 115200, то будет 8,5% (допускается 0,5%). Этим вполне можно объяснить дрожание младших разрядов, потому как мой контролер настроен точно на прием 115200. Сателит из эфира принимает сигнал четкий, колебаний младших разрядов не замечено. Принимается 16байт, т.е. все таки место для седьмого канала гдето есть. Бум искать.
Все встало на свои места после того как поставил кварц 8Мгц на свой анализатор пакетов, собранный на мега32. Т.е. теперь скорости 115200 сравнялись. Пакет идущий на модуль трансивера содержит только один кадр из 14 байтов. Теперь десерт: первый байт умеет делать вот что: 48 - режим теста дальности, 144 - бинд, 80 - мощность USA, 16 - мощность A-EU 328, 0 - мощность C-Franc. Второй байт - номер модели 0-9. Все байты даны в десятичной форме. Вот пример:
16 3 0 67 5 255 9 238 13 255 16 63 20 63
Модуль как в дх5и. Если аппа не очень стара - то шансов нет. Если одна из первых партий - то возможно получится добавить каналы. Попробуйте, подайте с меги пакет из 7 каналов. Если не выйдет - то далее вкрывать модуль, и пользоваться наработками Сергея. В этих модулях есть третий чип - проц, который разбирает уарт и управляет трансивером через спи.
Попробовал подавать на модуль стандартные пакеты. Все режимы работают, и биндится, и мощность меняется. Но седьмой канал вводит модуль в ступор-даже ВЧ не включается.
На модуле есть маркировка:
1408
Horizon Hobby inc
Model X1TXN
FC ID: BRWDAMTX10
IC:6175A-BRWDAMT
нетакой!!! Тут на форуме уже где-то были фотки внутренностей модулей. Модуль из ДХ7 - управляется по SPI вот той гусеницей, что под ним с наклейкой. Модуль из дх4\5\6 - кушает Uart, который декодирует и превращает в SPI для трансивера тоже отдельный проц, но запрятанный внутрь самого модуля под экран.
Но надпись на наклейке совпадает?!..
2 Карабас: Дмитрий, а чего Вы цифири в десятичном виде пишите, неудобно ведь, пишите в шестнадцатиричном.
Но надпись на наклейке совпадает?!..
По факту протоколы разные, надпись на этикетке тут не поможет.
По факту протоколы разные, надпись на этикетке тут не поможет.
Да это я так… стебаюсь.
Я читал эти форумы code.google.com/p/er9x/issues/detail?id=330 , 9xforums.com/…/How_to_modify_your_9x_to_the_DSM_pr… , www.rcgroups.com/forums/showthread.php?t=721024 , поскольку ВЧ-модуль в DX6i помер, а у меня есть модуль MLP4DSM и куча приемников от Оранджа (жалко ведь). Заменил X1TXN на MLP4 - работает, но дальность маленькая. Поиски X1TXN отдельно на замену не увенчались успехом. В итоге имплантировал в DX6i модуль FrSky с телеметрией для дистанционного контроля батарей в металке. Имхо, DX6i не тот аппарат, чтобы заморачиваться с его апгрейдом. Вот если б залить прошивку от Fokusa, как предлагал Сергей или er9x с поддержкой телеметрии, то в этом есть смысл.
Если я правльно понял, то без перепрошивки содержимого модуля не удастся скормить ему 7-й канал. Разборка модуля в мои планы не входила. Это уже будет не для массового повторения. Можно еще покумекать в таком направлении: мы можем легко менять значение 6-ого канала и по своему усмотрению доработать пульт под индивидуальные требования. Например, вставить в пульт крутилку и передавать ее значение в 6-м канале. Либо передавать в 6-м канале 4 канала по 256 бит в каждом. Старшие два бита канала - номер дополнительного канала, а оставшиеся 8бит - значение доп. канала.
С приемной стороны - дешефратор, который цепляется паралельно сателиту.
экран на ВЧ модуле держится на двух паяных точках. снимите, будете сильно удивлены =)
далее, делаете / покупаете программатор для PSoC1, ставите совсем бесплатный PSoC Designer, разбираетесь как работает совсем-совсем бесплатная библиотека от кипреса на базе которой написан код оранжа и пишете свой ДСМ2 передатчик. хучь 14 каналов/11 мсек/2048 бит.
потом разбираетесь с ЖКИ стоящем в ДХ6 (где-то попадалось описание) и портируете любую открытую программу на атмел арм7.
удачи =)
з.ы. либо перехватываете 6 канал и шифруете его как хотите. канальный декодер для сателлита пишется на раз-два =)
Я удивился бы если нашел там мегу8 в корпусе dip, а так я скорее испугался. Боюсь у меня не получится подпаяться к таким чипам. Нужны коментарии по фотографии. Я так понял, что шить надо CY8C214-34241FXI (не уверен, что правильно считал название)? В инете есть какое-то упоминанние о похожих контроллерах. Наверное лучше купить новый, чтоб сохранить старую прошивку. Т.е. мне понадобится изучить архетектуру данного процессора, найти где-то описание команд, которыми управляется трансивер, купить микроскоп и паяльник с тонким жалом и немного везения 😃
1 GND Module Ground
2 VDD Module power input
3 IRQ Interrupt Request
4 RST Reset, active High
5 MOSI Master out, slave In data
6 nSS Slave Select, Active Low
7 SCLK SPI data clock
8 MISO Master in, slave out data
9 GND Module Ground
10 XOUT Clock output from module
11 TXRX Switch antenna to transmit direction
12 RXTX Switch antenna to receive direction
На картинке подписи для модуля из ДХ5, а сверху - пинаут для модуля, управляемого по SPI. Еще раз, это разные модули! Или вы полагаете, что модулируя SlaveSelect uart-ом со скоростью 125кб/с все сразу заработает? 😃 Сейчас найду фотки.
Это распиновка от варианта со SPI, она не соответствует тому варианту, что на фотке у Карабаса. Может проще взять модуль от валкеры и поковыряться в ейной альтернативной прошивке?
ЗЫ Алексей опередил 😃