=======================================Сообщение от Mishel
Сенкс
=======================================Сообщение от Mishel
Сенкс
Любовь есть торжество воображения над интеллектом
А что именно не так? Автокалибровка работает именно так, как описано на сайте. Вот только 100 кОм - пожалуй, многовато будет, если есть возможность, уменьши. Снизятся наводки и влияние входных токов микросхемы контроллера.
Вообще-то, конкретное значение сопротивления переменного резистора неважно в этой схеме - важно напряжение на движке резистора. Потому можно в каналы X и Y поставить даже разные резисторы (скажем, один на 5, другой на 20 кОм) - схеме это безразлично, в центре у обоих на движке будет ровно половина питания (при линейных характеристиках, ессно). Вот если характеристика резистора нелинейная (экспонента или логарифм) - тогда не годится.
А работает автокалибровка внешне просто. При старте (точнее, инициализации девайса) программа читает среднее положение осей, запоминает его. Потом ты крутишь все оси в крайние положения несколько раз, программа вычисляет диапазоны отклонения и самокалибруется. Вполне надежно, у меня проблем с этим нет.
Крайний раз редактировалось USSR_Rik; 04.01.2005 в 17:27.
...чего уж тигру лишняя полосочка... (© - не помню)
2 MeanDog & LazyCamel & BAG и другим мастерам программирования и контролирования.
Почитав ветки про датчики пришёл к выводу, что:
1.Наиболее (можно сказать абсолютно) точные и доступные - датчики на основе отикомеханических мышей.
2. Сигнал с них идет по определению цифровой (да-нет). 3. Точность - масштабируемая, в смысле - увеличьте количество оборотов колеса - увеличится точность.
4. Доступность.
В связи с этим вопрос. А можно было бы переделать контроллер под возможности мышиных датчиков? И тем самым перейти на цифровые датчики движения.
Вопросы относительности показаний решеаются автокалибровкой которая ,как я прочитал выше, реализована в прошивке 1.4.
Не судите строго, специализация позволяет анализировать и делать только общие выводы.
Ссылка на тему применения мышей в роботостроении:
http://www.famua.com/grumbler/robot.html
Крайний раз редактировалось SkAlex; 06.01.2005 в 00:39.
Судить строго не будем. Просто удали свое сообшение и не будем.
Ты наверное не все прочитал так как такая мысль уже много раз появлялось у многих людей здесь в этом форуме.Сообщение от SkAlex
Насчет програмы -это сделать на одном микроконтроллере на котором реализуетса УСБ нелзя. Это потому что обработка УСБ должна иметь высший приоритет, а считывание оси в это время пропадало бы. Это вызывало бы "проскальзывание" осей. Плюс опрос осей должен происходить очень очень часто чтобы избежать этого "проскальзывания" если юзер двинет ручку очень быстро.
На отдельном специализированном контроллере это было бы возможно. Наверное лучший контроллер для этого это сам контроллер мыши. Получаетса что надо подключать ПС/2 мышку к МДжою. Прикольно, но возможно
Но вот готовы ли вы делать для этого шестеренки я неуверен...
Крайний раз редактировалось MeanDog; 06.01.2005 в 13:42.
Спасибо за ответ. Да, я думал об этом - в Вашей схеме контроллер опрашивает датчики, а в случае с мышью - датчики сами служат источником сигнала и их где-то надо учитывать (или накапливать, а потом считывать). Так вот в этом и был вопрос. Может быть надо совершенно новую схему.Сообщение от MeanDog
По поводу шестеренок - тоже думал, не нужны они. Обыкновенная ременная передача (на тросиках конечно :-)), как радиоприёмниках, с креплением троса к валу, несколькими лишними витками (по количеству оборотов) и с пружиной. Или второй вариант: на принтере печатается на пленке сектор 90 градусов с решёткой по краю, этот сектор вешается на ось. С края сектора оптопарой снимается сигнал. Ни в том ни в другом случае люфтов нет. Вопрос только в том какая разрешающая способность у мышиных оптопар (это ко второму варианту) чтобы определить параметры решетки на секторе. Для упрощения печатать можно попробовать на бумаге, но придется переделывать оптопару по примеру http://www.shema.ru/13/barread.shtml
А задумывалось всё как раз для упрощения и удешевления схемы джоя.
А здесь джой на основе мыши http://home.swipnet.se/rehn/joystick.htm
Только там человек драйвера переписывал, я в этом ни бум-бум
Ура! МинДог таки разродился схемой джоя на Атмега16!!!![]()
Поздравляю! и начинаю изучать...![]()
МинДог, переводить для плохознающих аглицкий русских - НАДО? :confused:
PS Кстати, я вчера смог заставить работать мой контроллер на Мега 8,его присобачиваю к старенькому рулю, посмотрим, что получится...
Еще один PS: видимо, МинДог все-таки решил переходить на коммерческую основу, так как рисунка печатной платы я так-таки и не увидел - ни на сайте, ни в мануале...
Еще одна правка - ссылка на печатку есть в тексте, мол, в PDF- ке лежит... НЕТУ!!!
То ли ашипка вкралась, то ли злые враги почикали
Еще веселее... она не в той PDF-ке... но есть! Эт радует...
Крайний раз редактировалось M@troskin; 10.02.2005 в 14:51.
Привет, так как я вклал немало времени и усилий в этот проэкт я надеюсь что он как-то окупит все эти вечера когда я несмог полетать в ИЛ2.Сообщение от M@troskin
Я разделил его на проэкт для самоделия и на продукт для приобретения чтобы было удобно для разных людей.
Все платы есть на странице проэкта MJoy16:
http://www.mindaugas.com/projects/MJoy16/
MJoy16 схема, детали, плата :
http://www.mindaugas.com/projects/MJoy16/MJoy16_v1.pdf
Key Matrix схема, детали, плата:
http://www.mindaugas.com/projects/MJ..._Matrix_v1.pdf
Все .pdf фаилы в формате Acrobat 6 и читаютса они с Acrobat Reader 6.
Здравствуйте уважаемые!!! у меня возникла ещё одна ну просто очень интересная проблемма!вобщем по порядку:
У меня был один резистор колонутый...не работала ось тормоза....все остальные ОК! вобщем я заменил резистор заработало путем! НО!!! ни ФС ни ИЛ-2 не видит оси ШАГа винта!!!????????...(в настройках джоя это ось "ДВИЖОК") хотя винда его видит и колебрует!!! в чем грабли ни хрена непойму!!!(((.........а вот когда ось тормозов (в настройках джоя ось "ДИСК") была закороченна на землю, ШАГ тобишь ось "Движок" в симуляторах видилась нормально и назначалась...............в чем моя проблема!???...
Да пользуясь случаем ещё раз огромное спасибо уважаемому MeanDog за отличное устройство!!! не только от меня лично но и от пилотов вертолетов АК"Иркутск Авиа" и ФГУП "Тува Авиа"
Чтобы поменять ИД надо найти такие строки и поправить их на то что нужно:
.equ VendorUSBID =0x0000 ;vendor identifier
.equ DeviceUSBID =0x0001 ;product identifier
Увы, но с программированием у меня отвратно обстоят дела. Есть файл *.hex. Я так понимаю, его нада декомпилировать, найти строки и переправить?
А в самом .hex где это можно найти? В какой строке и какое значение править?
Крайний раз редактировалось catfish; 16.02.2005 в 10:01.
Это наверное от того, что оси названы нестандартно, если взять прошивку миндога с автоколибровкой, то эта тема исправлена.Сообщение от BM_
По крайней мере у меня хорошо работает.
SkAlex
"Мастером программирования и контроллирования (от контроллер?)" не являюсь, но пять копеек добавлю. По пунктам.
1. По точности магнитные датчики не уступают как минимум. Доступность - уже не вопрос, вот цена поболее будет. Но за хороший девас-то отвалить смысл имеет.
2. Цифровой сигнал - в принципе хорошо, тут возражений принципиальных нет. А дискретность этого цифрового сигнала? Вот тут и переходим к п. 3.
3. "Точность - масштабируемая". Оно конечно, увеличим кол-во оборотов - больше отсчетов - снизим дискретность... и тут же проиграем в точности за счет введения механической передачи. К тому же заметь - передача должна быть повышающая, следовательно - она пропорционально повысит и все исходные погрешности и люфты. Да, конечно, есть варианты безлюфтового зацепления шестерен и прочее - так мы дойдем до зубчатых ремней. Жестких причем.
4. Доступность. См. п. 1 - ВКБ уже делает "серийно" устройства на магнитных датчиках. Отзывы - самые наилучшие, многие узлы хорошо отработаны технологически (кое-что я и сам видел - посмотри ветку про ВКБ педали
http://forum.sukhoi.ru/showthread.ph...ewpost&t=29491 )
5. Мышь гонит относительные координаты. Нам нужны абсолютные, пока этот вопрос нормально не решен.
PS Кстати, если немного разовьешь свою идею - придешь к еще более простой и красивой реализации джойстика (и даже паять ничего не надо, чуть-чуть механических работ). Но проблема центра и абсолютных значений останется.
В общем, это все обсуждалось в разных вариантах. Личное ИМХО- магнитные датчики, железная подшипниковая механика (см. Матчасть), сабжевый контроллер (либо клон его - но на матрице кнопок, их все-таки много надо. То, что на джое кнопок мало, аргументом не считаю). Высокая надежность, высокая точность, долговечность. К тому же, тут красиво сопрягаются высокие параметры всех узлов - хорошая механика позволяет реализовать высокий потенциал датчиков и электроники.
Во, млин, накатал... а собирался в двух словах и двух ссылках...
...чего уж тигру лишняя полосочка... (© - не помню)
2 Rik
Дискретность - это да, но какая нам нужна точность? Этим всё и определяется - соотношение цена/качество. Туда же вопрос и по люфтам, при любой передаче - люфты будут. Только при мертвом креплении датчика к оси их не будет. То есть данные лучше снимать с самой оси. Нам нужна линейная зависимость. От сюда вывод - нам нужно использовать валкодер (хотя бы и из мыши).
То что ВКБ наладило серийный выпуск good, very good , всё только зависит от размера серии. Спрос на сколько я понимаю превосходит предложение на порядки. Я же ищу способы создания дешевого, простого, доступного и легко воспроизводимого устройства.
Касательно относительности. Я думаю это решается на программном уровне, как в случае с автокалибровкой. Включили джой (всё по центру) - 0, вправо, влево, вперед, назад = +/-, в смысле прибавить (или вычесть)по оси Х (Y, Z и т.д.) столько-то единиц, . Данные - цифровые, ошибится не возможно. Погрешность - погрешность контоллера.
Крайний раз редактировалось SkAlex; 07.01.2005 в 17:18.
2 catfish
ну незнаю можно погеморроиться и с разводкой, перепаять чего-нимудь.
Отцы ( и сыновья :-) С подачи моей и не только, ВКБ таки (наверное) будет уходить на полностью цифровой интерфейс датчиков.
Не вижу сурового смысла платить больше 5 баксов за устройство (УЗЗ9000) которое берет два аналоговых сигнала на АЦП, делит их друг на друга, берет арктангенс от полученого результата и в результате выводит на 14 бит ЦАП аналоговый сигнал равный грудусной мере, который потом опять через
10-бит АЦП контроллера превращается в цифрю.
Накуя козе баян ?
Изначально планируется :
протокол SPI, 1 МгЦ тактовой , первый байт - количество осей, следующие слова по два байта - состояние кнопок, и состояние осей выровненое влево.
Из минусов - необходимость ходябы простейшего контроллера для осей, что не сильно дорого (до 1 бакса)
Из плюсов - наплевательство на качество питания, т.е. можно поставить стабилизатор на 3.3 В и работать без всяких стабилитронов и не страдать на качество питания, к чему Мега8 и Мега48 достаточно чувствительны.
Нечувствительность к аналоговым помехам.
6 коннекторов независимо от количества осей и кнопок.
Отсутствие необходимости в АЦП , т.е. можно со стандартными датчиками использовать не только АВР, но и PIC, и прочие МК, лишь бы интерфейс с УСБ был.
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Вставлю свои пять копеек по поводу требований к джойстику. Основаны они на опыте создания моделей к MSFS. В том числе автопилотов и системы управления. При ручном управлении через API или DirectInput читаю данные джойстика и после обработки вывожу на рули.
На мой взгляд требования к джойстику часто сильно завышены.
Джойстик по возможности должен быть стандартным, не более 8 осей, 4 хаток и 128 кнопок.
Для оси за глаза достаточно 8-бит разрешения. При характерных для джойстиков ходах ручки это пожалуй меньше дрожания рук. Да и при испытаниях серийного джоя (не самого худшего) я получил тот же результат.
Вполне достаточна дискретность опроса в 50 милисекунд. Я читаю джой каждые 55 мск и это не отражается на точности управления. Автопилот с временем обновления 55 милисекунд хорошо держит даже легкий вертолет.
А вот стабильности нуля и величине шума желательно уделить внимание. При подавлении шума возникает некоторое запаздывание, которого тоже не надо слишком бояться. Реальные системы тоже имеют запаздывание, не говоря уж о таком "тормозе", как пилот. Его запаздывание не в милисикундах измеряется.
Увеличение точности приведет к росту расходов, но вряд ли будет ощущаться на практике. Не думаю, что в Ил-2 требования выше, чем в MSFS, динамика она и в африке динамика.
Крайний раз редактировалось GSL; 14.01.2005 в 15:59.
2 MeanDog
Правильно ли я понимаю, что для того, чтобы перевести контроллер на работу от внутреннего источника опорного напряжения, нужно при инициализации вместо
ldi temp0, 0b01000000
out ADMUX, temp0
сделать
ldi temp0, 0b11000000
out ADMUX, temp0
(это кусок оригинального кода инициализации)
Ессно, отцепить вывод AREF от AVCC и на общий его через конденсатор.
...чего уж тигру лишняя полосочка... (© - не помню)
Не помню точно по битам - но да, имено так.
Вро только не стоит завязываться на внутрений источник опорки. напряжение +5В на УСБ шине достаточно сильно плавает, и если у АЦП опорка будет стабилизирована, а у резисторов напряжение нет - будет бяка. Причем в начале оси бяка меньше, в к конце больше
Если кто-то в Грузии думал что русские простят 20.09.07 - он был категорически неправ !!!
Извиняюсь за задержку. Правильно.Сообщение от Rik
Здравствуйте уважаемые! наконец то мне удалось запустить собранный контроллер! чтоб никто не наступил на те же грабли на которые попал я то причина определения контроллера как "Неопознанное устройство" была в том что стабилитроны были установленны наоборот!!!(у импортных стабилитронов обратная маркировка метка не на+ а на-!!!)Спасибо за подсказку уважаемому MeanDogу!
а так контроллер работает превосходно это касаемо осей!без шумов а вот с кнопками....боольшая проблемма!....вобщем о бо всем по порядку...Этот контроллер мы решили использовать для ввода сигналов с органов управления в комплексном тренажёре вертолета МИ-8т (до этого сигналы вводились на четыре гейм порта что оставляло желать лучшего и по шумам и по удобству настройки) в силу конструктивных особенностей тренажёра разводка кабелей от датчиков кнопок и АЗС составляет от двух до пяти метров!!! по началу наблюдались сильнейшие шумы по осям контроллера и фантомное мерцание и нажатие кнопок
после экранирования кабелей и посадка оставшихся лишних проводов в жгуте на массу (кабель с датчиков тяг идет двадцати жильный а используется лишь девять из них) дрожание и шум осей прекратился полностью!!!
также пропало фантомное мерцание на кнопках.....НО!!! при нажатии на одну из кнопок или при включении какого либо АЗС непременно вместе с ней срабатывает фантомно от одной до четырех кнопок!!! :mad: ....хотя при замыкании непосредственно на штекерном разъеме печатной платы (при отключенном от неё жгуте) всё работает нормально!!!....может кто встречался с таким явлением??? выручайте мужики! не хотелось бы вновь возвращатся на гейм порт
...(скажу сразу в жгуте и распайке ошибок нет всё проверенно десятки разъ!!!)...да кстати если кому нужно могу дать разработанную печатную плату! сделана в программе LAOYT30 габаритные размеры 8х5см (диодная матрица находится непосредственно на ней)
с Уважением Константин
Я на эти грабли натыкался. причина в шлейфе. Все лечится просто - "подтягиваем" входы контроллера PD0, PD1, PB2, PD3..PD6 к +5 В резисторами, я использовал номиналы 10..39 кОм (зависит от длины шлейфа, уровня наводок, пятен на солнце и прочего). Можно не все, а только "проблемные" линии, ты их легко вычислишь нажимая кнопки и смотря на "фантомные". На разных шлейфах будет по-разному - это тоже из опыта, если какой-то резистор не помогает - немного уменьшай сопротивление. Мой минимум был 10 кОм.
Все заработает.
...чего уж тигру лишняя полосочка... (© - не помню)
Спасибо большое за совет!!! щас буду пробывать!![]()
Уважаемый RIK большое вам сенькью и веримачь!!!всё заработало как нужно!!! получается чем длиннее жгут и больше его сечение тем меньший номинал резистора нужно использовать!!!
у меня получилось так на РЦШ(РУ-2) жгут два метра 20 жил резисторы по 3.5кОм....с 4кОм уже не идеть!!!....на ШАГ-ГАЗ жгут три метра 15жил резисторы по 1.5кОм...3кОм уже не идеть!!!....вобщем спасибо большое!!!
с Уважением Константин
Можно попробовать ещё и конденсаторы по 1 мф прилепить (между входами и общим)
2 MeanDog
Привет пропащая душа! LVP соскучились по тебе, заскочи к нам по возможности.
Lithuanian Virtual Pilots - http://www.lvp.lt
We need the patch to patch the patch...
(переводу неподлежит)