Activity
дошли у меня руки до пульта…
в общем не стал я особо мудрить - просто отпаял провод PPM-выхода с платы и подпаял его на PPM-вход ВЧ-модуля.
в результате - если в разъем ничего не подключено - всё работает как работало.
если подключена макетка с нунчаком ( rcopen.com/forum/f8/topic194699 ) - его PPM-выход (лапка меги48 через 100ом резистор) перетягивает PPM-выход контроллера пульта.
единственное, что не стоит забывать - PPM-вход ВЧ-модуля - 3.3в
получилось прикольно - правый элевон управляется стиком (на старом самолете это газ), левый - наклоном нунчака вперед-назад (на старом самолете V-tail микс зашит в приемнике), а мотор - не управляется никак (ESC хочет, чтобы при включении питания 3й канал был близко к нулю).
теперь осталось допилить прошивку, чтобы контроллер читал данные с RX и делал нужные миксы\кривые.
в мегу48 это вместе с нунчаком это точно не влезет, придется ждать меги328. или делать миксы\кривые в отдельной прошивке и потом объединять.
А смысл? Может лучше нормальный кодер? 😉 Схема то одинаковая, а полезностей - больше.
нормальнй кодер - это полностью новая плата в пульте?
нет уж, ленивый я для таких вещей 😃
распаять одну микросхемку, пару резисторов и 4 провода на макетной платке - и проще, и легче. примерно с тем-же результатом. там требуется только читать 18байт из uart (заголовок, 6 каналов и контрольная сумма), пересчитывать их как надо и формировать PPM.
конечно, добавится несколько милисекунд задержки, но это не смертельно.
приемник (и самолет) под этот пульт у меня только один, так что переключение между моделями, настройки прямо на пульте, индикация и т.п. красивости пока не нужны. нужны только экспоненты и нунчак.
а дальше видно будет. если понадобится что-то большее - куплю 9канальную turingy.
Яндекс и гугл - не китайские поисковые системы 😃 Даташит на главной странице сайта производителя. Прямая ссылка на него www.stcmcu.com/datasheet/stc/…/STC12C5410AD.pdf Программить на С (кейли-С). Програ программатора - там же. Программировать - через разъем. (даж через родной шнурок от аппы!). Залить новую прогу - можно. Слить с аппы - походу нельзя. (ну или я не разобрался).
кхм… у этого чипа аппаратный uart-бутлоадер чтоли?
да и без бэкапа оригинальной прошивки прошивки как-то не хочется с ним связываться.
когда закончу с катапультой под SKYFUN, займусь пультом. скорее всего навешаю атмегу и пропущу данные через нее, как и собирался.
С такой апой встречались? www.leadershobby.com/product.asp?ID=9394001220327 за 25 ДОЛ. ? Пишут что 4 модели в память можна забить?
не встречалась мне такая аппа.
да и по фото непонятно, как там осуществляется выбор модели из памяти и его индикация. ни экранчика, ни даже доп.светодиодов на фото не видно.
а пульт такой есть у меня, там на радиомодуль чистый PPM идет, и на тренерском разъеме он есть
это PPM ВЫХОД, а нужен вход.
rcopen.com/forum/f4/topic197442
захотелось добавить к своему HK-T6A несколько вещей:
-
настраиваемые кривые\экспоненты на 1 и 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…
обязательно ли клеить на него вертикальные кили?
как он будет летать без них?
планируется возить его в общественном транспорте (в картонной коробке) - так что чем меньше выступающих частей (и уже коробка), тем лучше.
Если не секрет, откуда посылка с 328-ми?
Чой то мне вспоминается, что встречалось в сети о косячности i2c у 8 меги в принципе, но подробностей не помню. Есть 168 и 168V в DIP, если надо для эксперементов, кидайте в личку адрес вышлю
уже едет посылка с мегами328 и wii motion+ - до ее прихода особых экспериментов не предвидится.
так только, настройки подкрутить - но это и на 48й прекрасно делается.
так все вроде нормально, 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 иногда мусор сыпется. просто так, сам по себе.
поскольку она у меня единственная - проверить больше не на чем.
то-ли моя мега8 косячная, то-ли еще что, но она в упор не хочет работать с i2c. хотя на этой-же прошивке в протеусе i2c дебагер показывает активность.
вот тестовая сборка для atmega8 - частота 8МГц, скорость UART - 38400, PPM выводится на PD7 + на UART выводятся данные по каналам.
если у кого есть желание - можете проверить.
SCL и SDA подтянуты 1.8кОм резисторам к 1 в самом нунчаке.
штатное питание нунчака - 3.3в.
от 5в он работает, но как это со временем скажется на его микросхемах - вопрос открытый. видел на форумах комментарии типа “уже давно так пользую, ничего не сгорело и не собирается”.
уменьшил экспоненты, уменьшил расходы - теперь самолет немного более управляем.
полетал минут 5 на школьном дворе
телефон, которым снималось - как всегда “на высоте”. на этот раз он даже повис в процессе съемки, так что у видео съехала скорость 😃
таки попробовал вживую.
пока для проверки - тупо обмотал макетку несколькими слоями плени с пузырьками и накрыл 2мя пенопластовыми поддонами.
результат пока не радует 😦
-
экспоненты слишком большие для этого самолетика. на перемещения возле центрального положения самолет не реагирует вообще никак (хотя рули шевелятся). на крайние положения - слишком резко.
-
управлять газом со стика - не очень удобно. ход стика маленький, пружина сильная - рука напрягается.
ну и выяснилось, что за те два года, что самолет лежал без дела - аккумуляторы выдохлись. 2-2.5 минуты полного газа и срабатывает отсечка двигателя. если летать в пол-газа - тяги не хватает. 😦
еще выяснилось, что на московке-2 негде полетать - пришлось идти вдалека 😦
а сильно сложно поправить код под 8-ю мегу?
(их есть немного, а за 48-й ехать специально надо…😉)
по идее - не очень сложно.
но у меня с первого раза не получилось (тоже есть мега8 и первая мысль была переделать под нее) - не заработал i2c. непонятно почему.
попробую потом… тем более в 48й тесно - флэш занят на 97%
добавил экспоненты ( rconline.ru/modules/smartsection/item.php?itemid=6… )
доделал режим, когда по умолчанию пропускается PPM сигнал с пульта (подаваемый на PB0), а при нажатии на кнопку C нунчака - передается сигнал от него.
проверить вживую пока не получается - дождь и ветер 😦
непонятно как, но я таки умудрился спалить свою единственную мегу168. 😃😦
где в Омске можно купить замену - непонятно. в ДАНе нету.
пришлось извращаться с тем что есть.
после обгрызывания всего, что можно обгрызть и замены i2c библиотеки на более простую - удалось впихнуть код в мегу48.
см. приложенный архив
работают 4 канала, в симе (через USB-PPM) вполне можно летать.
вживую пока не проверял.
Сообщение от Sodefi
на видео случаем не икар?
на видео Firebird Phantom
своеобразный самолетик.
нунчаковские оси отображаются в раскладку его пульта.
кстати, на 4х канальный ppm он в упор отказывается реагировать. а симу нада 4 оси, чтоб откалиброваться правильно.
Конечно интересно!
Кстати, у нунчака есть провод “det”? (они есть 2-х вариантов)…
“det” - это что?
www.hardwarebook.info/Wiimote_Expansion_Port
если 3й пин - то да, есть.
он соединен с плюсом питания на платке нунчака, а не внутри разъема.
таки работает.
качество видео, конечно, отвратное, но ничего лучше телефоном снять не получается.
чуть позже выложу исходники прошивки, если кому интересно.
скорее всего на днях испытаю в полете, если ветра не будет.
Период PPM вообще-то 20мс… Хотя обычно это не критично…
Может приемник хочет инверсный PPM? Или категорически ждет в PPM определенное кол-во каналов…
кроме PPM-выхода у меня есть еще и простейший PPM-вход, (который выдает интервалы импульсов и пауз, без обработки) - им и смотрел.
нет, PPM там не инверсный. с каналами - делал точно такие-же каналы, как выдает пульт.
и с ТОЧНО таким-же периодом.
там когда нажимаешь на правый стик, пульт переключается на 15мс период (светодиод на пульте начинает мигать), а самолетик реагирует на канал элеронов отклонением не одной (как в 25мс режиме), а обоих половинок V-хвоста.
PPM-USB-кабель на эти переключения не реагирует никак.
вечером попробую сделать повтор сигнала контроллера пульта через свой контроллер.
если самолетик будет на него реагировать - значит что-то не то с моим PPM, если нет - значит с электронной частью (что гораздо хуже, т.к. с электроникой у меня не очень).
простите, что вмешиваюсь, но попробуйте написать fmkit, он точно летает с нунчаком
с самим нунчаком всё понятно. непоняты особенности приемника данного конкретного самолетика.
таки сделал 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в стабилизатора.
в чем может быть трабл?
подробнее - ну например
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 remote + nunchuk через ppjoy и погонять на симуляторе (RealFlight G4.5) - понравилось.
теперь хочу сделать то-же самое на настоящем самолетике.
самолетик - для начала Firebird Phantom 37МГц. новичковый, и запчасти на него есть (второй такой-же со сгоревшей платой приемника-всё-в-одном).
со снятием сигнала с передатчика - понятно. от микросхемы к ВЧ идет единственная дорожка, по которой идет PPM. подал его на китайский PPM-USB-провод - все 3 канала видятся и работают.
с формированием и подачей своего PPM на ВЧ часть - пока не понятно. не пробовал еще.
правильно ли я понимаю, что достаточно перерезать дорожку от микросхемы к ВЧ и подать туда свой PPM ?
с подключением нунчака к ATMEG’е по i2c, снятием данных и рассчетом roll/pitch по акселерометру - понятно и работает.
какие еще проблемы могут возникнуть?
кстати, сейчас жду посылку с новым самолетиком и вот этим пультом HK-T6A. как там с входом PPM или другим тренерским ВХОДОМ ?
не хотелось бы лезть с паяльником в новый пульт.