PDA

Просмотр полной версии : Концепция универсального контроллера джойстика



NichtLanden
20.11.2004, 18:48
Уважаемые коллеги!
Идея реализации контроллера джойстика на базе АТМЕЛ ATMega 8 мне очень понравилась, но у нее к сожалению один недостаток – отсутствие унификации и отсутствие унифицированного драйвера, т.е в настоящий момент делая плату на базе АТМега 8 мы по прежнему привязаны к определенному типу джойстика – типа «4 оси и 8 кнопок», и нет ни какой унификации, ни программирования кнопок как в сайтеке, афтебанере, кугуаре, нет возможности установки режимов М1, М2, М3 и добавление состояния Shift+M1, Shif+M2, Shift+M3.
Как владельцу Saitek X45 мне очень понравилась реализация программирования копок и осей как в официальных так и в Dhaumizer драйверах для X45.
Итак, что представляет из себя Х45
1. Четыре 4-х или 8-ми позиционных хатки (реально стоит четыре кнопки на NOSW, положения NO, SO, SW, NW реализуются при одновременном нажатии на две соответствующие кнопки), причем средствами драйвера одна хатка может через драйвер работать в качестве мыши, другая в качестве быстрого обзора, две других – как 16 или 8 дополнительных кнопки в зависимости от режима программирования – 4 или 8 кнокпок на хатку.
2. 6 осей – Х, Y, - вверх -вниз, Z – газ, U-руддер, V – триммера элеронов, S – триммер руля напрвления - реализованы при помощи потенциометров в 50 и 100 ком.
3. 8 кнопок огня (одна из них на Shift mode) –
4. 2 трехпозиционных переключателя MODE – М1, М2, M3 – режим истребителя, бомбера или штурмовика плюс Shift+ М1, Shift+ М2, Shift+ М3 – соответственно шесть различных мапперов для клавиатурных команд и трехпозиционный переключатель AUX для изменения угла обзора – можно его завести и на другие команды.
5. Память Serial Eprom 1 Кб для загрузки профайлеров с запрограммированными кноками, хаткам и осями - используется как и родными так и Dhaumizer драйверами
Итак коллеги, насколько я понял осей и хаток и кнопок у Х45 максимальное количество на сегодняшний день. Программно при установке драйверов сайтека устанавливается HID драйвера клавиатуры, мыши, и драйвер самого джойстика.. В чем идея моего предложения – создание унифицированной платы контроллера джойстика на используя идеологию Х45 – программируемых 4 хатки, 6 осей, 8 кнопок работающих в М1, М2, M3 Shift+ М1, Shift+ М2, Shift+ М3 и написании и унифицированных драйверов на подобии драйверов сайтека Х45 . Тут мы не нарушаем никаких авторских прав, ибо сами пишем драйвер с нуля, а не с исходников Сайтека. В случае создания унифицированного контроллера и унифицированного драйвера мы можем:
1. Не быть привязанными к гарантийным мастерским, в случае выхода из строя после гарантии, или отсутствия сервис-центра где ни будь на Камчатке в Осетии или Павлодаре приобретаем такую платку через Сухой ру, устанавливаем сами или просим знакомого припаять нам резисторы и кнопки на эту плату, после чего ставим унифицированный драйвер и программируем оси, хатки и кнопки. В настоящий же момент вылетел у нас джой – это деньги на ветер, за исключением Москвы хрен его кто отремонтирует.
2. Можно легко с помощью платы усовершенствовать существующие типы джойстиков – для примера – та же самая модернизация Эдельвейсом своего АБ2 – к примеру доставить дополнительные оси триммеров в виде обычного потенциометра, ввести теже самые моды М1 – М3 при помощи переключателя, установить дополнительную хатку.

Полазив по сайту Atmel я нашел микросхему, специально предназначенную дя контроллеров джойстика, включая поддержку HID драйверов клавиатуры и мыши - а именно USB Controllers AT43USB355 http://www.atmel.com/products/USB - позиционируемый самой компанией производителем как контроллер для джойстиков. – софт для программирования примеры по этой ссылке (только предварительно зарегистрироваться) http://www.atmel.com/products/USB/forms/docs/AT43DK355_Installation_Package_APR192004.zip
Экономика НИОКР
1. Кит для программирования AT43USB3XX - AT43DK355 – 230-250 usd.
2. Написание драйвера - ????
3. Разводка печатной платы в пикаде-?????
Экономика при производстве унифицированного изделия на печатной плате
Serial Eprom для маппера – от 6 рублей (1K – Х45) до 45 руб. (32K в Coguar)
Счетверенные Компараторы LN339 ( стоят в Х45, на 8 осей) – 2 * 2,5 рубля = 5 рублей.
Печатная плата – 100 рублей опытный образец, в производстве будет рублей 10 - 15
AT43USB355 - 4 – 6 USD.
Болванка с драйвером - 0,3 USD
Пайка изделия – от 30 копеек за ножку (на микросхеме 64 ножки) ~ 19 рублей
Разьем USB – рублей 5 – 6
Весь вопрос в написании драйвера джойстика (включая HID)и программировании микроконтроллера. Думаю все можно сделать на ATMEL, благо он выпускает и контроллеры, и память, кварцы не нужны, так как генератор на 6 Мгц в составе микросхемы.
Так что коллеги, подумаем над унифицированным продуктом для всех типов джойстика?
Можно рассмотреть и кугуар, но насколько я знаю там меньше и осей и хаток, но там что то интересное с памятью
1. AT43USB355 и файл в pdf.
Description:
Key Parameters:

Full-speed USB microcontroller with a 12 MIPS AVR, 3 function endpoints, a 2-port Hub and 12-channel 10-bit ADC, PWM and 24 Kbytes of program SRAM or mask ROM.
Please register to download the USB documentation, software and drivers. 10-bit A/D (channel) 12

16-bit Timer Yes

8-bit Timer Yes

AVR MIPS 12

External Interrupt 2

HUB Ports 2



Зарегистрировавшись можно скачать всю документацию по этому девайсу
http://www.atmel.com/products/usb/forms/softwareg.asp
http://www.atmel.com/products/USB/forms/docs/AT43DK355_Installation_Package_APR192004.zip
. Думаю возможности сухого ру позволяют реализовать данный проект.
P.S – Как я вижу само изделие – изготовленная фабричным образом плата нанесенными на текстолит маркировкой осей (Х, Y, Z….), кнопок – 1,2,3…, Мод – М1, М2 и пр, хаток – Hat1, Hat2 и прочее. Необходимо собрать информацию о типах хаток в разных джойстиках, думаю при разводке платы можно реализовать подсоединение и 4-х кнопочных и 8-ми кнопочных хаток.

Да пребудет с нами сила Шворца!
P.S - Х45 мой починили мужики наши из сервиса - просто из за китайской паки отошло несклько проводков на блоке РУС

UIV
01.12.2004, 14:47
РУС лучше собирать на 2 контроллерах. Один контроллер обрабатывает оси крена и тангажа, а также общается со вторым контроллером, который находится в ручке РУС (обрабатывает кнопки\хатки). Это реализовано в кугаре. Смысл - не надо тащить кучу проводов из ручки, достаточно 4 (2 питание, 2 для цифры). Преимущество этого - нет наводок, проще сборка\пайка, можно использовать разные ручки.

MeanDog
01.12.2004, 19:39
РУС лучше собирать на 2 контроллерах. Один контроллер обрабатывает оси крена и тангажа, а также общается со вторым контроллером, который находится в ручке РУС (обрабатывает кнопки\хатки). Это реализовано в кугаре. Смысл - не надо тащить кучу проводов из ручки, достаточно 4 (2 питание, 2 для цифры). Преимущество этого - нет наводок, проще сборка\пайка, можно использовать разные ручки.

Правильно. Или можно какой-нибудь цифровой интерфейс сделать между контроллерами РУС и РУД, а УСБ девайс - один.

USSR_Rik
02.12.2004, 12:10
А зачем вообще привязываться к какому-либо промышленному джойстику? Ведь в принципе они одинаковы (я имею в виду прослойку между механикой и обрабатывающей электроникой, т.е. контроллером) - оси плюс кнопки. Те, кто пользуется схемами и софтом от MeanDog и LazyCamel, оценили электронику, так что есть неплохой старт и кое-какой опыт. Все-таки 6 осей и два (или более) десятка кнопок (в разных вариантах исполнения) - это совсем неплохо.

Моё представление о дальнейшем - центральный девайс с контроллером и тремя (тремями, гы :) ) цифровыми интерфейсами - один в РУС (две оси, один-два хата - непринципиально, кнопки), второй - в РУД (несколько осей, куча кнопок), третий - педали. Причем третий (педальный) цифровой интерфейс вполне можно заменить аналоговым входом, там не нужна высокая точность - хватит за глаза 256 отсчетов АЦП. Как вариант - центральный девайс встроен в РУС или РУД.

У меня сейчас на схеме MeanDog контроллер установлен в РУС, от него двухметровый кабель идет в РУД (6 или 7 цифровых линий матрицы кнопок, питание, земля, 3 аналоговых - газ, масштаб обзора, т.е. плавное приближение - удаление, третью ось пока не задействовал, РУД у меня древний, некуда просто). Аналоговые линии - в экране, и все нормально работает (с учетом обыкновенных советских резисторов старых). Масштаб обзора почти не дрожит (правда, есть определенные "нехорошие" положения - но это уже именно резистор шумит). Это - обоснование аналоговой линии в педали. ИМХО.

Софт. Я думаю, что именно тут и будет основная работа и основные затраты. Сделать хороший маппер (одновременно и функциональный, и удобный, и понятный, и жрущий мало ресурсов), я думаю, непросто. Хотя - это на мой непросвещенный взгляд. А я бы еще хотел и совместимости с исходными схемами от MeanDog и LazyCamel.

Во, млин, настрочил... Лев Толстой...

NichtLanden
03.12.2004, 23:36
Хлопцы, привет!
Сегодня не могу связно сформулировть свои мысли в силу объектиных причин( Ты думаешь что я пьян? - И правильно думаешь:)) Предлагаю завтра подойти к этому вопросу исходя из военных и экономических требований к новому контроллеру:)

BAG
04.12.2004, 11:18
тю .... зачем этот срыбор. Я вот взял за основу работу MeanDog`a и сделал себе электронику с чуть большим количеством осей и кнопок .... но вот в том девайсе который я уже на 90 процентов собрал чтото не помещаются все оси 8) ... ну и кнопки .... я думаю скоро выложу фотки

BAG
04.12.2004, 11:51
вот фото http://sukhoi.ru/forum/showthread.php?p=484869#post484869

NichtLanden
04.12.2004, 20:38
Мне кажется что танцевать надо от унификации, надежности и цель - выпуск готового решения к которому достаточно подпаять провода, а не конструктора с которым надо еще возится делая его прошивку и доводить его до ума. В отличии от ATMega8 USB Controllers AT43USB355 изначально поддерживает USB шину, есть большое каоличество ЦАП для осей, встренный таймер, память для прошивки...
Я не рюх в электронике, но вот источников ВЧ наводок на джойстике где стоят резбки и кнопки но в упор не вижу... Изготовление довполнительных контроллеров на мой взгляд не оправдано ни экномическими, ни техническими причинами, так как увеличивается стоимость изготвления (экномика), не в любой джойсти можно поставить платку отлеьного контроллера РУС РУД (техинческий) и увеличиение числа компонентов приволит к снижении надежности... Еще рах говорю, речь идет о промышленном а не любительском изделии, готовым к установке и конфигурирванию собственными драйверами...

BAG
05.12.2004, 02:15
Ну ты это явно немножко не в курсе делов.

Вопервых мега8 стоит в 2.5 раза дешевле это минимум , во вторых зачем тебе больше 8ми осей ??? я вот сделал себе электронику , могу считать 14 осей 64 кнопки 1 хэт ... ну и что мне от этого ??? я передать могу только 8 осей 32 кнопки 1 хэт ( больше Директ Х скушать не может ) ....

Всё получилось компактно и неплохо. Работает стабильно. Что ещё нужно ???
Подправить себе прошивку могу сам , что не устраивает сразуже могу поменять.

На один контролер вешается легко РУС РУД и педали. тоесть на 8мь осей.
Наводки лекго убираются с помошью банального экранирования. Резисторы простые советские купить легко. Что ещё нужно для полного счастья ???

Вот я себе сделал только что РУД , я даволен , сейчас соберу себе педали , подкоректирую РУС и закончу РУД , вот и будет мне нормальный комплект , который в магазине не купишь, так как всё что продают это фыгня.

МинДог сделал прекрасную вешь. ЛэзиКамел её доработал. Я тоже взял за основу работу МинДога, но в отличии от ЛэзиКамела сидел и молчал , так как времени на других не хватало. Могу сказать , что тот кому нужно чтото - тот может сам себе это сделать по инструкции , так как идти по пути уже проложенному кемто значительно проще чем с нуля.

Чего реально не хватает , так это програмиста , который бы сделал софтинку под джойстик. Просто стандартные не слишком удобны в плане функциональности.

Во так вот

NichtLanden
05.12.2004, 02:21
осталось просто все соединить в единое целое, думаю программеров для написания дров найти можно, это не прболема - только во сколько это встанет :confused:

BAG
05.12.2004, 02:35
а что те люди которые всё это тут делают , выкладывают фото и рассказывают принципы просят за это деньги ??? помоему всё тут повязано на энтузиазме ...

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


Я уверен что среди нас есть и прграмисты , которые могут это сделать , они просто не знают про это наверное. А вот сделать готовое гнездо ... былоб неплохо .. получается по кусочкам собирается то , что в магазине не купить. Каждый чтото делает своё но это всё может быть соединено воедино , и получается то , что пиндосы сделать не могут , так как например Кугар отдыхает по сравнению с РУСом УИВа например и так далее.

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

NichtLanden
05.12.2004, 12:33
Имхо конечно, но из 4-х тысяч участиков форума в электронике контроллера обсуждали и деалали сей контроллер на АТмега8 дай бог человек 20 (это где то 0,5%), Сколько ушло времени на настройку и прошивку данного девайса - я думаю много, причем на выходе пока (только не обижайтесь) пока только полуфабрикат без маппера и драйвера.....
Т.е мне кажется надо просто организовать нормальный рабочий проект - плюс еще вдобавок и корпуса джойстиков можно делать (про стоимость фабричных пресс форм я просто помолчу)

BAG
05.12.2004, 12:58
и ты ещё раз не прав , так как на выходе имеется самый нормально работающий контролер с работающими драйверами (стандартные есть всегда).

Фабричная пресформа стоит сам видел сколько , поэтому всё делается вручную. И для своих нужд хватает. Если ты думаешь , что можно выпустить какойто "свой" джойстик , то это немножко не верно , так как тут будет выплывать вопрос с прибылью и ценой. А это пока не вписывается в рамки этого КБ.


ПС для нашего контролера не хватает только мапера , чтоб всё облагородить , а так всё отлично работает.

UIV
05.12.2004, 13:18
Мне кажется что танцевать надо от унификации, надежности и цель - выпуск готового решения к которому достаточно подпаять провода, а не конструктора с которым надо еще возится делая его прошивку и доводить его до ума. В отличии от ATMega8 USB Controllers AT43USB355 изначально поддерживает USB шину, есть большое каоличество ЦАП для осей, встренный таймер, память для прошивки...
Я не рюх в электронике, но вот источников ВЧ наводок на джойстике где стоят резбки и кнопки но в упор не вижу... Изготовление довполнительных контроллеров на мой взгляд не оправдано ни экномическими, ни техническими причинами, так как увеличивается стоимость изготвления (экномика), не в любой джойсти можно поставить платку отлеьного контроллера РУС РУД (техинческий) и увеличиение числа компонентов приволит к снижении надежности... Еще рах говорю, речь идет о промышленном а не любительском изделии, готовым к установке и конфигурирванию собственными драйверами...
Длинные провода еще как влияют на кнопки, почитай тему про УСБ-контроллер, были жалобы на фантомные нажатия.
Контроллер стоит копейки. В нормальной ручке стоит больше 20 кнопок (ручку с 4 кнопками я не рассматриваю). Ты представляешь, какой это шгут проводов надо тянуть. Поэтому надежнее и универсальнее сделать РУС на основе 2 контроллеров. Основной контроллер - имеет работать с УСБ, имеет пару осей и самое главное - умеет получать информацию от других контроллеров о состоянии их осей и кнопок и перебрасывать на УСБ.Таким образом получается блочный принцип, из нескольких устройств можно собирать одно.
Теперь по надежности - поверь, устройство состоящее из 2 плат, сединенных между собой 4 проводами надежнее, чем устройство на 1 плате со шгутом проводов. Ксати, в 1 контроллерном варианте в ручке все равно должна ставиться плата, где будут находится подтягивающие резисторы, диоды и куда опять таки будет паяться шгут проводов. Электроника - найка о контактах :D
По универсальности. - Через 2 года выйдет очередная версия Директ-Х, где будет возможность работы со 30 осями и сотнями кнопок. Потратив много времени на разработку 1 универсального контроллера (который работает с 12 осями и 30 кнопками) ты с удивлением поймешь, что этот контроллер морально устарел (кнопок и осей мало, УСБ-интерфейс тоже никто не использует (это реально, джойстков на геймпортах и СОМ-портах никто уже не делает). И разработка нового универсального контроллера начнется опять с нуля. В случае блочного посторения - достаточно заменить основной контроллер - и твое устройство опять удовлетворяет всем потребностям. Опять таки, с помощью блоков проще собирать различающиеся конфигурации.
По экономике - комплектация щас стоит копейки. Поверь, длинные экранированииые провода будут стоить намного дороже простенького контроллера и кварца. Плюс для большого количества проводов нужны разъемы с большим количеством контактов (они будут дороже стоить), так же это наложит ограничения на габариты - большой разъем не всегда всунешь в трубу РУС например. Так что если думаешь, что выигрываешь 5 баксов на непокупке 2 контроллера, то ошибаешься - намного большие деньги ты потратишь на провода, их пайку, на элементы их коммутации. На производстве платы паяются автоматически на станках, провода и разъемы - паяльником, как думаешь ,что выгоднее?
Может я тебя неправильно понял, что ты хочешь обощить\вывести в этой теме? Выбрать 1 контроллер, написать для него драйвер и советовать использовать. Или разработать концепцию схемотехнической реализации электроники для любых устройств управления.

BAG
05.12.2004, 13:48
тю. УИВ , зачем нужно 2 блока , если они там не нужны ???

вот у меня схема 3 микросхемки пару разьёмчиков. могу снять информацию с 14 осей 64 кнопок + 1 хэт .. помоему более чем достаточно.

Для того чтоб снять информацию с 20ти кнопок нужно всего 9 проводов 4 на чтение 5 на запись в кнопки информации.

Фонтомные нажатия возникают не из-за наводок , а из-за самоё структуры матрицы. чтоб небыло их можно в матрицу добавить диодиков. Либо просто програмно ограничить нажатия и просто ликвидировать фантомные нажатия как таковые.

Зачем выдумывать велосипед , если он уже выдуман ??

NichtLanden
05.12.2004, 14:19
а из-за самоё структуры матрицы. чтоб небыло их можно в матрицу добавить диодиков. Либо просто програмно ограничить нажатия и просто ликвидировать фантомные нажатия как таковые.

Зачем выдумывать велосипед , если он уже выдуман ??
=====================================
После того когда мужики восстановили мой Х45 - я спросил - в чем причина - они сказли что была плохо пропаяна диодная матрица на хатке и кнопках, никаких отдельных контроллеров на РУД и РУС не стояло, в РУДЕ были распаяны только диодные матрицы.....
Хорошо, как я вижу стандартизацию мы не освоим... Тогда можете ответить на такой вопрос - какова должна быть продажная цена этого изделия и прмерно сколько их можно продить по россии в течении месяца - потому что у меня есть выходы и на пайщиков с производителями плат, и разработчиков с программерами - естественно что для всего это нужны денежки на НИОКР, а для сего надо хотя бы примерно видеть емкость рынка сих изделий и в каком виде программном железным должен реализован сей контроллер

USSR_Rik
05.12.2004, 20:25
По поводу количества проводов - вот из личного опыта. У меня (схема MeanDog) в РУД идут 11 проводов плюс двенадцатый - экран для трех аналоговых линий. И я вам доложу, что пропихнуть всю эту музыку через двухметровый не очень толстый кембрик ой как не сладко - я его сначала маслом пролил внутри, потом уже по стандарту - медная "протяжка", к ней припаян кучей весь шлейф.

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

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

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

UIV
06.12.2004, 11:54
=====================================
Тогда можете ответить на такой вопрос - какова должна быть продажная цена этого изделия и прмерно сколько их можно продить по россии в течении месяца - потому что у меня есть выходы и на пайщиков с производителями плат, и разработчиков с программерами - естественно что для всего это нужны денежки на НИОКР, а для сего надо хотя бы примерно видеть емкость рынка сих изделий и в каком виде программном железным должен реализован сей контроллер
Этого тебе никто не скажет. Такие исследования не проводились.
Как только удастся сделать копию ручки Су-27 на наш РУС, ВКБ пойдет путем блочного построения электронных блоков. Посмотрим, что из этого получится ;)

BAG
07.12.2004, 16:27
Мне ктото ответит ???

ЗАЧЕМ ТАКИЕ СЛОЖНОСТИ ???

Тонкий экранированый кабель на 8 - 12жил не проблема . особенно на 8мь 8) STP ведь есть !! не забывайте об этом !!

Ведь чем больше корпусов (микросхем) тем не удобнее и сложнее усё делать.

Ну можно их связывать по РС232 .. но ЗАЧЕМ ???

Сколько нам нужно осей для полного счастья ??? сколько конопок ???

Andron
10.12.2004, 06:30
[QUOTE=Rik]По поводу количества проводов - вот из личного опыта. У меня (схема MeanDog) в РУД идут 11 проводов плюс двенадцатый - экран для трех аналоговых линий. И я вам доложу, что пропихнуть всю эту музыку через двухметровый не очень толстый кембрик ой как не сладко - я его сначала маслом пролил внутри, потом уже по стандарту - медная "протяжка", к ней припаян кучей весь шлейф.

Привет!
По поводу шлейфа. Я использую стандартный кабель принтера LPT и всё!
Там и экранирование и проводов больше чем надо, а диаметр 7-9 мм.

Жаль не знаю как картинки вставить, показал бы фото своего комплекса на одной АТМ 8. Отдельный руд и РУС напольный. Всё это вместе модернизированным шлемом помещается в дипломат!
Хотя вроде получилось! Смотри.
Сейчас делаю похожий на заказ. 400 евриков между прочим получу за это!
С уважением Andron