PDA

Просмотр полной версии : USB контроллер на Микрочипе



lbodnar
15.01.2006, 18:57
По просьбе многих, открываю новый тред отпочковавшийся от
http://www.sukhoi.ru/forum/showthread.php?t=24406&page=32&pp=25
----------------------------------------------------------------
Я тут практически закончил разработку USB контроллера для самодельщиков. Штука эта будет такая:

Модель 1:
http://www.lbodnar.dsl.pipex.com/joystick/
8 аналоговых входов по 10бит разрешения каждый
12 кнопок либо независимых, либо матрицей 6x6
(вариант 10 аналоговых 10битных входов + 10 кнопок или 5x5 матрица, но Win не видит больше 8 осей на одном джойстике, поэтому он будет виден под Виндами как два джойстика)


Модель 2:
6 квадратурных декодеров, два из которых с оцифровкой до скорости 150кГц (для кодеров типа 2000линий на оборот) с разрешением 20бит
8 цифровых кнопок

Модель 3:
100 кнопок в конфигурации матрицей 10x10.

Общие для всех трех:
Чип с 28 ножками в обычном DIP корпусе (Microchip PIC18F2550)
Все что нужно для подключения: 4MHz кварц, два конденсатора и USB разъем (или сразу кабель)
Питание от USB порта
Full-speed USB (12Mbit), частота обновления всех каналов - 1000 раз в секунду (период 1мсек)
Драйверы не нужны (стандартное устройство в Win/Mac/Linux)

Я не хочу делать плату контроллера потому что цены подкрадываются со спины: плата, кварц, сборка, упаковка, тестирование, etc.

Цена чипа: $15.

Где-то в середине года у меня будет просто ОДНА модель - чип, которых можно переключать в любую конфигурацию из интерфейсной программки под Win/Mac/Linux.

Честно говоря, я cтолько времени потерял с мышиными декодерами... это просто убийство времени, а результат - 30 импульсов на оборот. Самое мерзкое, что они теряют импульсы из-за фиговых сенсоров. Для мыши это не имеет значения, а в кодере после прогона 1000 импулсов в одну сторону обратно возвращаются только, например, 996, поэтому центровка джойстика постоянно дрейфует в процессе.

И тут я открыл глаза! Есть готовые декодеры типа http://www.encoder.com/model755a-shaft.html с разрешением 2000 импульсов на оборот (до 10000 если очень нужно) это уже что-то т.к. 2000 импульсов дают разрешение в 8000 позиций на оборот (считаем-то фронты). Аналоговые потенциометры отдыхают! Купить их можно на eBay за $20-30. Проблема в том, что если человек крутанет этот декодер (или все-таки энкодер?) с приличной скоростью, импулсы посыпятся с такой частотой, что даже хороший контроллер, если он еще хоть чем-то занят просто их не успевает обработать и все работа - насмарку, центровка опять съезжает. В ATMega16 нет USB контроллера, поэтому MJoy использует аппаратную работу с USB - разбирает его по битам и собирает обратно. Это занимает безумное количество времени и делает применение крутых кодеров невозможным. Собственно поэтому я и ввязался в то, что у меня получилось в итоге.

Идея такая - продавать самодельную плату типа MJoy16 людям, которые потом все равно все выходные с паяльниками сидят глупо. Поэтому я убиваю время над мудрым софтом внутри (USB - это не RS232!), а все остальное любой самодельщик может сделать буквально за 15минут и потратить на это $2-3. Вот такая вот идея.

Уффф, пальцы отваливаются!

P.S. Кстати, если все-же хочется сделать квадратурных кодер самому, то лучше раскурочить старый струйных принтер. Там часто используется осевой кодер на ~500 линий/оборот и линейный - такая прозрачная полоска с тоненькими линиями (720dpi?). Сенсоры (обычно Agilent) как бы обхватывают их и выдают уже хороший квадратурных сигнал TTL уровня. У них 4 ножки и им только нужно +5v для питания и все.

lbodnar
15.01.2006, 19:14
Я отправил пару образцов для тестов и, как не странно, все в один голос хотят аналоговые входы в первую очередь. Так что кодеры пока отошли на второй план.

Окончательный вариант версии с аналоговыми входами получился такой:

8 x 10-битных входов от резисторов 10к-100к
32 кнопки
HAT селектор вида (отдельные четыре кнопки)
частота отсчетов - 300Гц

Проверен под Виндами и Мас ОС Х. Краткие чертежики здесь -
схема подключения выводов (http://www.lbodnar.dsl.pipex.com/joystick/BU0836sch.png)
матрица кнопок (http://www.lbodnar.dsl.pipex.com/joystick/6x6.png)
USB разъем (http://www.lbodnar.dsl.pipex.com/joystick/USB-B.png)
просто переменник (http://www.lbodnar.dsl.pipex.com/joystick/pot.png)
Винды (http://www.lbodnar.dsl.pipex.com/joystick/W2000.png)
Мак (http://www.lbodnar.dsl.pipex.com/joystick/OSX.png)

Я, также, сделал модель с 10 аналоговыми входами и 25 кнопками, но из-за традиционного ограничения в DirectX на только 8 осей, пришлось один контроллер отображать как два виртуальных джоя - один с 6 осями, другой - с 4мя. Работает прекрасно, но как-то не нравиться мне. 8 осей и 32 кнопки, по моему - самое то.

В конце концов их можно несколько прицепить, т.к. у них у всех разные серийные номера. %)

Кстати, я заметил, что многие жалуются на большое время реакции высоко прецизионных джоев типа когуара. Я не знаю как они добиваются своей точности, но в реальности честный 15битный ацп требует супераккуратной аппартуры, чистейшего питания и стоит очень приличных денег. Даже 12битный ацп в джойстике уже вряд-ли нужен. Так что я подозреваю тут просто интерполяция где-то замешана.

Я тоже могу сделать точность в 15бит подмешав в оцифровываемый сигнал белый шум и просто сложив результат 32 измерений. Задержка времени реакции гарантирована! Кстати, я оцифровываю четыре раза и потом усредняю сохраняя 10бит точности, хотя можно было бы и до 12 раздуть. Сейчас за 2 миллисекунды вполне хватает времени четыре раза оцифровать 8 каналов, усреднить результаты, отсканировать кнопки и отправить результат в компьютер через USB. C честными 10 битами и 3 миллисекундами "задержки" можно жить. :thx:

lbodnar
15.01.2006, 19:21
Кстати, тут кто-то ссылку на дорогущий кодер приводил. Они бывают двух типов - разностные (квадратурные) и абсолютные.

Абсолютный кодер в любой момент может точно сказать свое текущее состояние, например +23469234. Разностный - только +1 и -1 да и то в квадратурном коде. Абсолютные кодеры напичканы умной электроникой, часто имеют внутри батарейку и часто подключаются через одну из промышленных шин (Fieldbus, CAN, и тп) хотя есть и монстры с 20 битным параллельным выходом. Они не только дороже, но и с ними труднее работать из контроллера, хотя и нет проблемы с потерей ипмульсов - контроллер всегда узнает точное положение кодера даже если он был занят чем-то другим (например, работал с USB)

Да, так вот ссылка была на абсолютный кодер, поэтому он такой и дорогой!

-=REA=-
15.01.2006, 20:22
Microchip PIC18F2550 - его прошивать надо?

sergeyk
15.01.2006, 23:19
Больше конроллеров шустрых и разных! :)

Я не очень понял принцип распространения проекта: полностью открытый? Аля MJoy8? Али прошивку/мс покупать надо?

А на счёт энкодеров не врубился: их можно приспособить? А из принтеров?
IMHO, на тримерах самое то, особенно относительные. Какое ещё применение?

lbodnar
15.01.2006, 23:42
Проект (пока, во всяком случае) не открытый т.к. его будущее не совсем ясно.

Что касается кодеров (как же они все-же по-русски правильно зовуться?!) из принтеров то нет никаких проблем - вот они, эти два из HP 2000 вытащены. Линейный очень удобен тем, кто гражданский штурвал делает. Серые полосы по краю диска и на полоске на самом деле это очень плотно расположенные штрихи. А у блока считывания четыре контакта - земля, +5в и два квадратурных выхода уже TTL уровня. Мечта самодельщика.

Как я уже писал, мне нужны кодеры, т.к. я делаю систему нагрузки штурвала, но люди мне стали писать - "хотим точно так-же, только с аналоговыми входами!" поэтому пришлось в первую очередь заняться этим вариантом...

Orion33
16.01.2006, 01:29
И сколько цена сего девайса вырисовывается?

lbodnar
16.01.2006, 01:36
И сколько цена сего девайса вырисовывается?
Пока - не более $15.

lbodnar
16.01.2006, 01:53
Вот для развлечения - два из моих кодеров. Первый - многооборотный абсолютный на 1024 позиций на оборот (кажется, несколько сотен оборотов.) Вывод позиции - последовательный синхронный интерфейс на скорости 125кбит. Каежется, его можно было перепрограммировать на 4096 поз/оборот т.к. физически там плотность штрихов именно такая внутри, просто он загрублен программно.

Второй - обычный квадратурный на 2000 импульсов. Да еще и в водонепронецаемом корпусе %)

Прошу заметить - абсолютный кодер выдает уже готовую вычисленную позицию, так что 1024 они и есть 1024 позиции, больше не выжать. У квадратурного на выходе две последовательности импулсьов, так что после декодирования точность отсчета увеличивается в четыре раза, так что 2000 импульсов превращаются в 8000 позиций.

Надеюсь, не утомил! :expl:

catfish
16.01.2006, 03:27
Больше конроллеров шустрых и разных! :)

Я не очень понял принцип распространения проекта: полностью открытый? Аля MJoy8? Али прошивку/мс покупать надо?

А на счёт энкодеров не врубился: их можно приспособить? А из принтеров?
IMHO, на тримерах самое то, особенно относительные. Какое ещё применение?

Больше-то оно больше, тока было бы лучше. Пока ничем конкретным от МJOY Миндога не отличается. Кроме одного - за прошивку еще даже сам автор не знает сколько запросит (((((

P.S. Матрица из диодов для кнопок - не самое правильное и технологичное решение.

Orion33
16.01.2006, 04:12
Пока - не более $15.
Дайте две! %)

Рассуждения на тему "1024 отсчета - это много или мало?"
Может не совсем по теме, но в соседней этот вопрос поднимался.

На какой угол отклоняется среднестатистическая палка? Напольники не в счет! 30 градусов. В сумме туда-сюда получается 60 град. Т.о. на один отсчет приходится примерно 0,06 град. или 0,06*pi/180 = 0,001 радиан.
Если отклонить ручку на такой угол, то наружная точка оси джоя совершит перемещение r*sin(0,001). r - радиус оси джоя. Для малых углов справедливо равенство sin(x) = x, поэтому величина этого перемещения составляет примерно 5*0,001 = 5 мкм (диаметр оси берется порядка 1см - на Еве такие. Если он меньше, то все гораздо хуже %)).
Из чисто логических соображений ясно, что механический люфт должен быть меньше, чтобы почувствовалось это перемещение...

ВНИМАНИЕ, вопрос! В каком серийном джое люфты меньше 5 микрон??? Правильно, таких джоев нет! %) И даже с 50мкм тоже нет. Минимум - 0,1 мм. То есть 128 значений более чем достаточно...

Вывод таков: не верным путем идете, товарищи! Механику надо сначала хорошую иметь!
:thx:

lbodnar
16.01.2006, 04:30
Рассуждения на тему "1024 отсчета - это много или мало?"Я вообще-то все это дело под штервал делал. На маленькой Цессне ход штурвала - 165мм вперед-назад и 90 градусов в обе стороны. При тихой погоде на посадке обычно крутишь его туда-сюда буквально градусов на пять. В следующий раз на машине будете рулить - посмотрите насколько на трассе руль отклоняется из двух полных оборотов. Так вот, 5 градусов от 180 составляет около 3%. Мне хочется чтобы это были плавные 3 процента а не как на лифте - вверх/вниз. "Плавные" означает состоять они должны из 25-30 шагов. Вот и получаем в итоге 1000 шагов на весь ход штурвала - это минимум для комфорта. Конечно, на штурмовиках можно и с 2 битным джойстиком летать делая ШИМ правой рукой. :D

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

А штурвал на кодере делается абсолютно элементарно без всякого люфта - сам кодер и является осью вращения и одной из опор штурвала. Там подшипники очень высого класса точности стоят без люфтов и нагрузку он держит киллограм 10-20. Еще один подшипник на ось крена ставится и все. С джойстиком - больше возни, это правда.

Ezdok
16.01.2006, 14:51
Дайте две! %)

Рассуждения на тему "1024 отсчета - это много или мало?"
Может не совсем по теме, но в соседней этот вопрос поднимался.

На какой угол отклоняется среднестатистическая палка? Напольники не в счет! 30 градусов. В сумме туда-сюда получается 60 град. Т.о. на один отсчет приходится примерно 0,06 град. или 0,06*pi/180 = 0,001 радиан.
Если отклонить ручку на такой угол, то наружная точка оси джоя совершит перемещение r*sin(0,001). r - радиус оси джоя. Для малых углов справедливо равенство sin(x) = x, поэтому величина этого перемещения составляет примерно 5*0,001 = 5 мкм (диаметр оси берется порядка 1см - на Еве такие. Если он меньше, то все гораздо хуже %)).
Из чисто логических соображений ясно, что механический люфт должен быть меньше, чтобы почувствовалось это перемещение...

ВНИМАНИЕ, вопрос! В каком серийном джое люфты меньше 5 микрон??? Правильно, таких джоев нет! %) И даже с 50мкм тоже нет. Минимум - 0,1 мм. То есть 128 значений более чем достаточно...

Вывод таков: не верным путем идете, товарищи! Механику надо сначала хорошую иметь!
:thx:



Я вот еще в догонку хочу спросить сколько бит та переменная которая отвечает за положение штурвала в Иле ???
Я могу с 200% уверенностью сказать что в FS эта переменная всего 8 бит и там хоть суй ему 16-ти битную переменную , все равно позициЙ ручки с симе будет 256 !!!... Как дела в ИЛ2 обстоят ? Ктонибудь считал количесво ступеней полного хода виртуальной ручки с кабине ? ПОвторю , что в FS - всего 256 ступенек на полный ход ЛЮБОЙ АНАЛОГОВОЙ ОСИ !.. ПОэтому что на входе сима из ви нды будет диапазон оси 1024 , что 65536 - все автоматом перемасштабируется в диапазон 256 ступенек..

Blek
16.01.2006, 16:17
если честно то я тоже пока не вижу существенной разници от миндоговского , энкодеры . вещь дорогая и не всем доступная , линейность . я уже говорил , на угловых датчиках она почти линейная , какойто процент не в счет . все одно крмвые отклика ставят свои , шумы ?7.. ну незнаю , что еще.. а х.з. ! как я вижу следующий вариант..
вариант для эстетов :) 2 оси на энкодерах (тока на осях джоя) остальные аналоговые , и самое главное ! возможность изменять кривые отклика на ходу !ведь согласитесь что каждый крафт требует сомх крмвых , да и ситуации разные , на посадке надо очень плавно рулить , бой по другому , бомбадировщик - третье , штурмовик . четвертое , гражданский - пятое , пусть это будет незначительное усложнение , или добавить опционально , тоесть потом в основную схему добавляеш чтото и она уже работает . ну и можно еще че добавить . типа индикации режима или номер загруженого профайла откликов

Orion33
16.01.2006, 16:43
Я вот еще в догонку хочу спросить сколько бит та переменная которая отвечает за положение штурвала в Иле ???
Я могу с 200% уверенностью сказать что в FS эта переменная всего 8 бит и там хоть суй ему 16-ти битную переменную , все равно позициЙ ручки с симе будет 256 !!!... Как дела в ИЛ2 обстоят ? Ктонибудь считал количесво ступеней полного хода виртуальной ручки с кабине ? ПОвторю , что в FS - всего 256 ступенек на полный ход ЛЮБОЙ АНАЛОГОВОЙ ОСИ !.. ПОэтому что на входе сима из ви нды будет диапазон оси 1024 , что 65536 - все автоматом перемасштабируется в диапазон 256 ступенек..
Я уже говорил и еще раз повторю: ручка - это одна модель, плоскости - другая, а отработка поведения - совсем другая. И у каждой имеет место быть своя дискретность.

lbodnar
16.01.2006, 20:22
Я вот еще в догонку хочу спросить сколько бит та переменная которая отвечает за положение штурвала в Иле ???
Я могу с 200% уверенностью сказать что в FS эта переменная всего 8 бит и там хоть суй ему 16-ти битную переменную , все равно позициЙ ручки с симе будет 256 !!!Я - железо делаю и мне не очень интересно какие у софта сейчас ограничения - это не должно стать тормозом прогресса.

Я точно знаю что под Mac OS X у X-Plane, например, как минимум 16-битное разрешение для всех осей. Вообще-то там плавающая точка с двойной точностью используется, поэтому если и есть какое ограничение - так это только ограничение выхода данных с HID устройства (не более 32 бит на одну переменную.) Хотя тот же X-Plane под Виндами почему-то с лету устанавливает пределы переменных в DirectInput в +-100 и т.к. результат используется в целочисленном виде, получаем всего 200 шагов. Я этот кусок кода долго смотрел, но так и не понял, зачем Остин это сделал - наверное он его сто лет назад написал, не зная, что DirectInput все сводит к целым числам, а т.к. это было под Виндами, то ему не особо на глаза попадалось потом. Я этот вопрос у него выясню.

Хотя, кто X-Plane видел, знают, что там любую переменную физики процесса можно вытащить из программы или туда же загнать либо через плагин либо через UDP. Я посылал 16битную позицию штурвала на кодере по сети через UDP и все было просто супер, как маслянное! Поэтому заметил глюк только после того как джойстик напрямую подключил. Так что кто очень хочет может написать программульку на питоне, которая считывает позицию джойстика и напрямую впрыскивает это в X-Plane с любым разрешением (на том же компьютере) - для многих это не составляет труда, нужно только один раз сделать. То же, наверняка, можно и в FS.

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

А то что я делаю я все равно не брошу, пусть оно никому и не нужно. :thx:

Ezdok
16.01.2006, 21:38
- железо делаю и мне не очень интересно какие у софта сейчас ограничения - это не должно стать тормозом прогресса.
---
Это понятно , порддерживаю и сам придерживаюсь такой политики. Софт-софтом , а жележо - совсем другая песня...

К чему весь разговор :
Наухо шипну общественности сухого - сейчас разрабатывается целый комплекс управляющего железа для FS .. Точнее для его части ПТ..
Хотелось бы его юзать не только в FS2004
Некоторые из скромных возможностей комплекса:

128 модулей по 8 10-ти битных осей. Общее количество осей - 128*8...
128 модулей кнопок/тумлеров. 1 модуль = 184 тумблера. общее количество кнопок в комплексе 128*184....

128 модулей стрелочных индикаторов. 1 модуль стрелочников = 20 приборов.
Общее количество стрелочных приборов 128*20....

128 модулей 8-ми сегментных индикаторов. 1 модуль = 28 индикаторов по 8 цифр.
общее количество индикаторов 128*28...

128 модулей ламп накаливания, светодиодов , другой нагрузки.. 1 модуль = 30 ламп.. общее количество лам 128*30....

128 модулей энкодеров. 1 модуль = 16 настоящих честных реал-тайм энкодлеров. ( кручу , мгновенно вижу результат с какойбы скоростью бы я не крутил энкодер). Общее количество 128*16....

128 модулей прямого физического бинарного ввода в сим. 1 модуль = 1 32-х битная переменная. (нах нужен - незнаю , но пока в планах) общее количество модулй 128*1......

Помимо помимо всего в планах нормальная конфигурация модулей в системе прямо из сервисного софта , и как всегда минимум контроллеров и обвязки..

Вот чего и спрашиваю про переменные.. Хотелось бы этот комплекс не только под ПТ юзать , а скажем в X-PLANE или IL2 или LockOn.. с FS переменными вроде как понятно.. для этого есть FSUIPC и знающие головы , а вот с другими симами - пока темный лес. Еще интересует подключение внешнего железа к x-plane и протоколы обмена. Слишком обнадеживает x-plane как нормальный сим после выхода анонса FSX.. Покрайней мере в движке иксов гораздо больше фитч чем в FSX.

lbodnar
16.01.2006, 22:09
Отличная идея - через какой интерфейс подключается и сколько будет стоить? Я куплю одну штучку!

Что касается X-Plane все просто - любой параметр из приведенных на экране можно вывести наружу или ввести обратно в программу динамически в любой момент. Конечно, те величины, которые собственно вычисляются внутри смысла вводить нет - для этого сим и создан.

А протокол очень простой - UDP по сети или черз плагин непосредственно на том же компе. Вот например, как я считывю данные из СОМ1 и посылаю данные штурвала через UDP (моя очень старая программка - еще через компор работающая, но уже с 16битным положением штурвала). Если сравнить рисунок и текст, то видно, что что в седьмой позиции (там где стоит галка) - данные джойстика. Их восемь, но я посылаю только два - крен и тангаж. Данные x-plane кушает с плавающей точкой. Точно также и выводит - любую комбинацию из 900 параметров. Например, если поставить галку в позиции 50, то через UDP на указанный адрес сети будет выводится напряжение до восьми бортовых батарей. Ну и далее в том же духе.

Удачи!


# X-Plane 8.15 UDP Client

import win32file
import socket
import struct
import time
import serial

HOST = '' # Symbolic name meaning the local host
PORT = 49000 # Arbitrary non-privileged port
xplaneHost = ('192.168.0.61', 49000)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((HOST, PORT))

ser = serial.Serial('COM1', 2400, timeout=1)

while 1:

byte1 = struct.unpack("1B", ser.read())
byte2 = struct.unpack("1B", ser.read())
byte3 = struct.unpack("1B", ser.read())
byte4 = struct.unpack("1B", ser.read())

pitch = byte1[0]*256+byte2[0]
roll = byte3[0]*256+byte4[0]

pitch = pitch / 32000.0 - 1.0
roll = roll / 32000.0 - 1.0

sendPacket = struct.pack('>5si8f', "DATA\n", 7, pitch, roll, 0, 0, 0, 0, 0, 0)
s.sendto( sendPacket, xplaneHost )

ser.close()

LazyCamel
16.01.2006, 22:11
Э-х-х, блин.
Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.

Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(

lbodnar
16.01.2006, 22:18
Э-х-х, блин.
Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.

Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(Без проблем, присылай спецификацию - в CAN или любой другой бас тебе закатаю что хочешь! Только платить тоже как большие будешь! :p

Bond.K
16.01.2006, 22:20
Э-х-х, блин.
Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.

Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(


Для реальных бортов, есть реальные люди. Которые и занимаются серьёзным делом.

В нашем случае, народные умельцы развлекаются как могут.

Ezdok
17.01.2006, 01:03
Э-х-х, блин.
Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.
---

Поясни , ты про что ? как понять полностью независимую от софта ??
Поясни что есть враппер ? И как данные со штурвала и ли с какогонить батона попадают в переменную сима ? И кто её туда пихает , если в самом симе нет механизма запихивания переменных извне ? Неесть ли это как раз та заплатка ?


Чтобы потом наработки и для реальных бортов переносить/отлаживать можно было, а получается опять пять-десять писюков с почти бытовыми УСБ-глюкалами натыкано, под управлением дельфийно/киликсовских заплаток. :-(
---
Ну незнаю какие там глюкалки USB имееш в виду.. То что планируем и разрабатываем не совсем бытовая штука. И не совсем USB.. Это достаточно уникальная и наращиваемя почти до бесконечности система управления со своим достатоно уникальным протоколом.

Дело в том что все HUD устройства в том числе Mjoy это всеже привязка к дровам винды. Ну незахотел БГ сделать больше 8-ми осей и 32-х батонов.. Незахоетл - ненадо. Выбрасываем в зад вообще всю идею USB HUD устройств и делаем свою. Под управлением дельфийной заплатки данные с такой системы льются непосредственно в сим минуя всю хрень и все ограничения которыми упихана винда. Я про то и спрашиваю можно ли добратся до переменных LockOn и IL2 как добираемся до переменных FS , чтобы написать 'заплатку' нетолько для FS... Есть железка и юзай её в любом симе. Вот идея .. Да и дело то всего в обслуживающем софте..

lbodnar
17.01.2006, 01:16
Дело в том что все HUD устройства в том числе Mjoy это всеже привязка к дровам винды. Ну незахотел БГ сделать больше 8-ми осей и 32-х батонов.. Незахоетл - ненадо. Выбрасываем в зад вообще всю идею USB HUD устройств и делаем свою. Под управлением дельфийной заплатки данные с такой системы льются непосредственно в сим минуя всю хрень и все ограничения которыми упихана винда. Я про то и спрашиваю можно ли добратся до переменных LockOn и IL2 как добираемся до переменных FS , чтобы написать 'заплатку' нетолько для FS... Есть железка и юзай её в любом симе. Вот идея .. Да и дело то всего в обслуживающем софте..Ezdok, вы и вправду там USB делаете? И насколько уже продвинулись?

Могу сказать что у меня джойстик занял 5% времени, остальное - сделать так, чтобы стек польностью все тесты USB2.0 стандарта проходил. А HID работает на любой OC так что я бы не стал его так с разворота отбрасывать. Как только вы HID отключаете так тут то вот как раз и надо писать драйвера низкого урованя дла всех возможных ОС. HID это очень общий стандарт, в него даже медицинская аппаратура и UPS входят, а прелесть в том, что драйверная прослойка между аппаратурой и приложениями уже в любой системе есть. А ограничения DirectX никакого отношения к HID не имеют. Устройство HID, например может иметь 65000 кнопок и столько же 32 битных осей. А написать прослойку между ним и симулятором можно за один вечер, так как драйвера HID в ОС уже есть и DirectX тут не причем.

Вы там вправду всерьез что-то делаете или пока так?.. Я бы с удовольствием купил добротный USB интерфейс сам.

Ezdok
17.01.2006, 04:16
в него даже медицинская аппаратура и UPS входят, а прелесть в том, что драйверная прослойка между аппаратурой и приложениями уже в любой системе есть.
----
Знаем , слышали , а входит ли драйвер для HomeConstructors - просто передать пакет определенной длины.. И все ! ?????? Ненужны нам дрова для медицинской аппаратуры и прочей не симмерской лабуды. Просто передать пакеты.. А куда их всовывать и как кодировать - сами разберемся..


---
Вобще мы планируем делать на USB2COM.. Разогнать COM до 250кбит и не парится с прослойками.. 250 кбит это мм.. 0.3 мс длительности пакета из 10-ти байт. 10 байт это обслужить ооочень много железок.. Но у нас протокол еще меньщей длины.. Поэтому нет никакого смысла напрягятся и юзать достаточно не покотоемкую систему на USB.... ПОТОК ТО какой ??? Нажал батон - раз в 5 минут , или дергнул рудами - раз в 1 час.. И то проблема реалтайма не в самом комплексе и скорости передачи пакетов , а в реакции самого сима , которая зависит ковсему прочему от рэнда видеокарты и других причин.. Так что передать поток непроблема . А вот с HID надо конечно в дальнейшем разобратся..... Но меня пугают цены на контроллеры с аппаратным USB.. Не с програмным а с аппартным. А поскольку цена одного контроллера с аппаратным USB порядка 15-17$ , отсутствует напроч прошивка контроллеров сторонними самопальными программаторами , затею с USB считаю пока делом каждого..... Мне лично пока ненравятся цены на USB комплектующие.. Дороговато. Тем более что в системе планирются использовать порядка 10-ти контроллеров. Самые скромные расчеты показывают , для полного реал-тайма сгодится скорость COM порта 115к... КУДА БОЛЬШЕ ? Примером тому уже обкатанная система EZ_BUS или FS_BUS .. как угодно.. скорость общения 19.2 через COM .. все работает как часы.. Кроме энкодеров , потому как сам сим очень медленно обрабатывает входящую инфу. У нас планируется повышенная частота опросов энкодеров и десятикратное увеличение скорости предачи пакетов в симулятор. Максимум обсчетов происходит в контроллерах.. Итак FPS нехватает..
---
А HID работает на любой OC так что я бы не стал его так с разворота отбрасывать.
--
Недоверие... в первую очередь к HID.. Задача просто передать данные из железки в комп и обратно.. Через какой путь проходит бедный пакет от железки я могу только догадыватся. Мы используем настоящий человеческий протокол с контрольными суммами , надежный , поверенный на многих железках и повторюсь , тратить время на то чтобы изучать весь USB с HUD вместе взятыми просто нет.. COM проверен до безобразия , весь расковырян вдоль и поперек. Слабые места изучены и изучены нюансы его работы... Контроллеры которые нам больше всего подходят для реализации затеи с аппартным USART стоят 3.5$ и поцене 1-го контроллера со встроенным USB можно будет собрать всю систему целиком.. USB не панацея.. Очень много очень дорогих и очень быстрых приборов до сих пор работают через COM или через его эмуляцию.. Комплекс на COM делаем исключительно для себя и если будем продавать то только полный пакет - тоесть софт+спаянные платы в корпусе.. с USB разъемом :-)).. Дешево не будет.. Однако прекрасно понимаем , что дорого COM железку продать уже не получится. Везде USB...

LazyCamel
17.01.2006, 10:18
По порядку:
Враппер - здесь это программа-транслятор, которая переводит внутренние переменные игры в попугаях, в данные согласно протоколу аппаратуры.

Про HID.
Очень часто недоверие - просто недостаток опыта работы с чем-то.
HID спокойно передает произвольные (сырые) данные, прочитайте стандарт насчет Feature Report и гляньте системные вызовы WinXP HidDGetFeature/HidDSetFeature. В этом режиме даже не надо вторую endpoint заводить. Все будет работать через control endpoint0.
Не совсем понятно какое отношение ограничения DirectX имеет к Hid-протоколу ? Ва м никто не запрещает читать данные с hid-устройств и помимо него.
Рекомендую курить вот эту книжку http://www.natahaus.ru/2005/09/16/interfeys_usb__p__agurov.html до просветления

Про аппаратуру.
Аппаратный контроллер с УСБ 2.0 12Мбит(фулл-спид) стоит от 6 баксов в розницу и самошьется по УСБ. Кодовое слово LPC41xx.
За 10-15 можно купить такой же с поддержкой CAN и Ethernet.

Про протоколы:

Речь же вроде шла про процедурный тренажер для больших, а не про наши поделки для флайт-симщиков? Все-таки найдите в сети стандарт на CANaerospace. Это протокол верхнего уровня. Используется в ЕвроВертушке и А380. Принят НАСА и МО США для новых БПЛА и перспективных самолетов.
Совершенно не обязательно использовать CAN в качестве физшины, можно хоть rs232 c опторазвязкой. Возможно и не придется собственные протоколы изобретать. Там как раз идет передача РЕАЛЬНЫХ полетных данных, как то курс, координаты, высота, вплоть до магнитного склонения, частот радиокомпаса и температуры газов перед и за турбиной.

ЗЫ:
По крайней мере я свой кокпит для Черной Акулы уже на его базе начинаю делать.

lbodnar
17.01.2006, 12:23
Знаем , слышали , а входит ли драйвер для HomeConstructors - просто передать пакет определенной длины.. И все ! ?????? Ненужны нам дрова для медицинской аппаратуры и прочей не симмерской лабуды. Просто передать пакеты.. А куда их всовывать и как кодировать - сами разберемся..
Ребята, вам нужно подтянуть матчасть. Самый большой недостаток HID - его название. Никакого отношения к human interaction он на самом деле не имеет. Задача его проста - принимать и доставлять в хост данные с заданной периодичностью и с интервалом от 1мс. ВСЕ! Остальное - мишура типа намеки хосту что эти данные содержат. Не хотите чтобы ОС ваши данные видела - скажите, что это vendor defined data и все. Гарантированная доставка данных через один HID интерфейс - 64килобайта в секунду на полноскорстном 12мбит устройстве (у меня в основе такой контроллер) Если мало - один чип может прикинуться до 15и устройствами одновременно. 64кбайт/сек - это 512кбит причем дуплексно в обе стороны.

Дешево не будет.. Однако прекрасно понимаем , что дорого COM железку продать уже не получится. Везде USB...Цена определяется конечным результатом а не типом интерфейса. Если это будет готовое отлаженное работающее устройство - я его первый у вас куплю. А интерфейс мне по боку какой если он на PC и на Mac'е будет работать.

Удачи вам! :beer: Но по-моему вы слишком высоко замахнулись. Я решил - упрощать. Надо 80 осей? Втыкается 10 независмых контроллеров, а не один монстр. Моя идеология - создвавать простые и независимые в применении кирпичики.

Ezdok
17.01.2006, 14:52
Но по-моему вы слишком высоко замахнулись. Я решил - упрощать. Надо 80 осей? Втыкается 10 независмых контроллеров, а не один монстр. Моя идеология - создвавать простые и независимые в применении кирпичики.
---
Идея такая - есть PIC16F874... Стоит 3.5$...К шине IO подрубается 2-мя сигнальными проводами Rx и TX.. Сколько модулей надо - столько и подключаем...

Ezdok
17.01.2006, 20:57
Цена определяется конечным результатом а не типом интерфейса.
---
На ткаие довольно уникальные устройства цена определяется в первую очередь - из времени и сил на разработку этого устройства.. Конечный результат может быть простой - например 2+2=4 с выводом результата впорт , однако чтобы это произошло , иногда тратиш месяцы. Интерфейс тоже играет роль .. Например никому ненужны флешки или фотоаппараты с COM разъемом. Сегодня это просто хамство со стороны разрабов.....
Так что USB - это всегда на порядок дороже , потому что современеей..
---


Аппаратный контроллер с УСБ 2.0 12Мбит(фулл-спид) стоит от 6 баксов в розницу и самошьется по УСБ. Кодовое слово LPC41xx.
За 10-15 можно купить такой же с поддержкой CAN и Ethernet
---
не , я такие программить неумею :-(( Тем более нет нисреды разработки , ни отладчика , ничего под этот чип... Ж-(( Отсается делать на то м на чем умеем..
А так разбиратся в новом - это ооочень дорогое устройство будет , у которого цена несоизмерима с функционалом.

lbodnar
17.01.2006, 21:15
прочитайте стандарт насчет Feature Report и гляньте системные вызовы WinXP HidDGetFeature/HidDSetFeature. В этом режиме даже не надо вторую endpoint заводить. Все будет работать через control endpoint0.
...
Про протоколы:

Речь же вроде шла про процедурный тренажер для больших, а не про наши поделки для флайт-симщиков? Все-таки найдите в сети стандарт на CANaerospace. Это протокол верхнего уровня. Feature report не предназначен для передачи живых данных а для конфигурации - для данных просто в INput report определяется свой собственный тип вывода (или ввода):
USAGE_PAGE(0xFF00 - vendor-defined)
USAGE(любой)
и все - никто кроме вашей программы их не тронет (и не увидит). Читайте непарсенный репорт делайте с ним что хотите. А приезжает он автоматично каждые 1мс через EP1.

Такой детский протокол как USB занимает в сжатом виде документик в 700 страниц. От него до реально действующего безглючного устройства еще столько же как до луны. Представляю какой кровью реально рабочий CANaero аппаратик достанется. Один! Больше ни у кого нет. И подключать его не к чему кроме настоящией Акулы... Не все что лучше, то - лучше. Вспомните Betamax/VHS.

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

Ezdok
17.01.2006, 21:44
Вот по этому и существуют USB2COM адаптеры. Ибо COM еще жив и будет жить , поскольку там живые данные , которые можно обрабатывать сразу без всяких заморочек.....

lbodnar
17.01.2006, 21:48
Вот по этому и существуют USB2COM адаптеры. Ибо COM еще жив и будет жить , поскольку там живые данные , которые можно обрабатывать сразу без всяких заморочек.....Кто же спорит что он жив - знаешь что буква S в USB означает? Дайте мне аппаратный контроллер берущий на себя весь протокол нижнего уровня, обработку ошибок и поддержку OSа и я вернусь, мама!

Ezdok
17.01.2006, 22:23
Ну USB - Universal Serial Bus. Чем слово Serial неустраивает.
Просто COM - онже RS232 , онже USART ... Везде serial - тобиш последовательно..Да и аппаратный контроль четности тоже есть вроде...

lbodnar
17.01.2006, 22:39
Люди старались в первую очередь замену COM порту придумать. Что-то мы отклонились от темы (а она была вообще?!)

Ezdok
18.01.2006, 01:56
Кто , тема или замена COM ???

sergeyk
18.01.2006, 09:51
Мне вот тут указали, что второй мджой нам не нужен. Так вот, я стыдливо повторю свой вопрос. Есть ли реальный интерес в контроллере с честным 12-и мбитным USB в 40пиновом корпусе с
13 аналоговыми осями по 10бит и с 91 кнопкой/кодером или
8 аналоговыми осями по 10бит и со 144 кнопками?

Т.к. проекты MJoy, судя по всему замерзают или переходят в коммерческое русло, ответ ДА.

Особенно меня заинтересовали энкодеры: насколько у них стандартизовн интерфейс?

Идея в следующем: покупать новые оригинальные енкодеры малоцелесообразно. А вот использовать из старых принтеров/плотеров это без проблем, сейчас б/у'шной техники навалом. Вопрос только в том сколько надо потратить на использование этой холявы?



Зашитый, гарантированно работающий чип. Внешняя обвязка - кварц, два кондера и резистор. Цена - мммм, $20 максимум.
За готовое изделие цена неплохая.
Доставка, оплата? Я сам по себе немного ленивый, хотя и бывший радиолюбитель, но подумывал купить MJoy16, по старым ценам, но сейчас это выливается уже в покупку изделия, а не радиокнструктора. :(

P.S. Решил ответить в твоей ветке т.с. в тему ;)

LazyCamel
18.01.2006, 11:24
Feature report не предназначен для передачи живых данных а для конфигурации - для данных просто в INput report определяется свой собственный тип вывода (или ввода):
USAGE_PAGE(0xFF00 - vendor-defined)
USAGE(любой)
и все - никто кроме вашей программы их не тронет (и не увидит). Читайте непарсенный репорт делайте с ним что хотите. А приезжает он автоматично каждые 1мс через EP1.

Неправда ваша. Это его обычно применяют для конфигурированя. Но тем не менее его можно применять и по другому.

Отличие Features от INPUT/OUTPUT только в том, что вторые работают на interupt точках и поэтому гарантированно опрашиваются. Зато первые можно запросить только тогда когда хосту захочется и передавать через него данные не ограниченные размером endpointa. Плюс приоритет у 0 точки больше.

lbodnar
18.01.2006, 12:26
Неправда ваша. Это его обычно применяют для конфигурированя. Но тем не менее его можно применять и по другому.
Цитирую библию:

An Input item describes information about the data provided by one or more
physical controls. An application can use this information to interpret the data
provided by the device.
Feature items describe device configuration information that can be sent to
the device.


Плюс приоритет у 0 точки больше.Это с каких пор у эндпоинтов приоритет появился?!

z36
18.01.2006, 13:23
Если есть возможность заказать контролер под себя, например:
4 оси по 256 или 512 отсчетов, 12 кнопок+хатка или министик, на резюках все оси, я готов на 20$ но контролер должен чисто и быстро отщелкивать эти 256 отсчетов, а не как у Ево 1024 со скачками до 10% и при низком быстродействии.
Охота фотку глянуть, чтобы габариты определить.

ArGer0
18.01.2006, 13:38
По порядку:
Враппер - здесь это программа-транслятор, которая переводит внутренние переменные игры в попугаях, в данные согласно протоколу аппаратуры.

Про HID.
Очень часто недоверие - просто недостаток опыта работы с чем-то.
HID спокойно передает произвольные (сырые) данные, прочитайте стандарт насчет Feature Report и гляньте системные вызовы WinXP HidDGetFeature/HidDSetFeature. В этом режиме даже не надо вторую endpoint заводить. Все будет работать через control endpoint0.
Не совсем понятно какое отношение ограничения DirectX имеет к Hid-протоколу ? Ва м никто не запрещает читать данные с hid-устройств и помимо него.
Рекомендую курить вот эту книжку http://www.natahaus.ru/2005/09/16/interfeys_usb__p__agurov.html до просветления

Про аппаратуру.
Аппаратный контроллер с УСБ 2.0 12Мбит(фулл-спид) стоит от 6 баксов в розницу и самошьется по УСБ. Кодовое слово LPC41xx.
За 10-15 можно купить такой же с поддержкой CAN и Ethernet.


USB 2.0 разве не 480 Мбит/сек выдает???!!! ИМХО да!!!

lbodnar
18.01.2006, 14:14
USB 2.0 разве не 480 Мбит/сек выдает???!!! ИМХО да!!!USB2.0 - это свод правил дорожного движения в которых введена новая скорость. Старые никто не отменял. Т.е. стандарт USB2.0 заменяет предыдущие USB1.x которые теперь устарели. Новое 1,5Мбит устройство разработанное недавно должно декларировать себя как USB2.0 так что мджой должен по идее объявлять себя 2.00 если он использует стек Игоря написанный после 27 апреля 2000 года. Хотя я не уверен, что он тесты пройдет - кто нибудь пускал мджой под Command Verifier'ом (http://www.usb.org/developers/tools/)?

LazyCamel
18.01.2006, 14:38
Это с каких пор у эндпоинтов приоритет появился?!

Изначально был. Описан в стандарте на хабы.
Если я ничего не путаю примерно так:
Под контрол-ендпоинт резервируется 10% канала ВСЕГДА. даже если по нему пересылок не будет, а остальные будут стоять в очереди эти 10 процентов зарезервированы. Потом строится граф для изохронной передачи, раскидываются интеррапты и остаток добивается балком.
При необходимости контролы и изохроны могут задерживать интеррапты и балки.

LazyCamel
18.01.2006, 14:42
Хотя я не уверен, что он тесты пройдет - кто нибудь пускал мджой под Command Verifier'ом (http://www.usb.org/developers/tools/)?

Я пускал - как минимум валит стресс-тест на многократные переподключения. Плюс не отрабатывает suspend state по bus inactivity.

lbodnar
18.01.2006, 15:41
Изначально был. Описан в стандарте на хабы.
Если я ничего не путаю примерно так:
Под контрол-ендпоинт резервируется 10% канала ВСЕГДА. даже если по нему пересылок не будет, а остальные будут стоять в очереди эти 10 процентов зарезервированы. Потом строится граф для изохронной передачи, раскидываются интеррапты и остаток добивается балком.
При необходимости контролы и изохроны могут задерживать интеррапты и балки.А-а-а, вот вы о чем! Дело в том что на эти 10% пользовательское приложение вряд-ли может гарантирванно рассчитывать:

5.5.4
...The USB System Software can, at its discretion, vary the rate of control transfers to a particular endpoint. An endpoint and its client software cannot assume a specific rate of service for control transfers. A control endpoint may see zero or more transfers in a single (micro)frame. Bus time made available to a software client and its endpoint can be changed as other devices are inserted into and removed from the system or also as control transfers are requested for other device endpoints.
...
Because the USB system uses control transfers for configuration purposes in addition to whatever other control transfers other client software may be requesting, a given software client and its function should not expect to be able to make use of this full bandwidth for its own control purposes.Очень мутно и никаких гарантий даже на пустой шине. С прерываниями, во всяком случае свои честные 64 байта в миллисекунду всегда приедут.

Главное - не пытаться притянуть протокол к использованию, на которое он не предназначен. Лучше вовремя сменить лошадей, чем загнать их досмерти!

lbodnar
18.01.2006, 15:44
Я пускал - как минимум валит стресс-тест на многократные переподключения. Плюс не отрабатывает suspend state по bus inactivity.У нас - твердая пятерка по всем и в старом USBCHK тоже :D

Две недели долбился!

LazyCamel
18.01.2006, 16:12
На железном-то USB с этим больших проблем нет, у меня на АРМах тоже все проходит, хотя со стрессом тоже пришлось покопаться.

Ezdok
19.01.2006, 03:11
Вопрос , на который я несмог найти ответ..
Может ли USB передавать пакет заданной длины не разбивая его на байты по 8 бит ? Например мой протокол содердит 64 бита в пакете. Могу ли я передавать целиком пакеты ? Это первое.
Как происходит контроль ошибок . Может ли контроллер USB восстанавливать потерянные биты в пакете ( если их немного конечно ) и есть ли там понятие аппаратное CRC ? Или чтонить в этом духе..

LazyCamel
19.01.2006, 07:22
Аппаратное CRC16 и прозрачный для программиста перезапрос битых пакетов. Передача информации только кратно байтам, интерпретировать полученые байты можешь как угодно. В HID протоколе предусмотрена битовые значения, но общий их размер все равно должен быть выравнен на границу байта.
Исправление одиночных и двойных ошибок хеммингом не предусмотрено, битые пакеты просто аппаратно перезапрашиваются. (Для софтовой реализации на Меге при приеме от хоста CRC входящего пакета не проверяется и соответсвенно битые пакеты не перезапрашиваются, при передаче - все работает нормально)

Ezdok
19.01.2006, 11:34
Я могу отслеживать дохлые пакеты ? Тоесть у меня будет возможность знать , что пакет пришел дохлый и контроллер его или выбросил , или перезапросил ?
могу ли я передавать в лоб байты скажем FF FF FF FF FF FF подряд без какой либо предварительной кодировки. USB сам разберется где начало пакета , а где его конец ? Я к чему спрашиваю - если все будет пучком - стану изучать... а так пока нет смысла в моих задачах..

LazyCamel
19.01.2006, 14:17
Отслеживать дохлые пакеты со стороны програмиста невозможно.
Программист о пакетах вообще ничего не знает.
Прием и получение данных со стороны програмиста выглядит как чтение и запись файла.Чуть сложнее чем обычно выгялдит процедура нахождения хендла для файла.

ЗЫ: Извините, я настойчиво рекомендую пройти по ссылке что я дал и скачать указанную книгу.

Ezdok
19.01.2006, 16:43
Не , неподходит для наших задач.. тоесть теже яйца только с боку , только еще и книгу читать.. Но ссылку все равно прочту... пасибо..

lbodnar
19.01.2006, 16:57
Отслеживать дохлые пакеты со стороны програмиста невозможно.Максимум что можно - следить за флажками прерываний по ошибкам уровня протокола -
bit stuffing
bus turnaround
data field size (выравнено ли по границе байта)
CRC5
CRC16
PID

Мне давно было интересно посмотреть какой реальный уровень ошибок (BER?) в канале USB. Но это - чисто академический интерес.

Ezdok
19.01.2006, 17:06
Да нет , несовсем академический.... Нужно реально знать процент ошибок.
При точном кварце на процессоре расчитанном на сокрсть скажем 115к , процент ошибок равен примерно 0.01%.. Что тварится в USB - хз. реально бы посмотреть...
Я думаю из за огромной скорости часто идут ретрэйны пакетов. Но нам как-бы незаметно.. Но в ответственных местах 1 битый пакет может быть фатальным скажем для устройства снятия информации на большой скорости.... Например RFID.. Метка проехала , 1 раз отдала пакет и уехала..увы , ретрейн у нее не попросиш..

lbodnar
19.01.2006, 17:27
Да нет , несовсем академический.... Нужно реально знать процент ошибок.Бесполезно это, как уровень ошибок в CD-ROMе или GSM. Пакеты приходят в итоге - и ладно. А сколько раз пришлось их передать и каков точный уровень ошибок - не имеет значения.

Петька, прибор!
Сорок семь!
А что - сорок семь?!
А что - прибор, Василий Иваныч?

Archer
19.01.2006, 18:53
2 lbodnar

простите, за всеми перепетиями споров тонких по поводу интерфейсов/стандартов :) я так и не разобрался, что же реально вкусного получит обныкновеный симмер :) хотелось бы уточнить:

1) возможно ли на Вашей разработке получить систему, которая поддерживала бы 6-7 хаток + 6-8 кнопок + 8-10 осей, из которых, по крайней мере 3 оси были бы наибольшей разрядности.

2) по поводу динамической загрузки. а как физически осуществляется загрузка ручки? это позволяют сами энкодеры? т.е. - имеется ли возможность избавиться от применения пружин и прочих видов мехнической загрузки. в каком вообще состояниии находится проект? я так понял, "по просьбам трудящихся" Вы сейчас основные усилия направили на создание "обычного контроллера" без динамической загрузки?

ender
19.01.2006, 22:11
поскольку тут контроллер совсем не обсуждается, а обсуждаются генеральные вопросы по USB, то есть вопрос: в винде поддерживаются HID- устройства, не-мышь, не-джойстик и т.п..? реализован hid как надо? я могу взять mjoy, поменять прошвку в нём и hid-descriptor, и смогу сделать что-то вроде контроллера параллельного вывода(восемь линий логического вывода), и оно автоматически определится в винде, установится стандартный виндовый драйвер, и я смогу работать с устройством с помощью api-функций, реализовав что-то типа процедуры __послать64_байта(*data)? если что, киньте в меня инфой, что да как, а то я сам дуб-дубом :)

LazyCamel
20.01.2006, 08:08
Блин. Качаем ссылку по книге на прошлой странице. Там столько инфы, что 99% вопросов снимется.

ЗЫ:
Когда винда видит хид-устройство, то устанавливает дрова для hid-compiliant device, после этого получать и посылать данные можно с помощью команд типа read_file|write_file.

Если в дескрипторе стоит что это джойстик или там клавиатура , тогда еще доустанавливаются дрова уже для конкретного типа девайса.

LazyCamel
20.01.2006, 08:23
Да нет , несовсем академический.... Нужно реально знать процент ошибок.


В УСБ процент ошибок или ~0% (ограниченый CRC16) или 100% (если по тайм-ауту свалились)



Я думаю из за огромной скорости часто идут ретрэйны пакетов. Но нам как-бы незаметно.. Но в ответственных местах 1 битый пакет может быть фатальным скажем для устройства снятия информации на большой скорости.... Например RFID.. Метка проехала , 1 раз отдала пакет и уехала..увы , ретрейн у нее не попросиш..

Ерунду ты сейчаз говоришь, если у тебя девайс считал метку и послал ее в компьютер по УСБ, то до тех пор пока передача успешно не завершится - он так и будет ее АВТОМАТИЧЕСКИ повторять, в отличии от RS-232, в котором девайс на аппаратном уровне не знает успешно или нет он передал инфу в комп.

А учитывая что в USB ы отличии от RS232 сигнал идет по дифф-паре и в экранированном кабеле, то помехоустойчивость в пределах описаной в стандарте дальности более чем.

Ezdok
21.01.2006, 16:55

Ezdok
21.01.2006, 16:57
Ерунду ты сейчаз говоришь, если у тебя девайс считал метку и послал ее в компьютер по УСБ, то до тех пор пока передача успешно не завершится - он так и будет ее АВТОМАТИЧЕСКИ повторять, в отличии от RS-232, в котором девайс на аппаратном уровне не знает успешно или нет он передал инфу в комп.
---
КАК ТАК БУДЕТ ПОВТОРЯТЬ ??????????
ТОесть повиснет ? Надо будет нажимать RESET на устройстве ?

lbodnar
22.01.2006, 15:14
КАК ТАК БУДЕТ ПОВТОРЯТЬ ??????????
ТОесть повиснет ? Надо будет нажимать RESET на устройстве ?Если устройство повиснет, то надо нажимать RESET, а как же еще?

LazyCamel: Я вывел флаг прерывания по [любой] ошибке шины на внешний пин - мониторил его пол-часа осциллографом, но он так и не дернулся. Надоело. Обычный 2м USB кабель, обычный PC, макетка. Пустое это занятие!

vav
24.01.2006, 10:35
Что-то тут долго обсуждают тему, а толку никакого...
Может лучше всем миром взяться за контролер? Ну там выбрать чип, поспрашивать на форумах где тусуются программеры этих микрочипов... А дока вроде вся есть на www.microchip.ru или на их буржуйском оффсайте... Думаю что реализовать это можно гораздо быстрее того времени, которое тут потратили на обсуждение. :)

lbodnar
24.01.2006, 11:59
Что-то тут долго обсуждают тему, а толку никакого...
Может лучше всем миром взяться за контролер? Ну там выбрать чип, поспрашивать на форумах где тусуются программеры этих микрочипов... А дока вроде вся есть на www.microchip.ru или на их буржуйском оффсайте... Думаю что реализовать это можно гораздо быстрее того времени, которое тут потратили на обсуждение. :)Почему толку никакого? Очень даже интересная беседа получается. И что именно реализовывать? Контроллер готов уже. Точнее, нескольких независимых контроллеров от разных людей. :beer:

LazyCamel
24.01.2006, 13:24
Что-то тут долго обсуждают тему, а толку никакого...
Может лучше всем миром взяться за контролер? Ну там выбрать чип, поспрашивать на форумах где тусуются программеры этих микрочипов... А дока вроде вся есть на www.microchip.ru или на их буржуйском оффсайте... Думаю что реализовать это можно гораздо быстрее того времени, которое тут потратили на обсуждение. :)

:-)))

Мил человек. Контроллеры-то сделаны. Давно. Только у меня их три варианта на полность различных семействах микросхем. Не с этим проблемы-то.

Например наблюдение за развитием темы открытого контроллера на базе AtMega8, которая стоит-то бакса полтора и может быть запаяна на обычную монтажную плату полукилограммовым паяльником типа "топор" приводит к определенному выводу.

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

Это еще имеет какой-то смысл в виде конструктора сделай сам. И изначально ради обсуждения что же лучше и в каком виде оставить в этом самом конструкторе, чтобы и функциональность была нормальной и стоил он не как самолет - была создана эта тема.

ЗЫ:
Ты вот что имеешь по теме сказать кроме "да все это ерунда, делается вообще за пять минут, а если что - идите и спросите спецов на microchip.ru" ?

GO!
24.01.2006, 13:24
Рекомендую курить вот эту книжку http://www.natahaus.ru/2005/09/16/interfeys_usb__p__agurov.html до просветления

По ссылке получилось скачать файлы к книге >6Мб.
А как скачать саму книгу?

z36
24.01.2006, 13:25
Заказы уже можно делать? мне бы для ЕВО КИБОРГ
4-ре оси 256-512, 12 кнопок.
Спаять могу сам, мне только схему и детальки.

vav
24.01.2006, 14:23
2 LazyCamel
Скажем так: я зашел в эту ветку чтобы что-то узнать, а ничего не узнал...
Насчет спаять: я сотовые ремонтирую уже 5-й год и имею опыт пайки не только 64 ног 0.5, а 200 и более в упаковке BGA и т.д.. Ну и для кучи у меня есть именные сертификаты от моторолы и сименса... :)
Так что для меня оптимальный вариант - схему, прошивку, т.к. дома есть китайский фен для BGA, штук 8 разных программаторов и т.д. Платы утюгом делаю за полчаса...
Просто лучше сразу: будет фри или нет. Нет - ждем предложений. И вот ответа на этот вопрос нет на 3-х страницах.

LazyCamel
24.01.2006, 14:50
По ссылке получилось скачать файлы к книге >6Мб.
А как скачать саму книгу?

Как минимум зарегестрироваться чтобы видеть скрытый текст. Там много хороших книг, не пожалеете.

ЗЫ:
http://rapidshare.de/files/9019852/Interfeis__USB_djvu.avi.html
потом файл переименовать в рар.

LazyCamel
24.01.2006, 15:02
Просто лучше сразу: будет фри или нет. Нет - ждем предложений. И вот ответа на этот вопрос нет на 3-х страницах.

Чем миндоговская мега16-то не устраивает тогда ?

Фри будет примерно на таком же уровне. Схема + прошивка. AT91SAM7S64 найдешь ? или PIC c УСБ

lbodnar
24.01.2006, 15:17
Просто лучше сразу: будет фри или нет. Нет - ждем предложений. И вот ответа на этот вопрос нет на 3-х страницах.Починить телефон и разработать новый - вещи совершенно разного порядка. Я всем все обычно бесплатно чиню.

А PIC с УСБ вот он - $15. Доставка вот только из UK стоит $10. :(

Orion33
24.01.2006, 15:20
Мил человек. Контроллеры-то сделаны. Давно. Только у меня их три варианта на полность различных семействах микросхем. Не с этим проблемы-то.
Ну дык поделился бы ;)

vav
24.01.2006, 15:30
Есть на 8-й меге. Сомневаюсь что на 16-й чем то лучше. Куча кнопок и осей не особо то и нужна. Просто есть проблемы с работой с разными компами - на одних все путем, на других не видит. Судя по всему проблема 100% не решаема, т.к. было собрано два контролера и оба так себя ведут. Не помогли ни какие шаманские танцы... Поэтому хотелось что-то сертифицированное именно для USB чтобы таких проблем не было. А в общем возможностей того же контролера на мега8 мне вполне хватает: 6 осей за глаза для палки выше крыши, кнопок на готовое изделие много не повесишь - будет урод какой-то... А так в запасе еще есть от логитека контролер (4-е оси, 7 кнопок, хат) и останется от EVO еще, если в саму эву засунуть более путный контролер...

М/С найти не проблема, на сайте микрочип.ком уже ищу что-нибудь подходящее. Опыт написания небольшой есть - как-то мучал 16F84.

Вобщем если есть готовое устройство, то с удовольствием распрощаюсь с некоторым количеством денег на приобретение его документации и по возможности прошитой м/с, чтобы не бегать и заказывать... Ну а если нет, то идея взять контролер с поддержкой USB мне понравилась и я пойду ее реализовывать... :)

vav
24.01.2006, 15:34
Починить телефон и разработать новый - вещи совершенно разного порядка. Я всем все обычно бесплатно чиню.

Несколькими постами выше уважаемый LazyCamel сказал что народ собрать не сможет - я просто постарался привести доводы в пользу того что я это смогу. Больше я ничего не имел ввиду и приводить такое сравнение не имеет смысла. ;)

Flying_Cat
24.01.2006, 15:46
to ALL
Собирают такие устройства не многие. А уж проектируют - единицы. Например в нашей внутренней сети народ заинтересовался, но на уровне - хорошо бы готовое устройство. А реально собрать - я уже и плату сварганил и без утюжного метода - просто и надёжно - маркером CD дорожки нарисовал. Все отлично. Сегодня попытаюсь спаять.

USSR_Rik
24.01.2006, 16:10
"Мамы всякие нужны, мамы всякие важны" (детский стишок, копирайт забыл). Из таких обсуждений и рождаются девайсы. Вот я бы только хотел попросить - "коротенько" плюсы и минусы решения относительно хотя бы MJ16.

И как "хотелку" - вот смотрите, в варианте того же MJ16 сотня с лишним кнопок. Делать панель - это понятно, хоть и лень. А вот ввести в контроллер три переключателя режимов и уменьшить втрое количество кнопок. Первый режим - отсылаются кнопки №№ 1..36, второй - те же (физически) кнопки, но их номера для Винды будут уже 37..73, третий - 74..110. А уж в игре назначим как хотим эти три режима. Мне кажется, это несложно.

Мнения?

lbodnar
24.01.2006, 16:18
"Мамы всякие нужны, мамы всякие важны" (детский стишок, копирайт забыл).

Мнения?Сергей Михалков.

LazyCamel
24.01.2006, 16:36
И как "хотелку" - вот смотрите, в варианте того же MJ16 сотня с лишним кнопок. Делать панель - это понятно, хоть и лень. А вот ввести в контроллер три переключателя режимов и уменьшить втрое количество кнопок. Первый режим - отсылаются кнопки №№ 1..36, второй - те же (физически) кнопки, но их номера для Винды будут уже 37..73, третий - 74..110. А уж в игре назначим как хотим эти три режима. Мне кажется, это несложно.

Мнения?

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

USSR_Rik
24.01.2006, 17:12
Ну так, хоть и на базе Даузиммеровых дров. Одна произвольная кнопка джоя - на циклический перебор трех "профилей", остальные мапятся по желанию. Кто сделает? У меня грамотешки не хватит.

lbodnar
24.01.2006, 18:11
Как минимум зарегестрироваться чтобы видеть скрытый текст. Там много хороших книг, не пожалеете.Хорошая книжка, мне нравится - хотя неточностей и ошибок - миллион. Не дает расслабиться читателю! :D

Flying_Cat
24.01.2006, 18:59
Ну так, хоть и на базе Даузиммеровых дров. Одна произвольная кнопка джоя - на циклический перебор трех "профилей", остальные мапятся по желанию. Кто сделает? У меня грамотешки не хватит.
А где эти драйвера лежат ? Это случаем не программа для обьединения 2 джоев в 1 виртуальный ?

GO!
25.01.2006, 00:34
Как минимум зарегестрироваться чтобы видеть скрытый текст. Там много хороших книг, не пожалеете.

ЗЫ:
http://rapidshare.de/files/9019852/Interfeis__USB_djvu.avi.html
потом файл переименовать в рар.
Спасибо, получилось, и даже без регистрации. Помог коллега по работе.
Оказывается, и в нашей конторе еще не все знают, что такое DJVU (все вспоминают Бунина,Набокова и .. Париж).
Почитал отзывы о книге, заранее в восторге!
Спасибо за ссылку, отличный сайт, буду туда заглядывать! :)
... но уж очень неочевидно, как скачивать файлы :(

GO!
25.01.2006, 02:34
Все! Уже штудирую! Это - просто песня! Помните серию книг Войцеховского "Радио итд итп - это очень просто"?! Эту книгу можно назвать "USB - это очень просто!", только 30 лет спустя.

GO!
25.01.2006, 03:44
Oops! Не Войцеховский, а Айсберг!
Войцеховский написал книгу "Радиоэлектронные игрушки", которая резко контрастировала с соответствующей литературой в нашем бывшем СССР, и хорошо будила воображение. Извините за OffTop.

Orion33
25.01.2006, 05:16
Да ниче там не надо с закачкой мутить. Просто нажимаешь колонку ФРИ и ждешь 30 секунд %)

LazyCamel
25.01.2006, 08:11
Кижку чтоли написать ? Разработка игровых устройств для РС :-)
Вот только кто из издателей ее возмет ? :-)

USSR_Rik
25.01.2006, 11:16
А где эти драйвера лежат ? Это случаем не программа для обьединения 2 джоев в 1 виртуальный ?Нет. Посмотри сюда http://saitekhelp.simhq.com/installing_dhauzimmer_drivers_solo.htm

А по поводу "объединения" 2 джоев в 1" - это связка PPJoy и VJoyControl - http://forum.sukhoi.ru/showthread.php?p=670179#post670179

lbodnar
25.01.2006, 12:03
Кижку чтоли написать ? Разработка игровых устройств для РС :-)
Вот только кто из издателей ее возмет ? :-)Да кто угодно сейчас возьмет - те же bhv. Я за ними с 1985года наблюдаю. У них была чудненькая застенчивая идейка - переводить книжку, вырезать имя автора, и печатать ее даже не сообщая, кто ее перевел или даже кто издал. Точнее, вообще ничего не сообщая. Только скромное (c)bhv на первой страничке. Золотое время!

А судя по некоторым местам в USB книжке, можно просто пару веток надрать из конференций и издать в виде книги - слово редактор и корректор из русского языка выпали давно.

Flying_Cat
25.01.2006, 12:27
Нет. Посмотри сюда http://saitekhelp.simhq.com/installing_dhauzimmer_drivers_solo.htm

А по поводу "объединения" 2 джоев в 1" - это связка PPJoy и VJoyControl - http://forum.sukhoi.ru/showthread.php?p=670179#post670179
По первой ссылке зайти не могу - ограничение на работе, а по второй - всё скачал, буду разбираться.

USSR_Rik
25.01.2006, 12:49
Ну тогда возьми готовый пакет дров (а вдруг пригодится?) ;)

Flying_Cat
25.01.2006, 13:44
Ну тогда возьми готовый пакет дров (а вдруг пригодится?) ;)
Спасибо ! надо попробовать прикрутить их к MJoy ;)

USSR_Rik
25.01.2006, 13:55
Если прикрутишь - с меня пиво или любой напиток по выбору :) Очень хочется хоть какого софта (MJMapper не в счет, он многого не умеет).

Orion33
25.01.2006, 14:54
Если прикрутишь - с меня пиво или любой напиток по выбору :) Очень хочется хоть какого софта (MJMapper не в счет, он многого не умеет).
Без исходников тяжко... Они похоже жестко к железу привязаны.

Flying_Cat
25.01.2006, 15:05
Без исходников тяжко... Они похоже жестко к железу привязаны.
Попробую не их непосредственно, а написать свой маппер. правда не быстро, у нас электричество отключают часто. Комп может накрыться из-за отключений.

Flying_Cat
25.01.2006, 17:40
Вот нашел прибамбас - до 16 джоев, 32 кнопки ... JoyToKey (http://www.electracode.com/4/joy2key/JoyToKey%20English%20Version.htm) - надо попробовать

LazyCamel
25.01.2006, 21:03
Попробую не их непосредственно, а написать свой маппер. правда не быстро, у нас электричество отключают часто. Комп может накрыться из-за отключений.

Вот возможно это поможет :-)

Flying_Cat
25.01.2006, 21:19
Вот возможно это поможет :-)
Спасибо ! Будем изучать !

lbodnar
06.02.2006, 16:58
Наухо шипну общественности сухого - сейчас разрабатывается целый комплекс управляющего железа для FS .. Точнее для его части ПТ..

Некоторые из скромных возможностей комплекса:

128 модулей по 8 10-ти битных осей. Общее количество осей - 128*8...
128 модулей кнопок/тумлеров. 1 модуль = 184 тумблера. общее количество кнопок в комплексе 128*184....

128 модулей стрелочных индикаторов. 1 модуль стрелочников = 20 приборов.
Общее количество стрелочных приборов 128*20....

128 модулей 8-ми сегментных индикаторов. 1 модуль = 28 индикаторов по 8 цифр.
общее количество индикаторов 128*28...

128 модулей ламп накаливания, светодиодов , другой нагрузки.. 1 модуль = 30 ламп.. общее количество лам 128*30....

128 модулей энкодеров. 1 модуль = 16 настоящих честных реал-тайм энкодлеров. ( кручу , мгновенно вижу результат с какойбы скоростью бы я не крутил энкодер). Общее количество 128*16....

128 модулей прямого физического бинарного ввода в сим. 1 модуль = 1 32-х битная переменная. (нах нужен - незнаю , но пока в планах) общее количество модулй 128*1......

Помимо помимо всего в планах нормальная конфигурация модулей в системе прямо из сервисного софта , и как всегда минимум контроллеров и обвязки..Как там у вас дела с производством этой штуки?

lbodnar
06.02.2006, 17:02
Э-х-х, блин.
Я лично себе такую систему( в смысле комерческую) представлял полностью независимую от софта, повязаную скажем через CANaerospace или Arinc-429, к которой через враппер данные льет хоть МСФС, хоть ЛокОН. Как у больших все.
Похоже, эта идея, что говорится, витает в воздухе. См.:
http://www.checksix-forums.com/showthread.php?t=118107&page=1&pp=10
Хотя, гляжу я на эти горы проводов и думаю - а может, все таки, как шина, USB еще не умер? По мне лучше 20 самостоятельных USB блоков чем USB-CAN хост и 20 CANовских модулей. Хоть на 1км USB и не растянешь без оптики.

LazyCamel
06.02.2006, 20:51
Похоже, эта идея, что говорится, витает в воздухе. См.:
http://www.checksix-forums.com/showthread.php?t=118107&page=1&pp=10
Хотя, гляжу я на эти горы проводов и думаю - а может, все таки, как шина, USB еще не умер? По мне лучше 20 самостоятельных USB блоков чем USB-CAN хост и 20 CANовских модулей. Хоть на 1км USB и не растянешь без оптики.

Тут выгода в другом. В CanAerospace во первых шина обычная двухпроводка, а во вторых по шине гоняются конкретные элементы. Т.е. хост выдает в шину "высота ххх", а девайсы висящие на шине самостоятельно понимают нужна ли им эта переменная.
Т.е. хост даже не знает какие конкретно к шине приборы подключены, вплоть до подключения/отключения на горячую.

А под УСБ придется рожать свой протокол диагностики и конфигурирования подключеных приборов как минимум.

lbodnar
06.02.2006, 21:10
В принципе, HID для таких вещей и был придуман c его заумными возможностями в плане всех 6 основных единиц СИ. А что стоит таблица органов тела которыми вызвано изменеие?! Типа "пользователь нажимает на данный рычаг левым ухом с силой 15Н." Что за смех?! Многие подумали что я шучу!? Так читайте талмуд про HID. Правда не все доступные органы, там, конечно явно указаны ;)

Хосту достаточно собирать информацию от всех устройств и ретранслировать ее для всех. HID как протокол никак к USB не привязан и часто так и пишут : "HID over USB" - я знаю что его и на обычном RS232 реализовывали.

То же и для CAN - никто не заставляет по разделенной двухпроводной шине это передавать. Сообщения от устройств можно посылать как и положено в HID - по прерываниям, а широковещательный траффик можно закатать в пакеты и передавать хоть по bulk хоть по isochronous трубам. Если библиотеки нижнего уровня и уровня протокола изначально не перемешивать, то вполне можно сделать независимую от уровня интерфейса систему.

Штука только в том, что и родной CAN и CAN over USB так и останутся забавным экспериментом до тех пор пока в магазине нельзя будет купить штурвал, воткунуть в компьютер и в тот же вечер полетать на славу.

Стандарты - дело тонкое, их насильно не введешь (кроме ГОСТов, конечно!) :)

Ezdok
09.02.2006, 01:09
...из пушки по воробьям...

lbodnar
09.02.2006, 01:10
...из пушки по воробьям...
Как там у вас дела с производством этой штуки?

GO!
09.02.2006, 01:13
А что есть "CAN"? :ups: Первый раз слышу!
Это шина или протокол?
Дайте ссылку, плиз!

lbodnar
09.02.2006, 01:18
А что есть "CAN"? :ups: Первый раз слышу!
Это шина или протокол?
Дайте ссылку, плиз!
http://www.interfacebus.com/Design_Connector_CAN.html
http://www.google.com/search?hl=en&lr=&client=safari&rls=en&q=CANaerospace&btnG=Search
http://www.canaerospace.com/can_intro.pdf

Ezdok
09.02.2006, 01:31
Как там у вас дела с производством этой штуки?
--
Готовы энкодеры , часть роутера написана , почти дописан клавиатурный модуль.
Пока свободного времени нехватает. Проект затягивается.... Всетаки на энтузиазме он держится....

GO!
09.02.2006, 01:32
http://www.interfacebus.com/Design_Connector_CAN.html
http://www.google.com/search?hl=en&lr=&client=safari&rls=en&q=CANaerospace&btnG=Search
http://www.canaerospace.com/can_intro.pdf
Спасибо!

lbodnar
09.02.2006, 01:35
Проект затягивается.... Всетаки на энтузиазме он держится....Даже для полностью коммерчески выгодных и полезных проектов процент реализации от идеи до продающегося изделия, кажется, около 5% или даже меньше. Остальные 95% отваливаются на разных стадиях, а жалко...

Ezdok
09.02.2006, 01:37
дело не в этом .. по задумке ничего лишнего и максимум феункциональности касаемо только задач ввода - вывода. Задач раз два и три.. Просто есть работа , есть параллельные проекты , есть тупая лень.. и желание выспатся.

LazyCamel
09.02.2006, 08:54
...из пушки по воробьям...

Ну-ну... Воткнуть ком-портовые девайсы (без CTS|RTS) в 8-портовку на PCI - это конечно круто и недорого. Вот только не расширяемо нифига, и отлаживаемо со страшными гемороями. Я как-то софт для бензозаправок писал - врагу не пожелаю.

LazyCamel
09.02.2006, 08:57
А что есть "CAN"? :ups: Первый раз слышу!
Это шина или протокол?
Дайте ссылку, плиз!

Посмотри http://datamicro.ru/ - там на русском много инфы.

Аппаратный CAN сейчаз есть как у Microchip(PIC), так и у Atmela (AVR|ARM7)

Ezdok
14.02.2006, 14:28
у-ну... Воткнуть ком-портовые девайсы (без CTS|RTS) в 8-портовку на PCI - это конечно круто и недорого. Вот только не расширяемо нифига, пожелаю.
--
ПОдсоединяеш модуль 2-мя проводами Rx Tx и расширяется система без границ. Кстати она у нас PnP в чистом виде. Софт мгновенно определяет какой модуль подсоединен к шине , сколько осей илди лампочек или бог знает чего подсоединено к этому модулю. Такой аппартный опрос девайзов. Сколько хочеш столько юзай модулей.. И без CTS RTS прекрасно все работает. Живет и дышит. Просто есть подход к проекту есть нормальное обмозговываение что к чему перед его воплощением в железе. Есть нормальные руки которые прогряммят комп и вторые руки которые программят железо.. И там и там профессионалы с достаточно большим опытом работы в подобных проектах. Да , еще есть просто расчеты на уровне школьных знаний. А расчет таков - чтобы передать несчастный тумблер или пару oсей ненужна скорость USB , CAN и тем паче LAN и прочих. Я даже скажу что все прекрасно работает на скоррости COM порта в 19.2кбод неговоря уже о 115к..... Как это делается ? Просто мы воплотили в жизнь давно проверенный способ передачи потоковых данных по COM порту без избыточного кодирования со стробированием модулей извне.. Что это такое - читай все в инете. Просто повторюсь - все прекрасно работает вообще без какого либо геммороя с программированием и прочим изучением USB CAN.....
А USB , CAN и прочие потоковые шткуки хороши , только применять их для такого простейшего проекта как ввод-вывод данных из сима - стрельба из пушки по воробьям.... Это мое мнение , проверенное практикой.

lbodnar
14.02.2006, 14:44
Я даже скажу что все прекрасно работает на скоррости COM порта в 19.2кбод..... Как это делается ? Коммерческая тайна. Анекдот про неуловимого Джо слышал? :)

Ну когда у вас уже изделие будет? Хочу в руках подержать или хотя-бы почитать. Если вы проекты до выпуска в массы доводили, то и сами знаете, что в процессе реализации больше половины вкусных штучек до финиша не доходят по разным причинам. В большинстве - по чисто практическим соображениям. И часто - не главное, что это очень мудрая коробка, главное - что она простая в применении и работает как часы. Кстати, про часы - где эти электронные монстры 80-х годов с калькуляторами и органайзерами? Часы - есть часы, что мы и наблюдаем сейчас. Естественный отбор выбрал не функциональность, а простоту. Заметь, не простоту в понимании разработчика (COM1), а простоту для пользователя (CAN/USB)

А циолковских идей - у нас своих некуда складывать... :beer:

Ezdok
14.02.2006, 15:31
Ну когда у вас уже изделие будет? Хочу в руках подержать или хотя-бы почитать.
---
www.fsbus.de - это живая матка-правда - основа.

http://www.avsim.ru/forum/index.php?showtopic=21679
это мое воплощение этой идеи в новом железе. Если есть силы - дочитайте до конца. Там много чего интересного. EZ_BUS проверен уже многими. Пока жалоб по отношению железа нет. Есть жалобы на софт. Но софт писан не нами. Кстати все работает на 19.2 . Потоки достаточно большие. Шина справляется на ура.


Далее еще один контроллер к шине FS_BUS. Читать после основного трэда.
http://www.avsim.ru/forum/index.php?showtopic=24534



Новая идея практически ничем не отличается от оригинальной FS_BUS. Теже контроллеры , таже концепция , только софт правильный , новый и протокол полностью переделан на скорость 115к и возможностью подключения безграничного колва модулей. По софту много фитчей планируем. ПОкрайней мере неограниченно количество батонов и 10-ти битных осей. Адаптация железа к ИЛ2 или Lock-On тоже планируем. Но вот это не факт. ПОчитать о нашем проекте негде , поскольку все еще на стадии разработки и половина на макетке. Но уже сейчас оттестены модули батонов , энкодеров , светодиодов. Немножко поясню. У нас избыточное кодирование есть. Длоина пачки в протоколе 10 байт. В этих 10 байт заложен протокол как CAN . Тоесть есть адрес модуля , данные и CRC . Для справки 1 пакет из 10 байт проходит за время 0.7 мс на скорости порта 115к. Проблем с дешифрацией пакета , и кодированием тоже нет. что такое 0.7 мс - это частота опроса шины примерно 1 кгц. В Mjoy реальная скорость опроса дровами 10 мс или 100 герц. Говорят повысить можно .. а нужно ??
Вот с энкодерами возникли трудности но их решили.
Просто повторюсь - на стенде тестовые модули работают и достаточно прекрасно с COM портом на скорости 115к. Причем протокол из 10 байт позволит развернутся довольно широко. Ну а CAN это здорово. Только если почитать что к чему - там дохрена избыточного кодирования поэтому реальная скорость намного меньше чем заявлена. Читали , тестили , отказались из за сложного механизма взаимодействия в шине.
Ненужно это чтобы передавать небольшие потоки.

что в процессе реализации больше половины вкусных штучек до финиша не доходят по разным причинам.
---
У нас они отваливаются не в процессе реализации а в процессе обдумывания и расчетов. ПОэтому то что планируем реализовать уже находится в отсеянном виде и думаю что 90% тех фитч что планируем выживут.

lbodnar
14.02.2006, 15:54
Спасибо!

Ezdok
14.02.2006, 18:00
За что ?

ender
14.02.2006, 20:31
видел в даташите на mega48 раздел под названием TWI - там тоже описывается двухпроводной интерфейс шинного типа, скорость довольно большая, насколько я понял, блок этого интерфейса работает независимо от ядра AVR. цена же mega48 - притча во языцах, стоит меньше, чем многие 51-е микроконтроллеры, да и microchip'овские 16хх. я ещё поизучаю даташит, твои посты и сделаю выводы для себя :)

PS: но идея хорошая :)

PPS: попутно возник вопрос: стрелочные приборы (боже ж ты мой) ты какие предполагаешь использовать? на шаговиках, на рулевых машинках или у тебя есть собственная конструкция? а то я тут обмозговывал, вроде, родилась идея, но она ещё не дошла до выхода :)

lbodnar
14.02.2006, 22:23
За что ?Интересно было почитать. Что же вы v1.01 не сделаете и не запустите в мелкое производство? Сразу будет понятно что - менять, а что - оставить.

Ezdok
14.02.2006, 23:11
Мелкое производство ? Пока нечего выпускать. Хотя EZ_BUS можно выпустить. Но поверьте , это никому ненужно кроме 5-х человек. Это не тот товар ради которого можно убиватся ради производства. Хотите ? Вышлю полностью документацию на самостоятельное изготовление.

LazyCamel
15.02.2006, 09:51
видел в даташите на mega48 раздел под названием TWI - там тоже описывается двухпроводной интерфейс шинного типа, скорость довольно большая, насколько я понял, блок этого интерфейса работает независимо от ядра AVR.

Оно же I2C. Хорошая штука, но вот какна длинных веревках себявести будет :-( Она в основном внутриблочная шина.



PPS: попутно возник вопрос: стрелочные приборы (боже ж ты мой) ты какие предполагаешь использовать? на шаговиках, на рулевых машинках или у тебя есть собственная конструкция? а то я тут обмозговывал, вроде, родилась идея, но она ещё не дошла до выхода :)

Стрелочники отлично получаются на шаговиках с подпрежиннеными стрелками. Но если там больше 2 осей или прибор чуточку сложнее будильника(тот же HSI) - начинаются страшные траблы с механникой.

В результате оказывается дешевле нарисовать приборы,подключить какой нибудь LCD к дешевому компу и спрятать под панель с колодцами со стекляшками. На круг (типа левой панели Ка-50 скажем) выйдет баксов 250-300.

lbodnar
15.02.2006, 11:55
Оно же I2C. Хорошая штука, но вот какна длинных веревках себявести будет :-( Она в основном внутриблочная шина.
В современных PIC18F она еще и такая глючная, что можно считать что ее вообще нет.

В результате оказывается дешевле нарисовать приборы,подключить какой нибудь LCD к дешевому компу и спрятать под панель с колодцами со стекляшками. На круг (типа левой панели Ка-50 скажем) выйдет баксов 250-300. Хорошая иллюстрация здесь (правда, с одним экраном):
http://www.simcontrol.co.uk/dhfssim%202S.jpg

ender
16.02.2006, 01:44
lcd... ЭТО ЖЕ НЕКРАСИВО!

что же до длины, на которой работает i2c - в авр достаточно гибко регулируется скорость. думается, если не заводится на 400кгц - запускаем на 20кгц. а вообще, пишут, что 30-50см. возможно, подключая через витую пару (2 пары: сигнал-земля, клок-земля), можно добиться большего. плюс, насколько я понял, траблы начинаются первым делом при наличии 2-х или более master устройств на шине (там arbitration основан на стабильном и быстром распространении спада импульса).

ЗЫ: LazyCamel, кинь плз ссылочку, как выглядит и устроен прибор с шаговиком с подпружиненной стрелкой?

lbodnar
20.02.2006, 21:04
Вот что получилось... 58 x 32мм.

Blek
21.02.2006, 00:39
епт... имеют же люди возможности.. чиста фирма... втг :)

LazyCamel
21.02.2006, 08:39
lcd... ЭТО ЖЕ НЕКРАСИВО!


Это если без нормальной панели - некрасиво. А если выклеивать из стеклопластика со стеклами в колодцах + LCD без собственного корпуса матрицей вплотную - то и не отличить.



что же до длины, на которой работает i2c ...


Ну пробуй сам. Мне по крайней мере не понравилось и я выбрал SPI.



ЗЫ: LazyCamel, кинь плз ссылочку, как выглядит и устроен прибор с шаговиком с подпружиненной стрелкой?

Где б ее взять :-). Это я прототипил. Шаговый двигатель и пружинку для стрелки взял с 3.5 дюймового дисковода. Там движок если я не глючу 200 шагов на оборот, т.ч. точность меньше градуса делается совершенно без проблем.

ender
21.02.2006, 10:07
хм. ну нарисуй в паинте? насчёт интерфейса в аппноутах видел LIN - вроде как применяется там же, где и CAN, но сам по себе зело проще.

LazyCamel
21.02.2006, 13:35
Ты объясни что рисовать-то ? Шаговый двигатель. на оси помимо стрелки сидит пружина - одним концом в корпус - другим в ось. Единственная задача пружины - возврат стрелки в 0 при пропадании тока удержания на шаговом. Если сделать кнопку сброс и концевой датчик на том же холле - нафиг даже и не нужна. Шаговый работает в полуторашаговом режиме (one+half step). Совершенно стандартное применение шагового двигателя описаное десятками аппнот в том числе и у микрочипа также.

Я же говорю - жопа не в приводе, жопа в тонкой механике самих приборов. Оси,подвесы, редукторы, балансиры.

Если разумеется родственники где-нибудь на заводе в Чистополе есть или дедушка скажем старый еврей-часовщик - тогда другое дело.

LeonT
22.02.2006, 00:52
Что-то не пойму я этого нездорового пристрастия ко всяким новомодным штучкам. :)
Старый добрый встроенный UART сейчас есть почти в любом микроконтроллере.
При передаче данных В ОДНУ СТОРОНУ (что и нужно для «приборов»), на один СОМ порт можно вешать почти неограниченное число потребителей. Передается посылка типа АДРЕС-ДАННЫЕ (по одному проводу!) а адресаты (приборы) сами разберутся где чьё. Самая большая проблема, возникшая в связи с этим у меня, состоит в том, что Винда не позволяет роутеру обращаться к СОМ-порту так часто, как хотелось бы ( ну, не знаю я, неграмотный, как умные люди обходят это ограничение :( ).
Посему экспериментировал с двухступенчатой системой: МАСТЕР через RX получал раз в 100 мс пакет с полными данными, затем переформировывал его в серию коротких индивидуальных посылок и через TX своего же UART’а отсылал их исполнительным устройствам. Вроде работало.
Потом решил перейти на более демократичный ШИМ-интерфейс и получился Комил. :)

ender
22.02.2006, 11:31
я думал высотомер сделать как двустрелочный. по-другому не вижу.

LeonT
22.02.2006, 21:47
А в чем проблема? "Редуктор" я тебе нарисовал... :D :D

Ezdok
24.02.2006, 03:37
Самая большая проблема, возникшая в связи с этим у меня, состоит в том, что Винда не позволяет роутеру обращаться к СОМ-порту так часто, как хотелось бы ( ну, не знаю я, неграмотный, как умные люди обходят это ограничение ).
---
Мы тоже мучались.. Надо юзать правильные компоненты. Даже при правильном компоненте COM порта не получилось задать интервал посылок выше 4 мс.. Но 4мс это уже очень много..

LeonT
24.02.2006, 23:08
Надо юзать правильные компоненты.
А поподробнее можно? :ups:

MeanDog
26.02.2006, 03:48
Privet, Ibodnar i Vse,

Fly-by-night eto odin chelovek iz germanii. Ja emu prodal neekskluzivnyje prava na prodazhu MJoy16 potomu kak sam s sviazi s izmenami v glavnoi svoei rabotoj, kotoroi stanovitsa vsio bolshe nemogu organizovat komerceskuju dejatelnost s choroshim kachestvom i efektivnostju. Rabotaja dnem i nochju dolgo neprotianesh, a eschio letat hochetsa ... - uzhe letaju na Jantar-Standart ;)

V principe MJoy16 ja schitaju perechodnym ustroistvom, kotoryj so vremenem utichnet tak kak chipy so vstroenym USB2 kak ot Microchip'a stanoviatsa vsio dostupnee. Glavnoe lish imet fantazii i ruki nekrivyje :)

Uspechov vsem!

lbodnar
26.02.2006, 03:59
a eschio letat hochetsa ... - uzhe letaju na Jantar-Standart ;)Сколько часов уже? :beer:

MeanDog
26.02.2006, 10:43
:beer: - u menia uzhe lomki v ozhidanii novogo sezona poletov :) Naletal voob schem gde-to 110 chasov. Is nich 25 na standarte.

sergeyk
26.02.2006, 11:01
Rabotaja dnem i nochju dolgo neprotianesh, a eschio letat hochetsa ... - uzhe letaju na Jantar-Standart ;)

Ясно, бизнес мешает работе ;) А полёты это святое! :yez:

Не экслюзивные права значит GNU'шная наколенная самосборка MJ16 разрешена? Документация будет возвращена в общий доступ?

MeanDog
26.02.2006, 11:14
MJ16 na nekomercheskoi osnove mozhno delat skolko xochesh. A dokumentaciju ja posmotriu - ssylka na nee bitaja v MJoy16 project stranice - popravliu.

lbodnar
26.02.2006, 17:21
У нас они отваливаются не в процессе реализации а в процессе обдумывания и расчетов. ПОэтому то что планируем реализовать уже находится в отсеянном виде и думаю что 90% тех фитч что планируем выживут.Слушай, а вы замену LDM-206 нашли? Уж больно вкусный индикатор был. Сколько он стоит сейчас?

У MAXIM есть пару хороших контроллеров 7-сегментных LED (похоже, их в LDM-20x и использовали), но их есть смысл ставить только в поверхностном испольнении и стоят они порядка $5 в тысячных количествах.

lbodnar
26.02.2006, 17:23
:beer: - u menia uzhe lomki v ozhidanii novogo sezona poletov :) Naletal voob schem gde-to 110 chasov. Is nich 25 na standarte.Молоток! Вот куда все деньги ушли :D

Ezdok
26.02.2006, 20:54
А поподробнее можно? :ups:

Ну если юзать COM порт через API то возможно что угодно.
Если юзать пральный компонент например Cport то там уже все проблемы с доступом к самому порту решены автором. Нам остается только послать туда байт и все.. Причем проблема 4 мс не в самом компоненте и не в самой проге а компоненте таймера , который нехочет давать интервал выше 4 мс....поэтому щас ищем компонент хорошего таймера.

Ezdok
26.02.2006, 20:58
Слушай, а вы замену LDM-206 нашли? Уж больно вкусный индикатор был. Сколько он стоит сейчас?

У MAXIM есть пару хороших контроллеров 7-сегментных LED (похоже, их в LDM-20x и использовали), но их есть смысл ставить только в поверхностном испольнении и стоят они порядка $5 в тысячных количествах.

почему был ??? Он есть , лежит в любом количестве в Москве.
Замену не нашли. А надо ? Если с новой IO системой дело дойдет до индикаторов , будем юзать на рассыпухе. Слишком они дорогие LDM ... 450 руб за 7-ми сегментник. Хотя если собирать на рассыпухе выйдет чуть дешевле но гимору будет придостаточно. Хотя на рассыпухе можно делать сборки с любым количеством цифр. От 1 до 12-ти.

Archer
09.03.2006, 14:58
что ж, тема заглохла???

lbodnar
09.03.2006, 15:51
что ж, тема заглохла???
Какая именно тема - тут много всего обсуждали! :)

Archer
10.03.2006, 10:24
Какая именно тема - тут много всего обсуждали! :)

по-моему, тема называется "USB контроллер на Микрочипе".

LazyCamel
10.03.2006, 10:33
по-моему, тема называется "USB контроллер на Микрочипе".

http://www.lbodnar.dsl.pipex.com/joystick/

Archer
10.03.2006, 10:49
http://www.lbodnar.dsl.pipex.com/joystick/

здОрово :bravo:

тогда еще два вопроса: во-первых, тут проскакивала информация о возможности использования в джойстике энкодеров, и, как идея максимум, возможность организовать динамическую загрузку РУС. есть ли какие-либо подвижки в этом направлении?
во-вторых, если с энкодерами - дело долгое, реально ли собрать устройство на основе этого контроллера + МАРСы?

кстати, еще такой момент: в рекомендация по установке сказано, что с этим контроллером наиболее сочетаемы резюки на 10кОм, а у меня на Файтерстике стоят резюки на 100 кОм. как быть?

lbodnar
10.03.2006, 12:20
тогда еще два вопроса: во-первых, тут проскакивала информация о возможности использования в джойстике энкодеров, и, как идея максимум, возможность организовать динамическую загрузку РУС. есть ли какие-либо подвижки в этом направлении?
во-вторых, если с энкодерами - дело долгое, реально ли собрать устройство на основе этого контроллера + МАРСы?

кстати, еще такой момент: в рекомендация по установке сказано, что с этим контроллером наиболее сочетаемы резюки на 10кОм, а у меня на Файтерстике стоят резюки на 100 кОм. как быть?100 кОм работает так же хорошо как и 10к, но если провода длинные и плохо экранированы, то, очевидно, 10к будет более помехоустойчивее. С короткими проводами разницы никакой нет, тем более если они в экране.

Контроллер, как MJoy16, оцифровывает напряжение на входах, так что если МАРС выдает напряжение, то проблем не должно быть.

Есть рабочая версия для двух скоростных энкодеров, скорость счета импульсов - до 150кГц с обоих одновременно. Для авиасимуляторов вполне хватает. Создавалась она для автогонщиков, а они руль крутят очень быстро! :) Но, вроде бы, и для них такая скорость достаточна. Пока - бетатестируется...

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

Archer
11.03.2006, 01:26
Самое главное в динамической загрузке - чтобы народ не покалечил себя мощными сервомоторами. Кто имел дело с промышленными роботами знает что я имею в виду. Проект - в стадии активных экспериментов, но как готовое решение должно выглядеть пока никаких идей нет.
странно.. а я, глядя на небольшие линейные размеры датчиков, боялся что их сопротивление окажется несущественным:)

а в чем проблема с формированием общего вида готового решения? если, конечно, не секрет?:)

lbodnar
13.03.2006, 02:35
Возвращаясь к энкодерам... - сделал я недавно по заказу автогонщиков вариант контроллера с двумя энкодерами. Протестировал на том, что было под рукой - 2000 и 1250 имп/об, соответственно разрешение - 8000 и 5000 положений на оборот. 8000 на оборот - это 2.7 угловых минут на шаг.
Самое кульное то, что импульсы не теряются до скоростей в 30 оборотов в секунду (200-300кГц.) Счетчики - 16 битные, так что при необходимости можно до 8 оборотов сделать без перехлеста. Как говорится, заглянул в будущее одним глазом!

Крутятся они независимо, поэтому так много прямых линий :)

Ezdok
17.03.2006, 00:25
Ггмм.. а в чем новость ?????
Logitech Driving Force pro давно юзается с энкодрами. Там некое шестеренчатое колесо с оптодатчиками. Разрешение 16384 кликов на 180 градусов... Руль крутится на 900.. Вобщем года 4 это уже есть.

lbodnar
17.03.2006, 00:41
Ггмм.. а в чем новость ?????
Logitech Driving Force pro давно юзается с энкодрами. Там некое шестеренчатое колесо с оптодатчиками. Разрешение 16384 кликов на 180 градусов... Руль крутится на 900.. Вобщем года 4 это уже есть.Т.е. полный диапазон от стопора до стопора в бытовом руле за $100 даст 82000 различимых позиций? За $100? Не верю! Доказательства в студию! :rtfm:

Фишка не в том чтобы посчитать много импульсов а в том, чтобы не сбиться со счета на больших скоростях.

LazyCamel
17.03.2006, 11:16
Т.е. полный диапазон от стопора до стопора в бытовом руле за $100 даст 82000 различимых позиций? За $100? Не верю! Доказательства в студию! :rtfm:

Фишка не в том чтобы посчитать много импульсов а в том, чтобы не сбиться со счета на больших скоростях.

А в чем проблема ? Берем 8мгц Атмел. кусок кода который занимается счетом с енкодера - занимает порядка 100 тактов. итого за секунду можно посчитать до 80тыс срабатываний. Наружу данные выдаются по SPI. Т.ч. выдать 65535 позиций - ИМХО как некуй делать.

lbodnar
17.03.2006, 12:14
А в чем проблема ? Берем 8мгц Атмел. кусок кода который занимается счетом с енкодера - занимает порядка 100 тактов. итого за секунду можно посчитать до 80тыс срабатываний. Наружу данные выдаются по SPI. Т.ч. выдать 65535 позиций - ИМХО как некуй делать.
А кто сказал "проблема"? Берем Микрочип, за секунду считаем до 250тыс срабатываний от двух энкодеров, оцифровываем пяток 10битных аналоговых каналов и пару десятков кнопок и выдаем это наружу по USB, как обычно, 250 раз в секунду. . :beer:

Ezdok
17.03.2006, 23:35
Т.е. полный диапазон от стопора до стопора в бытовом руле за $100 даст 82000 различимых позиций? За $100? Не верю! Доказательства в студию!
---
Ну начнем что это несовсем бытовой руль. Там все на подшипах. Правда стоит не 100$ , а 145$...
---

82000 различимых позиций на 900 градусов делается примерно за 1.5 - 2 сек.. Руль быстрее нельзя крутить. Стоит шестеренка , стоит оптодатчик. Шестеренка диаметром примернно 10 мм вращается от большой шестерни на руле раз в 10 больше этой шестеренки. Предаточное отношение 10 к 1 .. примерно.. Я сам удивлялся , но РАБОТАЕТ ! И самое главное - центр не уходит и за 3 часа и за 6 часов.
--
ПО поводу скорости срабатывания. Судя по всему инкримент от шестеренки конитроллер считает ПО ПРЕРЫВАНИЯМ.. При частоте камня в 8 мгц ( на само мделе неизвестно) по прерываниям легко посчитать импульсы частотой гденить до 2-х мгц.. ПОтом кто сказал что каждый импульс уходит в USB ? .... Абсолютно уверен что в порт посылается инкримент/декремент имульсов между опросами шины.Тоесть если опрашивать USB контроллер такого руля с интервалами 10мс , то контроллер будет выдавать разницу импульсов а не их истинное знаечени. Так работали COM мышки.. Да и вобщем вот.

lbodnar
17.03.2006, 23:56
Стоит шестеренка , стоит оптодатчик. Шестеренка диаметром примернно 10 мм вращается от большой шестерни на руле раз в 10 больше этой шестеренки. Предаточное отношение 10 к 1 .. примерно..
Штука в том, что шестеренки передают усилие пропорционально передаточному отношению, а инерционность - пропорционально квадрату того же отношения. Все знают как трудно раскрутить даже хорошую систему с "медленного" конца. Поэтому я шестеренки и прочие передаточные системы стараюсь обходить стороной. Хотелось бы всю механику иметь на основной оси напрямую.

lbodnar
18.03.2006, 20:25
Ггмм.. а в чем новость ?????
Logitech Driving Force pro давно юзается с энкодрами. Там некое шестеренчатое колесо с оптодатчиками. Разрешение 16384 кликов на 180 градусов... Руль крутится на 900.. Вобщем года 4 это уже есть.
Ну шо с вами делать! Пришлось пойти и купить этот руль - посмотреть, что там крутолобые придумали! Будем его немного посмотреть. :D

Впечатление номер один - low-speed USB. На кабеле, что-ли, решили сэкономить? :expl:
Впечатление номер два - достаточно дискретный, ступенчатый force-feedback.

Ну что же, значит будем делать свой контроллер :D

Ezdok
18.03.2006, 20:55
Блин , хорош прикалыватся. Это руль днем с огнем несыщеш. Он для Sony PS2.Но при знании темы подходит для PC. Недумаю что речь и дет о том самом руле.. Последний раз его видели полтора года назад на Горбушке.. Больше его никто на прилавках невстречал..
Посвторюсь для особо одаренных. Для передачи 10-ти байтных пакетов с интервалом 10мс скорость USB2 ненужна. Слихвой хватает USB1. Повелась мода на высокоскоростные контроллеры. В конференциях можно встерить такой разговор:

"Ага .. USB1... не.. неправильное устройство..немодно , негламурное....
ПОлучается что устройства на SATA или SCSI круче ? "..

как говорится no comment..


Контроллер этого руля разрабатывался года 4 назад и как старая добрая вещь работает до сих пор без нареканий.
Что касаемо фидбэка - в этом руле самый качественный фидбэк до сих пор. Аналог ему убогий MOMO.. Но за руль я его не считаю.
И вообще , дорабатывать Loditech Driving Force Pro придет в голову только сумашедшему....
--
Далее - речь шла о контроллер на Микрочипе.. ГДЕ ОН , КОНТРОЛЛЕР ?

lbodnar
18.03.2006, 21:03
Блин , хорош прикалыватся.Фигня, одним рулем меньше в природе станет! :D

Что касается тайминга я тебе один хороший вещь скажу - если компьютер задействован в петле обратной связи с задержкой 10мс в обе стороны, то максимальная скорость реакции системы в идеальном случае не превысит 20мс, т.е. частота обновления информации будет в любом случае меньше 50Гц.

Монстры тактильного фидбека признают что обновляться нагрузки должны как минимум с частотой 300Гц и выше.

Ezdok
18.03.2006, 21:07
Ну как разборка ? Увидел шестерню ? На валу двигателя ?
Поситай сколько делает оборотов вал этой шестрени за все 900 градусов и умножь на количество лепестков на этой шестрени !.. Ну , сколько получилось ?

lbodnar
18.03.2006, 21:26
Ну как разборка ? Увидел шестерню ?
После ужина начну вивисекцию. :)

Ступенчатость может быть вызвана двумя причинами - слишком большой дискретностью обратной связи (оптического энкодера), либо недостаточно высоким качеством системы управления приводами - например, 8-битной разрядностью ШИМ. Хотя ШИМ в современных контроллерах 10битный, у меня для этого дела припасены 12битные ЦАПы на которых я собираюсь сделать аналоговую петлю обратной связи по току. В двигателе постоянного тока усилие пропорционально току.

На низких оборотах обратная ЭДС не так велика и, в принципе, ей можно принебречь - но тольоко на низких скоростях. Если используются шестеренчатые передачи, то управлять уже нужно не напряжением, а током - еще одна причина, почему я не люблю шестеренки.

lbodnar
18.03.2006, 21:53
Так вот ты какой, суперэнкодер!

В колесике около 58-60 дырок и оно совершает около 7.5 оборотов при повороте колеса на 180 градусов. При х4 декодировании по фронтам это даст порядка 1800 различимых позиций (не метили ли разработчики на 10 позиций/градус). При сохранении геометрии, поворот руля в пределах 900 градусов даст 9000 позиций.

Хочу сказать, что обычно в а-ля мышиных энкодерах х4 декодирование работает не лучшим образом - длительность темнового импульса плавает в пределах 30-70% и каналы могут быть сдвинуты относительно фазы 90 градусов. Так что четыре последовательных позиции могут достаточно сильно хромать.

lbodnar
18.03.2006, 23:45
Период импульсов ШИМ, управляющих двигателем загрузки - 31.8мкс (частота около 32кГц) Наименьший шаг изменения ширины импульса который я смог засечь - около 120нс. Итого, получаем, что контроллер управляет загрузкой с 8-битной точностью.

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

Я начну с 10-битного управления загрузкой, а там - посмотрим. Мы спешить не будем :D

Ezdok
19.03.2006, 11:06
Пардон , кто хромает и у кого лесенка ?
У FF ?? Если у FF - то обрати сначала внимание на коллекторный двигатель этого FF.. По ощущениям , лесенка ( дискретность) рождается на стыках лепестков коллектора двигателя , там 4 лепестка на сколько я помню , вот между этими лепестками есть промежутки , когда щетки замыкают 2 обмотки сразу и .... в результате происходит уменьщение силы FF.. рождается лесенка... Для того чтобы этого небыло - нужен другой двигатель с большим количеством обмоток , тогда лесенки будут почти незаметны. А лучше всего делать на безколлекторном двигателе..

lbodnar
19.03.2006, 12:50
Пардон , кто хромает и у кого лесенка ?
У FF ?? Если у FF - то обрати сначала внимание на коллекторный двигатель этого FF.. По ощущениям , лесенка ( дискретность) рождается на стыках лепестков коллектора двигателя , там 4 лепестка на сколько я помню , вот между этими лепестками есть промежутки , когда щетки замыкают 2 обмотки сразу и .... в результате происходит уменьщение силы FF.. рождается лесенка... Для того чтобы этого небыло - нужен другой двигатель с большим количеством обмоток , тогда лесенки будут почти незаметны. А лучше всего делать на безколлекторном двигателе..
Судя по осциллограммам тактильная "лесенка" ощущается при изменении заполнения ШИМ, при этом двигатель делает по нескольку оборотов между толчками.

А по поводу моторов - это ничего, у нас опыт есть какой-никакой - у меня припасены три 110-ваттных мотора с плоскими роторами - там плоские коллекторы со 130 контактами/обмотками или около того, вобщем больше чем 4 :D http://www.pmlflightlink.com/motors/GP.html

Бесколлекторные сервомоторы уже опробованы и отложены в сторону. У них хоть сила и немеряная, и щеток нет, магнитное поле ротора достаточно неравномерное, поэтому на ощупь это чувствуется ощутимо (при фиксированом токе статора корректно следящим за вращением). Причем речь идет не о дешевых поделках типа Eurotherm которые недалеко ушли от шаговых двигателей, а о лучших японских сервоприводах Fanuc. К сожалению, нужна или петля обратной связи по усилию (на тензодатчиках), или индивидуальная калибровка и коррекция тока для компенсации нелинейности крутящего момента от положения ротора.

lbodnar
19.03.2006, 17:32
А вот и коллектор. У меня со счетом не очень в школе было :D

Ezdok
19.03.2006, 18:07
блина.. круто.. мнеб такой.. Искал искал , да забил на переделку..
-
Кстати , дискретность ШИМ ощущатся неможет никак. Даже если 8 бит , все равно 256 шагов никак не ощютимы. Всеже вместо двигана поставить резюк на 1кил и померять осцилом че тан на нем..... чем больше угол отклонения руля от центра , тем разностней будут плечи ШИМ.. Вот на резисторе и посмотреть. На двигателе ничего невидно будет из за влияния обмоток.

lbodnar
19.03.2006, 18:19
Вот тут http://www.ece.ubc.ca/~tims/pubs/IMECE99Salcudean.pdf мужики решили, что им нужно не меньше 12бит для трехмерного мышеподобного чуда. Все зависит от максимального достижимого усилия. Если закладывать хорошую максимальную нагрузку, то 1/256 шаг лего ощутится. Все зависит от максимального тока (усилия). Может, можно логарифмическую шкалу завернуть, но проще увеличить разрядность ШИМ. А на осциллографе все отлично видно. Фронт двигается шагами. Индуктивность, конечно видно как действует, но шаги видно четко.

Ты прав насчет коллектора, в DFP почему-то пять контактов на нем (две щетки) и, похоже, толчки синхронны с переключением контактов. Если в момент прохождения двух контактов под щеткой ток идет через обе обмотки, то усилие на роторе моментально увеличивается вдвое, так что разрядность ШИМ отходит на второй план. Управление током помогло бы сильно, но у них там обычный H-мост стоит и коммутирует 24В.

LeonT
19.03.2006, 18:24
lbodnar, а какое передаточное отношение от руля к двигателю, и какой момент получается на руле?
И еще, шестеренчатая передача обычная или безлюфтовая?

Ezdok
19.03.2006, 18:32
Отвечу я...
Там промежуточная шестерня которая между шестерней двигана и самим рулем сидит на простом полированном штыре. Диаметр отверстия в этой шестерне чуть больше диаметра штыря. Естессно присутствует люфт. Я как сделал - на вал накрутил полоску прозрачной пленки для печати на принтере , одел шестерню и таким образом избавился от люфта. Естессно побьольше силиконовой змазки. Но вот беда с ощущениями от самой шестеренки осталась... Я думаю что демпфирующий резиновый ремень от вала двигателя к шестеренке решил бы сразу проблемы с неприятными ощущениями.. Был такой руль от майкрософт лет 5 назад.. мне он очень нравился по ощущениям. Никаких рывков и "зазубрин'..

lbodnar
19.03.2006, 18:35
lbodnar, а какое передаточное отношение от руля к двигателю, и какой момент получается на руле?
И еще, шестеренчатая передача обычная или безлюфтовая?
Передаточное отношение руля к двигателю - 1:40
Максимальный момент измерить нечем, но порядка 3-4кг на ободе руля (диаметр 25см), так что получается около 4 ньютон-метров.
Шестеренки обычные, так что на ободе руля есть люфт в пару миллиметров (если ротор двигателя зафиксировать)

Шестеренка, про которую ezdok ведет речь видна на третьем снимке в глубине, под маленькой шестеренкой вала двигателя.
Черная - сидит на валу руля, белая - промежуточная, блестящая - металлическая шестерня вала движка.

lbodnar
19.03.2006, 18:50
Кто-нибудь может объяснить, нахрена щетки повернуты вогнутой стороной поперек цилиндрической поверхности коллектора?!

LeonT
19.03.2006, 20:09
Спасибо за информацию.
О щетках - плохо видно, но похожее явление бывает на некоторых двигателях. Там это вызвано своеобразной выработкой: в средней части щетка будто бы "выкрашивается". Не на всю глубину, а на несколько десятых мм с краев.

LazyCamel
19.03.2006, 22:49
Вот тут http://www.ece.ubc.ca/~tims/pubs/IMECE99Salcudean.pdf мужики решили, что им нужно не меньше 12бит для трехмерного мышеподобного чуда. Все зависит от максимального достижимого усилия. Если закладывать хорошую максимальную нагрузку, то 1/256 шаг лего ощутится. Все зависит от максимального тока (усилия).

Ребят. вам не кажется что вы начали мастурбировать умными словами на ровном месте ? Просто из-за того чтобы показать что не лыком шиты (чисто русская особеность кстатиЮ независомо от страны проживания :-).

Давайте таки поделим два вопроса.
Разрешающую способность датчика положения вала рулевого колеса.
Разрешающую способность УМНОЖЕННУЮ на частоту дискретизации и характеристики ФНЧ у ШИМ-системы ФФ.

ИМХО трудно требовать от консьюмерсого девайса за 100 баксов применения в ФФ вязкостной электромагнитной муфты скажем с дифференциалов Лансер ЭВО VII, не так ли ?

И ИМХО среднее время реакции девайса с латентность 10мс будет стремиться к 14мс независимо от того используется ли дискретность отсчетов в 10 или 1 мс.

lbodnar
19.03.2006, 23:07
Ребят. вам не кажется что вы начали мастурбировать умными словами на ровном месте ? Просто из-за того чтобы показать что не лыком шиты (чисто русская особеность кстатиЮ независомо от страны проживания :-).

Давайте таки поделим два вопроса.
Разрешающую способность датчика положения вала рулевого колеса.
Разрешающую способность УМНОЖЕННУЮ на частоту дискретизации и характеристики ФНЧ у ШИМ-системы ФФ.

ИМХО трудно требовать от консьюмерсого девайса за 100 баксов применения в ФФ вязкостной электромагнитной муфты скажем с дифференциалов Лансер ЭВО VII, не так ли ?

И ИМХО среднее время реакции девайса с латентность 10мс будет стремиться к 14мс независимо от того используется ли дискретность отсчетов в 10 или 1 мс.:D

Я думаю, что все должно быть сбалансировано - механика этого руля вполне неплохая, даже настоящие стальные подшипники не пожалели поставить. А вот моторчик можно было бы и получше подобрать... Тогда бы и 8 битный ШИМ работал как на все сто.

Как задешево сделать ШИМ с петлей связи по току я не знаю. Я знаю как сделать на инструментальных усилителях, компараторах и прочей аналоговой лабуде. Но это уже не задешево :(

А что ты имеешь в виду, говоря о ФНЧ ШИМа? Механические характеристики системы? При управлиени двигателями постоянного тока вообще ФНЧ как таковой не использется - индуктивности обмотки достаточно.

BearKUT
20.03.2006, 18:41
Так вот ты какой, суперэнкодер!

...
Хочу сказать, что обычно в а-ля мышиных энкодерах х4 декодирование работает не лучшим образом - длительность темнового импульса плавает в пределах 30-70% и каналы могут быть сдвинуты относительно фазы 90 градусов. Так что четыре последовательных позиции могут достаточно сильно хромать.


Посмею не согласиться, потому что если счет идет по фронтам, то фаза тут ни причем. И длительность между импульсами тоже. В прицепе программа иллюстрирующая работу подобного устройства (в основе датчик мышы - колесо на 40 прорезей). Нет никаких сдвигов и потери импульсов при смене направления. Если вдруг такое и случится, то это будет один импульс на очень большое время. И то только если будут какие-то помехи по питанию, или в противном случае попадет пыль между свето и фотодиодами.
А на основе мышынного оптического датчика можно сделать дешевый и надежный энкодер, так как я лично снимал характеристику на оцилле, в результате чего форма импульсов индентична промышленным энкодерам.
И насколько я понимаю те энкодеры выдают только импульсы, которые потом обрабатываются в дальнейшем. Я же предлагаю взять дешевый микроконтроллер(например PIC10F202/206 - меньше 1$) и сделать готовое устройство, на выходе которого будет уже нужная величина. При этом не будет расходоваться время на обработку сигнала основным контроллером. Величины в 256 отсчетов на угол отклонения 30 градусов в одну сторону более чем достаточно. Потому, что никто не собирается расписывать подковы блохе и этой величины за глаза, так как на один отсчет приходится примерно 0,2 градуса. Покажите мне человека, который бы смог отклонять ручку с такой точностью, или даже меньше? Так что споры о количестве разрядов излишни. Уже кто-то говорил. что такую разрядность АЦП в джоях использовали только потому, просто были сделаны такие контроллеры с такой разрядностью, а также ввиду того, что резюки используются не на весь диапазон. Тем более что и программ, использующих 10 разрядов, тоже нет.
Так что вот так вот!

В прицепе программа работы оптического датчика (возможные глюки в отображении информации не берите в расчет, так как делалась на скорую руку для проверки алгоритма. Главное импульсы считает правильно. Размер основного кода невелик, не более 15 строк на Паскале (Дельфи).

lbodnar
20.03.2006, 21:03
Посмею не согласиться,
Вы не учитываете временную составляющую. Если вы заметили, речь идет об устройствах с FF, а для корректной эмуляции инерции (стандартный эффект FF протокола) необходимо дважды дифференцировать координату. В результате взятия разности от разности трех последовательных отсчетов, ускорение (а как следствие, и сила), пропорциональное ускорению, на сетке координат с большим шагом будет изменяться во очень небольших пределах - буквально с 3-4 битной разрадностью. Передайте это на устройство загрузки и получится не инерция, а стиральная доска. А если еще и фаза импульсов плавает...

Зачем добавлять "дешевый" контроллер если есть специализированные чипы квадратурных декодеров считающие импульсы до сумасшедших скоростей (20МГц!) с 24битными счетчиками. У меня на столе сейчас таких пол-десятка валяется, вот он - LS7166. Только для контроллера с FF он [пока] избыточен.

А 10битная разрядность стала повседневной - каждый второй симулятор обрабатывает полную разрядность DirectInput устройств, которая равна 16и битам. Если вы думаете, что я просто так от нечего делать в гонку за цифрами ударился, то скорее всего, мы занимаемся совершенно разными проектами.


Тем более что и программ, использующих 10 разрядов, тоже нет.
Так что вот так вот!
Спасибо за категоричность, тут как раз ее не хватает - все дискуссии да споры... :D

BearKUT
21.03.2006, 18:12
Вы не учитываете временную составляющую. Если вы заметили, речь идет об устройствах с FF, а для корректной эмуляции инерции (стандартный эффект FF протокола) необходимо дважды дифференцировать координату. В результате взятия разности от разности трех последовательных отсчетов, ускорение (а как следствие, и сила), пропорциональное ускорению, на сетке координат с большим шагом будет изменяться во очень небольших пределах - буквально с 3-4 битной разрадностью. Передайте это на устройство загрузки и получится не инерция, а стиральная доска. А если еще и фаза импульсов плавает...

А зачем ее учитывать - эту временную составляющую?! И о какой инерции идет речь? Если нужно загрузить ручку джойстика, то эту работу должен выполнять контроллер по данным из программы. А энкодеры должны только снимать первичные координаты по осям, и все. В этом-то и заключается эффект FF, что он только воздействует на ручку, не получая от нее ничего. А уж как это будет происходить, и надо программировать контроллер или писать драйвер для преобразования данных из программы в тот вид, который необходим для получения того или иного эффекта.


Зачем добавлять "дешевый" контроллер если есть специализированные чипы квадратурных декодеров ...

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

И напоследок: во всех двигателях постоянного тока с двух полюсными магнитами всегда нечетное количество обмоток, а следовательно и контактов коллектора и чем больше это число, тем ровнее работает двигатель. А коллекторы с четным кол-вом контактов используются в двигателях с многополюсными магнитами..., и спец. схемами сдвига фазы.

lbodnar
21.03.2006, 18:37
А зачем ее учитывать - эту временную составляющую?!Потому что мы имитируем пружины, демпферы и инерционность. Пружины - отклонение рулевых плоскостей. Демпфер - вязкость воздуха и приводных систем. Инерционность - их вес.

Любая простейшая сервосистема без демпферной составляющей будет осциллировать как маятник. Демпфер работает по закону F = k * v, где в скорости v сидит временная состовляющая.

Вы выдели как работает мощный недодемпфированный сервомотор? Он обычно разносит все прикрученное к оси и еще хорошо если с опор не слетит.

А для имитации веса системы нужно прикладывать силу F = m * a где в "а" время уже сидит в квадрате.

Вы имеете представление о том на основе каких входных данных "А уж как это будет происходить, и надо программировать контроллер"?

BearKUT
21.03.2006, 19:53
Потому что мы имитируем пружины, демпферы и инерционность. Пружины - отклонение рулевых плоскостей. Демпфер - вязкость воздуха и приводных систем. Инерционность - их вес.

Все эти данные должны идти из симулятора, так как на каждом самолете будут разные величины. А если это сделать просто от фонаря, тогда не будет согласованности с поведением аппарата в программе. Так что я считаю - это не выход из положения. А данные в симуляторе имеются, так как поведение каждого самолета индивидуально, и очень заметно.

Ezdok
21.03.2006, 19:57
Если нужно загрузить ручку джойстика, то эту работу должен выполнять контроллер по данным из программы.
----
Абсолютно верно...
Я бы хотел в догонку спросить - а вот кто обращал внимание что качество FF зависит от самой проги в которой юзается руль.. Самая качественная реализация FF в GranTourismo для PS2... На писюке это RBR - RichardBurnsRally.. Все остальные проги работают не прямиком с FF а кидают в контроллер руля номер эффекта , которым должен "сыграть" FF... Типа въехал в камень - эффект 3 - "наезд на камень слевым колесом" ... Например в RBR ничего не кидается , а ДВИЖОК игры работает с FF напрямую.. Там все получается гладжко и плавно.. Никаких рывков и лесенок небыло заметно впрринципе. А вот в пресетах FF есть такая тема. Но они проходят как ЭФФЕКТЫ для FF но никак не демпфер и прочие пряности ...

Или еще вопрос. Автор темы хочет дописывать движок игры для своего контроллра FF ??? Поясните как это возможно ?

lbodnar
21.03.2006, 20:46
Или еще вопрос. Автор темы хочет дописывать движок игры для своего контроллра FF ??? Поясните как это возможно ?
HID устройства с FF давным давно все стандартизированы. Стандарт лежит тут: http://www.usb.org/developers/devclass_docs/pid1_01.pdf

Я делаю свое устройство в первую очередь с точки зрения качества отработки заданных усилий. Поскольку применение будет весьма узкое - интерфейс особой роли не играет. Очевидно будет свой скоростной двусторонний поток данных, но и как бесплатное приложение - обычный интерфейс FF. Если вы стандарт внимательно почитаете стандарт и поиграетесь с примерами эффектов из Immersion Studio Designer http://www.immersion.com/developer/technology/tools/tool.php?t=7 то станет очевидно, что используя комбинацию наложенных десятка простейших эффектов можно добиться впечатляющих результатов. Проблема в том, что эти базовые блоки - пружина, вязкость, трение, инерция, синусоида имитируются стандартными игровыми устройствами из рук вон плохо. Поэтому построить из кривых кирпичей ровное здание невозможно.

Если кирпичи ровные, то качество эффектов зависит от дизайнера - мне это напоминает ранние компьютеры с волновыми синтезаторами звука - Yamaha тогда рулила со своими чипами. Чего люди добивались смешивая всего три модулированных частоты описать очень трудно. Конечно, теперь проще задуть пару мегабайт оцифрованного напрямую звука, но это пока в мире FF не работает.

В применении к полетам нужно ровно три - пружина, вязкость и инерция. Но качественных, гладких и сильных.

Я еще раз повторю - современные массовые FF устройства работают по принципу синтеза эффектов из внутренних базовых блоков а ля ранние синтезаторы звука или MIDI. Возможность загрузки оцифрованых эффектов (аналог WAV) есть, но практически не используется из-зи ограниченных размеров ОЗУ в контроллере. Опять же повторю (в который раз) что для качественной имитации органов управления легким самолетом нужно всего три внутренних эффекта. Можно еще периодическую синусоиду добавить для ощущения вибрации двигателя. Все остальное - дурь. Ею можно заниматься когда основы будут заложены.

Еще раз об эффектах - пружина работает как F=k*(x-x0)
Хост передает контроллеру параметры точки равновесия х0 и силу пружины k. Контроллер считывает текущую координату, производит вычитание, умножение и выдает на двигатель силу F (задавая ток.) Делать он это должен как минимум с частотой 500Гц чтобы ощущалась как настоящая пружина. Возложить эту работу на хост не применяя интерфейс с низкой задержкой невозможно. Работа хоста - следить за x0 и k в зависимости от параметров полета и менять их при необходимости. Параметры полета не меняются - ничего менять не надо. Обмена с контроллером нет. Вся работа выполняется контроллером.

k зависит от индикаторной скорости полета (квадратично)
x0 зависит от угла атаки, положения триммеров и немного от конфигурации (шасси/закрылки)

Аналогично - вязкость и инерция.

Ezdok
21.03.2006, 21:01
Сей метод неподойдет для MSFS точно. Ибо баыстроизменяющихся переменных там нет.. Например имитация тряски в пикировании.. Пикирование есть , трясеи - нет..Нет ниодной переменной отвечающая за тряску.. К сожалению добавить FF в MSFS непредставляется возможным. Трнеажер на базе переменных ускорения , горизонта и вертикальной скорости - можно.. А вот быстроизменяющихся переменных нет..

lbodnar
21.03.2006, 21:08
Сей метод неподойдет для MSFS точно. Ибо баыстроизменяющихся переменных там нет.. Например имитация тряски в пикировании.. Пикирование есть , трясеи - нет..Нет ниодной переменной отвечающая за тряску.. К сожалению добавить FF в MSFS непредставляется возможным. Трнеажер на базе переменных ускорения , горизонта и вертикальной скорости - можно.. А вот быстроизменяющихся переменных нет..
С точки зрения контроллера, тряска - это несколько синусоидальных эффектов (может и одного хватит) а вот как вычислить, что самолет пикирует и тряску нужно "включить" - не знаю. Наверное, можно плагин сделать, но тряска - это уже примочки. Хочется (и требуется) солидная, надежная имитация ощущения органов управления в нормальных режимах. Это уже будет большое достижение. :rtfm:

Ezdok
21.03.2006, 21:52
так дык в больших самолях с гидроусилителями руля .. гм.. да нет там разной тяги.. Вообще на штурвале ничего не чувствуется окромя демпферной системы... Но она вся механическая..В истрибителях тоже джойстик стоит.. В некоторых есть имитация усилия.. в некоторых нет... Вот еслиб РУДы так зафигачить чтоб автопилот рулил ... ну так это вроде можно..

BearKUT
23.03.2006, 15:13
Имитацию пикирования можно снять по 2-м параметрам: скорость индикаторная, значение которой больше или равно скорости начала тряски и показания вариометра( скорость снижения) тоже выше заданной величины, например 10 м/сек или выше.

BearKUT
23.03.2006, 15:37
...Вот еслиб РУДы так зафигачить чтоб автопилот рулил ... ну так это вроде можно..

Ezdok, ты имеешь ввиду чтобы РУДы перемещались при изменении тяги автопилотом?
Так я по этому поводу уже давно тебя вычислить пытаюсь, а также по имитации стрелочных приборов для шины FSBus. Просто и сердито. главное, что использовать надо готовые решения с минимальной переделкой, или вовсе без оной. Так что связывайся по почте, данные тебе отправлял, и на асю твою тоже запрос от меня есть. Так что давай, если интересно.

lbodnar
23.03.2006, 16:42
Прелесть FF в то, что можно симитировать вещи типа фиксаторов положения ручек управления.

Bond.K
23.03.2006, 18:21
так дык в больших самолях с гидроусилителями руля .. гм.. да нет там разной тяги.. Вообще на штурвале ничего не чувствуется окромя демпферной системы...

На самолётах стоит имитатор загрузки руля. Так что на штурвале всё чуствуется.

Ezdok
26.03.2006, 12:47
Ezdok, ты имеешь ввиду чтобы РУДы перемещались при изменении тяги автопилотом?
Так я по этому поводу уже давно тебя вычислить пытаюсь, а также по имитации стрелочных приборов для шины FSBus. Просто и сердито. главное, что использовать надо готовые решения с минимальной переделкой, или вовсе без оной. Так что связывайся по почте, данные тебе отправлял, и на асю твою тоже запрос от меня есть. Так что давай, если интересно.
----
С удовольствиекм. Но сейчас другой проект.. Новая система управления FS без ограничений по подключаемым компонентам с возможностью руления нестандартными перемененными. ТОесть можно будет управлять внешними тумблерами Protu-154 и другими нестандартами..

=M=Vegas
29.03.2006, 17:41
Это для меня темный лес, но спаять могу, а связи сэтим подскажите, где можно купить (с высылкой по почте) USB контролер указанный на первой странице, цена его как я понял 22.99 у.е.?
Если нет, то скажите пожалуйста маркировки Емкости С3 и Диода и как они включаются в схему (на схеме нет, но на плате присутствуют).
спасибо.

SimRacer
30.03.2006, 12:20
...
Есть рабочая версия для двух скоростных энкодеров, скорость счета импульсов - до 150кГц с обоих одновременно. Для авиасимуляторов вполне хватает. Создавалась она для автогонщиков, а они руль крутят очень быстро! :) Но, вроде бы, и для них такая скорость достаточна. Пока - бетатестируется...
...

а можно вот с этого момента поподробнее? что за устройство, как работает, сколько стоит?
ключевое слово - "для автогонщиков" :)

lbodnar
31.03.2006, 15:23
Покупка контроллера не проблема, а вот доставка из Англии - да.

Что касается энкодеров, до подключение самое обычное - энкодер запитывается от +5в на шине USB и выходы идут сразу на контроллер. Соответственно, энкодер должен быть с напряжением питания на 5в и выходы иметь либо RS422 либо TTL. C энкодерами на 12-24в и выходами с открытым коллектором слишком много возни.

В результате получаем плавных ход и многооборотность - для рулевого колеса самое то.

SimRacer
05.04.2006, 08:29
Покупка контроллера не проблема, а вот доставка из Англии - да.
я думал, что есть некое готовое устройство для симрэйсинга - руль.


Что касается энкодеров, до подключение самое обычное - энкодер запитывается от +5в на шине USB и выходы идут сразу на контроллер. Соответственно, энкодер должен быть с напряжением питания на 5в и выходы иметь либо RS422 либо TTL. C энкодерами на 12-24в и выходами с открытым коллектором слишком много возни.

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

BearKUT
06.04.2006, 16:07
Привет господа!
Вот тут на досуге посетила мысль, что датчик изменения угла перемещения ручки джойстика или других устройств можно сделать по следующему принципу. Идея не нова, но в области джоестроения еще не
применялась, или по крайне мере я о такой не слышал.

Заключается она в следующем: делаем кварцованный генератор импульсов на ТТЛ логике, например на 5 мГц. В цепь кварца очень часто вводят подстроечный конденсатор, который нужен для точной подгонки
частоты генератора. Эту частоту можно изменять в небольших пределах, допустим до 10%. Получаем что частоту генератора можно изменять в пределах 500 кГц. Если для измерения брать точность частотомера с пределом 10 Гц, то из этого получаем 50 000 импульсов, которые можно получить на выходе датчика. А это уже достигает почти 16 разрядов. При этом не нужно различных оптических схем, а также сложных механических передач. Все это укладывается в тот угол, который
необходим.Например 60 градусов (угол отклонения джойстика в обе стороны). Это достигается тем, что непосредственно с осью джойстика соединен подстроечный конденсатор. Сделать его придется самостоятельно, так как надо будет расчитать необходимое приращение емкости на угол отклонения для получения необходимого диапазона изменения частоты. Тем более что это изменение должно быть линейно. Емкость можно вычислить по формулам и уже по этим данным расчитывать площадь пластин конденсатора, который можно сделать их фольгированного текстолита, который и будет диэлектриком.

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

Самому реализовать эту идею нет возможности, так как нет большого опыта работы с микроконтроллерами, и что самое главное, до ближайшего радиомагазина 1500 км, а посылки с Москвы и окрестностей идут очень долго. Думаю что общими силами можно попробовать реализовать данную идею, тем более что в этом что-то есть.

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

Возможно придется создать новую ветку форума по этому поводу.

Да пребудет с нами сила! :о)

USSR_Rik
06.04.2006, 17:23
Не выйдет. То есть получится, конечно, не вопрос - только цепи кварцевых резонаторов весьма чувствительны к паразитным наводкам и емкостям. Температура, колебания влажности, положение руки и тела вирпила (впрочем, тут спасет хорошее экранирование) - в общем, до черта влияющих случайных факторов. Частотный дискриминатор. В общем, вряд ли (мягко говоря) это окажется дешевле копеечного Холла (или чуть более дорогого магниторезистивного мостика) и копеечной микросхемы (или чуть более дорогого UZZ).

Терменвокс! Вот! :) Что-то в этом есть - не надо никаких джойстиков! Руки в воздухе. А что.. почему бы нет?

Кстати, я тут и в самом деле начал руками в воздухе шевелить - гм, занятно могло бы получиться. дифференциальное управление элеронами, разнотяг.. Вот попробуйте сами руками "сбутафорить" такое управление! (Только в одиночестве, иначе упекут в дурку)

ender
06.04.2006, 20:57
Терменвокс! Вот! :) Что-то в этом есть - не надо никаких джойстиков! Руки в воздухе. А что.. почему бы нет?


я уже писал об этом, но в другой ветке: и пару электродов прилепить к рукам, для обратной связи и центровки :)

Ezdok
08.04.2006, 02:41
Я вообще давно пришел к выводу что пульт радиоуправления моделями куда удобней чем дешевая пластмассовая имитация органов управления самолетом......

Blek
08.04.2006, 11:02
Ezdok ? я уже давно над этим думаю . но все мешает отсутствие ненужного передатчика , у меня есть 8-ми каналка . но оното все в комплекте , сам понимаеш , ... правда там всетаки есть пару неудобных моментов . ка то
1 хлипкая механика . ну не предназначена она для таких усилий (это если снимать узел и ставить отдельно)
2 отсутствие кнопок , правда их можно конечно поставить , но.. немного непревычно будет
3 сопряжение с компом , нужно наличие выходного интерфейса . а он не на всех есть . ну если только на новых моделях
ну и самый большой плюс - это высокая точность механики и резюков и фактически "вечные " резисторы

USSR_Rik
08.04.2006, 11:57
Я вообще давно пришел к выводу что пульт радиоуправления моделями куда удобней чем дешевая пластмассовая имитация органов управления самолетом......Не знаю, не знаю. Вопрос-то дюже комплексный - и эргономика в целом (КНОПКИ!), и надежность, и точность (ну не ниже 10 бит как ни крути), и долговечность. Как-то не представляю.

Кстати. может помнишь - года полтора-два назад тут один товарищ таки грозился накидать фоток своего девайса - насколько я понял, что-то вроде министика-переростка, управляемого фактически двумя пальцами. Долго мы обсуждали, фоток так и не дождались.

Я шток своего джойстика наоборот несколько удлинил, мне так нравится. Это, конечно, не полноходовой напольник - но скажем в ЛО на Су-25 (25Т) с продвинутой динамикой очень хорошо.

Ezdok
09.04.2006, 12:50
Я не совсем про то о чем вы говорите. Дело в том что уже давно доказано опытом что например в автосимах гораздо точнее управлять каром простым микроколесом на оси резюка , нежели 2-мя руками крутить баранку , да еще оснащенную фидбеком. Сам делал такие микроджойстики для NFS. Результат был на лицо. Просто скорость реакции пальцев гораздо быстрее рук и тем более ног. Я с лгкостью выигрывал заезды у мастеров , которые крутили рули. Тоже самое и здесь. Если взять норманый хороший пульт от радиоуправления , выпотрошить его , оставить одни микроджойстики и кнопки , оснавтить его Mjoy16 хотябы - то по эффективности и скорости реакции в управлении самолетом будет только плюс. Единственный недостаток это то что надо немного привыкнуть.... НЕзнаю правда , например в FS2004 управлять самолетом с помощью такого пульта будет просто неинтересно , а вот в ил2 будет выигрыш огромный посравнению с большими джоями как по скорости реакции , так и по маневренности . Тут дело в самом принципе постронеия управления , а не в качестве его реализации. Пальцы куда лучше и точнее исполняют команды от мозга , чем руки и тем более ноги.

LazyCamel
09.04.2006, 14:06
Фантазии про точность. :-)Абсолютно теже аналогии, что и на кнопках играть в автосимы.

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

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

Желающие могут попробовать выковырять микроджойстик из плейстейшена, а потом пострелять с его помощью в Ил-2, прильнув к прицелу :-) Или заюзать вместо мышки в Каунтер-Страйке каком-нибудь.

PSЖ А уж что скажут люди, купившие педали у UIV, которым надо только обяснить что оказывается качалки под пальцы лучше. т.к. пальцы быстрее и точнее чем ноги - я даже боюсь предположить :-)

guk
09.04.2006, 18:35
Фантазии про точность. :-)Абсолютно теже аналогии, что и на кнопках играть в автосимы.

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

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

Желающие могут попробовать выковырять микроджойстик из плейстейшена, а потом пострелять с его помощью в Ил-2, прильнув к прицелу :-) Или заюзать вместо мышки в Каунтер-Страйке каком-нибудь.


Извини, ты не прав. Ездок прав.
Пальцами рук человек работает быстрее и точнее чем запястьем, локтем и плечом. Такая у человека физиология.

Возможно ты прав, что микроджойстик из плейстейшена не соответствует точности или быстроте пальцев. Я никогда не видел этого микроджойстика. Судить не берусь. Однако, упомянутые выше радиоуправляемые модели, музыкальные микшерские пульты, возможно какие-то другие дорогие и серьёзные устройства, где не требуется физической силы, но нужна точность, таки используют управление пальцами. Не кнопочное управление пальцами.

Ezdok
09.04.2006, 19:44
Плейстейшны в помойку ! Там микроджойстик работает почти как батон.
Посмотри на соревнования по пилотированию радиоуправляемых моделей...... и пульты у них такого каческва - о котором нам тока мечтать. И не резюки там вовсе ... Да и на микроджойстик это мало похоже. Такая прецизионная ручка отдельно на X и Y без малейшего намека на люфт.

Blek
10.04.2006, 00:31
Ezdok как не странно но там досихпор используют резисторы , конечно они не ширпотребовские , а очень специальные и до жути износоустойчивые . у меня когдато была апаратура которй на тот момент уже было порядка 5-6 лет , работала вооще без каких либо сбоев и кстати в сервомашинках в качестве датчика положения тоже переменники стоят , о качестве и надежности тех резисторов говорит тот факт что потеря сигнала или некачественый сем сигнала черевато "дровами" для авиамоделиста , а это ...мягко говоря неприятно . точность механники очень высока , хоть и из пластмассы зделана , правда какаято износоустойчивая , смазки в ней практически нет
микростики от плейстейшенов и рядом не лежали и сравнивать их это все одно что х@р с пальцем

LazyCamel
10.04.2006, 08:02
Извини, ты не прав. Ездок прав.
Пальцами рук человек работает быстрее и точнее чем запястьем, локтем и плечом. Такая у человека физиология.

Дьявол кроется в деталях :-)

Если сравнивать впрямую - разумеется пальцы точнее (было бы удивительно если не так), однако ПЛЕЧО у органов управления ориентированых на ноги или руки БОЛЬШЕ ~ на порядок.

Плюс неавно наработаная моторика кисти-предплечий у опытных вирпилов/квакеров еще уменьшает эту разницу в точности с пальцами.

LazyCamel
10.04.2006, 08:15
Посмотри на соревнования по пилотированию радиоуправляемых моделей...... и пульты у них такого каческва - о котором нам тока мечтать. И не резюки там вовсе ... Да и на микроджойстик это мало похоже. Такая прецизионная ручка отдельно на X и Y без малейшего намека на люфт.

А что мне на нее смотреть ? Рядом вон футаба 8-канальная стоит.

Хорошая механика, но ничего сложного для повторения. Только дорого.

Резисторы там кстати стоят. Хоть и не бытовые, но совершенно стандартные индустриальные Bourns серий 65xx/66xx которые ты также можешь купить в Москве. Стоят они примерно так же как и МАРСы.

Себестоимость изготовления аналогичного подвеса джойстика, контроллера и пары таких резисторов легко выходит к сумме ~200$ и это без учета ручки, только механизм.

Такой джой кто-нибудь купит ? Я слабо верю. А на аппаратуру РУ и $500-700-1000 потратиться народ не сильно пугается.

guk
10.04.2006, 09:14
Дьявол кроется в деталях :-)

Если сравнивать впрямую - разумеется пальцы точнее (было бы удивительно если не так), однако ПЛЕЧО у органов управления ориентированых на ноги или руки БОЛЬШЕ ~ на порядок.

Плюс неавно наработаная моторика кисти-предплечий у опытных вирпилов/квакеров еще уменьшает эту разницу в точности с пальцами.
Ах, ну как же ты так ошибся?
Да, у настольного джойстика ход больше чем у ползунка для пальца. Большим ходом достигается бОльшая точность позиционирования, но время позиционирования тоже увеличивается. Вот и получается что соотношение точность/скорость для пальцев всё равно лучше чем для запястья.

Это не я придумал это спортивная медицина. Я немного занимаюсь фехтованием на саблях, так что вопрос что точнее и быстрее пальцы или запястье для меня оказался уже решен. И моторика пальцев тренеруется легче чем моторика других конечностей.
Ездок таки прав ;)

USSR_Rik
10.04.2006, 10:45
Давайте только не будем говорить о скорости позиционирования - имхо, это в данном случае не аргумент. Кому тут не хватает скорости перемещения РУС, чтобы самолет мгновенно на закритику загнать? Нет таких? Очень жаль.

Пример с радиоуправляемыми моделями плохой - вы сравните их динамику с динамикой самолета в Иле или ЛО.

Можно, конечно, начать считать плечи рычагов локтя, кисти, пальцев, штоков джойстиков - а надо ли? Говорил тогда - повторю и сейчас: поверю когда увижу. Причем не просто стик, а готовый девайс, пригодный к полетам/войне.

Ezdok
10.04.2006, 11:04
Готового девайза небудет точно. Форум всевремя уходит в строну. Начали за здравие , закончили о готовом девайзе. Вы еще пожалуйтесь что упаковка у него без паралона будет и не вирпильного цвета...
Просто лично меня удивляет тот факт , что гоняясь за точностью позиционирования ( аж 16 бит предлагали) , гоняясь за точностью оставляем идею "Ручки совмещенную с осями X и У " , которая еще прогружена пружинами и плохосмазана и вообще люфтит. Это я про джой. Эта идея хороша в настоящем самолете. Там нужна массивная ручка-штурвал , которая управляется большими мышцами рук ( не пальцами) , и педали, которые управляются ногами. В условиях тряски и перегрузок такая схема просто необходима. Какие пальцы при перегрузке в 5g? Но вирпил очень сильно отличается от пилота реального самолета. Вирпил мертво сидит на стуле и никаких перегрузок. Поэтому в 90% случаев все навороты современных джоев будто их массивность , пружиненность и прочее только мешает полетам. Мало того , до боли мешает совмещенный принцип управления , когда на одной "палке' висят оси X и Y.. В джое , тем более чувствительном почти невозможно поиграть одной осью , незатронув показания другой. Пример - ручку джоя на 2/3 вправо и покрутить до упора вверх-вниз.... Так вот по оси X будут достаточно большие отклонения чтобы свалить самолет в штопор или проиграть бой. Я не за то чтобы все бросились покупать пульты и учится летать на них. Я просто взял на заметку тот факт что для вирпильства они лучше.. НЕ более..

guk
10.04.2006, 11:23
Давайте только не будем говорить о скорости позиционирования - имхо, это в данном случае не аргумент. Кому тут не хватает скорости перемещения РУС, чтобы самолет мгновенно на закритику загнать? Нет таких? Очень жаль.

Нет-нет ты не понял.
Не надо ничего загонять за край. Напиши лучше своё имя фамилию отчество в Джой Тестере джойстиком. Если сможешь это сделать то я думаю увидишь что пальцами было-бы точнее и быстрее.
:)
Ездок таки прав, пальцами для вирпильства лучше ;)

sergeyk
10.04.2006, 11:40
На счёт модельных пультов ДУ идея неплохая -- надо будет зайти в магазинчик посмотреть на тему запчастей, там действительно достойная элементная база... но думаю цены сравнимы с промышленными джоями.

Вот только пальцами даже в MSFS много не нарулишь т.к. помимо двух параметров надо ещё как минимум с десяток всякой механики управлять, об истребителе в пылу боя я ваобще молчу. Идея HOTAS как раз в том что газ/тонгаж/крен/направление управляются руками/ногами, при этом под пальцы можно напихать ещё некоторое кол-во функций. Конечно в геймпадах тоже напихано под каждый палец... точность большого пальца при этом снижается, IMHO, ... истина думаю где то посередине.

Промышленные джойстики, к стати, тоже по сути управляются и кистью и пальцами т.е. и ход большой(кисть) и точность высокая(пальцы) но кнопок на рукоятках редко ставять от одной, как правило, до трёх, что очень редко.

P.S. Вирпил ближе всего к пилоту БПЛА -- вот эргономика чьего рабочего места интересна! Есть знатоки?

P.P.S. Посмотрел на авиамодельном сайте http://www.alexwest.ru -- визуально каждый из двух джойстиков на пультах двухосевой, так что не такое уж там и раздельное управление. Запчастей не видно, а 300 баксов за "коробочку" под разборку дороговато ;) Но судя по писанию у дорогих моделей есть возможность подключения к PC по USB "c поддержкой всех эмуляторов" вот только о каких эмуляторах речь о модельных или ваобще.

LazyCamel
10.04.2006, 16:06
Ездок таки прав, пальцами для вирпильства лучше ;)

Хуже. Блин, давайте считать

Просто пример. Берем ручку как обычно. Растояние от точки хвата ручки пальцами до бумаги оцениваем в 20мм.

Пробуем написать минимально различимый КВАДРАТИК/прямоугольник..
это у нас будет как раз простейшее определиние дозирования усилий по перпендикулярным осям
Если у вас получится сделать его со стороной диаметром 1 мм - ИМХО вам очень повезло.

Грубо говоря на плече 20 мм у нас точность ~1мм.
Теперь берем ручку джоя и примитивно переносим масштаб.
150мм/20мм*1 мм=7.5 мм. Т.е. для обеспечения такой жо точности надо передвинуть ручку джоя на 7 с половиной милиметров.

НУ и что сделать ПРОЩЕ ?

ЗЫ: Надеюсь школьный курс тригонометрии, в частности параллельный перенос здесь расшифровывать не надо ?

Ezdok
10.04.2006, 16:36
Тогда другой вопрос - почему в музыкальных синтезаторах , или микшерных пультах неставят джойстики Saitek или Hotas на 600$ ?? Даже в самых сложных и дорогих синтах стоят джои адаптированные под пальцы а не под кисть , и нидайбог руки или еще хуже ноги. Попыток управлять звуком от руля авто или от педалей самолета было много , но ниодна идея не прижилась. Мало того , хочу добавить что в дорогущих синтах ставят чувствиетльные к силе нажатия полоски , водя по которым пальцами очель легко и интуитивно управлять звуком. Никаких джоев и механики.... я про это. Есть утилита MIDI2JOY , которая переводит MIDI информацию от синтезатора в джойстик. Надо на досуге попробовать полоску такую. Поуправлять ей скажем ил2. Уверен что это будет самый руль посравнению с тяжелыми джоями.
Да , кстаи , если кто помнит - FS2002 можно было управлять мышкой. Сколько народу очень качественно и с филировочной точностью сажало мышкой тяжелые самоли. Я нераз балывался сам. После 10-ти минут полета , напроч забываеш что в руках мышь. Мышь убрали , народ орал года 2. Даже утилиту назад вернули. Это еще раз доказывает что тяжелый джой не панацея.

Ezdok
10.04.2006, 16:39
Отдельно для LazyCamel:
Расчтеы расчетами - Проведи эксперимент. Привяжи к запястью карандаш и попробуй нарисовать круг мышцами одной руки без участия пальцев. . Затем возьми карандаш в пальцы и зафиксируй запястье на столе и нарисуй круг одими только пальцами.. Результат мягко удивит.
Оказывается пальцами круг получился мельче , но гораздо точнее и с ровными краями.. Неправдо забавно ?

LazyCamel
10.04.2006, 20:51
Отдельно для LazyCamel:
Расчтеы расчетами - Проведи эксперимент. Привяжи к запястью карандаш и попробуй нарисовать круг мышцами одной руки без участия пальцев. . Затем возьми карандаш в пальцы и зафиксируй запястье на столе и нарисуй круг одими только пальцами.. Результат мягко удивит.
Оказывается пальцами круг получился мельче , но гораздо точнее и с ровными краями.. Неправдо забавно ?

Слушай, хватит дурковать. Я конечно понимаю что ты всегда прав, но ПЛЕЧО разное. Я лично русовал с помощья пантографа с плечом 1:10 печатные платы с шагом 0.5 мм с листов в миллиметровки. Прикладывать приходилось усилия не только кисти. Вот я дебил да ? мне надо было просто взять маркер с шириной линии 0.5 мм и вперед. у пальцев же точность офигеть какая.

ЗЫ:
Крановщики которые спичку к сигарете поднести могут и вертолетчики носовым колесом на бутылку шампанского опираясь воронку на Ми-2 крутят - конечно микростиками орудуют.

lbodnar
10.04.2006, 22:32
При чем тут синтезаторы? Вы совершенно игнорируете важность обратной связи. Чувствительность слуха к неточности высоты звука такова, что любой музыкант расслышит отклонение в пару герц на частотах первой-второй октавы.

Обратная связь в самолете - думайте сами. Она в основном в мыслях а не в ощущениях.

Ezdok
11.04.2006, 02:06
ЗЫ:
Крановщики которые спичку к сигарете поднести могут и вертолетчики носовым колесом на бутылку шампанского опираясь воронку на Ми-2 крутят - конечно микростиками орудуют.
---
ТОгда получается закономерность - чем больше самолет , тем больше штурвал должен быть .. Однако накой в самом большом airbus стоит вместо огромного штурвала такая плюшка-джойстик ? Неужто вопреки ?
---
А про микрождойстики и крановщиков я уже объяснял - микроджойстик неприменим в условиях тряски. Нет. Ты мне объясни , вирпила трясет и у него перегрузки в 5g ? ??? Если надо выиграть состязание по кибер-спорту то как раз хороший микроджойстик....

lbodnar
11.04.2006, 02:43
Кстати, ребята из Германии, которые продавали MJoy16 почему-то закрыли свой онлайн магазин.

У них в мартовской информации есть такая замудреная фраза, что Мджои продавались нарасхват и поэтому они кончились. Поэтому больше не продаются. Ничего не понимаю :(

А еще они сообщают, что в процессе разработки РУДа для Боингов они сменили контроллер интерфейса. Догадайтесь, на что они его сменили :D

guk
11.04.2006, 06:03
Ну вот, а имени своего джойстиком так никто и не написал, хотя и выкладки тригонометрические есть и плечо большое.

А ещё я не знаю чо такое пантограф и как он конкурирует с маркером.

А ещё я летаю на сесснах и держу штурвал двумя пальцами. Так удобнее. Это не я такой умный, так меня инструктор научил. При посадке конечно всей пятернёй, но не из-за точности, а из-за надёжности хвата.

Ну и обратная связь в самолёте самая физическая. Если штурвал или педали не даются, вырываются, надо подтримить и опять управлять пальчиками и носочками, нежно.

Как то мы отвлеклись от темы, друзья, а? Кажется начали писюльками меряться. Может лучше останемся каждый присвоём мнении? :ups:

Ну и вот, у lbodnar такая победа! Надеюсь немцы будут довольны заменой :bravo:

LazyCamel
14.04.2006, 12:43
Ну вот, а имени своего джойстиком так никто и не написал, хотя и выкладки тригонометрические есть и плечо большое.


Я что-то пропустил - кто-то уже расписался микростиком ? :-)

А так я, например, могу расписаться держа карандаш или фломастер зубами.
Люди с ампутироваными кистями пишут и вилкой кушают ?



А ещё я не знаю чо такое пантограф и как он конкурирует с маркером.


пантограф, это такая конструкция построеная на теореме подобия., грубо говоря состоящая из двух параллелограмов. Применяется для черчения с масштабированием. При плече 1/10 можно проводить параллельные линии на растоянии 5мм друг от друга, малый параллелограм прочертить их на растоянии 0.5 мм друг от друга.
РАньше был оч. распространнен в радиолюбительской среде,т.к. позволял недорого создавать печчатные платы высокой точности.
Лазерный принтеров в то время не было, а копировальные аппараты Эра находились в комнатах с обитой железом дверью и должны были иметь журнал учета количества копий.

Из побочных эффектов - если тебя надо провести линию 15мм на плате, то приходится проводить линию в 15см на чертеже. Соответсвенно ни о какой работе "только кончиками пальцев" и речи идти не может.



А ещё я летаю на сесснах и держу штурвал двумя пальцами. Так удобнее. Это не я такой умный, так меня инструктор научил. При посадке конечно всей пятернёй, но не из-за точности, а из-за надёжности хвата.


А я, например, занимаюсь конструкцией РУС, который возможно будет запущен в производство в рамках ВКБ. :-) Это к вопросу о фаллометрии. :-)

Сейчаз как раз мучаю разные варианты конструкций, включая разные размеры. И как минимум представляю теперь необходимую точность изготовления и связанные с этим технологические сложности , для устройств с разными размерами органов управления в частности.
Например большинству людей неочевидно, что люфт в механизме подвеса в 90% случаев линейно переносится, независимо от длины рукоятки. В результате этот люфт в сборе составляет допустим 1 мм что для напольного РУСа со штоком в 50-70см, что для микростика в 35-50мм.
Угловую ошибку желающие могут посчитать сами.
Именно поэтому в аппаратуре РУ используются не оси на подшипниках скольжения ак в джойстиках, а барабаны. За счет большой поверхностии некоторой нецилиндричности которых, люфты выбираются автоматически.

ЗЫ: Впрочем если кто-нибудь вроде викса вдруг захочет микростик, потому что с так ему будет еще удобнее - сделаю без базара. :-)

ippow
15.04.2006, 16:10
Пока суть да дело, я быстренько набросал прошивку для 18f2550 USB 2.0
Лежит вот здесь: http://artjoy.narod.ru , вместе с исходным кодом на С

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

Будет кому интересно, выложу и схему со встроенным программатором на 1 транзисторе кт315 и полной точностью при малых углах поворота резистора

Pavel Ignatoff
17.04.2006, 04:58
Пока суть да дело, я быстренько набросал прошивку для 18f2550 USB 2.0
Лежит вот здесь: http://artjoy.narod.ru , вместе с исходным кодом на С

Купил 18f2550 в Москве за 150 рублей, вот здесь http://www.trt.ru, правда они только по рабочим дням работают

Будет кому интересно, выложу и схему со встроенным программатором на 1 транзисторе кт315 и полной точностью при малых углах поворота резистора

А схемку можно, pls...

ippow
17.04.2006, 12:46
Обязательно... Просто готового символа контроллера нигде не нашел, а то бы уже

ippow
17.04.2006, 19:43
Положил схему на сайт

YoZHeG
10.06.2010, 15:26
Кто-нибудь уже пробовал собрать контроллер по схеме уважаемого ippow'а ?
Как он? Стоит его собирать или лучше на атмеге?
Другие варианты прошивки еще не появились?

DenUA
07.12.2010, 14:55
Кто-нибудь уже пробовал собрать контроллер по схеме уважаемого ippow'а ?
Как он? Стоит его собирать или лучше на атмеге?
Другие варианты прошивки еще не появились?

Все просто летают, уже. Вот и ответить некому..... :D
тоже интересно стоит или нет?

Sokol1_Br
20.12.2010, 00:58
Controladora Joy.01

http://img180.imageshack.us/img180/5045/joy01.jpg
http://www.xtremeracers.info/forums/viewtopic.php?f=45&t=5696

Sokol1_Br

PoHbka
04.04.2011, 11:08
Что то сайт http://www.leobodnar.com работает, деньги принимает, но ответа никакого.