???
Математика на уровне МГУ

Страница 1 из 6 12345 ... КрайняяКрайняя
Показано с 1 по 25 из 136

Тема: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

  1. #1

    Cool USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Наконец нарисовал и выложил на сайт схему контроллера со встроенным низковольтным программатором на одном транзисторе, теперь можно запостить это сообщение. Вообще, программатор у Микрочипа из-за того, что DataIn и DataOut совмещены при прошивке на один вывод, на трех резисторах, как у Атмел, сделать не удастся.

    На сайте http://artjoy.narod.ru/ лежит схема USB 2.0 контроллера на pic18f2550 и тестовая прошивка под HID джойстик с 3-мя 10 бит осями и 2-мя кнопками, частота опроса ~ 200 Гц
    Прошивка с исходником на С, очень простая, написана заново по мотивам Микрочиповского USB фрэймворка (надо бы ее на прерывания переписать, это если будет интерес).

    Если кому будет интересно, я нарисую и законченную схему, с сохранением полной разрядности при малых углах поворота резистора.
    По прошивке -- советуйте кол-во осей, кнопок, хаток, т.как я сам последнее время мало интересуюсь симуляторами (Так, в Need2speed 5 катаюсь иногда, а там 3-х осей и 2-х кнопок хватает).

    Обновление 1: Чтобы купить pic18f2550 или 18f4550, надо позвонить в Центр технической поддержки Микрочип, http://www.trt.ru
    Они могут посоветовать, где контроллер есть в Москве. По выходным на Митинском рынке есть их точка, но надо на неделе сначала позвонить и заказать микросхему.

    За идею самому сделать USB контроллер спасибо MeanDog, http://www.mindaugas.com
    За идею использовать Microchip's 18f2550 спасибо lbodnar: http://forum.sukhoi.ru/showthread.php?t=37510
    Крайний раз редактировалось ippow; 22.04.2006 в 10:51.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  2. #2
    Забанен Аватар для catfish
    Регистрация
    22.11.2001
    Адрес
    Moscow
    Возраст
    42
    Сообщений
    1,250

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Кульно. Про шитье можно поподробнее?
    А кнопочек сколько можно посадить на эту м/с. Так шоб без дополнительных элементов?

    Вот 25 кнопок на 1 контроллер хватает в самый раз.

  3. #3
    Механик
    Регистрация
    19.02.2005
    Адрес
    Odessa-Mama
    Возраст
    62
    Сообщений
    498

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    так по сылке нету вроде контролера ? я правильно понял ? только програмер ?
    да . а осей маловато да и кноп тоже хотяб 4-6 осей и кноп как catfish сказал , впрочем я даже и незнаю на что можно такое количество забить.. как по мне и 10-12 хватилоб

  4. #4

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Сейчас прошивка опрашивает 3 оси на выводах AN0, AN1, AN2 -- соответственно, один вывод потенциометра сажаем на землю, один -- вешаем на VDD и средний на один из этих выводов MCU. Кнопки сейчас прошивка реально не опрашивает, просто ставит биты в 0 в репорте.
    Теперь о точности:
    500 остчетов на 10% поворота потенциометра должно хватать за глаза. Для этого надо сделать усилитель постоянного тока на операционном усилителе, по уму -- на низковольтном "rail-to-rail", но поскольку их у меня нет, то я сделаю на кр140уд708, коих у меня еще с советских времен есть коробочка, с внешним питанием вольт 12 от 78lm12 и виртуальной землей на стабилитроне, например. Как сделаю, так сразу нарисую схему и выложу на обозрение.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  5. #5

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    А что именно про шитье? Собираешь схему, делаешь интерфейсный файл для WinPic и программируешь. Единственно что, WinPic может не опознавать программатор, но шьет и читает при этом безотказно :-)
    Программирование низковольтное, специально для встроенных цепей программирования ICSP (in circuit serial programming), микросхема продается с установленным битом в конфигурации, разрешающим низковольтное программирование. В HEX файле прошивки все нужные конфигурационные биты выставлены, ничего при программировании менять не нужно. Как только программирование закончено, контроллер сразу сам резеттится и начинает работать, даже не надо кабель вынимать, т.есть к приведенной схеме добавляешь 3 потенциометра на AN0, AN1, AN2 и имеешь сразу работающий контроллер c тремя осями.

    Независимых кнопок можно посадить штук 20 - 24, но тогда не будет осей. Возьми на www.microchip.com даташит и посчитай точно, сколько у нее портов, сколько выводов ушло на программатор и т.д.

    Я нарисую законченную схему со встроенным программатором и вариантом с усилителями на осях и перепишу прошивку под 6 осей, хатку и 24 кнопки на матрице 6х4, например, но чуть попозже, ок?
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  6. #6
    Забанен Аватар для catfish
    Регистрация
    22.11.2001
    Адрес
    Moscow
    Возраст
    42
    Сообщений
    1,250

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Очень хорошо, только я думаю не стОит дополнять схему усилителями. Уж тем более учитывать наличие усилителей в прошивке. 5 осей хватит за глаза даже самым жадным))))
    Крайний раз редактировалось catfish; 18.04.2006 в 13:44.

  7. #7

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    ippow, по схеме вывод 14 контроллера посажен через кондёр на землю, а судя по обозначению Vusb должен быть запитан с USB -- это опечатка?
    Есть только МиГ между прошлым и будущим.

  8. #8

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от sergeyk
    ippow, по схеме вывод 14 контроллера посажен через кондёр на землю, а судя по обозначению Vusb должен быть запитан с USB -- это опечатка?
    Ни в коем случае! Это выход внутреннего стабилизатора 3.3в, а конденсатор -- это для устойчивости его работы(фильтр, короче). От этого стабилизатора питается внутренний контроллер USB. Питать что-либо внешнее от этого вывода нельзя, он очень маломощный.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  9. #9

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от catfish
    Очень хорошо, только я думаю не стОит дополнять схему усилителями. Уж тем более учитывать наличие усилителей в прошивке. 5 осей хватит за глаза даже самым жадным))))
    Насчет усилителей -- согласен. Тем более, что есть более простой способ получить полную разрядность при малых углах поворота. На микросхеме есть два вывода: Vref+ и Vref-. Если с помощью резистивных делителей напряжения подать на них смещения, то проблема будет решена. Надо только включить этот режим программно.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  10. #10

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Народ, а где в Москве можно купить pic18f2550 в dip-корпусе??
    Чето куда не позвонишь - есть только SOIC (в том числе через www.trt.ru) :confused:

    2ippow: в теме сказано что "USB 2.0", а в прошивке в девайс-дескрипторе "2.0" закоментировано и стоит "1.1"

  11. #11

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    пять осей не хватит. я например использую микроджой для обзора - 2 оси. + тангаж+крен+ рысканье+тяга+тримервысоты+ тример элеронов+триммер руля поворота+ шаг винта+ тормоз И того 10 наименований которые можно использовать в Ил2... конечно не всем столько нужно, но на меньшее ориентироваться врядли имеет смысл - в обычных джоях тогда всё что нужно есть...
    Также мне интересно использование тумблеров вместо кнопок...
    Крайний раз редактировалось =М=Михалыч; 24.04.2006 в 19:41.

  12. #12

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от dd2
    Народ, а где в Москве можно купить pic18f2550 в dip-корпусе??
    Чето куда не позвонишь - есть только SOIC (в том числе через www.trt.ru) :confused:
    Я по информации от Тритона купил в SDIPe, видимо, там кончились, где я покупал...

    Цитата Сообщение от dd2
    2ippow: в теме сказано что "USB 2.0", а в прошивке в девайс-дескрипторе "2.0" закоментировано и стоит "1.1"
    На скорость обмена по шине это не влияет.Так и так будут честные 12 Мбит (работает, кстати, тоже и так и так) и, соответственно, период опроса можно в дескрипторе конфигурации поставить меньше (у меня стоит 6 мсек, а не 10, как в MJoy'е, а можно поставить и 1 мсек, но для этого надо переделать прошивку для работы с прерываниями, чем я и занят, когда свободен :-)
    Зачем мне было ставить 1.1, если с 2.0 тоже работает? Просто с 2.0 запрашивается дополнительный дескриптор, формат и назначение которого я не знаю (нет у меня документации по 2.0 под рукой и траффик не позволяет ее сгрузить), ну я и поставил 1.1, чтобы не заморачиваться.
    Крайний раз редактировалось ippow; 24.04.2006 в 20:39.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  13. #13

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от =М=Михалыч
    пять осей не хватит. я например использую микроджой для обзора - 2 оси. + тангаж+крен+ рысканье+тяга+тримервысоты+ тример элеронов+триммер руля поворота+ шаг винта+ тормоз И того 10 наименований которые можно использовать в Ил2... конечно не всем столько нужно, но на меньшее ориентироваться врядли имеет смысл - в обычных джоях тогда всё что нужно есть...
    Также мне интересно использование тумблеров вместо кнопок...
    Вообще-то я думаю, что надо иметь двы устройства -- РУС и РУД + педали. Т.есть две прошивки:
    1) X,Y,Z,Rx,Rz + хатка + 12 кнопок -- под РУС, 1-н триммер, обзор (как у тебя или все триммеры)
    2) X,Y,Z,Rx,Rz + 16-20 кнопок под два РУД (РУД + шаг), педали и остальные триммеры и тормоз.

    Можно и по 6 осей... Больше 6 не хочется, (хотя это проще, чем в MJoy, нет ограничения в 8 байт пакета USB) при цене по деталям в 300 р. можно сделать и два контроллера. Я надеюсь на неделе написать оба варианта, там собственно правка минимальна, только на прервания обмен по EP1 переставить еще надо, а все это -- время...
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  14. #14

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от ippow
    Вообще-то я думаю, что надо иметь двы устройства -- РУС и РУД + педали. Т.есть две прошивки:
    1) X,Y,Z,Rx,Rz + хатка + 12 кнопок -- под РУС, 1-н триммер, обзор (как у тебя или все триммеры)
    2) X,Y,Z,Rx,Rz + 16-20 кнопок под два РУД (РУД + шаг), педали и остальные триммеры и тормоз.

    Можно и по 6 осей... Больше 6 не хочется, (хотя это проще, чем в MJoy, нет ограничения в 8 байт пакета USB) при цене по деталям в 300 р. можно сделать и два контроллера. Я надеюсь на неделе написать оба варианта, там собственно правка минимальна, только на прервания обмен по EP1 переставить еще надо, а все это -- время...
    Ну тоже вариант. Хотя мне РУД-РУС-Педали видятся ввиде комплекса.... но твои рассуждения вполне рациональны. Еслиб я что-то смыслил в этом, я бы себе два таких контроллера спаял...

  15. #15

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от =М=Михалыч
    Ну тоже вариант. Хотя мне РУД-РУС-Педали видятся ввиде комплекса.... но твои рассуждения вполне рациональны. Еслиб я что-то смыслил в этом, я бы себе два таких контроллера спаял...
    Я надеюсь вскоре нарисовать и выложить на сайт полную схему и дописать прошивку, а так же фотографии собранного на макетной плате контроллера, чтобы любой мог для себя это повторить. Тем более, что мне удалось с помощью нескольких дополнительных подстроечных резисторов получить честные 10 бит на 5-ти осях при угле поворота резистора 10-15 градусов и шума практически нет. 10-битный газ и тормоз (пальцевые педали :-) в Need4Speep 5 позволил, например, проходить повороты "силовым скольжением", хотя NFS5 -- на 80% аркада...
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  16. #16
    Забанен Аватар для catfish
    Регистрация
    22.11.2001
    Адрес
    Moscow
    Возраст
    42
    Сообщений
    1,250

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от =М=Михалыч
    пять осей не хватит. я например использую микроджой для обзора - 2 оси. + тангаж+крен+ рысканье+тяга+тримервысоты+ тример элеронов+триммер руля поворота+ шаг винта+ тормоз И того 10 наименований которые можно использовать в Ил2... конечно не всем столько нужно, но на меньшее ориентироваться врядли имеет смысл - в обычных джоях тогда всё что нужно есть...
    Также мне интересно использование тумблеров вместо кнопок...
    И шо, все оси в РУСе?
    Ведь нет.
    А для РУДа нужно делать отдельный контроллер.
    Вот и будет у тебя по 5 осей в каждой руке.

  17. #17
    Забанен Аватар для catfish
    Регистрация
    22.11.2001
    Адрес
    Moscow
    Возраст
    42
    Сообщений
    1,250

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    2 ippow

    А автокалибровка будет?

  18. #18

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от catfish
    2 ippow

    А автокалибровка будет?
    Нет. Лень, не хочется, да и не очень то она и нужна, по моему.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  19. #19
    Забанен Аватар для catfish
    Регистрация
    22.11.2001
    Адрес
    Moscow
    Возраст
    42
    Сообщений
    1,250

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от ippow
    Нет. Лень, не хочется, да и не очень то она и нужна, по моему.
    Автокалибровка - довольно удобная штука

  20. #20

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Всех с Днем Победы!

    Выложил на сайт http://artjoy.narod.ru схему и прошивку с исходниками для контроллера 8 осей, хатка и 12 кнопок на матрице 4х3 с настраиваемой в железе чувствительностью осей. Ошибки в прошивке поправлены (новые, возможно, наляпаны, но работает), добавлена рыба для прерываний, контроллер переводится в sleep mode на время преобразования ADC для уменьшения шумов, честная USB 2.0 и т.п мелочи. Написал даже методику настройки для получения честных 10-ти бит на все оси.

    Пользуйтесь, всем удачи и голубого неба. Если кто соберет, то отпишитесь сюда, любопытно все-таки...

    P.S. Фотки контроллера и макетного монтажа, а также пальцевых педалей и руля для автогонок тоже выложил.
    Крайний раз редактировалось ippow; 09.05.2006 в 21:24.
    Вокруг идет бой, а в пилотской кабине —
    — спокойно горит сигнальное табло «велик темп дачи педали».

  21. #21
    Зашедший
    Регистрация
    04.03.2005
    Возраст
    50
    Сообщений
    40

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Супер! Спасибо!
    Побежал искать пик... Тьфу ты - ночь на дворе... Придется с утра.

  22. #22

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Цитата Сообщение от ippow
    Всех с Днем Победы!

    Выложил на сайт http://artjoy.narod.ru схему и прошивку с исходниками для контроллера 8 осей, хатка и 12 кнопок на матрице 4х3 с настраиваемой в железе чувствительностью осей. Ошибки в прошивке поправлены (новые, возможно, наляпаны, но работает), добавлена рыба для прерываний, контроллер переводится в sleep mode на время преобразования ADC для уменьшения шумов, честная USB 2.0 и т.п мелочи. Написал даже методику настройки для получения честных 10-ти бит на все оси.

    Пользуйтесь, всем удачи и голубого неба. Если кто соберет, то отпишитесь сюда, любопытно все-таки...

    P.S. Фотки контроллера и макетного монтажа, а также пальцевых педалей и руля для автогонок тоже выложил.

    Спасибо!

  23. #23

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Вопрос впринципе не конкретно по artjoy, а вообще по работе в виндоусе HID-джойстиков: какое максимальное количество кнопок она (винда) видит на джое??
    Уже вроде говорилось что винда не видит больше 8 осей, может и тут какое-то ограничение? Есть у кого инфа по этому поводу?
    А то что-то больше 32-х кнопок никак видеть не хотит Или может она просто не показывает это. Каким софтом тогда можно поподробней посмотреть?
    Крайний раз редактировалось dd2; 25.06.2006 в 19:15.

  24. #24
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Windows просто не показывает остальные кнопки. Посмотреть можно, например, маппером от МинДога - http://www.mindaugas.com/software/MJ...er/MJMInst.zip
    Есть еще одна засада при работе с конкретной игрой - версия SDK от DirectX, например, DX8 их не видит, а уже 9 - видит.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  25. #25

    Ответ: USB 2.0, 10 бит контроллер джойстика на Микрочипе -- схема и прошивка

    Спасибо, Рик! Увидел MJM мои 40 кнопок
    А вот ни Ил, ни Newview, ни др. проги не хотят

Страница 1 из 6 12345 ... КрайняяКрайняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •