Ответ: Сайтек изнутри и снаружи
микроконтроллер СY7C63743 не имеет встроенного АЦП :D такого поворота я честно говоря не ожидал однако сразу начала складываться боллее понятная картина почему разрешение по осям на джойстика сайтека имеет нестандартные значения, не равные 2 в степени Х что естественно для АЦП.
Оставалось выяснить КАК происходит преобразование угла поворота резистора в цифру. На сайте производителя www.cypress.com был найден вот такой документик "Low Cost USB Joystick"
http://www.cypress.com/portal/server...USB%20Joystick
и собственно непосредственно сам мануал
http://www.cypress.com/portal/server...oystick_10.pdf
для тех кто не силен в папуасском, в двух словах:
берем обычный микроконтроллер не имеющий АЦП, используя переменный резистор как делитель напряжения снимаем с его средней точки изменяющееся при отклонении напряжение, которое заряжает эталонный конденсатор, чем круче мы повернем резистор тем быстрее зарядится конденсатор, а наш микроконтроллер посчитает ВРЕМЯ зарядки конденсатора. Никому ничего не напоминает? :)
Это ничто иное как Гэйм порт с USB (а так же и PS/2) интерфесом :) :)
Ответ: Сайтек изнутри и снаружи
Не знаю у кого как, а у меня сразу возник вопрос, если технически реализация от гэйм порта не отличается, то почему достигается достаточно высокая точность и разрешение, помнится тут меня кто то с пеной урта убеждал что гэймпорт мертв и ни на что не способен в виду ущербности самого метода сьема показаний с резисторов. Смотрим внимательно на описание микроконтроллера в джое выход VREG выдает нам стабилизированное напряжение 3.3 В для питания нагрузочных резистров. Ключевое слово здесь СТАБИЛИЗИРОВАННОЕ. Именно от этого стабилизатора и питаются резисторы на джойстике, таким образом запитав качественным напряжением мы на выходе получаем на порядок лучшие показатели чем в Game Port (в дальнейшем GP) сразу вспомнилась мне ситуация когда я попытался на х45 расширить диапазон по осям, дрожание резко увеличилось поскольку питание бралось напрямую от USB.
Переварив полученную инфу я тут же разобрал X45 и что я там увидел
:D такая же реализация резистор-конденсатор-формирователь(операционник)-микроконтроллер.
Резисторы запитывались от одной из линий выходящих из чипа на плате.
Дальше был прикол, отключаем резисторы от стабилизатора - на выводе 3.3 в все как надо, подключаем резисторы РУС навыходе 3.0 в хуже но все еще более менее, поключаем РУД - на выходе 2.1 В - СТАБИЛИЗАТОР НЕ ТЯНЕТ нагрузку около 10 кОм чем по суте и являются 6 паралельно подключенных резисторов джойстика, вот так вот все клево и ни причем тут никакие умные инженеры которые хитро сделали джой, а скорее при чем явный инженерный просчет.
Как будем бороться опишу через несколько минут... coming soon :)
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от MaxPayneRUS
Как будем бороться опишу через несколько минут... coming soon :)
Заинтриговал... А-а-а!!! Уже 20 минут жму рефреш...
Вложений: 3
Ответ: Сайтек изнутри и снаружи
Итак продолжим..
Для начала хочу разбрать один интересный момент, мне известно как минимум три модификации Х45
1. На плате присутствует микроконтроллер фирмы самсунг
2. На плате установлен более дешевый вариант микроконтроллера выглядит как капля, плата по размерам и топологии такая же как и в пп1
версия V 0.1
3. Х45 с уменьшенной платой, микроконтроллер капля как в пп2
версия V 1.0
так вот, доподлинно известно что вариант 3 с версией платы V 1.0 не болеет изменением разрешения при подключении РУД. Кроме того интересно было бы изучить вариант 1 на этот счет.
Мне не повезло и я оказался владельцем версии 2 поэтому в ближайшем радиомагазине мной был куплен трехногий стабилизатор LP2950CZ-3.3
именно на нем я сделал схему стабилизации для резисторов РУС, вход стабилизатора на 5В USB, выход на резисторы, средняя нога на корпус, по хорошему надо на выход еще конденсатор поставить и обеспечить толковую нагрузку шунтирующим сопротивлением но на самом деле можно и не заморачиваться рисунок со схемой подключения прилагаю. Данная схема питает только резисторы в РУС
ВАРНИНГ, крайние эксперименты показали что конденсатор С1 паразитно влияет на входные цепи операционных усилителей, так что из схемы его пришлось исключить
Ответ: Сайтек изнутри и снаружи
теперь по фоткам слва направо
1 Фото платы Х45 вариант 2 (REV 0.1)
2 Фото платы вариант 3
3 схема включения стабилизатора LP2950-3.3
на схеме: С1 - 1 мФ, R1 - 0.1-1 кОм
Если негде взять стабилизатор или облом то можно немного изменить схему джойстика. При этом мы пожертвуем небольшим уменьшением разрешения РУД но зато получим как минимум 400 позиций на осях РУС
для этого вам нужно иметь плату варианта 2 (REV 0.1)
смотрим на крайнюю левую фотку:
- выпаять перемычку стрелка 2
- в левую дыру от перемычки запаиваем провод
- второй конец провода припаиваем к верхнему на фото контакту резистора стрелка 1
Ответ: Сайтек изнутри и снаружи
Только 400 по Х и У? А больше никак?
Ответ: Сайтек изнутри и снаружи
Итак, после того как мы привели в норму то что недоделали разработчки, подумаем а как все таки получить разрешение по осям более 400-450. Кроме того мне стало интересно сколько вообще способен обсчитать микроконтроллер джоя.
Для этого вернемся к началу и посмотрим а как же и что собственна МК считает.
Считает он время зарядки эталонного конденсатора, соответственно нужно знать момент с которого начать отсчет времени и скажем постепенно увеличивать содержимое регистра пока конденсатор не зарядится, число в регистре и будет собственно временем зарядки. Что бы четко знать время начала зарядки подается управляющий сигнал с МК на разряд конденсатора и начинается собственно заряд. При этом после формирователя импульсов собранного на операционных усилителях которые видно на плате джоя на фотках, мы имеем импульсы с изменяемой шириной в зависимости от угла отклонения резисторов джоя.
Так вот, если кто еще не спит :), у нас есть два ограничения для максимального разрешения джоя
1. Ширина импульса не безконечна и на практике не может быть больше чем частота следования этих импульсов иначе импульсов как таковых не будет
2. Содержимое регистра тоже не безконечно и имеет определенную емкость
Начнем с регистра в регистре МК хранится двоичное число, любое двоичное число характеризуется количеством разрядов, причем каждый следующий разряд у величивает количество возможных комбинаций в двое, так 8 разрядное число может иметь 256 комбинаций, 9 разрядное 512.
Я экспериментально поднял напряжение на резисторах джоя до 4 в и получил 540 значений по одной из осей, из этого следует что МК обсчитывает больше чем девять разрядов то есть способен гарантированно принять в обработку 10 разрядное число а это максимум 1024 позиции по оси.
С другой стороны частота импульсов разряда конденсаторов определена программой микроконтроллера которая в нем прошита.
С этой стороны в джойстиках ST290 и Cyborg EVO, к примеру, ситуация вполне нормальная частота импульсов фиксирована и имеется существенный запас по ширине импульса. В джойстике Х45 полная каша, частота импульсов плавает, то есть от импульса к импульсу меняется время до следующего цикла (видимо криво настроены тайминги в программе микроконтроллера) плюс на разные оси используется разная разрядность.
Исходя из этого лучше всего запитать резисторы РУС отдельными стабилизаторами и вручную подобрать на каждый резистор напряжение.
Что бы из приведенной выше схемы стабилизатора 3.3в сделать регулируемый стабилизатор, необходимо среднюю ногу стабилизатора оторвать от земли и включить в разрыв подстроечный резистор 10 коОм
Ответ: Сайтек изнутри и снаружи
Я доводил разрешение по осям РУС Х45 до 540 так что дерзайте, главное что бы выжать максимум запитывать резисторы нужно ОТДЕЛЬНЫМИ источниками.
Ответ: Сайтек изнутри и снаружи
Ну а теперь уже из области фантастики.
Нашел вот статейку
http://www.cl.cam.ac.uk/~sps32/mcu_lock.html
кто не силен в языке поясняю, статья посвящена взлому памяти микроконтроллеров.
Там используется EPROM однократно записываемая память, записать то еще раз ее не проблема, для записи на плате варианта 2 имеется пара контактов, но есть проблема со стиранием :(, дело в том что для записи программы, содержимое ячеек EPROM нужно обнулить, реально записываются в EPROM только единицы. Так вот автор статьи утверждает что возможно произвести сброс EPROM памяти микроконтроллера манипулируя сигналами на выводах и питанием.
При таком раскладе можно будет провести полноценный тюнинг джойстиков от сайтека
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от MaxPayneRUS
Смотрим внимательно на описание микроконтроллера в джое выход VREG выдает нам стабилизированное напряжение 3.3 В для питания нагрузочных резистров.
Я правильно понимаю, что у Эво резюки тоже от 3.3 В питаются?
Надеюсь скоро получить мозги от Эво, а датчики поставить теперешние от х45, запитаны они от 5 В (прямо с усб), а затем стоят делители, как раз срубающие до ~3 В, просто делители не хотелось бы отпаивать, а то потом прийдется придумывать как крепить датчики без них...
Ответ: Сайтек изнутри и снаружи
Вот красавчик! Полезное дело делает!
Но вот вопрос от профана (почти). На фото по перепайки проводов качество не ахти. И мне кажется что у меня там больше всяких перемычек
А напротив каждого элемента на плате стоит номер. Может напишешь какую перемычку (номер) перерезать и к какому резистору (номер) подпаять.
Если я правильно понял - перемычка J42 и резистор J24.
И было бы ваще классно если бы ты указал где на плате заходит +5в USB.
Ну и наконец самый тупой вопрос - земля это там где на плате написано GND или можно к корпусу штекера руда припоять
Все перепаял (по простому варианту). Результат - Рус не реагирует. Калибровка не помогла. Вопрос - разве белый провод нужно отпаять и все? Там вроде напряжение 3в.
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от sanyek
Вот красавчик! Полезное дело делает!
Но вот вопрос от профана (почти). На фото по перепайки проводов качество не ахти. И мне кажется что у меня там больше всяких перемычек
А напротив каждого элемента на плате стоит номер. Может напишешь какую перемычку (номер) перерезать и к какому резистору (номер) подпаять.
Если я правильно понял - перемычка J42 и резистор J24.
И было бы ваще классно если бы ты указал где на плате заходит +5в USB.
Ну и наконец самый тупой вопрос - земля это там где на плате написано GND или можно к корпусу штекера руда припоять
Все перепаял (по простому варианту). Результат - Рус не реагирует. Калибровка не помогла. Вопрос - разве белый провод нужно отпаять и все? Там вроде напряжение 3в.
- белый провод указанный стрелкой 3 отпаять
запаяй его обратно, сорри это я перемудрил, этот провод как раз питание не резисторы дает.
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от GWoP
Я правильно понимаю, что у Эво резюки тоже от 3.3 В питаются?
Надеюсь скоро получить мозги от Эво, а датчики поставить теперешние от х45, запитаны они от 5 В (прямо с усб), а затем стоят делители, как раз срубающие до ~3 В, просто делители не хотелось бы отпаивать, а то потом прийдется придумывать как крепить датчики без них...
Ставь стабилизатор на питание датчиков, иначе они ничем не лучше резисторов будут
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от MaxPayneRUS
Ставь стабилизатор на питание датчиков, иначе они ничем не лучше резисторов будут
Разжуй плиз, нужен стабилизатор на 5 В, праильно? Схемку если не сложно, а то я в этом ни черта не понимаю, даже номиналы резисторов для делителей подбирал не я. Могу только паять :)
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от GWoP
Разжуй плиз, нужен стабилизатор на 5 В, праильно? Схемку если не сложно, а то я в этом ни черта не понимаю, даже номиналы резисторов для делителей подбирал не я. Могу только паять :)
зачем на 5?
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от MaxPayneRUS
зачем на 5?
Так у меня датчики могут питаться только от 4,5 В и выше, поэтому пришлось питать их от 5 В. Куда вообще ставятся эти стабилизаторы, ни хрена не понимаю, чесслово?
Вложений: 1
Ответ: Сайтек изнутри и снаружи
вот так можно получить регулируемое напряжение на выходе
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от MaxPayneRUS
- белый провод указанный стрелкой 3 отпаять
запаяй его обратно, сорри это я перемудрил, этот провод как раз питание не резисторы дает.
Ну вот все заработало. Увеличилось немного, щас с рудом, как раньше без него. Было 230 стало 320 в среднем. Чето маловато всеравно.
А какой прогой смотреть лучше joytester2 или DXTweak2. И какое значение. Я так понял что Precision
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от sanyek
Ну вот все заработало. Увеличилось немного, щас с рудом, как раньше без него. Было 230 стало 320 в среднем. Чето маловато всеравно.
Я так понял что Precision
дальше поможет только дополнительный стабилизатор.
Не понятна фраза В СРЕДНЕМ. Какие максимальные значения дает по осям при калибровке джоя?
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от MaxPayneRUS
дальше поможет только дополнительный стабилизатор.
Не понятна фраза В СРЕДНЕМ. Какие максимальные значения дает по осям при калибровке джоя?
А при калибровке в окне у меня нет галочки "показать необработанные данные" - поэтому вычеслить не могу, а по другому не знаю.
Я смотрю в DXTweak2. На максимальном в калибровке написано X-368 Y-342. А в другой проге чуть меньше значения.
Как узнать точные?
Ответ: Сайтек изнутри и снаружи
Я смотрю при калибровке, по моему на самых последних дровах эта галочка действительно отсутствует
Вложений: 1
Ответ: Сайтек изнутри и снаружи
Сегодня сменил материнку (в принципе шило на мыло) свою старую добрую MSI-K7N2 Delta-L na ASUS A7N8X, в принципе матери одинаковые, только асусняк гонится лучше чуток (из-за этого и менял). Только что заглянул сюда и подумал, что не буду морочиться со стабилизаторами, но всё-таки прогнал джойтестер и охренел... Смотреть скрин. Была сменена только мать, но насколько хуже стало питание юсб :( Теперь точно прийдется стабилизировать...
Ответ: Сайтек изнутри и снаружи
Облазил наверное все магазы во владе. Нет именно такого стабилизатора с таким номером. И на напряжение 3.3в тоже нет. Аналоги по каталогам я искать не умею.
Короче взял на 5в (L7805CV). Взял резистор на 0.5кОм и 500Вт - пойдет?
Еще взял подстроечный резистор на 10кОм.
А теперь серия вопросов.
-Это именно им я буду регулировать входное напряжение на стабилизатор или мой стабилизатор не годится?
-Ну где же на плате входит +5в или надо отдельный провод тянуть?
-Подключать ноги стабилизатора как на рисунке - левая +5в, середина - подстроечный резистор, правая дальше на резюк джоя?
-Белый провод (который поначалу) его отпаивать и к правой ноге стабилизатора, а другой конец пусть остается на резюке джоя?
-На второй резюк (их же два) такую же схему, или можно одной все запитать?
Вопросы конечно сверх тупые, но что ж поделать.
Ответ: Сайтек изнутри и снаружи
Цитата:
Сообщение от sanyek
Облазил наверное все магазы во владе. Нет именно такого стабилизатора с таким номером. И на напряжение 3.3в тоже нет. Аналоги по каталогам я искать не умею.
Короче взял на 5в (L7805CV). Взял резистор на 0.5кОм и 500Вт - пойдет?
Еще взял подстроечный резистор на 10кОм.
А теперь серия вопросов.
-Это именно им я буду регулировать входное напряжение на стабилизатор или мой стабилизатор не годится?
-Ну где же на плате входит +5в или надо отдельный провод тянуть?
-Подключать ноги стабилизатора как на рисунке - левая +5в, середина - подстроечный резистор, правая дальше на резюк джоя?
-Белый провод (который поначалу) его отпаивать и к правой ноге стабилизатора, а другой конец пусть остается на резюке джоя?
-На второй резюк (их же два) такую же схему, или можно одной все запитать?
Вопросы конечно сверх тупые, но что ж поделать.
Теперь по порядку, от 5в можно получить не заморачиваясь только 3.3 в.
Напряжение на выходе стабилизатора будет стабилизировано но оно будет всегда меньше чем напряжение на входе.
Поэтому стабилизатор на 5 в нужно будет питать как минимум от 7 в а в джое их нету.
Именно поэтому нужен именно стабилизатор на 3.3 в у него входящее напряжение 5 в.
Что то мне подсказывает что если L7805CV на 5 в то на 3.3 в будет называтсяL7803CV
Подключать надо так как указано в мануале а по нерусски это будет даташит как правило в виде *.pdf файла, так и ищем в google.ru
L7805CV+pdf
5 в на плату поступает от USB берем провод и смотрим куда он припаян, крайние контакты это +5 и корпус, контакты в середине это сигнальные.
Звоним тестером какой контакт на корпусе, значит противоположный +5
Стабилизированное напряжение нужно в итоге подать как раз на белый провод (ессна выпаяв его из платы) он и подает питание на резисторы