Просмотр полной версии : USB контроллер джойстика
Страницы :
1
[
2]
3
4
5
6
7
8
9
10
11
12
LazyCamel
10.09.2004, 13:55
Большая просьба!! Можно здесь выложить схему с прошивкой? А?
Заранее благодарен.
Схема и печатка таже самая, только вместо матрицы кнопок выводы просто замыкаются кнопками на землю. А хатки висят на двух последних каналах АЦП в цепочке последовательно соединенных резисторов.
+5V
R1 -82К
- вход канала АЦП
R2 -82К
R3 -40к
R4 -20К
R5 -10К
GND
Каждая из 4-х нормально разомкнутых кнопок хата включена параллельно каждому резистору начиная с R2.
Прошивка после выходных...
Схема и печатка таже самая, только вместо матрицы кнопок выводы просто замыкаются кнопками на землю. А хатки висят на двух последних каналах АЦП в цепочке последовательно соединенных резисторов.
+5V
R1 -82К
- вход канала АЦП
R2 -82К
R3 -40к
R4 -20К
R5 -10К
GND
Каждая из 4-х нормально разомкнутых кнопок хата включена параллельно каждому резистору начиная с R2.
Прошивка после выходных...
Огромный СПАСИБО!!! (Вот бы пораньше:))) Жду прошивку с нестерпением!!! Еще раз спасибо!!
У меня есть несколько ламерских соображений.
Я уже давно ковыряю джойстики, пытаясь собрать идеал.
Вот некоторые детали, не дающие мне покоя.
Если устройство подразумевается блочным, то делать все 20 осей и 200 кнопок на одной плате несколько неудобно.
Во-первых, при отдельном РУДе возникнет проблема подключения его к компу. Если головная плата находится в корпусе РУС, тогда нужно присоединять РУД к РУС более чем десяти жильным кабелем (если на РУД от 4 осей и от 21 кнопки). Плюс, тут вероятно есть ограничение на длину кабеля, поскольку если резюки коннектить шнурком более полуметра могут возникнуть помехи и наводки.
Во-вторых, если РУС напольный, то возникает проблемма протяжки большого количества проводов (тоже от 10) в ручку через шток, если планируется сделать 5 кнопок, хат, и ось на тормоз или триммер.
В связи с этим ИМХО насколко реально сделать топологию, похожую на Логитековскую? Т.е. изготовить один контроллер на РУС, и несколько небольших плат, которые будут находиться в РУД и ручке, и будут соединяться максимум USBшным кабелем, может даже с автономным питанием РУС и РУД.
Их них сложная - РУД, поскольку это имхо будет полноценный второй контроллер, подключаемый отдельно, или как довесок к "материнскому" контроллеру в РУС.
По моим наблюдениям для РУС хватает 4х осей (Крен, тангаж, рыскание и одна ось свободна - у меня она задействована на колесный тормоз, можно навесить ее на триммер, смену взгляда), но вот кнопок много не бывает :)
На РУД можно сделать побольше осей (газ (разнотяг), шаг винта, закрылки, триммеры) - от 6, и кнопок как в РУС.
Или просто взять два самостоятельных контроллера и сделать РУД и РУС самостийными ID, как у меня сейчас?
Сорри что сумбурно.
Или просто взять два самостоятельных контроллера и сделать РУД и РУС самостийными ID, как у меня сейчас?
ИМХО самое логичное решение. Так и апгрейдить и расширять прощее. Я летаю в МСФС, так у меня еще пара панелек дополнительных.. :)
ИМХО самое логичное решение. Так и апгрейдить и расширять прощее. Я летаю в МСФС, так у меня еще пара панелек дополнительных.. :)
А фото можно?
USSR_Rik
11.09.2004, 09:38
Навскидку - имхо проще два одинаковых контроллера:
1. Они и так просты - дальше некуда. К тому же - унификация, одинаковые платы, пайка/программирование - это несложно.
2. Городить схему для РУД с передачей данных по двум проводам (и добавим еще пару для питания и земли) - думаю, выйдет точно сложнее на типовой логике (это для кнопок), а уж аналоговые сигналы осей свести вместе - придется в цифру преобразовывать, кодировать, мультиплексировать (ось-то не одна) - в общем, придем к необходимости использовать фактически второй контроллер.
3. Как вариант - второй аналогичный контроллер с такой же схемотехникой, в основном такой же программой, только вместо USB протокола вшить другой и связать его с основным (для этого и в основном контроллере придется реализовать прием по этому протоколу). Тоже не сахар. А захотим что-то менять/расширять?
4. И последнее. Фактически, ведь все это уже есть в WIndows! Типовая MoBo несет 4 USB порта, расширить далее не проблема.
Кнопок мало не бывает - точно, согласен. Правда, я пока не все свои в контроллере задействовал - но это потому, что попросту нет их на девайсах, а хотелось бы. Кстати, никто не подскажет удачную реализацию и конструкцию хатки? Я бы не прочь вставить еще одну в РУС (под большой палец слева на середине ручки, как в Cougar) и в РУД (часто она удобнее, чем 4 кнопки по отдельности).
PS Кстати, о двух одинаковых контроллерах - скоро эта тема свяжется с педалями Ильи. LazyCamel не спит!
Хех .. вобщем я так и сделал ...
А по другому то и не выйдет , так как стандартная винда видет только 8 осей с одного устройства. А мне нужно было больше ... а сделать 2 виртуальных устройства на одном контролере не очень получилось , так как тама проблемки у меня возникли, дешевле оказалось добавить ещё 1 контролер ....
Вот сейчас разработка РУДа идёт вовсю ..... 8)
Доделаю выложу ...
paraManiac
12.09.2004, 12:40
LazyCamel,
любопытно что делает индикатор LED1 :confused:
А фото можно?
Увы, низя, бо нечем снимать.. Да там пока, честно говоря, смотреть особо не на что - сделана только электроника. Тумблеры, пимпочки и кнопочки воткнуты в картонные коробки - так проще менять их положение. Сейчас облетываю на разных типах, ищу наиболее удобное расположение и состав. Одно могу сказать - работать с железными тумблерами, кнопками и движками намного приятней, чем в клаву тыкать и мышой елозить..
LazyCamel
13.09.2004, 07:13
LazyCamel,
любопытно что делает индикатор LED1 :confused:
Светит после установки связи с УСБ. :-)
На самом деле это несколько неудобный пин, который волевым решением я просто отстрелил :-) Ну не удобно 5-битными числами оперировать в МК - не укладываются они ровно по байтам :-).
Тем более посчитав цену вопроса, оказывается выгоднее на каждую ручку завести по отдельному контроллеру, чем таскать жгуты проводов между РУС и РУДами. Поэтому большое количество кнопок как-то перестало играть значительную роль.
Первоначально он использовался для подачи сигнала на УСБ для задержки обнаружения устройства.
Попросили индикацию - был переделан под индикацию.
M@troskin
13.09.2004, 07:31
Правильно!
:D
Упс... :) Мои извинения. Вот теперь все стало на свои места.
Хотя нет. Если Миндог - автор статьи (http://vkb.sukhoi.ru/elektron/mjoy.htm), которая лежит на ВКБ в моем переводе... А ЗАЧЕМ тогда я ее переводил-то с аглицкого??? :confused: %)
Но вопрос остается - почему в схеме ЛэзиКемела стало 6 рядов кнопок?
Хотя нет. Если Миндог - автор статьи (http://vkb.sukhoi.ru/elektron/mjoy.htm), которая лежит на ВКБ в моем переводе... А ЗАЧЕМ тогда я ее переводил-то с аглицкого??? :confused: %)
Потому что на русской клавиатуре печатаю одним палцем и мееедлееенннооооо так как приходится все время искат буквы на ней :), а тут весь текст... На английском я привык - не переводить же вам с литовского :)
M@troskin
13.09.2004, 11:13
Потому что на русской клавиатуре печатаю одним палцем и мееедлееенннооооо так как приходится все время искат буквы на ней :), а тут весь текст... На английском я привык - не переводить же вам с литовского :)
Все понял. %)
LazyCamel
13.09.2004, 12:17
Но вопрос остается - почему в схеме ЛэзиКемела стало 6 рядов кнопок?
Ребят, давайте я вопрос закрою раз и навсегда ?
В моей схеме так - ПОТОМУ ЧТО МНЕ ТАК БЫЛО УДОБНЕЕ.
МНЕ удобнее работать с матрицей 4х6 где и строки и столбы принадлежат соответсвенно своему порту.
МНЕ нравится когда до последовательного порта на МК можно добраться по тому же кабелю что и для УСБ.
МНЕ было удобнее заставить загораться светодиод через высокий, а не низкий уровень на каком-то пине.
МИНДОГУ было удобно сделать то, что сделал ОН.
БЭГ делает так как ОН считает нужным.
Хотите сделать как кажется удобнее или более правильным конкретно Вам ?
Вперед - исходники открыты. Никто никакую тайну ни из протокола ни из реализации не делает.
Хотите тоже самое, но с перламутровыми поговицами и крыльями, а самостоятельно дорабатывать нет желания - нет проблем.
Я думаю никто из разбирающихся за эн-ную сумму в презренных бумажках или другие блага не откажется помочь конкретно Вашему горю
LazyCamel
13.09.2004, 13:20
А прошивку выложишь?
Я же сказал на неделе а не в понедельник :-). Выложу. Хотел домучать апгрейд прошивки по УСБ, да что-то выходные какие-то бурные выдались :-)
paraManiac
14.09.2004, 05:03
Светит после установки связи с УСБ. :-)
круто!
M@troskin
14.09.2004, 07:05
Ребят, давайте я вопрос закрою раз и навсегда ?
В моей схеме так - ПОТОМУ ЧТО МНЕ ТАК БЫЛО УДОБНЕЕ.
СКИП
Хотите тоже самое, но с перламутровыми поговицами и крыльями, а
СКИП
И незасем так орать... я не глухая! (с) Сава из Винни-Пуха... %)
Все понятно, все ясно.
Когда разъяснили.
Сразу ведь никаких разъяснений не было дадено - вы все (разработчики) разом нырнули в дебри схемотехники, и я мыслю потерял, хотя и следил за этим тредом ОЧЕНЬ внимательно и заинтересовано...
LazyCamel
14.09.2004, 07:08
Еще ВАЖНАЯ инфа для самодельщиков.
Мега8 сейчаз заменяется более дешевой и быстрой Мега48.
Несмотря на полностью совместимые выводы, ЕСТЬ СЕРЬЕЗНЫЕ различия в ПРОГРАММИРОВАНИИ. Будьте внимательны в ФУЗАХ.
Биты 7 и 6 в LFUSE в 48 это не уровень и разрешения детектора падения напряжения, а делители тактовой частоты.
HFUSE также перепахан, в частности вместо размеров бутблока - уровень детектора напряжения.
Проверьте внимательно установки перед програмированием.
paraManiac
14.09.2004, 16:03
To LazyCamel
Ты печатку в Sprint layout делал?
Тогда скинь pls .lay:)))
LazyCamel, а ты имееш под рукой этот ATMega48? Интересно, возможно ли его заставить работать с 24MHz кварцем... (если такой, конечно, существует...)
Недумаеш попробовать?..
LazyCamel
23.09.2004, 09:47
Я сейчаз как раз это пробуя сделать.
Собственно из-за чего никак и новую прошивку выложить не могу.
На 24 Мгц запускается и работает не напрягаясь. Это у нее практически рабочая частота, Атмел перестраховался и с осени просто опустил ее до 20Мгц.
Но там ряд сложностей - там память начинается с 0х100
и все строчки плана
ldi USBBufptrY,low(InputBufferBegin) ;pointer to begin of receiving buffer
надо переделывать на
ldi USBBufptrY,low(InputBufferBegin) ;pointer to begin of receiving buffer
ldi USBBufptrYH,high(InputBufferBegin)
Плюс АЦП и много регистров вынесли в старшие адреса и вместо
out ADCSRA,R20
надо писать
sts ADCSRA,R20
Зато 48 умеет частоту делить - попробуй в начале вот такое добавить:
reset: ;initialization of processor and variables to right values
cli
ldi temp0,1<<CLKPCE
sts CLKPR,temp0
ldi temp0,(1<<CLKPCE)+(1<<CLKPS0)
sts CLKPR,temp0
nop
nop
и после этого частота кварца поделится на 2
ЗЫ:
Кстати, тем кто разрабатывает схемки на АтМега8 - не верьте даташитам. AVCC и VCC там напрямую соединены внутри корпуса. Т.ч. LC-цепочку для подавления помех и разделение схем на аналоговую и цифровую - для Меги8 роли не играют СОВЕРШЕННО.
LazyCamel
23.09.2004, 10:34
To LazyCamel
Ты печатку в Sprint layout делал?
Тогда скинь pls .lay:)))
Эта уже нет. В Protel. Могу экспортировать в PCAD(Autocad,PowerPCB) если устроит
paraManiac
23.09.2004, 20:55
Спасибо, Уже сам настругал.
Просто интересно было начинающему какой HINT в квадратных и оватьных пяточках. Да и не только было. Извиняюсь за вопрос не по теме.:)-
такой вопросик ЛэзиКэмелу ..
просто леньки вытягивать инструкцию по меге 48 ... чем она лучше кроме того что бьло сказано выше - цена , частота , деление частоты. ?
LazyCamel
28.09.2004, 13:16
такой вопросик ЛэзиКэмелу ..
просто леньки вытягивать инструкцию по меге 48 ... чем она лучше кроме того что бьло сказано выше - цена , частота , деление частоты. ?
Ну если не считать что в 1.5 раза дешевли и 2 раза быстрее - то больше ничем не лучше. :-)
ЗЫ: Ах, да... Она еще раз в 5 экономичнее Меги(нас это не волнует, т.к. на УСб ан е на батарейках) и имеет DebugWire для внутрикристальной отладки по 1 проводу (ресету), что нас также не волнует, т.к. халявного девайса для отладки по этому интерфейсу еще нет :-)
Спасибо большое. Когда у нас появиться в продаже под него переделаю 8)
Спасибо за Инфу.
ПС я всё никак не соберу РУД свой .... соберу думаю скоро .. такчто выложу чертежи и фотки ... Эх .. почему времени не хватает 8(
LazyCamel
30.09.2004, 06:23
Ышшо радостное известие.
Если сказать меге48 "хачу унутренний гэнэратор на 8Мгц", а самому взять в руки оссцилограф, подключить его к пину В0, установить фуз CKOUT и поиграв байтом OSCCAL в районе 235-245 (Меге 8 в районе 224-240, но у нее CKOUT нет, поэтому придется заливать маленькую прошивку для калибрации, которая дергает ногой,а потом реальную прошивку девайса), получить частоту генератора в 12 МГц, что полностью снимает необходимость в внешнем кварцевом резонаторе и позволяет сделать еще более компактный контроллер.
Привет Кэмэл, а прошивку для варианта - "все кнопки на землю" сделал?
Может выложишь?
LazyCamel
30.09.2004, 06:59
Привет, она у меня написана на меге48, а там менять кое-что - сейчаз просто времени нет катастрофически. Как только перекину на Мегу8 - сразу выложу
А Мега 48 и Мега8 по ножкам совместимы? Или нет?
paraManiac
30.09.2004, 21:02
Уважаемые конструкторы, не подскажете, в чём дело:
Хатка на верх задирается????
Спаял аккуратно, без грязи, контакты прозвонил- всё впоряде;
Припаял сначала планку под мс потом ёё туда засунул- не могла перегрется.
Вот ХЗ что поисходит!
Спаял девайс по LazyCamel'у v1.1;
У mrFox вроди тож самое было. :confused:
NichtLanden
30.09.2004, 23:20
Хлопцы ,у меня к вам вопрос чисто конкретный и практический однако:)....
Хоть и закончил радиофизический факультет, заниматся электроникой и ботаникой:) увы не довелось... Есть Х45, нет ли схемы готовй схемы контроллера USB позволяющего выкинуть к чертям всю электронику сайтека, завести туда 6 осейЮ 4 хатки (одна в режиме мышь) и все кнопки рабтающие в моде1, моде2, моде 3. Заплатить за работу в разумных пределах готов (Питер)
LazyCamel
01.10.2004, 06:07
Уважаемые конструкторы, не подскажете, в чём дело:
Хатка на верх задирается????
....
Спаял девайс по LazyCamel'у v1.1;
У mrFox вроди тож самое было. :confused:
Сейчаз еще раз проверю, вроде не должно быть такого.
ЗЫ:
Поправка. Пробуем эту редакцию...
Убрать расширение ЗИП у файла, это обычный хекс.
LazyCamel
01.10.2004, 06:09
А Мега 48 и Мега8 по ножкам совместимы? Или нет?
Совместимы, только в прошивке менять определенные моменты надо, там например часть управляющих регистров разбили на несколько, вот их во всей прошивке искать и менять на то что надо.
Не столько сложная, сколько геморройная работа.
Yoko_Sun
01.10.2004, 08:07
Уважаемые коллеги!
А какая амплитуда на ножках кварца? И насколько устойчива генерация?
У меня осцил низкочастотный, до 10 Мгц, если подключить его, не будет срыва? Я понимаю, что развернуть не удастся, но наличие сигнала увижу?
LazyCamel
01.10.2004, 08:54
Уважаемые коллеги!
А какая амплитуда на ножках кварца? И насколько устойчива генерация?
У меня осцил низкочастотный, до 10 Мгц, если подключить его, не будет срыва? Я понимаю, что развернуть не удастся, но наличие сигнала увижу?
Вообще рвать не должна, но я на Мега48 цепляюсь не на кварц, а на выход В0. Восьмерку отдал - попробовать не могу
залей лучше что нить чтоб ногой дергать в цикле и смотри - как раз частота поделится и влезет в полусу пропускания оссцилографа
Yoko_Sun
01.10.2004, 09:52
Все, похоже МК завалил, генерация отсутствует, собрал генератор с тем же кварцем на 74LS00, подключился осцилом, вижу генерацию амплитуда меньше питания в 2 раза, а на МЕГЕ нет не фига. На кнопках то опрос я ведь должен видеть?
LazyCamel
01.10.2004, 10:14
Все, похоже МК завалил, генерация отсутствует, собрал генератор с тем же кварцем на 74LS00, подключился осцилом, вижу генерацию амплитуда меньше питания в 2 раза, а на МЕГЕ нет не фига. На кнопках то опрос я ведь должен видеть?
Не суетись. Прошивка льется ?
залей файлик приклепленный. Только убери zip из расширения.
на портуВ должен быть меандр с частотой /8 и скважностью 1
Если есть - ты просто тормозишь и у тебя фузы стоят на работу от внутреннего генератора а не кварца.
Если не льется - собираешь генератор и выход - на вход XTAL1.
Может ты его фузами загнал в режим работы не от кварца, а от внешнего генератора. Если заработает - фузы верни в дефолт.
paraManiac
02.10.2004, 11:29
To LazyCamel
С этой прошивкой девайс вообще не отображается в списке игр.устройств.
Кто-нибудь ещё её ставил???
paraManiac
02.10.2004, 15:13
У меня щас крыша поедет-
кроме хатки
посмотрел как кнопки работают :при замыкании строк и столбцов получаетя неразбириха:
pb5: кнопки
pd4 17
pd5 18
pd6 19
pd7 20
pb4:
pd4 13, 17
pd5 14, 18
pd6 15, 19
pd7 16, 20
pb3:
pd4 9, 13, 17
pd5 10, 14, 18
pd6 11, 15, 19
pd7 12, 16, 20
pb2:
pd4 5, 9, 13, 17(мигание)
pd5 6, 10, 14, 18(мигание)
pd6 7, 11, 15, 19(мигание)
pd7 8, 12, 16, 20(мигание)
pb1,pb0:
pd4 зависание
pd5 зависание
pd6 зависание
pd7 зависание
(тоесть, при замыкании pb3 на pd4 получаются нажатыми кнопки: 9, 13, 17)
Ничего не понимаю! :confused: Немог же в результате эксперементов так логику перереть, али где какой бит поставить?
А фиг его знает из-за чего это может быть ... Эту прошивку вроди как люди провеяли - работала ... что у тебя .. ну попробуй чтоли написать свою програмку котораяб например выставляла на один какойто порт последовательно 1 , а второй порт бы это читал и если возникала нестыковка ты например включал светодиод ...... может у тебя чтото с контролером , но это врядли так как он заводиться ..... может всётаки чтото с платой . а может и спрошивкой (хотя маловероятно)...
Просто напиши какуюто свою простенькую пожку и проверь ей работоспособность портов.
Или просто попробуй взять другой контролер и попробовать с ним ...
ПС у меня для таких случаев Мега не припаяна а стоит в плате в панельке , что и другим "собирателям" советую. так как всегда можно поменять и не париться с всякой ерундой.
Та и вообще я както целую неделю ловил глюк в прошивке а оказалось что один проводочек хреново припаян и время от времени отходит 8)
paraManiac
03.10.2004, 20:14
Весь день с этим геморроем возился - всё глючит и глючит! совсем уже надежду потерял. Вечером решил в крайний раз пропоять контакты, затем промыл от грязи, просушил...
и опять НЕ РАБОТАЕТ как надо.
Сижу, контакты тыкаю.
Бац, горит одна восьмёрка. Так .
Платку в руках покрутил - опять 8, 16, 20.
Заметил, что когда польцем задеваю землю и +5 одновременно, то 8 есть 8,а 3 - 3.
Похоже, что помехов очень много в девайсе, ведь техника-то чувствительная.
Корче, я -чудак на букву "Ь" , контакты замыкал пинцетом железным.
paraManiac
03.10.2004, 20:25
Вообщем, девайс ожил, хоть и без хатки.
Хотелось бы конечно разобраться, в чём дело а так уже можно плавно переходить к механике и навешиванию датчиков.
LazyCamel
04.10.2004, 06:22
To LazyCamel
С этой прошивкой девайс вообще не отображается в списке игр.устройств.
Кто-нибудь ещё её ставил???
Я ее делал в слепую, Меги 8 у меня сейчаз нет. Появится на неделе-посмотрю. Поправил один баг по результатам воскресных изысканий. Прогнал сейчаз на симуляторе - вроде как все работает.
Новый вариант. Как обычно - убрать расширение zip.
LuckyBoy
04.10.2004, 19:55
Я ее делал в слепую, Меги 8 у меня сейчаз нет. Появится на неделе-посмотрю. Поправил один баг по результатам воскресных изысканий. Прогнал сейчаз на симуляторе - вроде как все работает.
Новый вариант. Как обычно - убрать расширение zip.
Ну допаял я свои кнопочки (дел была куча, поэтому заняло это аж 3 недели :) ). И чтоже получилось? А нифига не получилось, кнопки замыкаются местами аж по 5 штук за раз и это при натыканных везде диодах, оси не работают, хатка вверх торчит.
И как и у paraManiac'a не работают 2 последние прошивки :(
Монтаж и контакты проверил раз 10 все прозвонил протер раз 15 и чуть ли не вылизал :)
Вопрос в студию! Это мы с paraManiac'ом такие криворукие? Хоть кто-нибудь спаял схему до полностью рабочего состояния?
LazyCamel это не наезд, а желание разобраться почему не работает, тебе огромное спасибо за схемные улучшения и долготерпение :)
paraManiac
04.10.2004, 20:52
Очередной вечер провозился с хаткой и обнаружил интересные результаты:(экспериментатор)
Хатка весит на PB0?
Так вот замыкаем PB0 на
-pd4,pd5, pd6 -получаем хатку влево.
-pd5,pd6, pd7 -вправо
-pd6, pd7 -тоже вправо
Во всех остальных комбинациях хатка вверх.
Иногда, ещё не разобрался когда, при одновременном замыкании pb0 и pb1 на PD4-7 вылазют кнопки 8-11, которых по идее быть не должно- они ведь на pd2.
Вроди бы так задумывалось?
Тестировал на прошивках, версий 1 и 2.
исправления 3 и 4 по прежниму не обнаруживаются виндой.
Кстати, у меня есть подозрения, что дело не в кривых руках, не в рошивке, а в Виндах(у меня W2K pro) - сволочи сильно настораживают.
paraManiac
04.10.2004, 21:12
2 LuckyBoy
Между нами девочками,:)) у меня всё работает офигительно, кроме хатки.
Оси- показывают то, что надо, не прыгают (разьве что крен чуть-чуть - но это от галимых резюков и от наводок)
попробуй
- откалибровать
- заземлить экран USB-кабеля
Кнопки тоже фурычат так как надо,
С нажатыми 7-ю кнопками у меня опять же была история (посты 291, 294)
случалось от того, чтокнопки замыкал неизолированным железным пинцетом, а у человека,как известно, собственное э/м поле(-усиленная работа мозга-:)-:), заряд и вся прочая шушера(L,C). А техника - высокочастотная, окозывается чувствительная к этому делу.
-тоже одна из версий неработы Хатки.
NichtLanden
04.10.2004, 21:29
Народ, а нельзя ли все это дело как то унифицировать и дать нормальный комплект документации и софта к контроллеру - насклько я понял, все должно работать на любом джое с любым к-вом кнопок и осей, включая и шифт?
LazyCamel
05.10.2004, 05:21
Ежики курносые !!!
НУ ладно фиг с вами - схожу в магазин куплю Мегу8. Комп с ХР у меня теперь появился, прогоню прошивку на выходных.
paraManiac
05.10.2004, 15:48
*****************
* РАБОТАЕТ ХАТКА! *
*****************
оттестировал девайс под Win98.-всё OK- драйвера поставились сразу, без гемороя , только дистрибутив попросили (для HID)
всему виной опять оказался очкарик билли.
paraManiac
05.10.2004, 21:24
Как всегда ложка дёгтя:
Win 98 видит только 5 осей ,Будь он не ладен! Чтож, попробуем и тут разобраться.:)
LazyCamel
06.10.2004, 05:57
Это не 98 видит 5 осей, это ДХ7 видит 5 осей, 8 - только с ДХ8.1 появились вроде.
ЗЫ: Подробности давай. Это последний вариант прошивки заработал или что ?
чтобы можно выложить не только хекс, но и исходник.
paraManiac
06.10.2004, 17:11
1. DX у меня 9.0 На всякий случай переустановил - результат 5 осей.
2. Прошивка та, где ты писал про исправления в алгоритме хатки.(давно)
3.По поводу фантомных нажатий - выяснил, что дело не в просто в помехах.
Чуть длинным проводком соединяешь и начинаетя +4 кнопки: 1, 5 или 4, 8...
лечил : одним пальцем косаюсь земли и +5. Так ясен пень быть недолжно, ведь не будешь же летать с двумя прищепками на пальце:))).
Не знаю чего больше в пальце индуктивности или ёмкости надо как-то проблему решить.-Вопрос Электротехникам и Электроникам(я в этом не разбираюсь, честно).
to LazyCamel
какое напряжение подаётся на кнопки?
может его можно увиличить - тогда и помехоустойчивость тоже поднимится.
USSR_Rik
06.10.2004, 20:23
Думаю, надо на порты (точнее, на линии портов), по которым идет опрос состояния, вешать внешние подтягивающие резисторы. Руку на рельсы не положу - но КМОП есть КМОП. Ну не нравятся мне входные линии, висящие в воздухе.
Кстати, именно это вылечило мою схему от "двойных нажатий" - когда замыкал контакты прямо на плате - все было в порядке, подключил шлейфом к РУД - фантом. Подтянул к +5 - все в порядке.
Надеюсь, по питанию конденсаторы установлены?
Думаю, надо на порты (точнее, на линии портов), по которым идет опрос состояния, вешать внешние подтягивающие резисторы. Руку на рельсы не положу - но КМОП есть КМОП. Ну не нравятся мне входные линии, висящие в воздухе.
Кстати, именно это вылечило мою схему от "двойных нажатий" - когда замыкал контакты прямо на плате - все было в порядке, подключил шлейфом к РУД - фантом. Подтянул к +5 - все в порядке.
Надеюсь, по питанию конденсаторы установлены?
Если быть более точным - "прием" состояния, т.е. порт ВВОДА. Думаю, термин "опрос" в данном случае не для всех понятен. А остальное точно - не любят контролеры длинных шнурков - у них внутренняя "подтяжка к питанию" аж ~100 кОм.
LuckyBoy
06.10.2004, 20:42
Если быть более точным - "прием" состояния, т.е. порт ВВОДА. Думаю, термин "опрос" в данном случае не для всех понятен. А остальное точно - не любят контролеры длинных шнурков - у них внутренняя "подтяжка к питанию" аж ~100 кОм.
Ребята, а вы на каком языке общаетесь? :D
Можно попроще и желательно с картинками - куда чего припаять? :)
Кстати, может и оси у меня не пашут, потому что шлейфом присоединены?
paraManiac
06.10.2004, 21:41
2 RIK
Подтягивающие резисторы - это хорошо
но только объясни пожалуйста не электрику что это такое, с чем его есть, или хотябы примерчик!
Подтягивающие резисторы это резисторы которые обычно соединяют вход с +5В. Таким образом если к входу неподключен никакой сигнал то резистор обеспечивает что на входе будет около +5В и это считывается как "1".
Когда замыкаеш вход например на землю то этот контакт "перетягивает" напряжение на входе вниз до 0В и это считывается как "0".
Теперь если этого резистора небудет то напряжение на входе будет грубо говоря около +2,5В, а это уже не "0" и не "1". Любая наводка может подтянуть это напряжение либо вверх, либо вниз. Тогда будет считыватся то "1", то "0", что есть разумеется не хорошо. Поэтому и нужны подтягивающие резисторы чтобы придать неподключенному входу стабильное состояние.
В АТМега есть внутренниуе управляеммые подтягивающие резисторы и они должны быть включены на входах. По крайней мере на контроллере моей (первой) версии они точно включены.
LazyCamel
07.10.2004, 05:27
В моей тоже :-)
вот так они инитятся при старте:
clr temp0 ; set tri-state on PORTB
out PORTB,temp0
out DDRB,temp0
out DDRD,temp0 ;
ldi temp0,0b11110000 ;set pull-up'ed input on PORTD4..7
out PORTD,temp0
а вот так происходит опрос:
sbi DDRB,DDB0 ; now read hat, low row pull-downed
in temp0,pinD ; have got 0 in pushed columns
cbi DDRB,DDB0 ; return to Z-state
Yoko_Sun
07.10.2004, 07:42
Вопрос к коллегам использующим схему и прошивку от MeanDog'а...
А как заставить IL-2 видеть шестую ось?
Система видит ось - она прекрасно калибруется и работает, но ИЛ не желает её видеть! Всё, наверное, связано с идентификатором оси.
USSR_Rik
07.10.2004, 08:02
Yoko_Sun
Хм, если подождешь до вечера - вернусь домой, поставлю FB и покручу. Насколько помню, у меня была какая-то заморочка с названиями двух крайних осей - Dialer и Slider - но именно что только с названиями, Ил их вроде видел.
Ну и от меня вопрос к MeanDog - ты на LockOn девайс пробовал? Хитрый глюк не могу победить: в настройках все отлично видится и на все реагирует. Но при выходе из настроек теряются три положения хата - в игре работает только "вверх". Грешил на XP, но попробовал на работе на 2000 Server - "те же Фаберже". Написал Чижу - ответа нет (думаю, что и не будет).
Я могу посоветовать попробовать переставить идентификаторы осей.
Вместо:
.db 0xA1,0x00 ;Collection (Physical)
.db 0x09,0x36 ;Usage (Slider) - OK
.db 0x09,0x37 ;Usage (Dial) - OK
.db 0x15,0x81 ;Logical_Minimum (-127)
Поставить:
.db 0xA1,0x00 ;Collection (Physical)
.db 0x09,0x32 ;Usage (Z)
.db 0x09,0x33 ;Usage (Rx)
.db 0x15,0x81 ;Logical_Minimum (-127)
Скомпилируй, прошей и попробуй. А если подождеш - я попробую :)
Yoko_Sun
07.10.2004, 08:22
Дело вот в чем, чтобы Ил-2, видел последнюю ось, надо чтобы она определялась системой как "V". Как вариант могу попробовать прописать ось руками в conf.ini, но для этого надо знать её буквенное обозначение.
NewView как раз отображает те оси какие видит Ил-2.
Советы примешь ?
ЗЫ: Намек - осталось найти человека, который УСБ-сниффером снял бы дескрипторы с реального когуара и можно будет спокойно использовать его ПО.
Ээээ, люди, кто нибудь свой Кугар может "пронюхать"?
Yoko_Sun
07.10.2004, 15:02
To Mean_Dog
Спасибо! Помогло, теперь Ил видит 6 осей!
Изменения для тех кому сложно или влом возиться с компилятором.
Изменения:
Индентификаторы осей - Slider и Dial, теперь все оси работают в Ил-2.
странно .. у меня всё работает ....
Правда у меня своя версия схемы и прошивки.
LazyCamel
07.10.2004, 16:58
Ээээ, люди, кто нибудь свой Кугар может "пронюхать"?
Угу. Хорошее дело. Только облом насколько я понял по обзорам - там используются свойства фулл-спид 12Мбит УСБ, типа пакетов длиной больше 8 байт.
USSR_Rik
09.10.2004, 08:49
MeanDog
Интересно, мне с хаткой помогло твое крайнее изменение прошивки! Сенькс большой, хоть я ничего и не понял - менялись-то оси... при чем тут хат... на факт. ЛокОн стал помнить его при выходе из настроек.
To Mean_Dog или Rik
Выложите, пожалуйста, скомпилированную прошивку с исправленной хаткой
USSR_Rik
09.10.2004, 17:06
Да легко. Только просьба поиметь в виду - все копирайты того, что я положил - у MeanDog.
Формат hex после компиляции AVR Studio 3.56, прошивал PonyProg'ом.
[пуская слюни] ...нам бы еще маппер какой-нибудь...
Да, еще вот что - я изменил VendorUSBID с 0x0777 на 0x0111 - девайс появляется первым в списке игровых устройств. Тут раньше LazyCamel, кажется, про это объяснил.
Спасибо. На счет копирайта не беспокойся - в случае запуска в серию МинДог получит лицензионные отчисления:) :D
NichtLanden
10.10.2004, 15:54
Х-45 кто нибудь переделывал в джойстик с 4-мя хатками (причем на любую можно было бы повеситьработу в режиме мыши) , и 24 кнопками работающими в М1, М2, М3 - какой для сих целей нужен АЦП?
LazyCamel
11.10.2004, 07:12
Давайте я еще раз объясню как работает джойстики на УСБ.
Каждый джойстик имеет собственые поля VID (производитель) и PID(конкретная модель).
Каждый джойстик инициализируясь в системе обявляет себя как HID-совместимое устройство и заявляет про поддержку своих возможностей количество, и тип осей, количество кнопок.
На этом этапе уже можно пользоваться джойстиком. Но еще несколько неудобно.
Потом приходит пора драйверов(точнее мапперов), которые устанавливаются как "фильтры" УСБ. Которые маскируют те возможности что есть у джойстики, подменяя их собой. Именно на этом этапе кнопки превращаются в дополнительные хатки, появляются виртуальные мышки и клавиатуры. И именно поэтому производители рекомендуют ставить дрова джойстика ПЕРЕД подключением джойстика, чтобы на них не посыпался вал обращений от тупых буржуев типа "ХДЕ МОИ ЗАЯВЛЕНЫЕ 4 ХАТКИ. А-А-А-А !!!"
Тот же Х45 это устройство HID с 6-ю осями, и 26 кнопками. Которые драйверами превращаются в то, к чему народ привык.
Отсюда начинается основная информация:
Для того чтобы ваше дорогое как память устройство заработало с новой электроникой, и система не заметила подмены, эта электроника должна :
а) Отдавать те же VID&PID (и возможно строки с названием устройства) что и первоначальное устройство
б) Заявить о себе точно также как и первоначальное устройство (столько же осей, кнопок и т.д.)
в) Вести обмен так же как и первоначальное устройство (с теми же размерами и количеством пакетов и т.д.) Самое поганой, что устройство с низкой скоростью как вот эта реализация джойстика на Мега8 - может обмениваться только пакетами по 8 байт, устройство с высокой (12Мбит) скоростью может обмениваться пакетами по 64 байта.
Зачем я это рассказывал:
Для того чтобы было понятно следующее.
а) Бесполезно думать - вот поставлю я электронику с Сухого и мой джойстик приобретет какие-то новые функции, типа мышку можно будет вешать на любую хатку или что-то подобное - это делает софт ДРАЙВЕРА и только им можно изменить поведение. И может вам просто надо пообщаться с программистом, а не электронщиком.
б) с помощью новой электроники можно эмулировать на базе вашей механики/электрики какой-то другой джой, который вам нравиться именно СОФТОМ. Например на базе кнопочек/пимпочек х45 съэмулировать Когуар, чтобы поставить его софт. Однако часть несовпадающего функционала будет просто потеряна.
в) чтобы сделать то что есть в пункте б) надо как минимум провести подготовительную работу, как-то - оценить то на что вы собираетесь съехать в результате эмуляции (совпадение количество осей,кнопок, хаток), учитывая что несовпадающие кнопки и оси просто пропадут.
Потом снять протокол обмена джойстика в ЧИСТОМ виде - т.е. без установленных дров и желательно в ХР(2000/2003 вкрай). Например с помощью программы USBsnoop на http://benoit.papillault.free.fr/usbsnoop/index.php.
Попытаться самому разобраться в дескрипторах или переслать файлик тому кто в этом разбирается.
Оценить стоит ли овчинка выделки - и потом уже договариваться сколько это стоит и т.д.
ЗЫ: И реально иметь в виду, что стоить это будет не 15-20 баксов, а раза в 2-3-4 дороже и стоит ли овчинка выделки - совсем не ясно.
ЗЗЫ: На сегодняшний день, например, я могу съэмулировать практически любой УСБ джойстик с любым реальным количеством осей(до 12) и практически неограниченым количеством кнопок( за исключением возможности заливки прошивки в Когуар штатными методами :-). Но будет выгодно ли вам это будет экономически для переделки существующего и уже купленного джоя - ОЧЕНЬ и ОЧЕНЬ большой вопрос. Другое дело, если вы допустим используете новую механику для которой у вас электроники пока просто еще нет.
Дополнение - на сегодняшний день только Когуар инициализируется изначально как 3+2 устройства (клава, мышь,джойстик плюс 2 устройства для заливки/сливки прошивки).
Джойстик по максимум это 8 осей + 28 кнопок, которые когуаровская панель управления превращает в то что превращает.
NichtLanden
11.10.2004, 23:35
Lasy Camel, буду краток...
Относиетльно цены переделки джоя - тут я экномически рассуждаю не более 50% стоимости джойтика на текущий момент.... Меня устраивает функциональность Saitek, ну если Кот круче, давай кота что ли:) Та же самя пайка если мне не изменяет память от 18 копеек до 1.5 (BGA) рубля за вывод
Относительно самого сайтека - все дело в том что у него на платке в РУСЕ залита эпоксидкой бескорпусная микруха, благодаря которой плату в случае глюков этой микрухи можно выкидывать...... Бросать деньги на кота - тем более у народа иногда проскальзывают жалобы, зная что там такая же по цене электронная начинка нет желания
Дядюшка дозметр писал свои дровишки тоже снимая шнифером протокол USB с Х36 - ранний шнифер лежит у него на сайте, причем судя по всему прошивку юсб контроллера на Х45 не менял, а программирование всего джойстика осуществлялось через Serial Eprom Атмел 1 Kb стоимостью 6 рублей - так что думаю 16 Кб Serial Eprom Атмел (обьем памяти в коте) не будет дороже 1000 руб....
Программирование через ХД профайлы интуитивно и понятно, почему бы не придумать стандартный унифицированный вариант платы и драйвера с сериал епромом взяв за базу дозиметра и ту же ХД графическую оболчку (начиная от Кугуара и кончая джениусом, в котором бы последовательно убиралось количество осей, кнопок и шифтов) и потрировать данную схему на джойстики по мере убывания. Далее, а какие либо АЦП от Аналог девайса или других вендров не пойдут ли?
Прилагаю протокол Х45 (меня только тревожат смутные сомнения в его правильнсоти так как программирование кнопок в дозиметре идет с глюками, в родных дровах время от времени отключаются светодиоды, файр Д и Хатка ПОВ на стике)
Ждем ответа, сказал А, говори Б:)
P.S - Народ, у кого есть не глюкавый Х45 выложите для сравнения файл протокола, снятого шнифером - по ссылке LaseCamel там есть шнифер последний версии 1,8 - за тебя все делает (им и снимал)
LazyCamel
12.10.2004, 04:56
Дядюшка дозметр писал свои дровишки тоже снимая шнифером протокол USB с Х36 - ранний шнифер лежит у него на сайте, причем судя по всему прошивку юсб контроллера на Х45 не менял, а программирование всего джойстика осуществлялось через Serial Eprom Атмел 1 Kb стоимостью 6 рублей - так что думаю 16 Кб Serial Eprom Атмел (обьем памяти в коте) не будет дороже 1000 руб....
Программирование через ХД профайлы интуитивно и понятно, почему бы не придумать стандартный унифицированный вариант платы и драйвера с сериал епромом взяв за базу дозиметра и ту же ХД графическую оболчку (начиная от Кугуара и кончая джениусом, в котором бы последовательно убиралось количество осей, кнопок и шифтов) и потрировать данную схему на джойстики по мере убывания. Далее, а какие либо АЦП от Аналог девайса или других вендров не пойдут ли?
Один вопрос - кто такой дядюшка дозметер ? и на каком сайте у него чего лежит ? Если это Dhauzimmer's то где найти это его жизнеописание про программирование самого джойстика через еепром ?
Старые его дрова для Х36 версии 2.105 где-то у меня валялись, а вот отснифленные данные я не видел
ЗЫ: А 32к EEProm стоит около полутора баксов
ЗЗЫ: даже не разбираясь дальше - джойстик отдает в запросе 11 байт подряд, т.ч. реализация на атмеге сразу идет лесом, ИМХО.
Нужны исследования самой схемы. Хотя бы на уровне разобрать ручки и детально сфотографировать электронику с двух сторон ? Сможешь ?
SLI=SHURIK_25=
12.10.2004, 07:38
Джентельмены, что хочу добавить по поводу Х-45. Максим, когда работал над датчиками Марс для него, разбирался с его электроникой. В ветке про Сайтек в УУ, есть соответствующий топик. Во-первых: существуют НЕСКОЛЬКО вариантов электроники у Х-45, как мне известно, как минимум три. Во-вторых: у него нет внутри АЦП, используется какой то другой принцип, схожий с гейм-портом, к примеру. Из достоверных источников известно, что контроллеры у них специальные, заказные.
Поэтому, как мне думается, для ХОТАСов необходимо реализовывать свою электронику, а под нее уже писать софт. Вот такое мое ИМХО. Из действующих Х-45, Кугара, АБ2 можно использовать только механику с кнопками.
NichtLanden
12.10.2004, 22:32
Нужны исследования самой схемы. Хотя бы на уровне разобрать ручки и детально сфотографировать электронику с двух сторон ? Сможешь ?
===============================================
LazyCamel, камеру сегодня к сожалению не удалось взять с работы, поэтому пока опишу то что видел при неоднократной разборке Х45
Итак резисторы, кнопки и переключатели на Х45.
РУС
1. 2 резитора на оси Х,Y
2. Две хатки на стике - конструктивно реализовано 4 кнопки N, O, S,W на каждую хатку, 8 позиционный получается при одновременном нажатии двух кнопок NO, NS, SO, SW - как и дозиетровскими так и родными дровами можно использовать их в качестве мыши, хатки или переключателя.
3. Кнопки - в общей сложности на РУС 6 кнопок, одна из них эаействована и виндовских дровах и дровах Dhauzimmer в качестве шифта.
РУД
1. 4 резистора на оси Z, U, V и R - буквы для примера.
2. Две хатки на РУДЕ - реализация как и на РУС.
3. Переключатели - 2 трехпозиционных Mode и AUX. Положения Mode 1, Mode 2, Mode 3 - реализованы в сайтковских и Dhauzimmer дровах при программировании маппера, соотвественно переключении М1, М2 и М3 грузятся три различных маппера кнопок и осей. Добавь еще shift+M1, shift+M2, shift+M3 - можно грузить 6 различных мапперов кнопок и осей.
AUX - как правило задействован для измения угла обзора...
4. Кнопки - две кнопки.
Итого получем
1. Осей шесть
2. Кнопок без хаток - 8 (одна в shift mode)
3. Кнопок на 4-х хатках - 16
4. Трехпозиционных переключателей - 2 (один на моды)
5. Количество мод - 6 для загрузки различных мапперов (М1, М2 и М3, shift+M1, shift+M2, shift+M3).
Электроника сайтека на PCB в РУД мной не были обнаружены никакие микросхемы - резисторы, диоды и кондеры.
На PCB РУС были обнаружены следующие активные компоненты (микросхемы)
1. 2 шт Компаратора LM339N (Low Power Low Offset Voltage Quad Comparators) производства National Semiconductor, www.national.com
2. 1 шт AT93C46 (3-wire Serial EEPROMs 1K (128 x 8 or 64 x 16)), производства Atmel Corporation, www.atmel.com
3. Запаяная эпоксидной смолой бескорпусная микросхема, по части которой дядюшка Dhauzimmer дал мне сегодня по электронной почте такой ответ
"Subject:
RE: [Bulk] Qestions about without case microchip on Stick PCB Saitek X45
From: "saitekx36" <saitekx36@rogers.com>
Date: Mon, 11 Oct 2004 16:03:19 -0400
To:************
Hi,
To the best of my knowledge the unpackaged chip is a custom design - you'd
have to contact Saitek for a replacement. Try e-mailing Richard Neville at
techsupport@saitek.com.
Wish I could be more help,
Dhauzimmer"
Которая судя по всему действительно является заказной позицией.
Народ, моежет все таки подумаем над концепией унивесального контроллера джойстика, только в отдельной ветке, дабы не засорять эту тему... На выходных дам фотки электроники, и напишу примерную концепцию в моем видении....Все таки унификация - великая вещь
:) :):):)
USSR_Rik
13.10.2004, 06:58
Народ, моежет все таки подумаем над концепией унивесального контроллера джойстика, только в отдельной ветке, дабы не засорять эту тему... На выходных дам фотки электроники, и напишу примерную концепцию в моем видении....Все таки унификация - великая вещь
Руками и ногами "за". Благо - основа MeanDog'а и LazyCamel'а отличная и весьма функциональная - осей и кнопок много.
LazyCamel
13.10.2004, 07:07
Из того что ты сказал и я нарыл по электронике Х45 что у нас что у буржуев - получается редкостная херня, уж да простят меня разработчики если это вдруг читают.
Делать СЕЙЧАЗ эмуляцию принципа работы геймпорта с внешними компараторами причем если их всего два - значит какие-то оси должны мультиплексироваться - это надо быть явным маньяком. :-)
Будем посмотреть. по сути мне сама материнская плата электроники даже не нужна(только размеры и расположение крепежа) - нужны разводки именно ручек, кнопок,лампочек, резисторов.
ЗЫ: Создай где-нибудь другую тему по переделку Х45 - надо с этой свалить.
Делать СЕЙЧАЗ эмуляцию принципа работы геймпорта с внешними компараторами причем если их всего два - значит какие-то оси должны мультиплексироваться - это надо быть явным маньяком. :-)
Внимательнее надо быть. ;) Low Power Low Offset Voltage Quad Comparators
Счетверенные компараторы, итого в двух корпусах получается восемь компараторов.
NichtLanden
13.10.2004, 22:13
Внимательнее надо быть. ;) Low Power Low Offset Voltage Quad Comparators
Счетверенные компараторы, итого в двух корпусах получается восемь компараторов.
============================================
Да, с учетом 8 суммарных компараторов получаем 6 осей (именно столько в сумме потенциометров на РУС и РУД + 2 непонятно на что - генераторы или что? Атмеловский епром 1 Кб - для загрузки маппера (профайла) либо через драйвер сайтека либо скрипт дядюшки Дозиметра. з Завтра, или после завтра получу ответ из из сайтека UK, от русского сайтека увы ничего не удалось получить, даже и Викс ни чем не может помочь (не наезд на викса а констатация факта по общению на форуме сайтек ру:)) и начнем помолясь ..... Есть такое подозрение (как дилетанта) что все можно решить либо на атмеловских 8 bit AVR, либо атмеловких USB контроллерах + сериал епромовская память+кварц+возможно атмеловский флэш. Ибо АМР от атмела и некторые USB контроллеры атмела включает в себя 8 ми канальный (осей на сайтеке 6, не знаю сколько на кугуаре) 10 битный АЦП + ROM+RAM........
LazyCamel
14.10.2004, 06:03
Давайте все о переделке Х-45 сюда:
http://forum.sukhoi.ru/showthread.php?t=28763
LazyCamel
14.10.2004, 09:50
На заметку тем кто будет править/писать прошивку:
обычно бывает трудно выравнять дескрипторы хида на границу 2-x байтового слова, например DT 2.4 дает нам такую конструкцию:
logical минимум (0 ) 0x15 0x00
logical максимум (256) 0х26 0хff 00
есть два способа :
первый - на самом деле ТАКОЙ логикал максимум должен быть записан как
0х25 0хff
второй - можно переписать логикал минимум как
0x16 0x00 0x00
Первый способ работает ТОЛЬКО когда максимум у вас не превышает 255, второй - всегда.
Т.е. добавлением единички к коду "logical min/max", "physical min/max", а также например "UNIT" может быть явно преобразован из байта в 2-хбайтовое значение.
ЗЫ: Находка не моя - я это нагло подсмотрел у авторов фирмвари Х45 :-)
ЗЗЫ: Не забывайте также что многобайтные данные ВСЕГДА должны иметь по размер по максимуму. Т.е. если будете делать дескрипторы не делайте так, чтобы с ИД1 передавались 7 байт, а с ИД2 -например 3. Делайте 8+2.
Если не хватает данных для 1-го байта - заполняйте их конструкцей
report size("нужное количество бит")
report count (1)
input (Constant,array)
Подскажите в чем проблема,
спаял схемку первую что на ВКБ лежит, прошил, винды находят не опознаный девайс, почитал тут на счет СKSel, выставил во всех их по 1
начал записывать эти даные в контроллер и тут он говорит что не может этого сделать,
а после вобще не видит контроллера, не на запись не на чтение.
Воткнул другой, все нормально, прошил, как только опять выставил CKSel 1111, тоже самое случилось.
Где копать?
И копать ли могилки для этих двух контроллеров? :(
LazyCamel
15.10.2004, 05:09
Воткнул другой, все нормально, прошил, как только опять выставил CKSel 1111, тоже самое случилось.
Где копать?
И копать ли могилки для этих двух контроллеров? :(
Раскапывать могилки в сторону программатора AVREAL.
Дело в том, что у АВР состояние "запрограммировано" - это ноль.
если ты выставил галочки по всех четырех битиках, то получил - "0000" - согласно даташиту это работа от внешнего тактового генератор. В этом режиме усилитель для кварца отключен.
Методы лечения - брать программатор авреал и смотреть у него в доке по поводу ключика "-о0" который дрыгает ногой ЛПТ-порта в режиме тактового генератора и соответственно распрограмировать фузы CKsel.
Подскажите в чем проблема,
спаял схемку первую что на ВКБ лежит, прошил, винды находят не опознаный девайс, почитал тут на счет СKSel, выставил во всех их по 1
начал записывать эти даные в контроллер и тут он говорит что не может этого сделать,
а после вобще не видит контроллера, не на запись не на чтение.
Воткнул другой, все нормально, прошил, как только опять выставил CKSel 1111, тоже самое случилось.
Где копать?
И копать ли могилки для этих двух контроллеров? :(
Внимательно смотри на то какой програматор используеш. В PonyProg все галки должны быть убраны. В PicProg ставь 1111.
Если ты все-таки непопал то тебе должен помочь наружный осцилятор. Он выглядит как микросхема с выдранными средними ножками - только 4 по краям остались. Продаетса она вместе с кварцами. Если найдеш на 12МГц - тем лучше. Подаеш на нее 2 ножки питание, а третью (выход) подаеш на ножку XTAL1 ATMega8.
Промучались с пол дня с LazyCamel,
после попробывал поставил новый котроллер и попробывал опять ponyprog'ом, прошил, убрал все у CKSEL, прошилось.
Но винды кроме неопозноного девайса не чего не видят :(
Yoko_Sun
25.10.2004, 13:11
В моей серии Меги пришлось разорвать провода от 2 и 3 ноги разьема УСБ и в разрыв вставить по резистору на 68 Ом. После чего всё заработало.
USSR_Rik
25.10.2004, 14:38
Хм, с моим контроллером все работало с полтыка и на разных прошивках.
Кстати, попробовал версию MeanDog с автокалибровкой (лежит на его сайте - спасибо автору!) - очень хорошо (вначале, правда, я по привычке ломанулся было в настройки, но потом вспомнил про "авто" и остыл).
Yoko_Sun
Всё-таки надо приводить выходные уровни к USB стандарту, как LazyCamel говорил. У меня-то пока работает... но кто знает. Если бы по новой паял - сделал бы ограничение.
Кстати, попробовал версию MeanDog с автокалибровкой (лежит на его сайте - спасибо автору!) - очень хорошо (вначале, правда, я по привычке ломанулся было в настройки, но потом вспомнил про "авто" и остыл).
Да, как раз когда грохнулсья Сухой я обновил свой сайт и выпустил версию 1.2 с автокалибровкой. Пользоватся удобней. И еще лично мне кажетса что центр лучше ставитса чем с Виндозной калибровкой.
Какие ваши впечатления?
USSR_Rik
25.10.2004, 15:35
Так говорю же - спасибо. Понравилось, хотя никогда бы не подумал, что автокалибровка - такая приятная вещь. Никаких глюков с диапазонами и смещением я не заметил, по поводу центра мне трудно сказать, это надо бы проверять специально на подшипниковой механике без люфтов. Я пока на механике старого Лоджика летаю, но впечатления самые прекрасные.
Кстати, электроника у этого Attack 2 - не приведи всевышний. Ступенька на ступеньке едет и ступенькой погоняет. В джойтестере не спирали, а картина Пикассо была. "Приключения принца Флоризеля" кто помнит? Там был гениальный рисунок Клетчатого - у меня на электронике Attack получалось нечто похожее.
Повышение точности по оси газа и руддера я не увидел, опять-таки механика моя ограничивает, а руддер у меня пока - педальки от руля, к контроллеру я их не подключал.
Вот. Извиняюсь за лирическое отступление.
Да, вроде был изменен алгоритм опроса кнопок - тут мне не везет. ЛокОн отъедает все ресурсы процессора (AXP 1700+ работает как 11*200=2200 Мгц честных), и по поводу ЕГО процедуры опроса джойстика я ничего хорошего сказать не могу.
Народ, а нельзя ли все это дело как то унифицировать и дать нормальный комплект документации и софта к контроллеру - насклько я понял, все должно работать на любом джое с любым к-вом кнопок и осей, включая и шифт?
Вот как раз сделал попытку унификации версий:
http://www.mindaugas.com/projects/MJoy/Versions.php
Это должно помогать разобратся в версиях и схемах. Вопросы и предложения принимаютса.
LazyCamel
25.10.2004, 16:33
Да, как раз когда грохнулсья Сухой я обновил свой сайт и выпустил версию 1.2 с автокалибровкой. Пользоватся удобней. И еще лично мне кажетса что центр лучше ставитса чем с Виндозной калибровкой.
Какие ваши впечатления?
Мелкомягкие явно дуркуют со штатной калибровкой.
простейший пример - заходим в калибровку и жем кнопку - "показывать сырые данные" (raw data). когда просят ставить джой в центральную позицию и нажать кнопку - ставим, но кнопку жмем на клаве - чтобы джойстик не сбить. И чтоже вы думали, при следующей проверке виндовая калибровка будет стабильно показывать число между ~ -4 (для 8бит) и ~-9 (для 10бит). Нафига нужна такая калибровка - совершенно непонятно.
Yoko_Sun
26.10.2004, 07:58
Я ещё не пробовал 1.2, у меня хат живет на 9-11 кнопках, а для этой версии нет исходника, как я понял... Кроме того я пользуюсь двумя контроллерами и у каждого разное название и VID...
to MeanDog
За систематизацию спасибо, начинающих отпугивало большое количество версий. Я, когда собирался делать первый экземпляр контроллера, остановился на вашем варианте только потому, что все необходимые данные были в одной статье.
А ATMEGA8-16PL это что? Эта прошивка для ATMEGA8-16PI, AI, MI с 6 осями.
Если имел ввиду 8 осей для AI и MI, то она будет скоро.
ATMega16 тоже на подходе.
Наконец нашел время очистить исходник версии 1.2 от всякой ерунды, добавил некоторые нужные замечания и выложил на странице.
Уважаемые господа!
Предлагаю заработать. Нужна помощь в разработке и сборке USB девайса.
Всего-лишь оптическая мышка, а не навороченный джойстик:)
Прошу связаться со мной любым удобным способом.
С уважением,
Алексей
(095) 504-81-65
jerboa@jerboa.ru
Продолбался с программированием, потому что сначала заливал с помощью AVRprog1_37 и не знал как там выставлять биты (кстати MeanDog ссылался на 24-ю страницу описания ATmega8, я нашел pdf на английском, а там только 19 страниц, о каком документе шла речь?), потом выставил биты под PonyProg и все пошло. Насколько я понимаю в AVRprog установки должны получиться как в прилагаемом файле. Поправьте, если не так (я установил биты под PonyProg и считал потом под AVRprog).
Кстати по мотивам того, что я почитал по модификациям джойстиков в инете - есть много информации типа "я сделал оптический сенсор на базе оптопары мыши с затвором, напечатанным на струйнике на бумаге, но почему-то есть дергания", так вот при проверке на практике оказалось, что на работе такого варианта больше сказывается разнородность бымаги, чем разница в заливке чернилами, да и чернила не годятся для инфракрасного. Латунная шторка от переменного конденсатора подошла куда лучше.
Есть еще вопрос по диодной развязке, описанной раньше. Если делать это на кремниевых диодах и не обеспечить должной подсадки, то диоды будут работать почти как конденсаторы. При 5 вольтах подсаживать надо примерно 20-ти кОм-ами, а какую подсадку дает микроконтроллер в данном варианте?
USSR_Rik
19.11.2004, 18:48
Про AVRprog ничего сказать не могу, я лил PonyProg'ом. По поводу битов - ну тут давне все обсуждено, просмотри всю ветку.
О развязке диодами. Мысль про конденсаторы и "подсадку" я вообще не понял. Я у себя развязывал кремниевыми транзисторами (ну мне так оказалось удобнее, исходная схема MeanDog и вторая версия программы) - считай, те же диоды в данном случае. Плюс к этому некоторые входные линии микроконтроллера "подтягивал" к +5V резисторами на 39 кОм. В принципе, это достаточно индивидуально получается - топология монтажа и особенности шлейфа от контроллера к РУС/РУД. Кусочек своей схемы кнопок с диодами я тут уже рисовал, не поленись посмотреть.
Я сначала отсмотрел всю ветку а потом писал. По поводу битов обсуждено только что под PonyProg все их надо сбросить, а мне интересно что они все обозначают, к тому же теоретически под AVRprog программировать лучше, т.к. там стоит свой кварцованый контроллер, потому вдвойне интересно что выставлять под ним.
Я бы удивился, если бы кто-то развязывал германиевыми,т.к. они частично пропускают в обратном направлении.
Входными считаются линии, которые на сетке клавишь подключены к вертикалям или горизонталям?
А можно на ассемблере для AVR выполнять стандартные штуки PC-шного ассемблера типа:
rjmp req_offsets+temp1
req_offsets:
rjmp ComposeGET_STATUS ;GET_STATUS=0
rjmp ComposeCLEAR_FEATURE ;CLEAR_FEATURE=1
rjmp ZeroDATA1Answer ;=2
rjmp ComposeSET_FEATURE ;SET_FEATURE=3
rjmp ZeroDATA1Answer ;=4
rjmp ComposeSET_ADDRESS ;SET_ADDRESS=5
rjmp ComposeGET_DESCRIPTOR ;GET_DESCRIPTOR=6
rjmp ComposeSET_DESCRIPTOR ;SET_DESCRIPTOR=7
rjmp ComposeGET_CONFIGURATION ;GET_CONFIGURATION=8
rjmp ComposeSET_CONFIGURATION ;SET_CONFIGURATION=9
rjmp ComposeGET_INTERFACE ;GET_INTERFACE=10
rjmp ComposeSET_INTERFACE ;SET_INTERFACE=11
rjmp ComposeSYNCH_FRAME ;SYNCH_FRAME=12
а то меня как-то смущают переборы на равно/перейти
А можно на ассемблере для AVR выполнять стандартные штуки PC-шного ассемблера типа:
rjmp req_offsets+temp1
req_offsets:
rjmp ComposeGET_STATUS ;GET_STATUS=0
rjmp ComposeCLEAR_FEATURE ;CLEAR_FEATURE=1
rjmp ZeroDATA1Answer ;=2
rjmp ComposeSET_FEATURE ;SET_FEATURE=3
rjmp ZeroDATA1Answer ;=4
rjmp ComposeSET_ADDRESS ;SET_ADDRESS=5
rjmp ComposeGET_DESCRIPTOR ;GET_DESCRIPTOR=6
rjmp ComposeSET_DESCRIPTOR ;SET_DESCRIPTOR=7
rjmp ComposeGET_CONFIGURATION ;GET_CONFIGURATION=8
rjmp ComposeSET_CONFIGURATION ;SET_CONFIGURATION=9
rjmp ComposeGET_INTERFACE ;GET_INTERFACE=10
rjmp ComposeSET_INTERFACE ;SET_INTERFACE=11
rjmp ComposeSYNCH_FRAME ;SYNCH_FRAME=12
а то меня как-то смущают переборы на равно/перейти
Это можно с ICALL и IJMP командами. В даташите АВР ассемблера есть описание как:
mov r30,r0 ; Set offset to jump table
ijmp ; Jump to routine pointed to by r31:r30
К переборам с практикой привыкаеш ;)
По поводу битов обсуждено только что под PonyProg все их надо сбросить, а мне интересно что они все обозначают, к тому же теоретически под AVRprog программировать лучше, т.к. там стоит свой кварцованый контроллер, потому вдвойне интересно что выставлять под ним.
Я бы удивился, если бы кто-то развязывал германиевыми,т.к. они частично пропускают в обратном направлении.
Входными считаются линии, которые на сетке клавишь подключены к вертикалям или горизонталям?
Биты есть в полном даташите АТмега8 - doc2486.pdf. Может ты скачал урезаную версию.
Входы это горизонтали. Считываютса за 4 раза по 7 бит.
Перебор похож на код, который получается из case без оптимизации. Проблема в том, что с перебором выполнение последнего в списке варианта занимает под 40 тактов, а без перебора для любого варианта 4 такта. Я еще не уверен насколько это критично в данном случае, т.к. я только засел за понимание кода MJoy и ассемблера Atmel (если конкретный код выполняется всего один раз, так без разницы). Да, там по описанию использования косвенных переходов по Z (r30) вроде было указано, что используется еще r31 (старшая часть адреса) - его надо задействовать или нет? И как все-таки взять offset метки, команды offset у данного ассемблера то нет? Если в temp1 смещение (при условии что все команды по 1 слову и адресация пословная), то как вот это делается? Или r0 содержит текущий адрес?
Скачивал раньше я действительно урезанный.
Спасибо за ответы. И большое спасибо за проделанную работу по созданию.
попробовал скомпилировать версию 1.2 - компилятор в AVR Studio 4.10 дает кучу предупреждений о том, что call не поддерживаются данным чипом и Immediate byte operand out of range. Это нормально?
Вот так вроде работает:
StandardRequest:
cpi temp1, 13 ;compare with max avaliable
brsh req_exit ;if equal\above skip
ldi ZL, low(req_offsets)
ldi ZH, high(req_offsets)
add ZL, temp1
ijmp
req_offsets:
rjmp ComposeGET_STATUS ;GET_STATUS=0
rjmp ComposeCLEAR_FEATURE ;CLEAR_FEATURE=1
rjmp req_exit ;=2
rjmp ComposeSET_FEATURE ;SET_FEATURE=3
rjmp req_exit ;=4
rjmp ComposeSET_ADDRESS ;SET_ADDRESS=5
rjmp ComposeGET_DESCRIPTOR ;GET_DESCRIPTOR=6
rjmp ComposeSET_DESCRIPTOR ;SET_DESCRIPTOR=7
rjmp ComposeGET_CONFIGURATION ;GET_CONFIGURATION=8
rjmp ComposeSET_CONFIGURATION ;SET_CONFIGURATION=9
rjmp ComposeGET_INTERFACE ;GET_INTERFACE=10
rjmp ComposeSET_INTERFACE ;SET_INTERFACE=11
rjmp ComposeSYNCH_FRAME ;SYNCH_FRAME=12
;if not found known request
req_exit:
rjmp ZeroDATA1Answer ;if that was something unknown, then prepare zero answer
вроде r30 и r31 здесь сохранять\восстанавливать не надо, т.к. дальше они вроде местами переписываются, но не уверен.
попробовал скомпилировать версию 1.2 - компилятор в AVR Studio 4.10 дает кучу предупреждений о том, что call не поддерживаются данным чипом и Immediate byte operand out of range. Это нормально?
Это нормально. У меня АВР студио тоже так делает.
Хелп...
терзания мои продолжаются уже третий день
Собрал версию 1.2
Проверил
Еще раз проверил монтаж
ПониПрог AVR видит,прошивает, пишет все правильно
считываю прошивку, проверяю....
действительно все правильно
Подключаю ЮСБ - "неизвестное устройсто"
думаю ладно... резисторы 68 ом, стабилитроны, как советовали...
тоже самое.... вобщем вариантов у меня не осталось...
Уважаемые авторы, мое психическое здоровье на исходе...
Подскажите хоть в какую сторону копать
Заранее всем спасибо
aleksander-der
25.11.2004, 16:38
целую неделю я гадал и мучился - почему не работает...
Оказалось конденсаторы бывают разные...
Я поставил "ленточные".
Знакомый электронщик только что сказал, что надо керамические поставить.
Хелп...
терзания мои продолжаются уже третий день
Собрал версию 1.2
Проверил
Еще раз проверил монтаж
ПониПрог AVR видит,прошивает, пишет все правильно
считываю прошивку, проверяю....
действительно все правильно
Подключаю ЮСБ - "неизвестное устройсто"
думаю ладно... резисторы 68 ом, стабилитроны, как советовали...
тоже самое.... вобщем вариантов у меня не осталось...
Уважаемые авторы, мое психическое здоровье на исходе...
Подскажите хоть в какую сторону копать
Заранее всем спасибо
Биты конфигурации запрограмировал? Еще попробуй включить в другой УСБ порт, например вместо заднего в передний (если есть) или на другом компютере...
Конденсаторы естественно керамические 0,1 мкф
2 MeanDog
Биты програмировал согласно скриншотов...
Пробовал разные УСБ порты, единственное предположение это припаяный шлейф к програматору (естественно он отключен от ЛПТ),
но может какие наводки возникают ????
Еще такой вопрос, может версия ПониПрога? У Вас какая?
Еще такой симптом:
напряжение на контакте D- УСБ 3,6 в а D+ 0,1 странно....
может сам АВР подпаленый или банально бракованый....
Заработало!!!!!
Проблема была в бракованом УСБ гнезде, припаял его на свою голову, хотел подключать стандартным шнуром....
После замены на шнур от старенкого СВЕНа688 все заработало с пол пинка, еще раз спасибо разработчику!!!
Остался маленький вопросик:
Подключил к одной из осей резюк 47к - наблюдаю странную картину
при вращении резистора реагируют ВСЕ оси, причем как-то странно
рывками. Т.е. верчу резистор и изменяются показатели всех осей
Версия прошивки 1.2.
Отсюда вопрос:
для автоматической калибровки нужно подключать резисторы ко всем
осям? или у меня опять гюки? или наводки?
Может у кого такое было?
Еще раз спасибо!
Заработало!!!!!
Проблема была в бракованом УСБ гнезде, припаял его на свою голову, хотел подключать стандартным шнуром....
После замены на шнур от старенкого СВЕНа688 все заработало с пол пинка, еще раз спасибо разработчику!!!
Остался маленький вопросик:
Подключил к одной из осей резюк 47к - наблюдаю странную картину
при вращении резистора реагируют ВСЕ оси, причем как-то странно
рывками. Т.е. верчу резистор и изменяются показатели всех осей
Версия прошивки 1.2.
Отсюда вопрос:
для автоматической калибровки нужно подключать резисторы ко всем
осям? или у меня опять гюки? или наводки?
Может у кого такое было?
Еще раз спасибо!
Это типа наводки, так как АЦП только один а неподключенные входы через мултиплексор неизменяют оставшее напряжение после последнего преобразования на сэмплинг конденсаторе. Когда подключиш все потенциометры все станет нормально. Если какую-то ось неиспользуеш, соедини ее с землей.
2 MeanDog
Спасибо за отличные ответы-консультации.
С меня бутылка. Хотя как передать??????
Могу по WM. Если принимаешь такие благодарности
дай знать в приват.
Еще раз большое спасибо!!!
2 MeanDog
Спасибо за отличные ответы-консультации.
С меня бутылка. Хотя как передать??????
Могу по WM. Если принимаешь такие благодарности
дай знать в приват.
Еще раз большое спасибо!!!
Пойду напюсь от счастья :)
paraManiac
27.11.2004, 20:43
Вопросик такого плана:
Вот возился с прошивками и нечаянно нажал комманду "Аппаратный сброс"
Расскажите плиз, was ist das, а то прошиваться перестало - мож из-за этого. Pоny prog говорит ,что девайс не найден или неисправен
Попробуй программировать с подачей тактового сигнала на 9-ю ногу от внешнего генератора (можно по элементарной схеме на ЛА3 или подобном собрать, если на ЛА3, то соединить 1-2,3-4-5, резисторы ~400-500 Ом между 1,3,6, кварц ~12 между 1 и 6, с 6-й через резистор ~500 Ом на 9-ю ATmega). Надеюсь посреди ночи ничего не перепутал.
Вопросик такого плана:
Вот возился с прошивками и нечаянно нажал комманду "Аппаратный сброс"
Расскажите плиз, was ist das, а то прошиваться перестало - мож из-за этого. Pоny prog говорит ,что девайс не найден или неисправен
Если "Аппаратный сброс" означает RSTDISBL, то он выключает функцию Ресет и это делает програмирование через серийный интерфейс невозможным. Чтобы восстановить этот бит потребуетса другой программатор, работающий в parallel режиме. Если такого неимеетса, то надо покупать другую микросхему.
вот почти сделал..... http://sukhoi.ru/forum/showthread.php?p=484869#post484869
Огромная просьба помочь!!! Не знаю что и думать! Спаял всю ботву, прошил, проверил прошивку – всё верно! Не работает, “неизвестное USB-устройство”! Перепробовал все порты, опять лажа(((, хотел завязать тему, но протестировав на другом компе – всё заработало !!!? Может в мамаше дело (ASUS P4P800), все входа USB 2.0? Поможите пажалст, а то силов боле нету!((( :confused: Может быть пришло время машину поменять? %)
paraManiac
12.12.2004, 00:41
Я в P4P800 её втыкал, вариант был от LaziCamel'a -работало, за что собственно ему спасибо.
Но вот решил сделать крайний вариант от MeanDog'a - и тут как на зло заело с перепрошивкой - в итоге я похоже микросхему загадил.
Воткнул девайс
reload...
OVERCLOCING FAILED-!???? - вот фигня, далее комп не грузится, а мать орёт
CPU TEST FAILED.
Посидел я, значит, почесал репу, и поехал в сервис,{мозги компьютерные и мать в том числе я купил ровно за неделю до этого} мол так-то и
поменяли, на что я собственно и не надеялся
Теперь собираюсь поднять старй кмп и закончить на нём эксперементы
paraManiac
12.12.2004, 00:42
Вообщем мораль такова, что по идее на P4P800 должно работать
Купив USB1.1 адаптер на РСI слот всё заработало (радость)))!!! Два варианта, первый: несовместимость USB-контроллера на мамаше с моим девайсом, и второй: не пашет это счастье с USB 2.0!?
Reaiddqd
14.12.2004, 02:05
Блин!!!!!!! Всё спаял, запаял и т.д ... проверил, зашил, но при подключении пишет "неизвестное устройство...." ну чё ещё надо .... USB помоему здесь не причём (пробовал на разных компах). ПОМОГИТЕ!!!! %) %) %) %) :confused: :eek: %)
У меня то же самое было. проверь правильность установки фузов, возможно контроллер у тебя работает от внутреннего генератора частоты . Посмотри вот тут http://forum.sukhoi.ru/showpost.php?p=476118&postcount=351 и тут http://forum.sukhoi.ru/showpost.php?p=424743&postcount=93. Ну и конечно тут http://forum.sukhoi.ru/showpost.php?p=413295&postcount=53. Надеюсь тебе это поможет.
Интюресный момент получается, во-первых: проверив всё до отупления (распай со стабилитронами), работает ся радость только с прошивкой v1.1, и только через USB1.1 адаптер, и до кучи все оси коклбасит не по-детски (провода экранированы) ,кнопки работают, правда в место резюка 4.7 впаял 5.1 (в магазине других не было), мож в этом лажа? С прошивкой от LazyCamel видится как неопознанное USB-устройство (во всех портах)!!! Я склонен думать, что весь стрём в конкретно взятой мамаше! Попробую проверить оси на другом компе, тады посмотрим менять ту мать иль не менять!)))
ну и что опять за приколы ????
Люди внимательно читайте инструкцию к сборке .....
Дрожание возможно еасли какойнить из контактов остался болтаться в воздухе .. их все желательно занулять для того чтоб небыло шума
Reaiddqd
15.12.2004, 11:29
При установке флагов и битов (пользуюсь ПОНИпрог) эта ПОНИпрог перестаёт видеть микроконтроллер. Как тогда можно их поменять обратно!!!!!!!!!!!!!!!!!!!! %) %) %) %) :confused:
Интюресный момент получается, во-первых: проверив всё до отупления (распай со стабилитронами), работает ся радость только с прошивкой v1.1, и только через USB1.1 адаптер, и до кучи все оси коклбасит не по-детски (провода экранированы) ,кнопки работают, правда в место резюка 4.7 впаял 5.1 (в магазине других не было), мож в этом лажа? С прошивкой от LazyCamel видится как неопознанное USB-устройство (во всех портах)!!! Я склонен думать, что весь стрём в конкретно взятой мамаше! Попробую проверить оси на другом компе, тады посмотрим менять ту мать иль не менять!)))
Попробуй поставить резистор меньшего номинала.
Reaiddqd
15.12.2004, 13:29
Получается, что никто не знает какие Security and Configuration bits нужно ставить в ПониПрог для того, чтобы этот хренов джойстик заработал. Конкретно со скриншотом подскажите, ну НЕРВЫ уже ни к чёрту............ А в описании по программированию приводят скриншот с убранными галками во всех битах, и типа записывай, но так перестаёт прошиваться через LPT контроллер и НЕ видит его винда :mad: :mad:
У меня с USB 2 работает. Если схема со стабилитронами, то 4.7 К там вообще не нужен. Ну и наконец не мешает поставить по питанию еще и электролит, мало ли какие там пульсации по питанию, а если еще и тонкий шнурок от USB и приличная токовая нагрузка (если скажем R3-R8 маленького номинала), то может получаться полный бардак.
А разработка на ATMega16 не будет проводится?
Попробуй поставить резистор меньшего номинала.
Thanks, попробую!
А разработка на ATMega16 не будет проводится?
Она интенсивно проводится. Хочу все выложить в более законченном виде.
Получается, что никто не знает какие Security and Configuration bits нужно ставить в ПониПрог для того, чтобы этот хренов джойстик заработал. Конкретно со скриншотом подскажите, ну НЕРВЫ уже ни к чёрту............ А в описании по программированию приводят скриншот с убранными галками во всех битах, и типа записывай, но так перестаёт прошиваться через LPT контроллер и НЕ видит его винда :mad: :mad:
По моему у тебя с кварцем не все в порядке. Попробуй поставить другой кварц. Можеш даже какого нибудь другово номинала попробовать. В этом случае хоть понипрог опять должен увидеть твою атмега.
Можеш попробовать поставить 2 конденсатора по 15пФ межлу ногами кварца и землей.
Какой точно у тебя чип? ATMega8-16PI ?
Reaiddqd
18.12.2004, 09:32
По моему у тебя с кварцем не все в порядке. Попробуй поставить другой кварц. Можеш даже какого нибудь другово номинала попробовать. В этом случае хоть понипрог опять должен увидеть твою атмега.
Можеш попробовать поставить 2 конденсатора по 15пФ межлу ногами кварца и землей.
Какой точно у тебя чип? ATMega8-16PI ?
Чип у меня точно ATMega8-16PI, кварц 12 МГц. Пробовал и без кварца прогой avreal. Тоже пишет ошибку, что мол прошить не могу. А ставлю новый чип, прошивается. Как только начну биты ставить - всё перетают все проги его прошивать.
А в схеме нет ошибок которая ниже:
USSR_Rik
18.12.2004, 10:30
Нет там ошибок, я эту схему практически 1 в 1 собрал. Тактовый генератор хоть заводится? Если есть возможность, посмотри осциллографом через щуп с низкой входной емкостью (обязательно!) на ногах кварца.
EJG<M>_Doctor
18.12.2004, 10:55
Очь. интересно: устройство работало нормально; сменил мамку - "неопознанное устройство" и через 5 сек БИОС начинает громко ругаться (пищит динамик) и комп реагирует только на Ресет. Раньше была ECS K7VTA3 (USB 1.1), сейчас Gigabyte 7N400 (USB 2.0.). Так может в матери дело, или в версии USB?
USSR_Rik
18.12.2004, 11:33
У меня дома Acorp 7NFU400 (NForce2), USB 2.0 - работает, на работе EP-8RDA3 (USB 2.0) - тоже.
А кварц менял? Дело в том что в незапрограмированном состоянии атмега работает от внутренего генератора, а прошив биты переключаеш ее на кварц. Все-таки попробуй какой нибудь кварц типа 4МГц.
Бывает что кварцы иногда вылетают в болшинстве от механических воздействий.
Я недавно опубликовал наиболее полную схему:
http://www.mindaugas.com/projects/MJoy/Schematics/1/4/MJoy_Schematic_v1.4.pdf
Можеш попробовать доработать.
А можешь сказать в чём ті все єти схемки русуешь а ? я тоже так хочу 8) красиво выходит
MeanDog, а для версии 1.4 есть схема печатной платы?
paraManiac
19.12.2004, 13:11
Вопрос разработчикам:
Сложнейшие эксперименты :)) показали, что земляные ноги (8,22) соединины в меге накоротко,
VCC(8) и AVCC(20) - тоже
Так вот, зачем нужно два раза подводить к меге питание и землю, а тем более вставлять индуктивность ?
Молодца MeanDog, круто, попробую 1.4, мож заработает, а то я уморился с предыдущей версией, всё перепроверил, оси не калибруются!
p.s. Для полного кайфа не хватает печатной платы! :D
нарисуй себе её сам .... 8)
Вопрос разработчикам:
Сложнейшие эксперименты :)) показали, что земляные ноги (8,22) соединины в меге накоротко,
VCC(8) и AVCC(20) - тоже
Так вот, зачем нужно два раза подводить к меге питание и землю, а тем более вставлять индуктивность ?
Для надежности :D .Мега конечно мало кушает но возможно проводочки внутри корпуса мс ооочень тоненькие.
Девайс чудненкий.Пора признаватся кто какие датчики использует ;) -или все на резисторах :confused: :confused:
Для надежности :D .Мега конечно мало кушает но возможно проводочки внутри корпуса мс ооочень тоненькие.
Девайс чудненкий.Пора признаватся кто какие датчики использует ;) -или все на резисторах :confused: :confused:
Лично я использую на РУСе оптику , а на остальных осях резисторы. (совет дня, если подключить на резистор конденсатор в 1 мкф между центральной ножкой и землёй, то будешь избавлен от шумов до конца эксплуатации) лично я использую резисторы 60 - 70 годов, на свалке взял!
Ну а оптика на оптопарах от мышек, правда на фото трудно понять, как это сделано, а описыватьлень.
Лично я использую на РУСе оптику , а на остальных осях резисторы. (совет дня, если подключить на резистор конденсатор в 1 мкф между центральной ножкой и землёй, то будешь избавлен от шумов до конца эксплуатации) лично я использую резисторы 60 - 70 годов, на свалке взял!
Ну а оптика на оптопарах от мышек, правда на фото трудно понять, как это сделано, а описыватьлень.
Мне приходила в голову идея использовать конденсатор -вопрос? не влияет ли он на время отклика или емкость подбирается эксперементально.
По датчикам и так все понятно без описания.Рульно.Лучше один раз увидить.
По такой конструкции датчиков вопрос:Диапазон выходного сопротивления ?.Возможно ли подстройкой тока излучаешего диода сделать от 0 до 100кОм.Схема понравилась-наверное такую сделаю если можна конечно ;) .
АЦП правда 8 разрядный.
п.с Возможно все по датчикам к контроллеру не втему.Если так скажите открою новую ;)
RR_Vinni
20.12.2004, 14:46
Я недавно опубликовал наиболее полную схему:
http://www.mindaugas.com/projects/MJoy/Schematics/1/4/MJoy_Schematic_v1.4.pdf
Возник вопрос по этой схеме. Сам я в схемотехнике не очень силен и непонятны 2 обозначения на прилагаемом рисунке. Расшифруйте, пожалуйста.
1-Стабилитрон на 3.3 вольта
2-Пара проводов в экране
Плата в натуральную величину от LazyCamel http://www.mindaugas.com/projects/MJoy/Schematics/2/2/PCB/1/USB_Joy.pdf Сделал всю черной, для изготовления на лазерном принтере, методы изготовления там же. Ну может быть кому-то надо...
USSR_Rik
20.12.2004, 17:35
ivm
Интересно, а как ты добрался до этой pdf-ки? Вроде по "прямому пути" не дойти... любопытно просто.
RR_Vinni
20.12.2004, 17:37
2Rik
Все нормально открывается по "прямому".
А можешь сказать в чём ті все єти схемки русуешь а ? я тоже так хочу 8) красиво выходит
Рисованна она в Protel.
paraManiac
20.12.2004, 19:56
2 Ukatam
Спасибо
пасиб. Я просто обламался его покупать или качать .. протэл всмысле
Мне приходила в голову идея использовать конденсатор -вопрос? не влияет ли он на время отклика или емкость подбирается эксперементально.
По датчикам и так все понятно без описания.Рульно.Лучше один раз увидить.
По такой конструкции датчиков вопрос:Диапазон выходного сопротивления ?.Возможно ли подстройкой тока излучаешего диода сделать от 0 до 100кОм.Схема понравилась-наверное такую сделаю если можна конечно ;) .
АЦП правда 8 разрядный.
п.с Возможно все по датчикам к контроллеру не втему.Если так скажите открою новую ;)
Первое , Ответ - кондеснатор подобрать просто - имеем просто фильтр (резистор конденсатор) нужно впринципе чтоб конденсатор подавлял шумы в периоде между его опросами (датчика), тоесть тупо успевал заряжаться , для этого впринципе чтоб достаточно просто было сделать так : время опроса например 10мс сопротивление резистора от 0 до например 10КОм. Для того чтоб небыло визуальных ощутимых запаздываний нужно просто подобрать постоянную времени чтоб она была не больше чем 0.01 секнуды лучше 0.005 секунды , тогда получаем , что t=RC получаем что С = 1мкФ ну или 0.5мкФ , тогда всё будет гуд , будет увереность что существенного запаздвания не будет заметно вообще.
Второе оптический дастчк как такового сопротивления не имеет , тоесть входное и выходное сопротивления конечно есть но это не то что ты имел ввиду. В данном случае информативным является диаппазон выходных напряжений.
Первое , Ответ - кондеснатор подобрать просто - имеем просто фильтр (резистор конденсатор) нужно впринципе чтоб конденсатор подавлял шумы в периоде между его опросами (датчика), тоесть тупо успевал заряжаться , для этого впринципе чтоб достаточно просто было сделать так : время опроса например 10мс сопротивление резистора от 0 до например 10КОм. Для того чтоб небыло визуальных ощутимых запаздываний нужно просто подобрать постоянную времени чтоб она была не больше чем 0.01 секнуды лучше 0.005 секунды , тогда получаем , что t=RC получаем что С = 1мкФ ну или 0.5мкФ , тогда всё будет гуд , будет увереность что существенного запаздвания не будет заметно вообще.
Второе оптический дастчк как такового сопротивления не имеет , тоесть входное и выходное сопротивления конечно есть но это не то что ты имел ввиду. В данном случае информативным является диаппазон выходных напряжений.
Круто!!
Хотел ответить, но уже всё за меня сделали! Правильно, я не в обиде!
Reaiddqd
22.12.2004, 14:57
Блин. Ну такое может быть только в РОССИИ. Я е... с джоем долго и упорно, ну нет у меня осцилографа. В магазине вся партия кварцев была БРАКОВАННАЯ. :p УРА!!!! %) :p
Блин. Ну такое может быть только в РОССИИ. Я е... с джоем долго и упорно, ну нет у меня осцилографа. В магазине вся партия кварцев была БРАКОВАННАЯ. :p УРА!!!! %) :p
В штатах бы ты за такие дела через суд получил бы пару миллионов за моральный ущерб (истраченные нервы), а у нас радуешься, что понял в чём дело!
А вообще, везёт вам, всё купить можно!
Вот я микросхемы заказывал через вирпила Московского, с проводниками передавал, оптопары из поломанных мышек брал, сопротивления на свалке! Нежизнь, а малина! Кварцы, так вообще, раздолбал жёсткий диск на 20 МБ (а нахрен такой нужен), там аж 2 штуки на 12 Мгц было!
С уважением и завистью Andron.
Да и у нас тоже что то в розницу купить очень тяжело.Все только для корпаративных клиентов (нафига мне сотня атмелов).В розницу только ширпотреб всякий.Хотя может кто подскажет местечко на севере :-).На украине с этим делом просто было.Под заказ что угодно в любом количестве в недельный срок.
EJG<M>_Doctor
27.12.2004, 11:08
Вопрос по версии 1.4? Прошивку брать эту? http://mindaugas.com/projects/MJoy/Versions/4/mjoy.hex
Вопрос по версии 1.4? Прошивку брать эту? http://mindaugas.com/projects/MJoy/Versions/4/mjoy.hex
Да
EJG<M>_Doctor
02.01.2005, 14:13
Хэлп. Не могу найти размеры и распиновку разъема USB type B female. А лезть со штангелем и тестером для этого не хочется. Если кому не трудно, кинте ссылочку или запостите.
Хэлп. Не могу найти размеры и распиновку разъема USB type B female. А лезть со штангелем и тестером для этого не хочется. Если кому не трудно, кинте ссылочку или запостите.
Чертежи разъёмов есть в спецификации:
http://www.usb.org/developers/docs/usbspec.zip - в разделе "6.9 PCB Reference Drawings", "Figure 6-14. Single Pin-Type Series "B" Receptacle" (стр. 105).
Reaiddqd
04.01.2005, 16:26
Вот какая штука.. Как работает автокалибровка? (прошивка v1.4). на сайте MeanDog почитал, вроде как резюки должны быть в центральных положения при подключении джоя, но почемуто как то всё не так, может из-за разных номиналов сопротивлений? у меня три по 100 кОм и 3 по 20 кОм.
USSR_Rik
04.01.2005, 17:12
А что именно не так? Автокалибровка работает именно так, как описано на сайте. Вот только 100 кОм - пожалуй, многовато будет, если есть возможность, уменьши. Снизятся наводки и влияние входных токов микросхемы контроллера.
Вообще-то, конкретное значение сопротивления переменного резистора неважно в этой схеме - важно напряжение на движке резистора. Потому можно в каналы X и Y поставить даже разные резисторы (скажем, один на 5, другой на 20 кОм) - схеме это безразлично, в центре у обоих на движке будет ровно половина питания (при линейных характеристиках, ессно). Вот если характеристика резистора нелинейная (экспонента или логарифм) - тогда не годится.
А работает автокалибровка внешне просто. При старте (точнее, инициализации девайса) программа читает среднее положение осей, запоминает его. Потом ты крутишь все оси в крайние положения несколько раз, программа вычисляет диапазоны отклонения и самокалибруется. Вполне надежно, у меня проблем с этим нет.
EJG<M>_Doctor
05.01.2005, 00:53
Чертежи разъёмов есть в спецификации:
http://www.usb.org/developers/docs/usbspec.zip - в разделе "6.9 PCB Reference Drawings", "Figure 6-14. Single Pin-Type Series "B" Receptacle" (стр. 105).
=======================================
Сенкс
Вот какая штука.. Как работает автокалибровка? (прошивка v1.4). на сайте MeanDog почитал, вроде как резюки должны быть в центральных положения при подключении джоя, но почемуто как то всё не так, может из-за разных номиналов сопротивлений? у меня три по 100 кОм и 3 по 20 кОм.
Замечание насчет Автокалибровки:
Центр считываетса только с осей X, Y и Rx. В принципе это РУС и рудер. Другие оси центра как такого неимеют.
Это сделано потому что-бы всегда был четкий центр независимо от точности датчика, его постановки и других возможных конструктивных неточностей джоя. Например ваш джой может иметь больший ход РУС на себя чем от себя. Несмотря на это контроллер будет выдавать максимальные значения в крайних положениях а в центре будет 0. Достигаетса это вычислением двух разных коэфициентов масштабирования значений для диапазонов выше и ниже центра.
Все другие оси имеют только один коэфициент.
2 MeanDog
Уважаемый Мастер!!
Два вопроса.
1. как можно назначить какую либо конкретную кнопку с клавы на кнопки джоя?
2. Можете ли Вы создать и опубликовать прошивку для варианта 1.4, в которой вместо матрицы кнопок все входы микросхемы замыкаются на один земляной провод? Очень нужно, и не только мне.
2 MeanDog
Уважаемый Мастер!!
Два вопроса.
1. как можно назначить какую либо конкретную кнопку с клавы на кнопки джоя?
2. Можете ли Вы создать и опубликовать прошивку для варианта 1.4, в которой вместо матрицы кнопок все входы микросхемы замыкаются на один земляной провод? Очень нужно, и не только мне.
1. Это можно легко сделать с помощью Keyboard Studio , которую еще можно скачать из http://www.betainnovations.com/
2. Можно. На днях сделаю.
Заранее спасибо!!! Ждемс с нетерпением.
Reaiddqd
05.01.2005, 19:03
А если не секрет - это зачем? :rolleyes:
Не секрет. Разводка проводов проще, диоды можно не ставить, а в многих джоях нету столько кнопок как в матрице.
2 MeanDog & LazyCamel & BAG и другим мастерам программирования и контролирования.
Почитав ветки про датчики пришёл к выводу, что:
1.Наиболее (можно сказать абсолютно) точные и доступные - датчики на основе отикомеханических мышей.
2. Сигнал с них идет по определению цифровой (да-нет). 3. Точность - масштабируемая, в смысле - увеличьте количество оборотов колеса - увеличится точность.
4. Доступность.
В связи с этим вопрос. А можно было бы переделать контроллер под возможности мышиных датчиков? И тем самым перейти на цифровые датчики движения.
Вопросы относительности показаний решеаются автокалибровкой которая ,как я прочитал выше, реализована в прошивке 1.4.
Не судите строго, специализация позволяет анализировать и делать только общие выводы.
Ссылка на тему применения мышей в роботостроении:
http://www.famua.com/grumbler/robot.html
Судить строго не будем. Просто удали свое сообшение и не будем.
EJG<M>_Doctor
06.01.2005, 09:29
2 MeanDog
Уважаемый Мастер!!
2. Можете ли Вы создать и опубликовать прошивку для варианта 1.4, в которой вместо матрицы кнопок все входы микросхемы замыкаются на один земляной провод? Очень нужно, и не только мне.
====================================================
Насколько я понял, это будет вариант без хатки? Если ДА, то присоедтняюсь к толпам жаждущих (зачем хатка, если собираюсь микростик для обзора юзать).
USSR_Rik
06.01.2005, 12:51
SkAlex
"Мастером программирования и контроллирования (от контроллер?)" не являюсь, но пять копеек добавлю. По пунктам.
1. По точности магнитные датчики не уступают как минимум. Доступность - уже не вопрос, вот цена поболее будет. Но за хороший девас-то отвалить смысл имеет.
2. Цифровой сигнал - в принципе хорошо, тут возражений принципиальных нет. А дискретность этого цифрового сигнала? Вот тут и переходим к п. 3.
3. "Точность - масштабируемая". Оно конечно, увеличим кол-во оборотов - больше отсчетов - снизим дискретность... и тут же проиграем в точности за счет введения механической передачи. К тому же заметь - передача должна быть повышающая, следовательно - она пропорционально повысит и все исходные погрешности и люфты. Да, конечно, есть варианты безлюфтового зацепления шестерен и прочее - так мы дойдем до зубчатых ремней. Жестких причем.
4. Доступность. См. п. 1 - ВКБ уже делает "серийно" устройства на магнитных датчиках. Отзывы - самые наилучшие, многие узлы хорошо отработаны технологически (кое-что я и сам видел - посмотри ветку про ВКБ педали
http://forum.sukhoi.ru/showthread.php?goto=newpost&t=29491 )
5. Мышь гонит относительные координаты. Нам нужны абсолютные, пока этот вопрос нормально не решен.
PS Кстати, если немного разовьешь свою идею - придешь к еще более простой и красивой реализации джойстика (и даже паять ничего не надо, чуть-чуть механических работ). Но проблема центра и абсолютных значений останется.
В общем, это все обсуждалось в разных вариантах. Личное ИМХО :) - магнитные датчики, железная подшипниковая механика (см. Матчасть), сабжевый контроллер (либо клон его - но на матрице кнопок, их все-таки много надо. То, что на джое кнопок мало, аргументом не считаю). Высокая надежность, высокая точность, долговечность. К тому же, тут красиво сопрягаются высокие параметры всех узлов - хорошая механика позволяет реализовать высокий потенциал датчиков и электроники.
Во, млин, накатал... а собирался в двух словах и двух ссылках...
2 MeanDog & LazyCamel & BAG и другим мастерам программирования и контролирования.
Почитав ветки про датчики пришёл к выводу, что:
1.Наиболее (можно сказать абсолютно) точные и доступные - датчики на основе отикомеханических мышей.
2. Сигнал с них идет по определению цифровой (да-нет). 3. Точность - масштабируемая, в смысле - увеличьте количество оборотов колеса - увеличится точность.
4. Доступность.
В связи с этим вопрос. А можно было бы переделать контроллер под возможности мышиных датчиков? И тем самым перейти на цифровые датчики движения.
Вопросы относительности показаний решеаются автокалибровкой которая ,как я прочитал выше, реализована в прошивке 1.4.
Не судите строго, специализация позволяет анализировать и делать только общие выводы.
Ссылка на тему применения мышей в роботостроении:
http://www.famua.com/grumbler/robot.html
Ты наверное не все прочитал так как такая мысль уже много раз появлялось у многих людей здесь в этом форуме.
Насчет програмы -это сделать на одном микроконтроллере на котором реализуетса УСБ нелзя. Это потому что обработка УСБ должна иметь высший приоритет, а считывание оси в это время пропадало бы. Это вызывало бы "проскальзывание" осей. Плюс опрос осей должен происходить очень очень часто чтобы избежать этого "проскальзывания" если юзер двинет ручку очень быстро.
На отдельном специализированном контроллере это было бы возможно. Наверное лучший контроллер для этого это сам контроллер мыши. Получаетса что надо подключать ПС/2 мышку к МДжою. Прикольно, но возможно :)
Но вот готовы ли вы делать для этого шестеренки я неуверен...
paraManiac
07.01.2005, 00:32
Не секрет. Разводка проводов проще, диоды можно не ставить, а в многих джоях нету столько кнопок как в матрице.
Смотри, если матрицу оставить как на рисунке в красных ружёчках(извиняй за моё озобразительное искусство), то диоды не нужны.
А если оставить один столбец (строку ) то проводов совсем мало надо будет.
В первом случае 10 кнопок во втором - 7[если правильно посчитал]
С переделкой прошивки - наверое гемморой, всё таки не язык высокого уровня.- имхо
2 paraManiac
Спасибо, у меня тоже были такие изыскания, однако, дело не только в диодах, а в самом принципе - матрице кнопок. Просто далеко не во всех джоях она применима с готовой разводкой кнопок.
paraManiac
07.01.2005, 00:53
2 catfish
ну незнаю можно погеморроиться и с разводкой, перепаять чего-нимудь.
2 MeanDog
Уважаемый Мастер!!
Два вопроса.
1. как можно назначить какую либо конкретную кнопку с клавы на кнопки джоя?
2. Можете ли Вы создать и опубликовать прошивку для варианта 1.4, в которой вместо матрицы кнопок все входы микросхемы замыкаются на один земляной провод? Очень нужно, и не только мне.
Вот сделал прошивку.
2 MeanDog
Преогромное СПАСИБО!!!
2 paraManiac
Перепайка разводки кнопок означает обязательную разборку самой ручки джоя, а в ней как правило, куча винтов да еще спрятаных под накладки, и т.д. и т. п. Вобшем легче тестером снять схему распайки, чем разбирать и перепаивать.
EJG<M>_Doctor
07.01.2005, 10:42
Вот сделал прошивку.
И от меня спасибо.
Ты наверное не все прочитал так как такая мысль уже много раз появлялось у многих людей здесь в этом форуме.
Насчет програмы -это сделать на одном микроконтроллере на котором реализуетса УСБ нелзя. Это потому что обработка УСБ должна иметь высший приоритет, а считывание оси в это время пропадало бы. Это вызывало бы "проскальзывание" осей. Плюс опрос осей должен происходить очень очень часто чтобы избежать этого "проскальзывания" если юзер двинет ручку очень быстро.
На отдельном специализированном контроллере это было бы возможно. Наверное лучший контроллер для этого это сам контроллер мыши. Получаетса что надо подключать ПС/2 мышку к МДжою. Прикольно, но возможно :)
Но вот готовы ли вы делать для этого шестеренки я неуверен...
Спасибо за ответ. Да, я думал об этом - в Вашей схеме контроллер опрашивает датчики, а в случае с мышью - датчики сами служат источником сигнала и их где-то надо учитывать (или накапливать, а потом считывать). Так вот в этом и был вопрос. Может быть надо совершенно новую схему.
По поводу шестеренок - тоже думал, не нужны они. Обыкновенная ременная передача (на тросиках конечно :-)), как радиоприёмниках, с креплением троса к валу, несколькими лишними витками (по количеству оборотов) и с пружиной. Или второй вариант: на принтере печатается на пленке сектор 90 градусов с решёткой по краю, этот сектор вешается на ось. С края сектора оптопарой снимается сигнал. Ни в том ни в другом случае люфтов нет. Вопрос только в том какая разрешающая способность у мышиных оптопар (это ко второму варианту) чтобы определить параметры решетки на секторе. Для упрощения печатать можно попробовать на бумаге, но придется переделывать оптопару по примеру http://www.shema.ru/13/barread.shtml
А задумывалось всё как раз для упрощения и удешевления схемы джоя.
А здесь джой на основе мыши http://home.swipnet.se/rehn/joystick.htm
Только там человек драйвера переписывал, я в этом ни бум-бум
2 Rik
Дискретность - это да, но какая нам нужна точность? Этим всё и определяется - соотношение цена/качество. Туда же вопрос и по люфтам, при любой передаче - люфты будут. Только при мертвом креплении датчика к оси их не будет. То есть данные лучше снимать с самой оси. Нам нужна линейная зависимость. От сюда вывод - нам нужно использовать валкодер (хотя бы и из мыши).
То что ВКБ наладило серийный выпуск good, very good , всё только зависит от размера серии. Спрос на сколько я понимаю превосходит предложение на порядки. Я же ищу способы создания дешевого, простого, доступного и легко воспроизводимого устройства.
Касательно относительности. Я думаю это решается на программном уровне, как в случае с автокалибровкой. Включили джой (всё по центру) - 0, вправо, влево, вперед, назад = +/-, в смысле прибавить (или вычесть)по оси Х (Y, Z и т.д.) столько-то единиц, . Данные - цифровые, ошибится не возможно. Погрешность - погрешность контоллера.
LazyCamel
07.01.2005, 22:45
Отцы ( и сыновья :-) С подачи моей и не только, ВКБ таки (наверное) будет уходить на полностью цифровой интерфейс датчиков.
Не вижу сурового смысла платить больше 5 баксов за устройство (УЗЗ9000) которое берет два аналоговых сигнала на АЦП, делит их друг на друга, берет арктангенс от полученого результата и в результате выводит на 14 бит ЦАП аналоговый сигнал равный грудусной мере, который потом опять через
10-бит АЦП контроллера превращается в цифрю.
Накуя козе баян ?
Изначально планируется :
протокол SPI, 1 МгЦ тактовой , первый байт - количество осей, следующие слова по два байта - состояние кнопок, и состояние осей выровненое влево.
Из минусов - необходимость ходябы простейшего контроллера для осей, что не сильно дорого (до 1 бакса)
Из плюсов - наплевательство на качество питания, т.е. можно поставить стабилизатор на 3.3 В и работать без всяких стабилитронов и не страдать на качество питания, к чему Мега8 и Мега48 достаточно чувствительны.
Нечувствительность к аналоговым помехам.
6 коннекторов независимо от количества осей и кнопок.
Отсутствие необходимости в АЦП , т.е. можно со стандартными датчиками использовать не только АВР, но и PIC, и прочие МК, лишь бы интерфейс с УСБ был.
Вставлю свои пять копеек по поводу требований к джойстику. Основаны они на опыте создания моделей к MSFS. В том числе автопилотов и системы управления. При ручном управлении через API или DirectInput читаю данные джойстика и после обработки вывожу на рули.
На мой взгляд требования к джойстику часто сильно завышены.
Джойстик по возможности должен быть стандартным, не более 8 осей, 4 хаток и 128 кнопок.
Для оси за глаза достаточно 8-бит разрешения. При характерных для джойстиков ходах ручки это пожалуй меньше дрожания рук. Да и при испытаниях серийного джоя (не самого худшего) я получил тот же результат.
Вполне достаточна дискретность опроса в 50 милисекунд. Я читаю джой каждые 55 мск и это не отражается на точности управления. Автопилот с временем обновления 55 милисекунд хорошо держит даже легкий вертолет.
А вот стабильности нуля и величине шума желательно уделить внимание. При подавлении шума возникает некоторое запаздывание, которого тоже не надо слишком бояться. Реальные системы тоже имеют запаздывание, не говоря уж о таком "тормозе", как пилот. Его запаздывание не в милисикундах измеряется.
Увеличение точности приведет к росту расходов, но вряд ли будет ощущаться на практике. Не думаю, что в Ил-2 требования выше, чем в MSFS, динамика она и в африке динамика.
USSR_Rik
27.01.2005, 18:03
2 MeanDog
Правильно ли я понимаю, что для того, чтобы перевести контроллер на работу от внутреннего источника опорного напряжения, нужно при инициализации вместо
ldi temp0, 0b01000000
out ADMUX, temp0
сделать
ldi temp0, 0b11000000
out ADMUX, temp0
(это кусок оригинального кода инициализации)
Ессно, отцепить вывод AREF от AVCC и на общий его через конденсатор.
LazyCamel
27.01.2005, 20:56
Не помню точно по битам - но да, имено так.
Вро только не стоит завязываться на внутрений источник опорки. напряжение +5В на УСБ шине достаточно сильно плавает, и если у АЦП опорка будет стабилизирована, а у резисторов напряжение нет - будет бяка. Причем в начале оси бяка меньше, в к конце больше
2 MeanDog
Привет пропащая душа! LVP соскучились по тебе, заскочи к нам по возможности.
M@troskin
06.02.2005, 10:41
2 МинДог!
А вот вопросик савсэм тупой по печатной платке возник: на той, что лежит на сайте, монтаж идет со стороны проводников? Или сверлить дырдочки все ж надо?
И когда мы увидим новую версию на Мега16? ;) :rolleyes:
USSR_Rik
07.02.2005, 12:12
LazyCamel
Улетел мой пост в пропасть. Пожалуй, убедил. Я планировал махонький стабилизатор на питание резисторов-датчиков (но слишком мал перепад вход-выход получается и вроде смысла возиться нет). А так - оно конечно, некая компенсация нестабильности (не считая шумов питания). Ладно, вопрос снимаю.
Кажется, скоро будут интересные валерьянты... от обоих мастеров.
привет всем. Долго не писал и ничего не делал так как был сильно занят.
Вот вижу много разговоров по поводу того что нужно перейти сразу на цифровой сигнал и тп. Но это достаточно сильно удорожит схему.
Тоесть если исспользовать магнитные датчики. Я сейчас лично провожу експерименты с различными вариантами оптопар. И моё личное мнение что это есть более оптимальное направление для развития так как покр мере в производстве оно дешевле. Но результатов пока мало .. всё потом отпишу когда закончу таки с ними.
Вот требования собственно которое хотят увидить от датчика.
малый шум
высокая чуствительность
и при этом удержание центра.
последнее важно так как все механические решения имеют недостатки в центре.
но почему все забыли про резисторы как про ненужный хлам. Дело в том что они не соответствуют этим требованиям ... но например поралельно резистору можно поцепить конденсатор. Но это тоже не решит всех проблем , так как реально не всё получается как на бумаге 8) ....
вобщем те кто хочет сделать так чтоб их датчик был на несколько порядков лучше по характеристике чем обычный резистор то можете сделать как показано на схемке...
Работает эта штука очень просто. мы фактически снимаем показания с разницы напряжений двух конденсаторов. А резисторы в нашем случае исспользуются для выведения из равновесия напряжений конденсаторов.
В идеале мы должны получить при отключенном резистивном делителе деление напряжения пополам. так как ёмкости кондесаторов равны. Но в жизни мы имеем дело ещё и с погрешностями конденсаторов. Тоесть двух равных ёмкостей впринципе нету .... Поэтому вводим подстроечный конденсатор. Его номинал нужно брать примерно в 1/5 1/10 номинала рабочих кондёров. При отключённом резистивном делителе с помоью тестара добваемся одинакового напрядения на обоих конденсаторах тоесть деления пополам. Далее в центре резистивный делитель тожн должен делить напряжения пополам.
В итоге получаем датчик с очень сильным подавленем шумов от резистора. С высокой чуствительностью и также с неплохими характиеристиками динамическими. Запаздывание почти не чуствуется.
Вот такие вот пироги.
Можно влепить конденсаторы по 500 пФ или по 1мкФ но с последнем достаточно ощутимые задержки. У меня сейчас на дурацкий резюках от Лохотека висит такая конструкция с конденсаторами по 400пФ и я впринципе доволен. То что можно требовать от датчика на основе резистора вытянуть получилось.
По сравнению с схемой с одним конденсатором сдесь большой плюс в дин характеристике и шумы давяться лучше. 8)
Может кому и помог своим постиком 8)
2 МинДог!
А вот вопросик савсэм тупой по печатной платке возник: на той, что лежит на сайте, монтаж идет со стороны проводников? Или сверлить дырдочки все ж надо?
И когда мы увидим новую версию на Мега16? ;) :rolleyes:
На счет платы невникался, но дырочки должны быть так как они для ДИП корпусов сделаны.
Я уже весь вспотел работая над Мега16 :). Релиз после-завтра или даже раньше.
2 MeanDog
Правильно ли я понимаю, что для того, чтобы перевести контроллер на работу от внутреннего источника опорного напряжения, нужно при инициализации вместо
ldi temp0, 0b01000000
out ADMUX, temp0
сделать
ldi temp0, 0b11000000
out ADMUX, temp0
(это кусок оригинального кода инициализации)
Ессно, отцепить вывод AREF от AVCC и на общий его через конденсатор.
Извиняюсь за задержку. Правильно.
Здравствуйте уважаемые! наконец то мне удалось запустить собранный контроллер! чтоб никто не наступил на те же грабли на которые попал я то причина определения контроллера как "Неопознанное устройство" была в том что стабилитроны были установленны наоборот!!! :) (у импортных стабилитронов обратная маркировка метка не на+ а на-!!!)Спасибо за подсказку уважаемому MeanDogу!
а так контроллер работает превосходно это касаемо осей!без шумов а вот с кнопками....боольшая проблемма! :( ....вобщем о бо всем по порядку...Этот контроллер мы решили использовать для ввода сигналов с органов управления в комплексном тренажёре вертолета МИ-8т (до этого сигналы вводились на четыре гейм порта что оставляло желать лучшего и по шумам и по удобству настройки) в силу конструктивных особенностей тренажёра разводка кабелей от датчиков кнопок и АЗС составляет от двух до пяти метров!!! по началу наблюдались сильнейшие шумы по осям контроллера и фантомное мерцание и нажатие кнопок :( после экранирования кабелей и посадка оставшихся лишних проводов в жгуте на массу (кабель с датчиков тяг идет двадцати жильный а используется лишь девять из них) дрожание и шум осей прекратился полностью!!! ;) также пропало фантомное мерцание на кнопках.....НО!!! при нажатии на одну из кнопок или при включении какого либо АЗС непременно вместе с ней срабатывает фантомно от одной до четырех кнопок!!! :mad: ....хотя при замыкании непосредственно на штекерном разъеме печатной платы (при отключенном от неё жгуте) всё работает нормально!!!....может кто встречался с таким явлением??? выручайте мужики! не хотелось бы вновь возвращатся на гейм порт :( ...(скажу сразу в жгуте и распайке ошибок нет всё проверенно десятки разъ!!!)...да кстати если кому нужно могу дать разработанную печатную плату! сделана в программе LAOYT30 габаритные размеры 8х5см (диодная матрица находится непосредственно на ней)
с Уважением Константин
USSR_Rik
09.02.2005, 09:11
Я на эти грабли натыкался. причина в шлейфе. Все лечится просто - "подтягиваем" входы контроллера PD0, PD1, PB2, PD3..PD6 к +5 В резисторами, я использовал номиналы 10..39 кОм (зависит от длины шлейфа, уровня наводок, пятен на солнце и прочего). Можно не все, а только "проблемные" линии, ты их легко вычислишь нажимая кнопки и смотря на "фантомные". На разных шлейфах будет по-разному - это тоже из опыта, если какой-то резистор не помогает - немного уменьшай сопротивление. Мой минимум был 10 кОм.
Все заработает.
Спасибо большое за совет!!! щас буду пробывать! ;)
Уважаемый RIK большое вам сенькью и веримачь!!! :) всё заработало как нужно!!! получается чем длиннее жгут и больше его сечение тем меньший номинал резистора нужно использовать!!! ;) у меня получилось так на РЦШ(РУ-2) жгут два метра 20 жил резисторы по 3.5кОм....с 4кОм уже не идеть!!!....на ШАГ-ГАЗ жгут три метра 15жил резисторы по 1.5кОм...3кОм уже не идеть!!!....вобщем спасибо большое!!!
с Уважением Константин
c001ibin
10.02.2005, 01:20
Можно попробовать ещё и конденсаторы по 1 мф прилепить (между входами и общим)
c001ibin
10.02.2005, 01:34
SkAlex, между прочим, интересную тему затронул (мышиные датчики)
В ИЛе нет некоторых осей (для выс. корректора, например)...
Было бы неплохо иметь небольшой прибамбас на основе мышиного датчика.
Крутим колесо в одну сторону, срабатывает кнопка "увеличить"
в другую - "уменьшить"
это можно реализовать уже на програмном уровне. Для этого кстати необязательно исспользовать колесо - можно 2 кнопки задействовать впринципе - чисто механически. Благо кнопопок хватает.
По поводу фантомных нажатий - хотел тоже про конденсатор написать да видно не успел - кстати он ещё немного и от дребезга поможет. Ёмкость гдето до 1мкФ.
с оясями ерунда такая , что Директикс понимает сразу от одного устройства только 8мь осей и не больше. Это очень печально так как у меня например их 12 8) .... Сделать на одном контролере 2 ХИД устройства у меня не вышло так как там ерунда с опросами получается, не справляется мега по скорости .... то что у меня получилось так это как бог на душу ляжет работает то одно то другое причем попеременно ё раз включешь одно пашет а второе нет а второй раз например наоборот .... либо вообще не то ни то не заводиться. повышал частоту лажа таже.
Чесно ещё не придумал например что можно регулировать дополнительными 4мя осями .... хотя можно 8)
И ещё по поводу наводок - они обычно высокочастотные ну или звукового диапазона и маломощёные поэтому интегратор на входе даже очень не плохоб смотрелся .... тоесть на вход лучше ставить не просто резистор а резистор с конденсатором.
есть бредовая идея - а не поставить ли вместо хакти для обзора трэк бол ??? для этого все технические возможности есть ... и будет полноценная эмуляция мышки с помошью натурального мышиного контролера. Взгляжом в относительных координатах управлять проще чем в обсалютных. Я проверял.
какие есть у такого варианта недостатки ?
M@troskin
10.02.2005, 13:34
Ура! МинДог таки разродился схемой джоя на Атмега16!!! %)
Поздравляю! и начинаю изучать... :rolleyes:
МинДог, переводить для плохознающих аглицкий русских - НАДО? :confused:
PS Кстати, я вчера смог заставить работать мой контроллер на Мега 8, :D его присобачиваю к старенькому рулю, посмотрим, что получится...
Еще один PS: видимо, МинДог все-таки решил переходить на коммерческую основу, так как рисунка печатной платы я так-таки и не увидел - ни на сайте, ни в мануале... ;)
Еще одна правка - ссылка на печатку есть в тексте, мол, в PDF- ке лежит... НЕТУ!!!
То ли ашипка вкралась, то ли злые враги почикали ;)
Еще веселее... она не в той PDF-ке... но есть! Эт радует...
USSR_Rik
10.02.2005, 13:52
BM_
Да не за что. Можно на "ты", я интернетное "вы" плохо воспринимаю. %)
MeanDog же релиз обещал? Обещал. А у меня его сайт не открывается... открылся.. а-а-а! А я только неделю назад пересадил мозги в X-36...
Так-с, рано обрадовался. PDF-ки качаются битые. открывал акробатом 5. "Файл поврежден и не может быть восстановлен" - это относится к схеме, инструкции и матрице кнопок.
А 6 акробат открыл. Небитые они, приношу извинения.
[...]
с оясями ерунда такая , что Директикс понимает сразу от одного устройства только 8мь осей и не больше. Это очень печально так как у меня например их 12 8) .... Сделать на одном контролере 2 ХИД устройства у меня не вышло так как там ерунда с опросами получается, не справляется мега по скорости .... то что у меня получилось так это как бог на душу ляжет работает то одно то другое причем попеременно ё раз включешь одно пашет а второе нет а второй раз например наоборот .... либо вообще не то ни то не заводиться. повышал частоту лажа таже.
Вы пытались организовать два устройства на одном интерфейсе? Если так, то нельзя ли взглянуть на Report Descriptor? Может там что не так. У меня получается, правда основа немного другая.
Чесно ещё не придумал например что можно регулировать дополнительными 4мя осями .... хотя можно 8)
резистор а резистор с конденсатором.
Ну в ЛокОне, например я насчитал 17 осей. А в будущем это число должно возрастать, в принципе.
LazyCamel
10.02.2005, 19:21
У меня тоже получилось, но и основа тоже другая :-)
43УСБ355 и At91Sam7s.
Дело в том, что стандартный МинДоговский HID-stack работает ТОЛЬКо на ендпоинт1. Если вешать несколько девайсов - надо это делать на нескольких конечных точках и соответственно с несколькими дескрипторами. Плюс добавлять обрабботку STALL когда МК не успевает.
Но зачем ? Это же типичная разработка для дома для семьи и работает просто отлично. Дешевле поставить 2 контроллера чем выеживаться с двойным интерфейсом, который по большому счету полезен только для смены прошивки.
ЗЫ: Кстати. Самое интересное что прошивка 1.2 у МинДога работает ВОПРЕКИ даташиту на Мега8, и отлаживалась явно на 16 Меге. (Ну не должно работать команда CALL в 8 кбитных контроллерах, там для этого RCALL есть :-).
Ура! МинДог таки разродился схемой джоя на Атмега16!!! %)
Поздравляю! и начинаю изучать... :rolleyes:
МинДог, переводить для плохознающих аглицкий русских - НАДО? :confused:
PS Кстати, я вчера смог заставить работать мой контроллер на Мега 8, :D его присобачиваю к старенькому рулю, посмотрим, что получится...
Еще один PS: видимо, МинДог все-таки решил переходить на коммерческую основу, так как рисунка печатной платы я так-таки и не увидел - ни на сайте, ни в мануале... ;)
Еще одна правка - ссылка на печатку есть в тексте, мол, в PDF- ке лежит... НЕТУ!!!
То ли ашипка вкралась, то ли злые враги почикали ;)
Еще веселее... она не в той PDF-ке... но есть! Эт радует...
Привет, так как я вклал немало времени и усилий в этот проэкт я надеюсь что он как-то окупит все эти вечера когда я несмог полетать в ИЛ2.
Я разделил его на проэкт для самоделия и на продукт для приобретения чтобы было удобно для разных людей.
Все платы есть на странице проэкта MJoy16:
http://www.mindaugas.com/projects/MJoy16/
MJoy16 схема, детали, плата :
http://www.mindaugas.com/projects/MJoy16/MJoy16_v1.pdf
Key Matrix схема, детали, плата:
http://www.mindaugas.com/projects/MJoy16/Key_Matrix_v1.pdf
Все .pdf фаилы в формате Acrobat 6 и читаютса они с Acrobat Reader 6.
Здравствуйте уважаемые!!! у меня возникла ещё одна ну просто очень интересная проблемма! :( вобщем по порядку:
У меня был один резистор колонутый...не работала ось тормоза....все остальные ОК! вобщем я заменил резистор заработало путем! НО!!! ни ФС ни ИЛ-2 не видит оси ШАГа винта!!!????????...(в настройках джоя это ось "ДВИЖОК") хотя винда его видит и колебрует!!! в чем грабли ни хрена непойму!!!(((.........а вот когда ось тормозов (в настройках джоя ось "ДИСК") была закороченна на землю, ШАГ тобишь ось "Движок" в симуляторах видилась нормально и назначалась...............в чем моя проблема!???...
Да пользуясь случаем ещё раз огромное спасибо уважаемому MeanDog за отличное устройство!!! не только от меня лично но и от пилотов вертолетов АК"Иркутск Авиа" и ФГУП "Тува Авиа"
У меня тоже получилось, но и основа тоже другая :-)
43УСБ355 и At91Sam7s.
А какой именно из серии At91Sam7sXX (там их аж четыре штуки)?
Я использовал USBN9604 + ATMega162.
Дело в том, что стандартный МинДоговский HID-stack работает ТОЛЬКо на ендпоинт1. Если вешать несколько девайсов - надо это делать на нескольких конечных точках и соответственно с несколькими дескрипторами. Плюс добавлять обрабботку STALL когда МК не успевает.
Не обязательно на нескольких конечных точках. Спецификация допускает по-разному. У меня, например, работают оба варианта одновременно: на одном Endpoint "висят" пять джойстиков, на двух других - по одному.
Но зачем ? Это же типичная разработка для дома для семьи и работает просто отлично. Дешевле поставить 2 контроллера чем выеживаться с двойным интерфейсом, который по большому счету полезен только для смены прошивки.
Согласен, выжимать из программного варианта несколько устройств смысла не имеет. Количество датчиков, соответственно, тоже нужно увеличивать -> отдельный проект.
ЗЫ: Кстати. Самое интересное что прошивка 1.2 у МинДога работает ВОПРЕКИ даташиту на Мега8, и отлаживалась явно на 16 Меге. (Ну не должно работать команда CALL в 8 кбитных контроллерах, там для этого RCALL есть :-).
В даташите убрали, а в Меге оставили :), так что работать должна, чтобы все были довольны ;).
Здраствуйте МИНДОГ!!
Опять, сейчас, начну приставать с дурацкими вопросами по поводу прошивки к новому варианту на Меге16, в которой все входы замыкаются на один земляной провод и возможно ли выделить последний АЦП под хатку с резистивными делителями. Заранее спасибо!!
Р.S. попробовал на варианте Мега8 организовать матрицу с диодами и не получилось. Есть ли ограничения по использованию типов диодов (в зависимости от их вольтамперной характеристики)?
P.S.S. В какой строке и какими значениями в прошивке для Мега8 меняется ID USB-устройства?
Меняется в определении Девайс дескриптора - посмотри. Насчёт именно виндового Айди не в курсе - вроди бы винда сама назначает и запоминает ... а вот изменить порядок устройств можно с помошью девайс дескриптора.
Я пытался сделать на одной меге 2 устройства - на двух разных ендпоинтах , но практика показала что контролер не успевает отрабатывать это. Хотя возможен вариант что я гдето просто ошибся.
LazyCamel
12.02.2005, 16:40
А какой именно из серии At91Sam7sXX (там их аж четыре штуки)?
Я использовал USBN9604 + ATMega162.
SAM7S64 (на 32 нет усб, 128 и 256 ыбдут только в конце года). У меня тут налидились контакты с французским отделением Атмела, ни по всей видимости сбираются снимать 43УСБ355 вообще и продавать Sam7s64.
По некоторым данным чипы появятся в Москве где-то в апреле по стоимости от 4.5-5 баксов, в зависимости от партии. Т.к. прогнозируется огромный спрос, то первая партия будет измеряться килоштукам и на бедных самодельщиков тоже хватит :-)
И почему 9604, а не FT245/2232 ?
Не обязательно на нескольких конечных точках. Спецификация допускает по-разному. У меня, например, работают оба варианта одновременно: на одном Endpoint "висят" пять джойстиков, на двух других - по одному.
Вот отсюда подробнее. На конечную точку приходит запрос о получении ХИД дескриптора. Интересно как это она может сказать что у нее нескольколько ОДИНАКОВЫХ устройств ? Где и что я пропустил ?
В даташите убрали, а в Меге оставили :), так что работать должна, чтобы все были довольны ;).
Да я знаю что работает, меня ребята просто попросили посмотреть какого фига там предупреждения валятся в АВР студии.
2 МинДог - посмотрел проект на меге 16 - респект, семья самодельщиков будет крайне довольна.
Меняется в определении Девайс дескриптора - посмотри. Насчёт именно виндового Айди не в курсе - вроди бы винда сама назначает и запоминает ... а вот изменить порядок устройств можно с помошью девайс дескриптора.
что такое Девайс дескриптор и где его искать :)
LazyCamel
13.02.2005, 01:05
что такое Девайс дескриптор и где его искать :)
Если ты серьезн предпологаешь использовать это - попробуй почитать УСБ спецификации. Другого пути я не знаю.
Вообще ВСЕ устройства на УСБ обмениваются стандартными пакетами, геде в определенном формате описано кто где что умеет.
Это называется дескрипторы.
а если нет - инфА ПРОСТАЯ
дескриптор устройстива
дескриптор конечной точки
дескриптор устройства ХИД
порсле этого виндоуз думает чето знает все о джойсткие. Чтобы разубедит ее (винду в смысле) народ пишет драйвера после кототрых устройствыо прикидывается чем угодно.
Вот и все. Остальное толькло в трезвом виде и без дня святого Валентина :-)
Уважаемые?...видимо про ось мне некто ничего не подскажет.... :(
МинДог, а выложи плз оттрассенную PCB-шку - диаметры отверстий на распечатке под себя подправить. я когда утюжу - делаю дырки в падах 0,3 - 0,2 мм - они потом как кондуктор для сверла работают ;)
(на MJoy16 PCBшку)
Мистика с осями какаято .... не могу тебе ответить так как у меня совсем другие оси задействованы и поэтому подсказать не могу - я с таким не сталкивался
Здраствуйте МИНДОГ!!
Опять, сейчас, начну приставать с дурацкими вопросами по поводу прошивки к новому варианту на Меге16, в которой все входы замыкаются на один земляной провод и возможно ли выделить последний АЦП под хатку с резистивными делителями. Заранее спасибо!!
Р.S. попробовал на варианте Мега8 организовать матрицу с диодами и не получилось. Есть ли ограничения по использованию типов диодов (в зависимости от их вольтамперной характеристики)?
P.S.S. В какой строке и какими значениями в прошивке для Мега8 меняется ID USB-устройства?
Когда появитса минутка сделаю эту версию.
Диоды стандартно 1N4148 или КД522.
Чтобы поменять ИД надо найти такие строки и поправить их на то что нужно:
.equ VendorUSBID =0x0000 ;vendor identifier
.equ DeviceUSBID =0x0001 ;product identifier
USSR_Rik
15.02.2005, 16:45
Немного оффтопа, но плиз, отнеситесь с пониманием.
КАК заставить Акробат версии 6 или 7 прокручивать страницу колесом мышки? Но именно тогда, когда курсор над текстом (когда на полосе прокрутки, оно и так работает). Я потому и юзал пятый, что там это работает. И нарвался на нечитаемость файлов MeanDog'а.
это не от акробата зависит а от других каких-то настроек. у меня например все отлично работает и в 6-ом и в 7-ом
И почему 9604, а не FT245/2232 ?
Этот вариант оказался наиболее оптимальным по многим параметрам, один из которых - доступность. Кроме того, FT245/2232 работают через встроенный протокол, что позволяет без лишних телодвижений гонять потоки данных, но у меня другая задача. В качестве альтернативы подошла бы PDIUSBD12, но USBN9604 были закуплены раньше.
Вот отсюда подробнее. На конечную точку приходит запрос о получении ХИД дескриптора. Интересно как это она может сказать что у нее нескольколько ОДИНАКОВЫХ устройств ? Где и что я пропустил ?
Пример такого варианта описан в "Device Class Definition for Human Interface Devices (HID)".
Для этого в Report-дескрипторе описывается несколько Application-коллекций, каждая из которых снабжается собственным ReportID. Для системы каждая такая коллекция (в одном и том же Report-дескрипторе) описывает отдельное устройство. Все описанные устройства будут работать с Хостом через один Endpoint. Соответственно, репорты разных устройств с этого Endpoint нужно выдавать поочерёдно, а очередь замкнуть в кольцо. Каждый репорт нужно пометить своим значением ReportID: 1,2,3... (нулевой зарезервирован).
Система должна увидеть все устройства (пробовал на Win2kPro+SP4+DirectX9).
За всю эту прелесть приходится расплачиваться временем опроса конечной точки, т.к. для каждого устройства время опроса увеличивается пропорционально количеству этих устройств. Но для игровых устройств, при использовании USB1.1 и выше, определённый запас имеется.
Чтобы поменять ИД надо найти такие строки и поправить их на то что нужно:
.equ VendorUSBID =0x0000 ;vendor identifier
.equ DeviceUSBID =0x0001 ;product identifier
Увы, но с программированием у меня отвратно обстоят дела. Есть файл *.hex. Я так понимаю, его нада декомпилировать, найти строки и переправить?
А в самом .hex где это можно найти? В какой строке и какое значение править?
Когда появитса минутка сделаю эту версию.
МИНДОГ!! СПАСИБО за заботу!!
USSR_Rik
16.02.2005, 10:40
Вопрос по мышке снят. KatMouse подгадил, пришлось ему сделать персональный профиль для Акробата.
BARS_2 - спасибо за наводку, я все Акробата ковырял.
paraManiac
16.02.2005, 20:15
Здравствуйте уважаемые!!! у меня возникла ещё одна ну просто очень интересная проблемма! :( вобщем по порядку:
У меня был один резистор колонутый...не работала ось тормоза....все остальные ОК! вобщем я заменил резистор заработало путем! НО!!! ни ФС ни ИЛ-2 не видит оси ШАГа винта!!!????????...(в настройках джоя это ось "ДВИЖОК") хотя винда его видит и колебрует!!! в чем грабли ни хрена непойму!!!(((.........а вот когда ось тормозов (в настройках джоя ось "ДИСК") была закороченна на землю, ШАГ тобишь ось "Движок" в симуляторах видилась нормально и назначалась...............в чем моя проблема!???...
Да пользуясь случаем ещё раз огромное спасибо уважаемому MeanDog за отличное устройство!!! не только от меня лично но и от пилотов вертолетов АК"Иркутск Авиа" и ФГУП "Тува Авиа"
Это наверное от того, что оси названы нестандартно, если взять прошивку миндога с автоколибровкой, то эта тема исправлена.
По крайней мере у меня хорошо работает.
paraManiac
16.02.2005, 20:43
To MeanDog
Вы конгениальны, Киса.:::))):)))
[про mJoy 16]
paraManiac
16.02.2005, 20:49
2 Meandog
Немного не понял как разъёмы 40-пиновые обжимать и шлейфы соответственно.
Расскажи pls ?
2 Meandog
Немного не понял как разъёмы 40-пиновые обжимать и шлейфы соответственно.
Расскажи pls ?
Можно я расскажу: берем IDE шлейф 40 pin. Далее продолжать?
paraManiac
17.02.2005, 17:21
слушай, тема .=)
Но ведь нужен кабель длиннее стандартного
на самом деле, никогда такой поцедуры не наблюдал, по-этому и спрашиваю.
мож какой инструмент, кроме рук нужен?
слушай, тема .=)
Но ведь нужен кабель длиннее стандартного
на самом деле, никогда такой поцедуры не наблюдал, по-этому и спрашиваю.
мож какой инструмент, кроме рук нужен?
Истессьно струмент!!! (а зачем длинее?, шлейфы сами довольно длинные)
LazyCamel
18.02.2005, 00:47
Для обжима шлейфа нужен
а) разъем (чтоб был чего накалывать)
б) шлейф с шагом 1.27 (продается метражом)
в) ножницы (чтоб отрезать нужную длину шлейфа)
г) рукоятка отвертки (чтобы постучать по защелке разъема, которая как раз наколет и зафиксирует шлейф)
д) острый нож (чтобы обрезать торчащий из разъема хвост.
Пару минут времени и несильно дрожащие после вчерашнего руки.
M@troskin
22.02.2005, 11:29
2 MeanDog (а может, еще кто подскажет)
Спаял я контроллер на Меге8 (не 16, до нее еще пока руки не дошли)
Все работает, джой определяется. НО!
Ось Х скачет, как ужаленная в ж@пу (а вместе с ней и четвертая ось - то есть именно в одном ритме), даже при глухом замыкании на землю. Остальные оси просто не шевелятся даже при калибровке - стоят на центрах. Это я спалил контроллер или что? (контроллер не припаян, а в панельке, но выводы к резюкам и кнопкам (кнопки, кстати, работают нормально) я паял, когда контроллер уже стоял на макетке.
А теперь стандартный вопль :)
ПАААМАААГИИИТЯЯЯЯЯЯЯЯЯЯЯЯЯ!!!!
:confused: %)
M@troskin
22.02.2005, 17:47
2 MeanDog
Еще вопрос: как называются разъемы, на которых выполнены в Mjoy16 входы потенциометров? И кто их выпускает?
paraManiac
22.02.2005, 18:52
2 MeanDog (а может, еще кто подскажет)
А теперь стандартный вопль :)
ПАААМАААГИИИТЯЯЯЯЯЯЯЯЯЯЯЯЯ!!!!
:confused: %)
ты напряжёметром посмотри: :)
если на ножках меги напряжение изменяется нормально то по всей видимости с мегой чтото не то,
а если уже сдесь на вольтметре не то будет, то проверь разводку- мож где грязь прилипла, или канифоль, или флюс...
M@troskin
23.02.2005, 11:00
ты напряжёметром посмотри: :)
если на ножках меги напряжение изменяется нормально то по всей видимости с мегой чтото не то, ...
А как оно ДОЛЖНО изменяться? от 0 до 5В или быть постоянным? не очень понял... :confused:
проверь разводку- мож где грязь прилипла, или канифоль, или флюс...
А канифоль разве может повлиять на работу АЦП? :confused: она ж вроде не проводит нифига...
USSR_Rik
23.02.2005, 13:06
При полном ходе резистора (движок от кранего положения до крайнего) напряжение должно меняться от 0 до +5 В.
Канифоль диэлектрик хороший. Но вот грязь или некачественный флюс - это плохо, входные токи микросхемы маленькие (соотв. входные каскады имеют высокое входное сопротивление), паразитная проводимость возможна. Крупные наплывы канифоли сколупнуть, дальше - спирт плюс зубная щетка, помогает.
Пайка при вставленном контроллере (особенно плохим или обычным сетевым паяльником) чревата...
Контроллер в панельку плотно вставлен?
M@troskin
23.02.2005, 13:20
При полном ходе резистора (движок от кранего положения до крайнего) напряжение должно меняться от 0 до +5 В.
Померяем...
Канифоль диэлектрик хороший. Но вот грязь или некачественный флюс - это плохо, входные токи микросхемы маленькие (соотв. входные каскады имеют высокое входное сопротивление), паразитная проводимость возможна.
Спиртиком протрем... Промоем... Чем-нить острым пройдусь между дорожками ЕЩЕ разок... :(
Пайка при вставленном контроллере (особенно плохим или обычным сетевым паяльником) чревата...
Вот блин... Паяльник сетевой... Мог пожечь входы АЦП? %)
Контроллер в панельку плотно вставлен? Вроде да... :rolleyes:
USSR_Rik
23.02.2005, 14:37
Не то чтобы пожечь - статикой пробить. А если еще и изоляция нагревателя от корпуса паяльника плохая... Но это как вариант, пугать не хочу, может, все не так и плохо. Как правило, чаще всего допускаются простейшие ошибки - разводка (вроде бы и перепроверенная сто раз), контакты, шлейф..
Не то чтобы пожечь - статикой пробить. А если еще и изоляция нагревателя от корпуса паяльника плохая... Но это как вариант, пугать не хочу, может, все не так и плохо. Как правило, чаще всего допускаются простейшие ошибки - разводка (вроде бы и перепроверенная сто раз), контакты, шлейф..
Нуно ткнуть сетевым индикатором(который на неонке) в жало.Если не загорится,перевернуть вилку в розетке,ткнуть еще раз.Если не загорелся индикатор-то может и пронесло.А если уж загорелся...Можешь покупать новый контролер.
2 MeanDog (а может, еще кто подскажет)
Спаял я контроллер на Меге8 (не 16, до нее еще пока руки не дошли)
Все работает, джой определяется. НО!
Ось Х скачет, как ужаленная в ж@пу (а вместе с ней и четвертая ось - то есть именно в одном ритме), даже при глухом замыкании на землю. Остальные оси просто не шевелятся даже при калибровке - стоят на центрах. Это я спалил контроллер или что? (контроллер не припаян, а в панельке, но выводы к резюкам и кнопкам (кнопки, кстати, работают нормально) я паял, когда контроллер уже стоял на макетке.
А теперь стандартный вопль :)
ПАААМАААГИИИТЯЯЯЯЯЯЯЯЯЯЯЯЯ!!!!
:confused: %)
Ничего не протирай и не меряй, ищи обрывы и замыкания в цепях АЦП, ежели нет ни того ни другого, попробуй еще раз перепрошить Мегу. Если все останется по прежнему - выбрасывай м/с и покупай новую
(Оси, которые пляшут - висят в воздухе, а которые как вкопаные - замкнуты на какой то постоянный потенциал. Это при живой микрухе)
2 MeanDog
Еще вопрос: как называются разъемы, на которых выполнены в Mjoy16 входы потенциометров? И кто их выпускает?
Как я понял там стоят разъемы питания от компьютеров как на матерях под вентиляторы, только на 4 pin. А вообще разве это принципиально? Лепи какие есть с шагом 1/10 дюйма
Ура!!!! MJOY16 Работает!!!! (правда у меня файл .еер криво прошивается - из-за этого, наверное в названии джоя какая-то хрень)
Кнопки проверил - их 32 шт отобразилось, оси еще не проверял
МИНДОГ, РОДНЕНЬКИЙ, ПРОШИВКУ ДЛЯ МЕГА16 С ЗАМЫКАНИЕМ НА ЗЕМЛЮ МОЖНО?
А то летать не с чем!!!!
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot