Кстати столкнулся с проблеммой в отношении стабилитронов, при использовании BZX55-C3V3 все работает отлично, но при использовании 1N5226B скажем так "9 из 10" неопределяются , а те что определяются работают "через раз".
ЗЫ может комуто пригодится.
Вид для печати
Кстати столкнулся с проблеммой в отношении стабилитронов, при использовании BZX55-C3V3 все работает отлично, но при использовании 1N5226B скажем так "9 из 10" неопределяются , а те что определяются работают "через раз".
ЗЫ может комуто пригодится.
А стабы 1N4733A как себя ведут не в курсе?
На всякий случай можно отключить - но по идее выход логики достаточно мощный, чтобы кварц не мешал даже не отключенный.
Внутренняя подтяжка Reset-а у [A] не сильно и изменилась, так что ставить внешний резистор необязательно - особенно в печатных платах с "короткой" разводкой.
Я плоховато в схеме шарю это тот что ноги 9 и 10(ресет) соединяет он??
Я гдето читал что без этой доработки джой глючит периодически и после программирования 10 нога вешаетсяч на 9 через резистор 10-15 кОм и на землю через С=0.1 мкФ
ЗЫ Что есть термин подтяжка??:ups::ups:
Да, подтяжка и есть резистор, который "подтягивает" вывод м/сх к питанию. Если в схеме проводник, которым подключен ресет проходит близко с другими на достаточной длине - емкости может хватить, чтобы "пробивать" импульсами, естественно будут происходить перезапуски контроллера. Удобно повесить SMD 0805 прямо между ногами 9 и 10. Но для данной "короткой" платы сомневаюсь что это необходимо - хотя и вреда точно никакого. Конденсатор -это уж явное излишество - сброс по питанию у Меги (BOD) работает надёжно, конденсатор - это пережиток из времен C51 - там сброс по включению был необходим.
Уважаемые, доброго времени суток. У меня возник вопрос. Возможно ли на платформе Mjoy реализовать охлаждение ручки джоя? Ну так, что бы нажал на кнопочку включилось, опять нажал - остановилась???
И еще вопрос. Что с обратной связью в данном тех. решении? Есть ли оно вообще (возможно) или нет...
PS Заранее спасибо.
PPS Если кому то мои вопросы покажутся глупыми, в чем то он будет прав, я пока не до конца разобрался в Mjoy...
Я понимаю включать охлаждение по таймеру или температуре -- нужен контроллер, а тут надо -- включил, не надо -- выключил, да и на ручке это лишнее, IMHO, и так места мало.
Добрый день товарищи...
Возращаюсь к ранее написаному:
По совету Alex Oz собрал генератор и оживил камень, расставил фьюзы как надо.
Убрал подтяжку с 10 ноги.
Проверил и перепоял стабы (3,3 вольта) полоской к сигналу..
Устройство прошилось удачно...НО:
Так нифига и не работает(( даже не определяет как неопознанное((
Может у кого нить есть идеи?? Помогите пжл
http://www.sukhoi.ru/forum/showpost....postcount=2190
проверяй сопли, кабель, порт USB.
:yez: Это просто ипец... У меня оказывается вместо резака на 4.7 кОм впаян был 82 Ом и делитель не работал и как следствие ничё не определя\лось а счаз нашлось устройство с 9 осями и т д ...только оси дрожат сильно может изза того что нет резисторов...
ААА спасибо всем просто писаю кипятком первый мджой заработал... Только можно ли обозвать его как нить не стройство с 9 осями и т д а как MJoy16 ??
ЗЫ собираюсь всё перепаять на чистовую подскажите может лучше взять стандартную плату(есть какие нить различия)
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\MediaProperties\PrivateProperties\Joystick\OEM
ищешь свой джой и правишь имя на нужное
Моя крайняя версия платы MJ-16. Размер 76*45мм.
И диодный распределитель на 16 кнопок. 76* 22мм.
Впаяна половина диодов, на второй колодке запасные провода (незадействованы).
Я вроде имя в реестре изменил а оно таким же осталось при отображении(
Править надо также и CurrentControlSet - там таже фигня прописана.
Делал как-то утилитку для таких манипуляций -может кому сгодится. Кроме переименования устройств также есть кнопка DeleteCalibration. Вообщем, "ас из",то бишь на свой страх и риск :).
PS
Софтинка делалась в HiASMe - некоторые антивирусы ругаются на трояна.
Основная пачка антивирусов (Dr.Web, Касперский, NOD32, Avast, Panda, AVG) претензий не имеют.
У меня после переустановки Винды имя само сменилось с "9оси и тд с колпачковым переключателем" на MJ16, причем Винда та же самая.
Эмм.. Давненько не заходил, бурная молодая жизнь, покоя ногам не даёт... :D Извиняюсь за предыдущий свой вопрос, сейчас глянул, аж стыдно стало. В общем опишу суть своего интереса. Джой у меня Хрениус МеталСтрайк Про. У него есть маленький такой вентилятор в ручке... это и есть то самое охлаждение. Но этот вопрос не важным был господа. Так, отвлечение внимания ну и посмеяться.. :) (По всей видимости сработало *ехидно смеюсь)
Куда интереснее обратная связь. Реализуемо? Как?
Насчёт обратной связи прошу принять участие в обсуждении!!!!!
http://avia-sim.ru/forum/viewtopic.php?t=592
SwoOp, на демонстрируемом участниками обсуждения техническом уровне, обсуждение смысла не имеет.
Строго говоря, с механической частью, по крайней мере с разработкой ее конструкции проблем нет. Даже изобретать ничего не нужно - берем ступенчатый приводной ремень, ступенчатые же шкивы на двигатель (не обязательно и шаговый, кстати) и городим из этого нужный нам огород. И это даже не уникально будет - подобную вещь как-то раз сделала Trustmaster на одном из своих рулей F1 (точную модель не помню).
Получается и мягко, и без ступенек и почти без люфта. И не очень дорого.
Вся засада начинается в реализации электронной части. Готовые контроллеры от джойстиков с FFB не подойдут - там и двигатели других мощностей, и передадочные числа механики тоже другие будут.
Опять же в электронике - если драйверы (это микросхемы такие, не софт :) ) двигателей стандартные и собираются опять же относительно стандартно, а расчеты номиналов деталей если и есть, то общеизвестны и делаются без труда, то вот с программированием все очень непросто.
Касательно, например, того же мджоя - программная реализация протокола USB отнимает у контроллера очень много ресурсов. На обработку и выдачу сигналов обратной связи уже не останется.
То есть вырисовывается проблема номер раз - нужно менять контроллер на такой, у которого есть встроенный аппаратный USB интерфейс. Или подключать внешний USB-контроллер. Что во-первых достаточно дорого с точки зрения покупных деталей, а во-вторых достаточно сложно для повторения чайниками в электронике (пайка TQFP64 это вам не фунт изюма, да).
Проблема номер два в программной части - практико-прикладная - USB HID устройство типа "джойстик" не предполагает наличие обратной связи. То есть нужно городить свой драйвер джойстика на стороне ОС (и дружить его с DirectX), ну и естественно под него писать прошивку контроллера.
Проблема номер три в программной части - математически-теоретическая - для управления двигателем сообразно положению датчика, организуя всяческие там вибрации, тряски, нужные усилия на ручке, нужен не самый простой математический аппарат. Теория САУ, фильтрация шумов от датчиков, компенсация задержки реакции двигателя и задержки чтения с датчиков, компенсация разных нелинейностей (и наоборот их создание для пущего реализма отклика) и т.д. и т.п.
Не скажу что это архисложно или не реализуемо одним человеком, но это достаточно долго. Лучше командой из двух-трех человек. Один электронщик-механик, второй программист по контроллерной части, третий программист драйвера и идеолог математической модели обратной связи.
Хотя бы просто внятное описание протокола Force Feedback с точки зрения написания драйвера для него, причем с нюансами передачи команд (в том числе и временнЫми приколами ОС Windows и ее HAL) в USB и нюансами приема/реакции на эти команды на стороне контроллера джойстика.
А уж прикрутить всякие нелинейности и фильтрации к моторчику - этой теории как в Сети, так и в советских учебниках навалом.
По поводу контроллера, например, Atmel не очень давно выпустила серию ATxmega - очень вкусные железяки - до 32 Мгц, 3.3 вольт питание, восьмиканальный 12-разрядный АЦП, двухканальный 12-разрядный ЦАП (как раз на FFB двух осей), развесистый контроллер прерываний, быстрый доступ к памяти. В общем все что нужно джоестроителю с обратной связью, в одной микросхеме.
И все это за 500 рублей в розницу за версию контроллера с 256 килобайтами программной памяти. Думаю, такой контроллер на 24 мегагерцах и с программным стеком USB справится параллельно с обработкой FFB. Благо у него система прерываний достаточно мощная.
Просто моей изначальной идеей было разработать качественную механику и навесить её на джойстик оснащённый ОС авось к каким-то определённым выводам с механической частью эта тема и приведёт!)
Для контроллеров Saitek Force нужно ставить шторки на оси двигателей, а уже от них городить шестеренчатые или ременные передачи на палку.
В принципе, у Cyborg 3D Force (у самого такой валяется на антресоли) передаточное число не очень большое, и достаточно мощные моторчики (на 100% настройках даже черезчур мощные) для настольного РУС.
И если перевести механику с пластикового одноопорного подвеса на металл и подшипники с двухопорным подвесом каждой оси. А передачу усилия от моторчиков с шестеренок на зубчатые ремни, то будет достаточно вкусно с точки зрения механики.
Но. Отсчетов на ось у него всего 100-110, что для джойстика катастрофически мало.
Но можно сделать финт ушами - подключить одновременно Saitek 3D Force и другой джойстик. Например MJoy, и датчики от мджоя будут висеть на осях непосредственно палки с хорошей механикой, то... все будет работать. И с FFB тоже.
Дело в том, что в ОС Windows, если подключено устройство с FFB, и в игре включены эффекты FFB, то они будут передаваться на него, даже если игра работает с другим джойстиком.
По крайней мере, это справедливо для Windows XP, Ил-2 и Lock On любых ныне вышедших версий (в т.ч. и Ка-50).
А так как механически два контроллера будут связаны, то мы можем получить джойстик с довольно качественной FFB.
Плюсами конструкции будет более мягкие и плавные эффекты FFB (из-за ременной передачи), и более точные оси (из-за второго контроллера).
Можно брать для раздербанивания современный джойстик, где в качестве датчиков применяются резисторы. Например Logitech G940. %)
Тогда второй контроллер городить не нужно, так как у G940 1024 отсчета на ось.
Вот спаял MJoy16 в варианте поверхностного монтажа, кому понадобится разводка в формате Sprint Layout 5 обращайтесь. Делалось "под себя" но при желании легко адаптируется.
Для себя вывел такие разъемы:
- Кнопки на РУС (8шт) + Хатка
- Сервисные кнопки (Init, Mode)
- Все энкодеры
- Столбцы и строки для матрицы кнопок, которая будет отдельно
- Все оси
- Программирование (резисторы запаяны на плате)
Качество фото ужасное, извиняюсь :ups:
Плату как делал ЛУТ или фотометод?
Если собирать напольник то есть свои трудности с двигателямиЦитата:
Для контроллеров Saitek Force нужно ставить шторки на оси двигателей, а уже от них городить шестеренчатые или ременные передачи на палку.
В принципе, у Cyborg 3D Force (у самого такой валяется на антресоли) передаточное число не очень большое, и достаточно мощные моторчики (на 100% настройках даже черезчур мощные) для настольного РУС.
И если перевести механику с пластикового одноопорного подвеса на металл и подшипники с двухопорным подвесом каждой оси. А передачу усилия от моторчиков с шестеренок на зубчатые ремни, то будет достаточно вкусно с точки зрения механики.
Но. Отсчетов на ось у него всего 100-110, что для джойстика катастрофически мало.
Но можно сделать финт ушами - подключить одновременно Saitek 3D Force и другой джойстик. Например MJoy, и датчики от мджоя будут висеть на осях непосредственно палки с хорошей механикой, то... все будет работать. И с FFB тоже.
Дело в том, что в ОС Windows, если подключено устройство с FFB, и в игре включены эффекты FFB, то они будут передаваться на него, даже если игра работает с другим джойстиком.
По крайней мере, это справедливо для Windows XP, Ил-2 и Lock On любых ныне вышедших версий (в т.ч. и Ка-50).
А так как механически два контроллера будут связаны, то мы можем получить джойстик с довольно качественной FFB.
Плюсами конструкции будет более мягкие и плавные эффекты FFB (из-за ременной передачи), и более точные оси (из-за второго контроллера).
Можно брать для раздербанивания современный джойстик, где в качестве датчиков применяются резисторы. Например Logitech G940.
Тогда второй контроллер городить не нужно, так как у G940 1024 отсчета на ось.
Я например пляшу от Логитек 3д форс где 2 оси по1024 отсчёта и макс ток на двигатель около120мА, есть идея поставить катушку от 220 в чтобы созд магнитное поле а в этой катушке будет двигаться меньшая катушка прикреплённая к рычагу палки питаемая током контролера!!
Это уже оффтоп :)
Но не прожигались. Вообще хлорное железо травит медь, а не жгет. Возможно плохо перенесся тонер с бумаги на плату. Тонер должен хорошо держаться и не отваливаться если потереть пальцем, без фанатизма ;) Маленькие участки где не пристал тонер я закрашиваю маркером для CD Centropen, он неплохо справляется.
Подскажите в чем может быть проблемка джой на ATMega 16 Win7 32 бит (лицензия)
система неопазнает джой пишет што (Это устройство было остановлено, поскольку оно сообщило о возникновении неполадок. (Код 43)
Может в BIOS чтото нужно включить.
P.S.Но на Win XP Prof.работает.
Доброго времени суток.
Собрал Mjoy16,завелся сразу, работает отлично! Но.
Подскажите в чем прикол:
как было написано здесь ранее, для изменения названия MJ16 на MRUD
меняю 1-ю строку в mjoy_16.eep
- :10000000_4D4A3136_0000_02000_3FF000003FF0000EC (MJ16)
на - :10000000_4D525544_0000_04000_3FF000003FF0000EC (MRUD)
заливаю прошивку.
Включаю джой, имею в устройствах MRUD! все ОК.
Выключаю джой, включаю опять - имею MJ16.
Считываю прошивку, первая строка вернулась в иходное состояние ???
Спасибо, бум искать.
Нашел 4D4A3136 в двух местах, заменил.
Все равно при первом включении MRUD,
при втором и последующих - MJ16
содержимое EEPROM не меняется (MRUD).
Урич, вот моя прошивка для МДой16 под МРУД, уже стоит на моем контроллере больше года, ниразу не слетала.
Премного благодарен, щас залью.
---------- Добавлено в 20:05 ---------- Предыдущее сообщение было написано в 18:07 ----------
Залил прошивку, включил - MJ16.
А может проблема в системе? Запомнила как MJ16 и навсегда.
Надо на другом компе попробовать, где он не был.
Имя контроллера записывается в реестр при первом включении. Надо отключить джой, почистить реестр и включить снова.
Так вот где собака порылась!
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\MediaProperties\PrivateProperties\Joystick\OEM\VID_0000&PID_0004
На PID 0004 был записан MJ16. Удалил параметр, все встало как надо.
Спасибо!!!
---------- Добавлено в 21:16 ---------- Предыдущее сообщение было написано в 20:56 ----------
На счет FFB тема интересная. Как организовать это в контроллере примерное представление имею. А вот со стороны компа ? Каким образом передается информация на HID устройство. Где почитать?
Меня больше интересует не FFB а вывод данных приборов. Понял через LUA, но нет подробной инфы (для чайников).
Только работать надо с CurrentControlSet, а не с ControlSet00N.
Уважаемый,Scull , Вам удалось построить печатку на ATmega162-16AU в корпусе TQFP44 и smd элементах... в общем выше всяких похвал.
-вот и я начал делать под себя, но необходимы корректировки печатки. Следовательно пользуюсь фразой:Цитата:
Делалось "под себя" но при желании легко адаптируется.
и прошу Вашу печатку в "лайке" выложить для всеобщего обозрения, плз.Цитата:
кому понадобится разводка в формате Sprint Layout 5 обращайтесь
Заранее: спасибо-).
С уважением.
Пы.Сы. а то можно и "стянуть" печатку из фото... :ups:
До понедельника подождете? На работе лежит. Делал всего 40 кнопок, выводы PB5-PB7 не разводил. Есть промежуточный вариант разводки на флешке, но там может быть неправильный макрос TQFP корпуса. Проверьте.
В чем может быть проблема, это уже на втором контроллере ATmega16, после работы примерно около недели вылетает ошибка 43 и Винда не видет джоя.
Подскажите куда рыть.
Имеется экпериментальная прошивка для контроллера MJoy16.
Для нормальной работы потребуется небольшое изменение схемы(см.рис).
Необходимо разрезать дорожки в указанных (красные кресты) местах, и кинуть ”зеленую” перемычку. Также необходимо добавить ещё одну функциональную кнопку – SHIFT ( линии ROW L – Column 4 аналогично другим кнопкам - через диод)).
Прошивка триальная - на 500 часов работы. Потом - заново потребуется перепрошить .
Сохранена максимальная совместимость с MJoy16, ( назначение кнопок INIT, CENTRE, MODE), также кнопок и тумблеров.
Основные отличия:
1. Добавлена функциональная кнопка SHIFT
2. Общее число выходных кнопок увеличено до 128 –(за счёт кнопки SHIFT ) – кнопки 113-128 транслируются из 1-16.
3. Энкодеры: "быстрые и медленные" кнопки не используются - только "медленные" , но добавлены 4 виртуальных энкодера – они работают при нажатии кнопки SHIFT.
Их можно использовать как "быстрые". Есть возможность использовать 2-х и 4-х тактовые энкодеры.
4. Встроенный простой маппер клавиатуры;
5. Фильтрация аналоговых осей ;
6. Динамическое ранжирование репортов – позволяет получить время рефреша данных в среднем лучше 16 миллисекунд по любым пакетам(осевым или кнопочным);
7. Автоматическое переподключение ( в случае прекращения поллинга со стороны хаба );
8. Ручная калибровка осей (по дефолту - автокалибровка).
9-...Множество мелких неучтённых и несущественных изменений;
Прошивка бесплатна, в самом что ни на есть виде ”AS IS".
Прошивку запрещено использовать в коммерческих целях – только для личного ознакомления.
Абсолютно ничего не гарантируется – все на ваш страх и риск.
Собственно за прошивкой - обращаться в личку.
Коммерческой и безлимитной версии не ожидается!!!
Встроенный простой маппер клавиатуры -
позволяет назначить на все 128 кнопок свои клавиатурные коды+ 8 модификаторов кода (SHIFT-CTRL-ALT-WIN / левые-правые)
Кнопка нажимается/отпускается синхронно с кнопкой джоя.
Одновременно может быть нажата только одна клавишная кнопка.
В основном маппер предназначен для энкодеров - если уменьшить длительность импульса энкодера, то отработка значително ускоряется. Внешнему мапперу для надёжности требуется достаточно длительные импульсы. Так, SVmapper гарантированно отрабатывает импульсы с периодом 80-100 мс (зависит от загрузки процессора) .
Если короче - начинаются пропуски. Встроенный маппер позволяет хоть както приблизить обработку энкодеров к реал-тайму (если уменьшить длительность импульса до 2-3 тактов, или 16-24 мс ). При дефолтовых параметрах вращение энкодера визуально отрабатывается с задержкой - тут уж ничего не попишешь - выход должен быть медленней, чем вход. Это гарантирует, что импульсы будут получены и отработаны.
Фильтрация аналоговых осей :
100% подавление одиночных импульсных помех любой амплитуды ( если такая помеха возникает в одном 8 -мс такте работы)
Сглаживание отклика - в зависимости от настройки- от быстрого до "резинового".
Поскольку на вкус и цвет все фломастеры разные - по дефолту включена динамическая фильтрация - оптимальное (опять же - кому как) быстродействие и сглаживание в одном флаконе.
Статическое сглаживание может быть полезным для шумных "резюков".
Эх гдеж вы были полтора года назад :) мне делать ничего непришлосьбы...
ещеб добавилибы поддержку своих Dmarsов, вообще здорово былобы...
1. а вот по энкодерам вопрос - по моим наблюдениям для надежной обработки требуется опрос состояния каждые 500-700 мкс, 16мс мне кажется наверное слижком долго?
2. частота рефреша в 60 гц, вроде естьже прошивки с частотой больше 100, почему оставили 60?
ну и конечно динамическая фильтрация - здорово! я сам смог додуматься только до статический, хорошая задумка.
Здорово, но необходимость прошивать раз в месяц (для меня) сводит все преимущества на нет.