roboforum.ru

Технический форум по робототехнике.
Текущее время: 04 дек 2024, 13:26

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Игровой джойстик
СообщениеДобавлено: 18 мар 2007, 18:21 
Не в сети

Зарегистрирован: 18 мар 2007, 02:16
Сообщения: 11
Откуда: Московская область
Решия я использовать для управления роботом стандартный компьютерный игровой джойстик и столкнулся с рядом проблем:
Я взял джойстик подключаемый к game порту на звуковой карте. Как выяснилось, такие джойстики никакой электронной начинкии вообще не имеют. На каждой оси стоит по одному подстроечному резистору, таким образом, что при сдвиге джойстика сопротивление меняется примерно от 0 до 100КОм. Эти резисторы подключены непосредственно к разъему.

С помощью АЦП на АВР контроллере научился считывать данные о сопротивлении(данные с ац - числа примерно от 0 до 600).
Основная проблема с которой столкнулся - крайне низкое качество получаемых данных. Джойстик "скачет", управлять таким не представляется возможным...
попробовал брать среднее значение нескольких измерений для большей точности и плавности - помогло но не сильно...

Собственно хотел спросить, использовал ли кто-то аналогичный джойстик, как результаты?

И еще - существуют аналогичные USB джойстики, конечно их использовать былобы удобнее, да и качество там скорее всего лучше.
Но как подключить их к микроконтроллеру я без понятия...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 мар 2007, 18:35 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
вот зто настораживает:
Цитата:
(данные с ац - числа примерно от 0 до 600)


По нормальному должно быть 0-1023,
как подключен резистор джойстика к вашей плате?
Так?
Код:
 +------- +5V
 |
 П
 П<------ ADC_IN
 П
 |
 +------- GND


Что используете в качестве опорного напряжения АЦП?
Данные всеравно будут скакать, но не должно превышать 1ого (макс 2х) разряда(ов)
Иначе у вас какойто косяк, да и телепатов тут нет, код в студию :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 мар 2007, 18:51 
Не в сети

Зарегистрирован: 18 мар 2007, 02:16
Сообщения: 11
Откуда: Московская область
Vooon писал(а):
вот зто настораживает:
Цитата:
(данные с ац - числа примерно от 0 до 600)


По нормальному должно быть 0-1023,
как подключен резистор джойстика к вашей плате?
Так?
Код:
 +------- +5V
 |
 П
 П<------ ADC_IN
 П
 |
 +------- GND


Что используете в качестве опорного напряжения АЦП?
Данные всеравно будут скакать, но не должно превышать 1ого (макс 2х) разряда(ов)
Иначе у вас какойто косяк, да и телепатов тут нет, код в студию :)

нет, подключается не так,
Код:
 +------- +5V
 |
 П
 П<--
 П   |
      |
  --------- ADC_IN
 |
 #
 # резистор около 100Ком
 #
 |
 +------- GND


Такое подключение, потому что с джойстика на каждый резистор идет только 2 провода, между которыми меняется сопротивление.

Опорное напряжение - напряжение питания 5В.

В выкладывании кода смысла не вижу, тк проблема не в нем.
Если я подключаю вместо джойстика обычный подстроечный резистор, то все меняется достаточно плавно - как надо.
Основной вопрос - всели джойстики такие или у меня он просто очень низкого качества? Если все, то как боротся?
Ну и вопрос с USB остается открытым...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 мар 2007, 19:12 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 09 фев 2006, 15:36
Сообщения: 3339
Откуда: Москва
Skype: vooon341
прог. языки: Python, C, Bash, JavaScript, C++, PHP
ФИО: Владимир Ермаков
тогда вам лучше уменьшить опорное, например запитать от внутреннего ИОН (если он есть в вашем чипе)
и подобрать номинал нижнего резистора (заменить думаю не проблнма)
Чтобы код ацп изменялся от 0 до 1023 (несколько вырастет чувствтельность)
проверьте питание, попробуйте загонять проц в слип на время измерения

На счет USB скажу лиш - а оно вам надо???
подрубить к КПК/ноуту/ПК легко а вот к АВРке это проблема, хотябы
потому что нужно сделать USB-хост, да еще с HID разобраться! Вы к
этому готовы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 18 мар 2007, 19:37 
Не в сети

Зарегистрирован: 18 мар 2007, 02:16
Сообщения: 11
Откуда: Московская область
Vooon писал(а):
тогда вам лучше уменьшить опорное, например запитать от внутреннего ИОН (если он есть в вашем чипе)
и подобрать номинал нижнего резистора (заменить думаю не проблнма)
Чтобы код ацп изменялся от 0 до 1023 (несколько вырастет чувствтельность)
проверьте питание, попробуйте загонять проц в слип на время измерения

Да точности хватает...
Не хватает качества джойстика...
Vooon писал(а):
На счет USB скажу лиш - а оно вам надо???
подрубить к КПК/ноуту/ПК легко а вот к АВРке это проблема, хотябы
потому что нужно сделать USB-хост, да еще с HID разобраться! Вы к
этому готовы?

Коенчно не надо, но если уже есть готовое решение, то не откажусь  :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 21 мар 2007, 00:17 
Не в сети

Зарегистрирован: 18 мар 2007, 02:16
Сообщения: 11
Откуда: Московская область
Взял другой джойстик, он оказался намного качественее, впринципе его точности более чем достаточно.
Если кто заинтересован могу чуть позже выложить коды


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO