-
Ответ: USB контроллер джоистика
Честно говоря, я не ожидал от этой схемы нормальной работы. Я то брал только ради эксперимента. Маркировка фотодиода неизвестна, известно только что это инфракрасный фотодиод с высоким быстродействием (со слов продавца на "туче"). В настоящее время схема MeanDog хорошо воспринимает резисторы в диапазоне до 100 Ком. Подстроечником вполне можно подогнать излучение инфракрасного диода так, что сопротивление фотодиода будет в максимуме под 100 Ком. :) Я не фанат оптики, просто действую по принципу - что есть, то и используем. Магниторезисторов в Симферополе нет. Я народ на "туче" пытал - привезите, дам и маркировку и параметры. Отказываются. :expl: Есть какие то датчики холла. Только вот какие ? Маркировка невнятная, размытая.
-
Ответ: USB контроллер джоистика
И в догонку. Пробовал вчера перехватить сниффером MJoy. Ничего не вышло. Очень странно. Я хоть в СИ не очень сильно разбираюсь, но попробовать перебрать драйвера Джаузиммера от сайтека под MJoy попробую. Изменить нужно вендора, код устройства, количество кнопок.
Меняется в самом драйвере и в inf файле. Если я не прав - поправьте меня :)
-
Ответ: USB контроллер джоистика
Цитата:
Подключил оптический датчик по вот такой схеме. Работает вполне приемлемо.
Насколько помню, в таком режиме/включении нелинейность должна быть сильная, все-таки его нужно включать в режиме генератора тока с преобразованием ток-напряжение на опере.
Забыл я всю схемотехнику, надо хоть Хоровица-Хилла почитать ;)
edited: а сниффер с MJoy должен работать, я давно когда-то пробовал.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от USSR_Rik
Насколько помню, в таком режиме/включении нелинейность должна быть сильная, все-таки его нужно включать в режиме генератора тока с преобразованием ток-напряжение на опере.
Ну это не проблема. Я то только для проверки собирал - на "соплях":)
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от LazyCamel
Меня вот больше интересует куда подается эти максимум 50mV с фотодиода , чтобы "нормально работало". Потому что я как лох, в подобную схему операционник с полевиком на входе и КУ=20-50 запихиваю.
Потому что так - правильно. Я вот никак не пойму, где в Автокаде кнопка "примотать изолентой по месту" :p
Кстати, я недавно экспериментировал с прямым подключением фотодиода к порту процессора. В принципе фотодиод - это конденсатор (~20pF) с параллельным источником тока (обратное смещение), величина которого пропорциональна освещенности. Заряжаем емкость фотодиода от порта (против шерсти) и потом, в плотном цикле, ждем пока он разрядится и вычисляем время разрядки (обратно пропорциональное освещенности).
Получается очень и очень приличная точность. До 9-10бит - я был поражен. Теперь все что будет требовать фотосеноров буду строить на этой основе. Простота железа - фотодиод, подключеный "наоборот" к двунаправленному порту (- на землю) и все!
Идею подсмотрел здесь: http://www.merl.com/publications/TR2003-035/
Дарю код для PICa 16F серии
;
; PORTA.2 ----|<|------ GND (or another port pin that held low throughout this code)
; add port init, startup, RS232, delay code as needed
bsf PORTA,2 ; set pin PORTA.2 high
MainLoop
; LEDcntr = 0
clrf LEDcntr1
clrf LEDcntr2
clrf LEDcntr3
clrf LEDcntr4
bsf STATUS, RP0 ; Select Bank 1
bcf TRISA,2 ; Set PORTA.2 as output
call Delay10us ; charge time - 10uS is enough
bsf TRISA,2 ; Set PORTA.2 as input
bcf STATUS, RP0 ; Select Bank 0
CountLoop
; LEDcntr++
incf LEDcntr4,F ; LSB
skpnz
incf LEDcntr3,F
skpnz
incf LEDcntr2,F
skpnz
incf LEDcntr1,F ; MSB
btfsc PORTA,2 ; has LED discharged?
goto CountLoop ; not yet
; LEDcntr -> RS232
movf LEDcntr1,W
call TxRS232
movf LEDcntr2,W
call TxRS232
movf LEDcntr3,W
call TxRS232
movf LEDcntr4,W
call TxRS232
goto MainLoop
-
Вложений: 1
Ответ: USB контроллер джоистика
Возможно по такой схеме ?
Уже исправил !
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от Flying_Cat
Возможно по такой схеме ?
А зачем два резистора - R1 и R2, для симметрии?
Если R1 = R2 = R4 = 0, негативное напряжение на минус питания усилителя подать и полярность диода поменять, тогда - правильно.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от lbodnar
А зачем два резистора - R1 и R2, для симметрии?
Если R1 = R2 = R4 = 0, тогда - правильно.
А R3 заменить на подстроечник ...
-
Ответ: USB контроллер джоистика
Вот, нагуглил - http://www.ecircuitcenter.com/Circui...tov/opitov.htm
А если Хоровиц под рукой есть - там схемка описана очень подробно.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от lbodnar
Кстати, я недавно экспериментировал с прямым подключением фотодиода к порту процессора. В принципе фотодиод - это конденсатор (~20pF) с параллельным источником тока (обратное смещение), величина которого пропорциональна освещенности. Заряжаем емкость фотодиода от порта (против шерсти) и потом, в плотном цикле, ждем пока он разрядится и вычисляем время разрядки (обратно пропорциональное освещенности).
Слушай... это идея... Вот только непонятно, на что он потом разряжается, на собственное сопротивление ? В том смысле постоянную как посчитать-то ?
Если скрестить идею товарища GO! насчет четырех светодиодов крестиком + этот подход... Добавить в прошивку цифровой ФНЧ и вперед. Интересно блин, надо попробовать.
-
Ответ: USB контроллер джоистика
Цитата:
Простота железа - фотодиод, подключеный "наоборот" к двунаправленному порту (- на землю) и все!
А как стабильность входного тока порта от температуры? Вроде плавать должен, хотя пара процентов - это немного. Не пробовал хотя бы пальцем греть?
PS что-то не нравится мне пока этот варикап... 20 пик - это на уровне емкостей проводов. Но коль пробовал и работает - интересно.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от LazyCamel
Слушай... это идея... Вот только непонятно, на что он потом разряжается, на собственное сопротивление ? В том смысле постоянную как посчитать-то ?
Заряженая емкость разряжается фототоком текущим как раз в направлении земли. Можно навесить дополнительную внешнюю емкость если хочется.
Фототок = I(порядка десятка мкА)
Напряжение логической единицы на выходе - V1 (5В)
Напряжение перехода входного порта из 1 в 0 - V0 (1В?)
Емкость фотодиода (+ внешняя) - С (десятки пФ)
Время разряда = dt = dQ/I = C*(V1-V0)/I
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от USSR_Rik
А как стабильность входного тока порта от температуры? Вроде плавать должен, хотя пара процентов - это немного. Не пробовал хотя бы пальцем греть?
Ток паразитной утечки состоит из обратного тока фотодиода и тока утечки входного порта - оба обычно в пределах десятков наноампер. Можно запараллелить несколько диодов, тогда влияние второго уменьшится.
Главное - стабильность токов утечки. Я научное исследование не проводил, но простота схемы - супер! :bravo:
-
Ответ: USB контроллер джоистика
Если порт двунаправленный - получается заряд входным током порта в режиме IN, по достижении лог. 1 порт переключается программно на OUT и лог. нулем разряд? Так?
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от lbodnar
Заряженая емкость разряжается фототоком текущим как раз в направлении земли.
Время разряда = dt = dQ/I = C*(V1-V0)/I
Логично. будем пробовать.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от USSR_Rik
Если порт двунаправленный - получается заряд входным током порта в режиме IN, по достижении лог. 1 порт переключается программно на OUT и лог. нулем разряд? Так?
Нет,
порт на выход, выводим 1
ждем пару микросекунд, конденсатор заряжается до 5в
резко переводим порт на чтение
конденсатор начинает разряжаться фототоком диода (чем ярче - тем быстрее)
следим за портом и считаем до тех пор, пока разряд перекинет порт из 1 в 0
Я еще не решил, какой порт лучше - с триггером Шмидта на входе или нет. Практика - критерий истины.
-
Ответ: USB контроллер джоистика
В принципе если брать что-то типа BPW34,
то средний ток порядка 50мкА, температурный коэффициент 0.1%/K, емкость при снятом обратном напряжении - 70pF.
У меги рубеж стоит как раз в половине напряжения питания, однако по входам 0 - это 0.3 питания, а 1 = это 0.6 питания. Да и аналоговый компаратор никто затействовать не мешает.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от LazyCamel
В принципе если брать что-то типа BPW34...
В любом случае, получишь массу удовольствия от игрушки, т.к. это как раз тот случай, когда "все гениальное - просто".
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от LazyCamel
У меги рубеж стоит как раз в половине напряжения питания, однако по входам 0 - это 0.3 питания, а 1 = это 0.6 питания.
Я в ATmega16(L) на стр.316 на график 183 смотрю - там 1.3В от-40С до +85С достаточно стабильно.
Пожалуй, компаратор лучше чем просто цифровой вход - у него макс утечка всего 50 нА
Да, забыл, но это и так понятно, - НИКАКИХ PULL-UPs! Ток фотодиода их никогда не пересилит.
-
Ответ: USB контроллер джоистика
Люди, подскажите мне вот что... Читаю на сайте Миндога, что MJoy16 должен автоматически отдетектиться виндой как джойстик с 8 осями, 112 кнопками и 8-позиционной хаткой... В тоже самое время изучая схему уважаемого Миндога я нашел только 8 осей и 96 кнопок... Так как реально будет работать эта штука? Сколько кнопок на ней? И еще... На схеме мне абсолютно непонятем разъем jp3 с контактами DPA0...DPA7 Куда они идут? У меня стойкое ощущение, что это все висит в воздухе... Поправьте меня, если я не прав...
-
Вложений: 4
Ответ: USB контроллер джоистика
Цитата:
Сообщение от Fisben
Люди, подскажите мне вот что... Читаю на сайте Миндога, что MJoy16 должен автоматически отдетектиться виндой как джойстик с 8 осями, 112 кнопками и 8-позиционной хаткой... В тоже самое время изучая схему уважаемого Миндога я нашел только 8 осей и 96 кнопок... Так как реально будет работать эта штука? Сколько кнопок на ней? И еще... На схеме мне абсолютно непонятем разъем jp3 с контактами DPA0...DPA7 Куда они идут? У меня стойкое ощущение, что это все висит в воздухе... Поправьте меня, если я не прав...
Смотрите схемы в аттаче.
Детектится он будет как угодно,по умолчанию MJ16,
у меня без джамперов по началу именно как 8 осей, 112 кнопок выглядел.
Сейчас РУС как MRUS, РУД как MRUD, ну и ИДишники разные что бы в очередь строились. :D
8х8 кнопок + 16 переключателей каждый как 2 кнопки(включить-выключить) +
4 роторных преключателя каждый как 4 кнопки(быстро-медленно в каждую сторону)
=112 кнопок.Всеми этими делами рулит MJoyMaper.
Работать эта штука будет в зависимости от сборки.
Разъем jp3 резерв на будущее.Которое туманно. :(
-
Ответ: USB контроллер джоистика
Робяты, а кто мне может такой контролллер спаять?
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от Ussuri
Смотрите схемы в аттаче.
Детектится он будет как угодно,по умолчанию MJ16,
у меня без джамперов по началу именно как 8 осей, 112 кнопок выглядел.
Сейчас РУС как MRUS, РУД как MRUD, ну и ИДишники разные что бы в очередь строились. :D
8х8 кнопок + 16 переключателей каждый как 2 кнопки(включить-выключить) +
4 роторных преключателя каждый как 4 кнопки(быстро-медленно в каждую сторону)
Ussuri, а как это ты умудрился изменить назначение кнопок в матрице? MJoy16 вроде закрытый проект и исходники не выдаются.
А что за роторные переключатели? Это просто переключатель на 4'ре положения или что то большее?
Те 16 "переключателей каждый как 2 кнопки" это просто "обычные кнопки" которые просто постоянно удерживаются нажатыми тумблером? Так ведь можно и на обычном джое "забульбенить" тумблер?
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от sergeyk
Ussuri, а как это ты умудрился изменить назначение кнопок в матрице? MJoy16 вроде закрытый проект и исходники не выдаются.
А что за роторные переключатели? Это просто переключатель на 4'ре положения или что то большее?
Те 16 "переключателей каждый как 2 кнопки" это просто "обычные кнопки" которые просто постоянно удерживаются нажатыми тумблером? Так ведь можно и на обычном джое "забульбенить" тумблер?
Какие исходники? Я вообще в программировании ни в зуб ногой! :ups: Ни в каком! Откровенно говоря я сильно сомневаюсь что отсутствие исходников что-то меняет для программиста, это же ассемблер.
Ничего я не менял, вся инфа из MJoy16-C1 Users Manual_v1.1.pdf, только
его вроде бы убрали с www.mindaugas.com и разработчик вроде бы передал права на производство. Не знаю, мне пофигу! :D
Раскладка меняется джампером Mode.
Роторные переключатели как в мыше. При вращении "медленно" "вперёд" кратковременно нажимается одна виртуальная кнопка, при вращении "медленно" "назад" другая, при вращении "быстро" "вперёд" третья, при вращении "быстро" "назад" четвёртая. Это в основном для MSFS.
"Переключатели каждый как 2 кнопки"- при включении кратковременно нажимается одна виртуальная кнопка, при выключении другая.
"Забульбенить" можно, только из двух кнопок получится один тумблер и схему приделывать надо, а здесь всё программно.
-
Ответ: USB контроллер джоистика
Цитата:
Сообщение от Ussuri
Ничего я не менял, вся инфа из MJoy16-C1 Users Manual_v1.1.pdf, только
его вроде бы убрали с
www.mindaugas.com и разработчик вроде бы передал права на производство. Не знаю, мне пофигу! :D
Да, вроде есть такое :(
Т.е. твой вариант штатный без изменений.
Цитата:
Сообщение от Ussuri
Раскладка меняется джампером Mode.
А это мапером обрабатывается?
Цитата:
Сообщение от Ussuri
Роторные переключатели как в мыше. При вращении "медленно" "вперёд" кратковременно нажимается одна виртуальная кнопка, при вращении "медленно" "назад" другая, при вращении "быстро" "вперёд" третья, при вращении "быстро" "назад" четвёртая. Это в основном для MSFS.
"Переключатели каждый как 2 кнопки"- при включении кратковременно нажимается одна виртуальная кнопка, при выключении другая.
"Забульбенить" можно, только из двух кнопок получится один тумблер и схему приделывать надо, а здесь всё программно.
Так а физически что собой предтсавляют эти Роторные переключатели и тумблеры? В мыше там не 4'ре контакта, а по датчику на каждую поворотную ось. А тумблер, обычный который, замыкает не кратковременно.