Activity

HobbyKing HK-T6A - небольшая доработка

дошли у меня руки до пульта…

в общем не стал я особо мудрить - просто отпаял провод PPM-выхода с платы и подпаял его на PPM-вход ВЧ-модуля.

в результате - если в разъем ничего не подключено - всё работает как работало.

если подключена макетка с нунчаком ( rcopen.com/forum/f8/topic194699 ) - его PPM-выход (лапка меги48 через 100ом резистор) перетягивает PPM-выход контроллера пульта.
единственное, что не стоит забывать - PPM-вход ВЧ-модуля - 3.3в

получилось прикольно - правый элевон управляется стиком (на старом самолете это газ), левый - наклоном нунчака вперед-назад (на старом самолете V-tail микс зашит в приемнике), а мотор - не управляется никак (ESC хочет, чтобы при включении питания 3й канал был близко к нулю).

теперь осталось допилить прошивку, чтобы контроллер читал данные с RX и делал нужные миксы\кривые.

в мегу48 это вместе с нунчаком это точно не влезет, придется ждать меги328. или делать миксы\кривые в отдельной прошивке и потом объединять.

HobbyKing HK-T6A - небольшая доработка
Aleksey_Gorelikov:

А смысл? Может лучше нормальный кодер? 😉 Схема то одинаковая, а полезностей - больше.

нормальнй кодер - это полностью новая плата в пульте?
нет уж, ленивый я для таких вещей 😃

распаять одну микросхемку, пару резисторов и 4 провода на макетной платке - и проще, и легче. примерно с тем-же результатом. там требуется только читать 18байт из uart (заголовок, 6 каналов и контрольная сумма), пересчитывать их как надо и формировать PPM.

конечно, добавится несколько милисекунд задержки, но это не смертельно.

приемник (и самолет) под этот пульт у меня только один, так что переключение между моделями, настройки прямо на пульте, индикация и т.п. красивости пока не нужны. нужны только экспоненты и нунчак.

а дальше видно будет. если понадобится что-то большее - куплю 9канальную turingy.

HobbyKing HK-T6A - небольшая доработка
Aleksey_Gorelikov:

Яндекс и гугл - не китайские поисковые системы 😃 Даташит на главной странице сайта производителя. Прямая ссылка на него www.stcmcu.com/datasheet/stc/…/STC12C5410AD.pdf Программить на С (кейли-С). Програ программатора - там же. Программировать - через разъем. (даж через родной шнурок от аппы!). Залить новую прогу - можно. Слить с аппы - походу нельзя. (ну или я не разобрался).

кхм… у этого чипа аппаратный uart-бутлоадер чтоли?

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

когда закончу с катапультой под SKYFUN, займусь пультом. скорее всего навешаю атмегу и пропущу данные через нее, как и собирался.

HobbyKing HK-T6A - небольшая доработка
Korish:

С такой апой встречались? www.leadershobby.com/product.asp?ID=9394001220327 за 25 ДОЛ. ? Пишут что 4 модели в память можна забить?

не встречалась мне такая аппа.
да и по фото непонятно, как там осуществляется выбор модели из памяти и его индикация. ни экранчика, ни даже доп.светодиодов на фото не видно.

управление моделью с помощью Wii Nunchuk
v61:

а пульт такой есть у меня, там на радиомодуль чистый PPM идет, и на тренерском разъеме он есть

это PPM ВЫХОД, а нужен вход.
rcopen.com/forum/f4/topic197442

HobbyKing HK-T6A - небольшая доработка

захотелось добавить к своему HK-T6A несколько вещей:

  1. настраиваемые кривые\экспоненты на 1 и 2 каналах.

  2. возможность подмешать в отправляемые данные свои (т.е. к примеру заменить 1,2,3 канал на свои, а остальные оставить как есть) - нужно для подключения Wii Nunchuk - rcopen.com/forum/f8/topic194699
    причем желательно без лишних преобразований из- и в- PPM

----------------

вот схема пульта - www.hobbyking.com/…/467342471X156030X32.gif

  • оторвать PPM от ноги P2.0 кодера,
  • поставить дополнительно атмегу,
  • завести TX кодера на ее RX и принимать данные с кодера в цифре,
  • пересчитывать оси как нужно (кривые, нестандартные миксы и т.п.),
  • формировать PPM атмегой,
  • подавать этот PPM на пин 1 тренерского разъема.

при наличии п.1 - просто повесить на эту-же атмегу обработку данных с нунчака.

если я правильно понимаю - модификация пульта сведется к разрыву дорожки P2.0, а доп. модуль можно просто подключать к тренерскому разъему (благо там есть +5в).

или даже лучше - закоротить R36, а в разрыв P2.0 поставить такой-же 1k2 резистор.

тогда при неподключенном доп.модуле PPM с кодера будет проходить на ВЧ (с немного большим напряжением, из-за изменения делителя) и пульт будет работать обычным образом.

а при подключенном - PPM атмеги будет пересиливать PPM кодера (ток через резистор - 4ма, а атмега48 может выдать на pin source/sink токи больше 10ма) и модель будет управляться с атмеги

правильно ли я всё понимаю и ничего не упустил?

Вертикальные кили - обязательно ли их ставить?

получил сегодня вот такой самолет - www.hobbyking.com/hobbyking/…/uh_viewItem.asp?idPr…

обязательно ли клеить на него вертикальные кили?
как он будет летать без них?

планируется возить его в общественном транспорте (в картонной коробке) - так что чем меньше выступающих частей (и уже коробка), тем лучше.

управление моделью с помощью Wii Nunchuk
PigTail:

Чой то мне вспоминается, что встречалось в сети о косячности i2c у 8 меги в принципе, но подробностей не помню. Есть 168 и 168V в DIP, если надо для эксперементов, кидайте в личку адрес вышлю

уже едет посылка с мегами328 и wii motion+ - до ее прихода особых экспериментов не предвидится.

так только, настройки подкрутить - но это и на 48й прекрасно делается.

управление моделью с помощью Wii Nunchuk
cvy7:

так все вроде нормально, i2c у m8, m48, m88 не отличается, если не считать реальных адресов и векторов, правда тактовая частота задана в 2 раза больше чем 100 кгц, но это не должно сказаться, активности совсем нет (осциллографом)?

откуда “в 2 раза больше”?
в коде - 100кГц

если это про блок в twimaster.c

#ifndef F_CPU
#define F_CPU 4000000UL
#endif

/* I2C clock in Hz */
#define SCL_CLOCK  100000L

то F_CPU уже задана в Makefile и переопределяться не будет.

к тому-же, нунчак штатно использует FAST I2C (400кГц) и на частоту ему как-то так.
специально сейчас проверил на 48й меге - и на 400кГц работает нормально, и на 100кГц, и на 1кГц (данные приходят меееедленно).

нет осцилографа, чтобы посмотреть активность.

похоже, это просто глюк моей меги8. не единственный, кстати - у нее еще и на UART иногда мусор сыпется. просто так, сам по себе.
поскольку она у меня единственная - проверить больше не на чем.

управление моделью с помощью Wii Nunchuk

то-ли моя мега8 косячная, то-ли еще что, но она в упор не хочет работать с i2c. хотя на этой-же прошивке в протеусе i2c дебагер показывает активность.

вот тестовая сборка для atmega8 - частота 8МГц, скорость UART - 38400, PPM выводится на PD7 + на UART выводятся данные по каналам.

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

SCL и SDA подтянуты 1.8кОм резисторам к 1 в самом нунчаке.

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

wj_m8_test.zip

управление моделью с помощью Wii Nunchuk

уменьшил экспоненты, уменьшил расходы - теперь самолет немного более управляем.

полетал минут 5 на школьном дворе

телефон, которым снималось - как всегда “на высоте”. на этот раз он даже повис в процессе съемки, так что у видео съехала скорость 😃

управление моделью с помощью Wii Nunchuk

таки попробовал вживую.

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

результат пока не радует 😦

  1. экспоненты слишком большие для этого самолетика. на перемещения возле центрального положения самолет не реагирует вообще никак (хотя рули шевелятся). на крайние положения - слишком резко.

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

ну и выяснилось, что за те два года, что самолет лежал без дела - аккумуляторы выдохлись. 2-2.5 минуты полного газа и срабатывает отсечка двигателя. если летать в пол-газа - тяги не хватает. 😦

еще выяснилось, что на московке-2 негде полетать - пришлось идти вдалека 😦

v61:

а сильно сложно поправить код под 8-ю мегу?
(их есть немного, а за 48-й ехать специально надо…😉)

по идее - не очень сложно.
но у меня с первого раза не получилось (тоже есть мега8 и первая мысль была переделать под нее) - не заработал i2c. непонятно почему.

попробую потом… тем более в 48й тесно - флэш занят на 97%

управление моделью с помощью Wii Nunchuk

добавил экспоненты ( rconline.ru/modules/smartsection/item.php?itemid=6… )

доделал режим, когда по умолчанию пропускается PPM сигнал с пульта (подаваемый на PB0), а при нажатии на кнопку C нунчака - передается сигнал от него.

проверить вживую пока не получается - дождь и ветер 😦

wj15.zip

управление моделью с помощью Wii Nunchuk

непонятно как, но я таки умудрился спалить свою единственную мегу168. 😃😦

где в Омске можно купить замену - непонятно. в ДАНе нету.

пришлось извращаться с тем что есть.

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

работают 4 канала, в симе (через USB-PPM) вполне можно летать.
вживую пока не проверял.

Сообщение от Sodefi
на видео случаем не икар?

на видео Firebird Phantom
своеобразный самолетик.

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

кстати, на 4х канальный ppm он в упор отказывается реагировать. а симу нада 4 оси, чтоб откалиброваться правильно.

wj.zip

управление моделью с помощью Wii Nunchuk
v61:

Конечно интересно!
Кстати, у нунчака есть провод “det”? (они есть 2-х вариантов)…

“det” - это что?

www.hardwarebook.info/Wiimote_Expansion_Port

если 3й пин - то да, есть.
он соединен с плюсом питания на платке нунчака, а не внутри разъема.

управление моделью с помощью Wii Nunchuk

таки работает.

качество видео, конечно, отвратное, но ничего лучше телефоном снять не получается.

чуть позже выложу исходники прошивки, если кому интересно.

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

управление моделью с помощью Wii Nunchuk
msv:

Период PPM вообще-то 20мс… Хотя обычно это не критично…
Может приемник хочет инверсный PPM? Или категорически ждет в PPM определенное кол-во каналов…

кроме PPM-выхода у меня есть еще и простейший PPM-вход, (который выдает интервалы импульсов и пауз, без обработки) - им и смотрел.

нет, PPM там не инверсный. с каналами - делал точно такие-же каналы, как выдает пульт.

и с ТОЧНО таким-же периодом.
там когда нажимаешь на правый стик, пульт переключается на 15мс период (светодиод на пульте начинает мигать), а самолетик реагирует на канал элеронов отклонением не одной (как в 25мс режиме), а обоих половинок V-хвоста.

PPM-USB-кабель на эти переключения не реагирует никак.

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

если самолетик будет на него реагировать - значит что-то не то с моим PPM, если нет - значит с электронной частью (что гораздо хуже, т.к. с электроникой у меня не очень).

anonymice:

простите, что вмешиваюсь, но попробуйте написать fmkit, он точно летает с нунчаком

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

управление моделью с помощью Wii Nunchuk

таки сделал 3х-канальный PPM выход - roll + pitch + Y стика.
выставил отображение как на пульте самолетика.

через PPM-USB-кабель - работает.
через smart propo plus - работает. “градусник” каналы видит.

а вот сам самолетик мой сигнал принимать отказывается.

на sound-card oscilloscope они совпадают (настоящего осцилографа нету 😦 ). интервалы между посылками замерены с пульта и выдерживаются до сотых долей мс.

0 - 0.3мс
1 - 0.7-1.7мс (1.2мс середина) - первый канал
0 - 0.3мс
1 - 0.7-1.7мс (1.2мс середина) - второй канал
0 - 0.3мс
1 - 0.7-1.7мс (1.2мс середина) - третий канал
0 - 0.3мс
1 - остальное время до 25мс (или до 15мс, если “анти-крэш” выключен с пульта).

напряжение у меня на схеме - 3.4в, на пульте контроллер запитан от 3в стабилизатора.

в чем может быть трабл?

управление моделью с помощью Wii Nunchuk

подробнее - ну например
frank.circleofcurrent.com/…/nunchuk_joystick.htm - подробное описание как подключить wii nunchuk в качестве usb-джойстика к компу + прошивка для 168й меги в исходниках. правда только оси, без рассчетов roll/pitch. есть ссылки на описание протокола.

ну или здесь - www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=124888903… - описание подключения и работы с nunchuk и motion+ (много не нужного в данном случае, но и нужного хватает) для arduino (который по сути - та-же мега168/328 с минимальной обвязкой).

гуглом без проблем находится вся нужная информация - ее навалом.

пока читаю положение по i2c, обсчитываю roll/pitch и скидываю на ком-порт в текстовом виде.

PPM еще нету, буду разбираться как его генерить. скорее - просто несколько раз выставлять таймер на нужное время и дрыгать ножкой в прерывании.

мой макет пока выглядит вот так:

когда доведу до ума софтовую часть - придумаю что-нить с платкой. или просто обмотаю пленкой и в карман 😆

управление моделью с помощью Wii Nunchuk

попробовал подключить wii remote + nunchuk через ppjoy и погонять на симуляторе (RealFlight G4.5) - понравилось.

теперь хочу сделать то-же самое на настоящем самолетике.

самолетик - для начала Firebird Phantom 37МГц. новичковый, и запчасти на него есть (второй такой-же со сгоревшей платой приемника-всё-в-одном).

со снятием сигнала с передатчика - понятно. от микросхемы к ВЧ идет единственная дорожка, по которой идет PPM. подал его на китайский PPM-USB-провод - все 3 канала видятся и работают.

с формированием и подачей своего PPM на ВЧ часть - пока не понятно. не пробовал еще.

правильно ли я понимаю, что достаточно перерезать дорожку от микросхемы к ВЧ и подать туда свой PPM ?

с подключением нунчака к ATMEG’е по i2c, снятием данных и рассчетом roll/pitch по акселерометру - понятно и работает.

какие еще проблемы могут возникнуть?

кстати, сейчас жду посылку с новым самолетиком и вот этим пультом HK-T6A. как там с входом PPM или другим тренерским ВХОДОМ ?
не хотелось бы лезть с паяльником в новый пульт.