12/04/2006 USB 2.0 10 бит джойстик на 18f2550 -- схема и исходники на С. Обновлено 10/05/2006
На страничке файлы лежит прошивка моего собственного изготовления для USB 2.0 джойстика (joystick) на pic18f2550.
Схему, со встроенным программатором на 1 (одном) транзисторе кт315, выложу попозже (Уже, см. ниже).
Программа для прошивки контроллеров PIC, очень хорошая, лежит вот здесь:
ссылки
Чтобы купить pic18f2550 или 18f4550, надо позвонить в Центр технической поддержки Микрочип, компанию "Тритон"
Они могут посоветовать, где контроллер есть в Москве. По выходным на Митинском рынке есть точка, но надо на неделе сначала позвонить в "Тритон" и заказать микросхему.
Про Orbiter и как добиться хорошей точности при малых углах малыми же усилиями попозже выложу... (Подсказка: "Низковольтный однополярный ОУ".
Измерительный мост я пробовал, но очень уж он требователен к питанию)
Реально все оказалось гораздо проще :-0 (Опять же, см. ниже).
А теперь загрузить чего-нибудь... (Прошивку, например)
А вот и схема (пока только встроенного программатора)
Интерфейсный файл к WinPic -- "SimpleResLVPOnLptPort.ini", должен быть помещен в папку Interfaces и выбран в программаторе
[Info]
Purpose=One transistor LVP on parallel port
[ProgrammerControlLines]
DataIn=ack
OkButton=nc
VppOnOff=D7
VddOnOff=nc
Connect=nc
ClockOut=D4
DataOut=!D5
DataOutWhileReading=1
PullMclrDown=nc
ClkEnable=nc
OutEnable=nc
RedLed=nc
GreenLed=D6
Есть одна маленькая засада: На выводе ACK у моего "LPTнаМаме" почему-то сидит примерно 2.6в,
поэтому, хотя контроллер прекрасно прошивается и читается,
WinPic пишет, что не может опознать программатор. Не обращайте на это внимания, как я.
Теперь схема собственно джойстика 8 осей, хатка и 12 кнопок
Прошивка, как обычно, лежит на страничке с файлами.
Схема подключения датчиков осей и резисторов настройки чувтсвительности осей (Rref & Radjust)
Сама идея добиться таким образом полной разрядности по всем осям при неполных (и разных) углах поворота резисторов
не моя, а принадлежит одному хорошему человеку.
Схема подключения кнопок и хатки
После того, как контроллер собран и проверен, надо настроить
чувствительность осей, для получения реальной разрядности в 10 бит по всем осям,
при условии, что резисторы датчиков осей, как правило, поворочиваются лишь на долю
полного хода.
Методика настройки чувствительности осей такая:
1. Подключаем все резисторы осей к контроллеру, движки резисторов R adjust при этом
выводим в крайние положения (к земле и VDD, соответственно), чтобы исключить их влияние на начальном этапе.
Неиспользуемые оси закорачиваем на землю.
2. Включаем контроллер в USB.Запускаем любую программу чтения осей и добиваемся поворотом подстроечных резисторов
Vref+ и Vref- полного размаха отсчетов по оси с самым малым углом поворота резистора оси.
3. Подстройкой резисторов R adjust, не трогая резисторы Vref+ и Vref-, добиваемся полного размаха отсчетов по остальным
осям.
4. После прогрева контроллера настройку, возможно, придется немного уточнить или провести калибровку средствами Windows
для устранения мелких погрешностей.
Удачи и голубого неба!
Ах, да! Фоты контроллера и монтажа...