PDA

Просмотр полной версии : TrackIR Еще одна альтернатива или Сделай сам



Alezz
11.10.2002, 17:55
Сейчас в разработке находится устройство, которое можно назвать виртуальной мышью. Устройство теоретически должно полностью эмулировать обычную мышь, таким образом должна отпасть проблема с несовместимостью с различным ПО (даже под Линуксом должно пойти). Разрабатывается изначально как замена ТракИРу именно в Ил-2, т.к. других игр я не запускаю.
Принцип работы прост- на монитор вешаем излучающий контур (30кГц, мощность пока не известна, ?? мВт) и четырьмя направленными катушками измеряем мощность принимаемого излучения (2 катушки- горизонталь, 2 катушки- вертикаль). По разнице мощностей принимаемого сигнала судим об угле поворота. Естественно максимальный анализируемый угол поворота в такой системе составит 45 градусов в каждом направлении (ИМХО вполне достаточно). Микроконтроллер выступает в качестве высокоскоростного АЦП а также выдает в порт обработанную информацию. Все.. ;)
Схемное решение: напряжение с катушек поступает на 4-ре независимых усилителя (выполняющих и роль детекторов одновременно). Детектированный сигнал поступает на аналоговый коммутатор а уже оттуда на микроконтроллер. Вторая часть схемы- управляемый генератор. Пока в качестве усилителя выступает УН14. Мощность генератора будет меняться автоматически микроконтроллером в зависимости от удаленности приемника от излучателя.

ЗЫ Коммерческое изготовление устройства пока не планируется

Alezz
11.10.2002, 17:56
Рисунки низкого качества, сорри, но я не в КБ работаю :)

Klop///
11.10.2002, 18:10
Принцип работы прост- на монитор вешаем излучающий контур (30кГц, мощность пока не известна, ?? мВт) и четырьмя направленными катушками измеряем мощность принимаемого излучения (2 катушки- горизонталь, 2 катушки- вертикаль).

Мозги не поджаришь?

Alezz
11.10.2002, 19:51
Во первых излучатель на мониторе, во вторых тебе самому не страшно наушники одевать? Ведь там 20кГц и до мозгов поближе #:D :D Да и монитор у многих еще не ЖК... Не пугает?

Хотя вопрос дельный, возможно кто-нибудь и объяснит чего мне следует бояться...

Klop///
11.10.2002, 20:50
Например людям с электростимуляторами сердца точно нельзя. У меня ворот на работе стоят, не думал что таких людей часто встретить можно, а можно оказывается.

Воще все зависит от мощности наверно, в наушниках она никакая, а тут надо чтоб излучение еще и до головыы доставало, наверно мало не получится. Но это надо какие-нибудь санитарные нормы смотреть(СанПиН)

Alezz
11.10.2002, 21:35
наверно мало не получится. Но это надо какие-нибудь санитарные нормы смотреть(СанПиН)
Очень интересно посмотреть на такие нормы. Естественно мощность будем делать как можно меньше- голова то своя ;) Хотя 30кГц для здоровья ИМХО безопасно- частота ультразвука.

Glass Eagle
11.10.2002, 22:09
Нормы, правила... Слишком сложно, ИМХО. Хотя, наверно, работать будет. Как занятие для талантливого радиолюбителя/профессионала вполне пойдет. Качество схемы (картинки) нормальное (куда лучше #то? - мы здесь все свои #:D )
Дорогой друг, если Вы всерьез займетесь этой штукой - рискуете месяца на два забросить собсно полеты на Иле. У меня такое было, когда взялся люфт у джоя устранять и резюки модернизировать - недели три в воздух не поднимался, чуть квалификацию не потерял  ;) (а она у меня и так - так себе)

gogoblin
11.10.2002, 22:27
Не совсем понятно , мощность планируется мерять как функцию а)пространственного затухания сигнала б)произведения диаграмм направленности приемной и передающей катушек?
Или я не совсем понял геометрию процесса , или в данном случае должна получиться достаточно сложная зависимость угол поворота - мощность. Плюс зависимость от смещения.
 Если свойства приемного тракта будут не хуже , чем в детекторном радиоприемнике , соответственно и потребная мощность сигнала будет на уровне радио - при таком же ущербе для здоровья.
В любом случае желаю удачи.

Alezz
11.10.2002, 22:40
Не совсем понятно , мощность планируется мерять как функцию а)пространственного затухания сигнала б)произведения диаграмм направленности приемной и передающей катушек?
Или я не совсем понял геометрию процесса , или в данном случае должна получиться достаточно сложная зависимость угол поворота - мощность. Плюс зависимость от смещения.

Вариант б- направленность приемной и передающей катушек. И так как катушек пара, для каждой плоскости, угол поворота будет вычислятся как разность напряжений. Таким образом измеряется не абсолютная мощность (головой взад-вперед водить можно) а относительная.
Качество приемного тракта будет не хуже радиоприемника, это уж точно :)

gogoblin
12.10.2002, 00:27
Если я правильно понял - 1.приемные катушки в паре повернуты друг относительно друга на 90градусов.
2. Размер передающей катушки достаточно мал чтобы считить источник точечным. 3.Расстояние источник-приемник значительно больше расстояний между приемниками.Чем дальше - тем лучше.
 Тогда все верно. И можно даже регулировку мощности убрать - имхо.
 Есть просто сугубо личное предубеждение против измерений мощности - пусть даже относительных. Довольно "грязный" в смысле информативности параметр - опять же имхо. Может лучше разность фаз? Что-нибудь с длиной волны порядка 30см. Тот же ультразвук.
А почему именно 30кГц? Выше и шумы меньше , и стабилизировать схему по частоте проще , как мне кажется. Это не критика - просто мысли вслух заинтересованного лица.

Alezz
12.10.2002, 12:00
1. Верно
2. Не верно, наоборот мы пробовали с большими излучателями (по периметру комнаты) чтобы создать однородное поле, однако ограничелись по периметру монитора.
3. Верно

А как по изменинию направления катушек изменится фаза? Уровень изменится точно.

Частота 30кГц оказалась несколько заниженной, сейчас пришлось поднять до 80кГц, чтобы катушки были в резонансе. В этом случае помехи на уровень сигнала практически не влияют

gogoblin
12.10.2002, 18:31
Как я понимаю , все катушки , а точнее резонансные контуры должны быть настроены на заданную частоту - в том числе и излучающий?
 Если расстояние до источника достаточно велико , можно считать волну плоской - чего Вы и добиваетесь. Может , проще передающую катушку взять аналогичную приемным - только отнести на метр за монитор?
 УЗ - механическая волна , соответственно берем ненаправленный (в идеале) датчик. Усиливаем сигнал до упора - получаем меандр с цифровыми уровнями. Подаем пару сдвинутых меандров (сдвиг пропорционален разности путей от источника до датчиков) на логическое "И" или "ИЛИ" - получаем сигнал со скважностью пропорциональной сдвигу фаз независимо от амплитуды входного сигнала. Дальше дело вкуса - к примеру ставим интегратор на ОУ и переводим длительность в напряжение.
 Или в цифре модулируем его сигналом более высокой частоты. У полученных пачек импульсов считаем разность количества этих импульсов в последующих пачках и подаем их прямо на входы мышиной микросхемы вместо сигналов фотодиодов. Звучит может и страшновато , но на практике реализуется довольно просто. Тогда можно вообще обойтись без АЦП , контроллера итп. Частотой заполняющих импульсов тогда можно напрямую регулировать чувствительность устройства.
 Если выразился невнятно - прошу извинить.
Я тут недавно получил магниторезисторы - так что пока занимаюсь РУСом. Потом тоже попытаюсь что-нибудь сваять. И всенепременнейше желаю успехов. Как говорил ГОРБАТЫЙ - "на святое дело идем..."

Alezz
12.10.2002, 20:07
уровнями. Подаем пару сдвинутых меандров (сдвиг пропорционален разности путей от источника до датчиков) на логическое "И" или "ИЛИ" - получаем сигнал со скважностью пропорциональной сдвигу фаз независимо от амплитуды входного сигнала. Дальше дело вкуса - к примеру ставим интегратор на ОУ и переводим длительность в напряжение.

Что то меня терзают смутные сомнения на счет сдвинутых меандров- это же какая разница расстояний должна быть между парами: источник-приемник1 и источник-приемник2, чтобы при скорости света уловить разность фаз? Имхо на голове придеться закрепить коромысло  :D хотя может я и ошибаюсь... А вообще приведенная схема практически собрана, поэтому менять что-то кардинально неохота. :(



Я тут недавно получил магниторезисторы - так что пока занимаюсь РУСом. Потом тоже попытаюсь что-нибудь сваять. И всенепременнейше желаю успехов. Как говорил ГОРБАТЫЙ - "на святое дело идем..."
Где взял, по чем? Каковы параметры?

gogoblin
12.10.2002, 21:33
Сорри , я наверное неясно выразился. Я говорил о длине волны порядка 30 см. Именно столько - чтобы в крайних положениях головы разность путей до приемников была меньше длины волны. В случае электромагнитных это около 1 ГГц , в случае механических (т.е.звук) около 1 кГц. Насчет ультразвука это я конечно загнул - не посчитав ляпнул. А на слышимом звуке даже проще - с датчиками нет проблем.
 Да , помечтать не вредно. Ну и конечно , по любому лучше доделать начатое - тут я обеими за.
 Магниторезисторы HMC 1501 брали в Москве , сеть магазинов "Чип и Дип" от www.platan.ru. Оказии в Минск месяц ждал. 440р кажется. Параметры сравнить не с чем - а абсолютные величины есть в сети. Скажем так - к.усиления по напр.45раз , рабочий режим насыщения достигается с магнитом от мебельной защелки и зазором менее 7мм. Сигнал чистый. В прайсе есть аналог от Infineon - GMR B6 - по 110 RUB - но не было в наличии (подозреваю , искать поленились).

Alezz
14.10.2002, 16:50
Устройство- вид изнутри (печатная плата плюс приемные контура)

Bebson
14.10.2002, 21:22
И что, работает?

Alezz
14.10.2002, 21:31
И что, работает?
:D Пока нет... Еще не собрано до конца даже, я же говорил в течении месяца. Это, так сказать, девелопмент апдейт

screw
16.10.2002, 15:44
Афигеть :D Ил-2: Штурмовик - двигатель прогресса. Так, глядишь, родится куча новых стандартов для манипуляторов. А все из-за того, что мышь левой рукой двигать неудобно :D

Maza
16.10.2002, 21:48
Афигеть :D Ил-2: Штурмовик - двигатель прогресса. Так, глядишь, родится куча новых стандартов для манипуляторов. А все из-за того, что мышь левой рукой двигать неудобно :D
А правой ногой само то  :D :D

Alexandr Rybnikov
16.10.2002, 22:51
или эта... :( точкой приземления

operok
17.10.2002, 12:16
Ничего, мы им еще покажем что могут истинные вирпилы. Мы это, мы эволюционируем и поколений через пять отрастим еще одну правую руку чтобы мышкой оглядываться удобно было бы. Так что вперед, как завещал великий Дарвин...

saddam
18.10.2002, 14:27
Магниторезисторы HMC 1501 брали в Москве , сеть магазинов "Чип и Дип" от www.platan.ru. Оказии в Минск месяц ждал. 440р кажется. Параметры сравнить не с чем - а абсолютные величины есть в сети. Скажем так - к.усиления по напр.45раз , рабочий режим насыщения достигается с магнитом от мебельной защелки и зазором менее 7мм. Сигнал чистый. В прайсе есть аналог от Infineon - GMR B6 - по 110 RUB - но не было в наличии (подозреваю , искать поленились).

Слушай, друг, ну и как успехи? Ты поделись результатами, как оно у тебя работает :)
А схемку какую с магниторезисторами используешь, откуда взял?

gogoblin
21.10.2002, 23:09
Успехи так себе. Сам датчик работает отлично. Сопряжение с портом - не нравится мне. Схема похожа на http://www.infineon.com/cmc_upload/0/000/012/100/AN_GMR_Joystick.pdf - по крайней мере в принципе. Я уж и плату вытравил- набил - подключил - да больно нелинейность лошадиная. Проблема в том , что источник тока , используемый в выходном каскаде , подобен резистору только в области сравнительно больших сопротивлений - то есть малых токов. Хочешь получить линейную характеристику - выбрасывай где-то треть диапазона. Попробую внести корректирующую нелинейность. А может и так сойдет:).

saddam
22.10.2002, 12:43
Спасибо за ответ !!!
Да, блин, столько наворотов - и нелинейность :(.
Но с другой стороны, может ее надо бороть с помощью настройки кривой отклика, котороую дают возможность почти все современные симы   :confused:

LazyCamel
22.10.2002, 12:48
Успехи так себе. Сам датчик работает отлично. Сопряжение с портом - не нравится мне. Схема похожа на http://www.infineon.com/cmc_upload/0/000/012/100/AN_GMR_Joystick.pdf - по крайней мере в принципе. Я уж и плату вытравил- набил - подключил - да больно нелинейность лошадиная. Проблема в том , что источник тока , используемый в выходном каскаде , подобен резистору только в области сравнительно больших сопротивлений - то есть малых токов. Хочешь получить линейную характеристику - выбрасывай где-то треть диапазона. Попробую внести корректирующую нелинейность. А может и так сойдет:).


Извини за хамство.. ты обратную связь у операционников пересчитал для НМС ?

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

И операционники с rail-to-rail выходами, по крайней мере последние, что источник тока составляют.


PS: Если ничего не пересчитывал - не удивительно...
у НМС1501  120мВ и 5 кОм
у В6 200-400 мВ и 700 Ом.

gogoblin
22.10.2002, 22:36
Извини за хамство.. ты обратную связь у операционников пересчитал для НМС ?

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

И операционники с rail-to-rail выходами, по крайней мере последние, что источник тока составляют.


PS: Если ничего не пересчитывал - не удивительно...
у НМС1501 #120мВ и 5 кОм
у В6 200-400 мВ и 700 Ом.

Дык какое же хамство? За совет только благодарить надо и в ноги кланяться:).
 Пересчитывать не пересчитывал - просто снял характеристику. Она то линейная во всем диапазоне - по току то есть. Мерял по падению напряжения на выходном резисторе с подключенным портом. Именно эта линейность по току и воспринимается портом криво - по упомянутым ранее причинам как я их понимаю. А именно - линейное изменение тока в области больших токов отображается в свойствах джоя крайне тупо. И оно логично - поскольку связь тока и сопротивления здесь сильно нелинейна.
 Исследуемая схема подобна упомянутой , но не идентична. То что изображено по ссылке Инфинеона существовало скорее всего только на бумаге. Чтобы влезть в диапазон с приемлемой линейностью потребовался Кус в первом каскаде около 3. Входные сопротивления имхо маловаты. Смещение у НМС лучше подавать по другому итд.
 Возможно это неважно - но интегратор наверное упомянут для случая с подключением конденсатора?
 И если можно подробнее о последнем абзаце - к каким резисторам относятся номиналы и исходя из чего рассчитывались.

gogoblin
22.10.2002, 23:59
To LazyCamel
Сказанное о нелинейности по идее должно относиться и к схеме с акселерометром из ветки об энкодерах. Ничего похожего замечено не было?
Уточню - линейность очень даже не плоха если верхняя четверть движка в свойствах некалиброванного девайса остается нерабочей.

LazyCamel
23.10.2002, 07:55
Возможно это неважно - но интегратор наверное упомянут для случая с подключением конденсатора?
И если можно подробнее о последнем абзаце - к каким резисторам относятся номиналы и исходя из чего рассчитывались.

По поводу интегратора - в связи стем что источник тока на ОУ практически идеальный - от и интегратор в виде С которое содержится в гемпорту тоже должно быть близко к идеальному.

По поводу резисторов - это их внутренние сопротивления и максимальные изменения напряжения на них. Из даташитов.

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

Для геймпорта - попробуй все таки уменьшать ток, пусть лучше драйвер смасштабирует.

Такое впечатление что он у тебя достаточно близко подобрался к 2.3-2.5 мА. Убавь чтобы максимальный был не больше 2 мА.

Лично я выкидывал из той схемы почти все, оставался инструментальный усилитель на трех ОУ + 1 на источник тока - как раз один корпус счетверенных усилков.

gogoblin
23.10.2002, 18:02
Ток меньше 1мА. Уменьшить его - не проблема. За динамический диапазон обидно - своими руками шумы увеличивать не хотелось. А схема  у меня - 2 ОУ на канал.

LazyCamel
24.10.2002, 10:34
Ток меньше 1мА. Уменьшить его - не проблема. За динамический диапазон обидно - своими руками шумы увеличивать не хотелось. А схема #у меня - 2 ОУ на канал.


Источник тока точно хотя бы 4В выдать может ?
Операционник какой ?

gogoblin
24.10.2002, 13:37
To LazyCamel
 Вопросы и советы полезные и правильные если цель - сделать хороший источник тока.
 Я говорю о другом. Ток и сопротивление связаны кривой по имени , если склероз не подводит , гипербола. Аппроксимировать прямой ее можно в определенных областях. Берем характерные точки в 2,52,102кОм и считаем токи для U=5В. Получаем 2500,96,49мкА. Кривее бывает - но редко. Вот и получается , что для относительной прямизны надо или ограничивать диапазон , или кривить ВАХ - то есть строить функциональный преобразователь. Рад был бы услышать другие соображения.

LazyCamel
24.10.2002, 14:37
To LazyCamel
Я говорю о другом. Ток и сопротивление связаны кривой по имени , если склероз не подводит , гипербола. Аппроксимировать прямой ее можно в определенных областях. Берем характерные точки в 2,52,102кОм и считаем токи для U=5В. Получаем 2500,96,49мкА. Кривее бывает - но редко. Вот и получается , что для относительной прямизны надо или ограничивать диапазон , или кривить ВАХ - то есть строить функциональный преобразователь. Рад был бы услышать другие соображения.


Ток и сопротивление повязаны все же прямой.

Кривой в гейм-порту повязаны напряжение/время/ток.

Т.к. там режется напряжение где-то в районе по .707 - сильных отклонений быть не должно.

По крайней мере источник тока на резисторном делителе обладает явно хужей линейностью по сравнению с ОП.

То что в драйвере аналогового джойстика у Винды компенсации нелинейности отклика нет - я отвечаю.

То что схема таймера на основе 555 нелинейность не компенсируеи я тоже больше чем уверен.

Ерго - если есть СИЛЬНАЯ нелинейность - крути схему, где-то косяки.

gogoblin
24.10.2002, 20:38
To LazyCamel
 Может мы о разных предметах говорим?
 У меня такое иногда бывает - переклинит и хоть убейся - очевидных вещей не замечаю. Может и сейчас такой случай?
 1.Берем закон Ома и фиксируем напряжение. Получаем ток как обратную функцию сопротивления. y=c/x - это разве прямая?
 Или зайдем с другой стороны. Прямая - если имеет наклон - пересекает оси координат в точках с вполне конечными значениями. То есть при конечном сопротивлении можно получить нулевой ток? И наоборот?
 2.Приведенный расчет токов существенно ошибочен?
 3.Рассчитанные токи можно положить на прямую?

 Если постоянная времени RC цепи линейно зависит от R , то никакой компенсации в геймпорте и не должно быть - ни аппаратной , ни программной  - имхо , естественно.

LazyCamel
28.10.2002, 10:29
To LazyCamel
Может мы о разных предметах говорим?
У меня такое иногда бывает - переклинит и хоть убейся - очевидных вещей не замечаю. Может и сейчас такой случай?
1.Берем закон Ома и фиксируем напряжение. Получаем ток как обратную функцию сопротивления. y=c/x - это разве прямая?
Или зайдем с другой стороны. Прямая - если имеет наклон - пересекает оси координат в точках с вполне конечными значениями. То есть при конечном сопротивлении можно получить нулевой ток? И наоборот?
2.Приведенный расчет токов существенно ошибочен?
3.Рассчитанные токи можно положить на прямую?

Если постоянная времени RC цепи линейно зависит от R , то никакой компенсации в геймпорте и не должно быть - ни аппаратной , ни программной - имхо , естественно.

можно просто прикинуть...

Если меня не подводит память уравнение
e-RC

Т.е. кривая - экспонента, и где-то до 2х вольт - она практически идеально повторяет, при 3.3 - ошибка тоже небольшая. А дальше уже нас не волнует...

Spectat0r
28.10.2002, 13:32
http://www.gyration.com/ultra.htm еще можно к голове прикрутить .
Только мне кажется все это как то не очень пока приходится смотреть в станционарный монитор , вот с шлемом или очками - рулез немеренный будет. (только вот очки щас полтора касаря стоят :(  )

Bebson
28.10.2002, 21:01
Я бы немного по-другому дал ссылку - http://www.gyration.com/gyrogaming.htm

Dark Mechanicus
09.09.2004, 23:38
Вопрос к автору: каковы результаты вашей работы по созданию второй пары фотодатчиков, т.е. вертикальной приёмной оси? С нетерпением жду ответа, поскольку считаю ваш вариант "Трекира" самым удачным и "изготовитебельным" :)