Цифровой магнитный датчик для джойстиков и рулей от Komaroff

Обсуждение, изготовление и проектирование
Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Цифровой магнитный датчик для джойстиков и рулей от Komaroff

Сообщение Komaroff » Сб сен 07, 2013 1:04 am

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

Ветка на Сухом (форум Сухой пока временно не функционирует, но ссылка пусть лежит :))
Ветка на форуме авиасимулятора Битва за Сталинград

Параметры датчика:
– разрешающая способность 8192 отсчета (13 бит)
– диапазон измеряемых углов - до 180 градусов (ведется работа по расширению диапазона измеряемых углов)
- сигнал передается в контроллер устройства управления по одному проводу.

Иными словами это примерно 0,022 градуса на один отсчет.
Таким образом, например, для джойстика можно получить свыше 1300 отсчетов на 30 градусов угла отклонения ручки. Для сравнения, это такая же разрешающая способность, как у известного датчика KMA200 (применялся, например, с контроллером от Kreml. И по этому параметру, на момент анонса, превосходит заявленные данные ближайшего функционального аналога.
Кроме повышенной точности, в числе достоинств цифрового датчика – его высокая линейность и стабильность. При установке в устройство датчик не требует механической ручной подстройки, и не исключает использование задействованных выводов контроллера в аналоговом режиме.

Контроллеры с поддержкой рассматриваемого цифрового датчика:
– BRD (применяется в разработках мастера этого форума -=NT=-Baur, 3D-модель - его);
– REDBARON ( Его работа на "Расправленных крыльях" , Про одно из первых применений его контроллеров с поддержкой цифрового датчика в педалях Slaw, есть интересный видеоролик - http://simhq.com/forum/ubbthreads.php/topics/3836128/Re:_Rudder_Pedals_(_like_BF109#Post3836128 ) ;
Станислав Kreml (Внедрена прямая поддержка цифрового сенсора, Сообщение в этой теме - http://avia-sim.ru/forum/viewtopic.php?p=27477#27477 , Пруф на пост Станислава, ) .
И я думаю этот список будет расширяться.
В планах – разработка вспомогательных плат для подключения датчика к серийным контроллерам взамен родных резисторов и, конечно, создание собственного контроллера с поддержкой цифровых датчиков и широким функционалом.
Печатные платы одного из вариантов датчика (на снимке) изготовлены на заказ и учитывают особенности разных контроллеров. В итоге датчик не уступает изготавливаемым промышленно и является достойной альтернативой существующим решениям.
Датчик имеет нереализованный потенциал для повышения разрешающей способности. Но, во первых, имеющихся возможностей более, чем достаточно для абсолютного большинства задач управления. Во вторых, повышение разрешения происходило бы за счет других характеристик, например помехоустойчивости.
На данный момент уже не одна сотня таких цифровых магнитных сенсоров успешно трудятся в устройствах управления от разных разработчиков :)
Вложения
datchik_3d_model_from_baur_146.jpg
datchik_3d_model_from_baur_146.jpg (22.41 КБ) 8675 просмотров
Datchik RAMS on mechanics.JPG
Datchik RAMS on mechanics.JPG (35.19 КБ) 8868 просмотров
Datchik RAMS.JPG
Datchik RAMS.JPG (32.67 КБ) 8868 просмотров
Последний раз редактировалось Komaroff Пн июл 06, 2015 8:54 am, всего редактировалось 5 раз.

Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Сообщение Komaroff » Сб сен 07, 2013 1:05 am

На правах введения.
Как известно, датчики для устройств управления играют значительную роль в показателях точности и надежности. Большинство из нас по опыту знают, как быстро выходят из строя штатные резисторы с вытекающими последствиями, которые можно сравнить с удовольствием родео в воздухе (или на трассе…). Причем основные впечатления получаешь, когда сидишь на шести у супостата и, вдруг, твой крафт совершает резкий головоломный скачок в сторону прямо в момент нажатия на гашетку (или в момент обгона … :)).
Надежность обеспечивает бесконтактный способ снятия сигнала с чувствительного элемента. Например, оптический способ, или с помощью магнита. Всякие там сельсины и СКВТ я не рассматриваю. Наиболее удобным я считаю магнитный способ. Основные виды магнитных чувствительных элементов - это магниторезисторы и датчики Холла.
Но надежность и долговечность это еще не все. Широко известны «красивые» ромбы, рисуемые штатными холлами некоторых стиков в тестовых программах. Это следствие нелинейной зависимости выходного сигнала датчиков от угла поворота оси. Магниторезисторы, в чистом виде, тоже не лишены нелинейности, и даже нелинейны в большем размере. Т.е., кроме надежности, важна еще и линейность отклика датчика на отклонение осей. Хотя и существуют линейные решения на датчиках Холла, тем не менее, наиболее удобным из магнитных датчиков по ряду параметров является магниторезисторный мост. Поэтому я сделал выбор в пользу магниторезисторов.

Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Сообщение Komaroff » Сб сен 07, 2013 1:13 am

Историческая справка.

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

Был сделан ряд прототипов. В процессе работы появился вопрос о выборе форм-фактора датчика. Для решения этого вопроса я обратился к разработчикам механики. По их исходным данным и выбирались форм-факторы. В том числе и итоговый вариант, для которого, с целью качества и технологичности изготовления, было решено не экономить на печатных платах, и изготовить их на заказ.

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

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

Естественно, для истории надо упомянуть участников проекта, которые помогали организационно, программной и аппаратной поддержкой, тестированием и просто дружеской поддержкой. Это
-=NT=-Baur,
=SPb=RED BARON,
Kimarius,
GVL224,
Kreml,
Slaw,
и еще ряд людей, пожелавших остаться в тени.
Отдельно, конечно же, не забуду упомянуть первопроходцев, команду ВКБ.

Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Сообщение Komaroff » Сб сен 07, 2013 1:15 am

Рабочее название датчика R.A.M.S. (чтоб разведка супостата не догадалась :)).
Эта, несколько забавная из-за созвучия с терминологией известного сленга, аббревиатура означает
Rotary Angle Magnet Sensor (Магнитный датчик угла поворота).
К слову, рамс – карточная игра.
Так что никто «рамсы» не попутал и, кстати, «понты» не кидает :).
Хотите предложить более подходящее название ? Предлагайте, форвертс ! :)

=V=Heromant
Посетитель
Сообщения: 233
Зарегистрирован: Пн янв 03, 2011 6:00 pm
Откуда: г. Пермь

Сообщение =V=Heromant » Сб сен 07, 2013 7:38 am

Зачет.

А интерфейс и протокол связи с датчиком какой? 1-wire?

Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Сообщение Komaroff » Сб сен 07, 2013 9:51 am

=V=Heromant писал(а):...А интерфейс и протокол связи с датчиком какой? 1-wire?

Нет. Он медленный. И имеет ненужный функционал.
Но есть отдаленное сходство :)

Devouder
Посетитель
Сообщения: 150
Зарегистрирован: Чт май 24, 2012 11:42 pm

Сообщение Devouder » Вс сен 08, 2013 12:18 am

Много текста, мало толка.

Если отнять рекламу и словоблудие:

Komaroff сделал свой датчик - молодец. Тем более если уже "применяется в разработках Baur" а не "планируется к применению".

А теперь вредные вопросы:

1. "И по этому параметру, на момент анонса, превосходит заявленные данные ближайшего функционального аналога" - кто аналог, маркировка, даташит. КМА 200?

2. "высокая линейность и стабильность" - сказал А - говори Б - график ( (показания) - (угол поворота) ) в студию.
Ибо в КМА 200 заявлена линейность как цифровых так и аналоговых показаний - в процессе преобразования данных от датчиков в зависимости от величины угла вносится поправка.

3. Самый гадкий вопрос: кто датчик, кто АЦП?
Маркировку в студию - мне не хочется разбираться в схеме по фотографии.
Если датчик таки KMZ 41 - а что компенсирует его нелинейность?
Если датчик опять-таки KMZ 41 - что мешает сделать угол больше 180?
Если датчик все-таки KMZ 41 - по фотографии создается впечатление что подключен только 1 из двух сенсоров - от ножек нет дорожек.

4. Быстродействие - сколько раз в секунду обновляются данные? Сколько замеров в секунду - другими словами?

5. Не показана схема - если хотелось поделиться, не указана цена - если хотелось продавать. Почему?


Выводы:

1. Сделал - да, молодец.

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

3. Лично у меня нет желания менять 4000 отсчетов в RAW, почти линейных (хотя график я прямо так не приложу, пока доставать не будут) на 1300 отсчетов, пусть и полностью линейных.
The best defence against logic is madness!

Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Сообщение Komaroff » Вс сен 08, 2013 3:01 am

С "вредностью" вопросов, по форме, Вы слегка переборщили. Самую малость :)
Ну да ладно. Итак...
Реклама и словоблудие там отсутствует напрочь. Есть последовательный рассказ о параметрах и ходе разработки датчика.
По сути вопросов.
1. Функциональный аналог - имеется в виду, что мой датчик является альтернативой датчику Mаpс, который известен, в частности, по джойстику Defender Cobra M5.
Для справки, заявленное разрешение Mаpса - 1000 отсчетов на 30 градусов поворота оси.
2. График нелинейности будет представлен позже.
3. Сенсор, правильно, именно KMZ 41. Сделать напрямую угол больше 180 градусов мешает периодичность его характеристики (180градусов). Подробнее про АЦП пока говорить рано. Нелинейность сенсора компенсируется цифровыми методами. В настоящий момент датчик рассматривается как целостное, функционально завершенное устройство. Раскурочиванием потрохов датчика займемся позже.
4. Быстродействие определяется параметрами заложенной адаптивной фильтрации и возможностями контроллера. Я получал свыше 300 измерений в секунду.
5. Делиться схемой пока рано. По цене. В настоящий момент датчики изготавливаются только для комплектации контроллеров BRD и REDBARON. По вопросам цены обращайтесь непосредственно к Роману (-=NT=-Baur) и Славе (=SPb=RED BARON, на форуме "Расправленные крылья"). Для уточнения можно ко мне в личку.
Внешние платы для контроллера Kreml в процессе внедрения.

По выводам.
1. Спасибо за слова одобрения.
2. Этот Ваш вывод под номером 2 - явно поспешный, поэтому я не в обиде.
3. Вывода как такового я там не вижу :) Могу сказать следующее. Преимущества цифрового датчика - в удобстве и простоте настройки при установке в устройство управления (нет необходимости подстраивать магнит, или крутить резистор). Кроме того, специальные методы цифровой фильтрации сигналов позволили достичь линейности и стабильности отклика.

Естественно. В моих словах на данный момент можно сомневаться. Я здесь, можно сказать, человек новый. Поэтому я предоставляю рассказать подробнее об новой электронике одному из наиболее уважаемых участников на этом форуме. А именно - Роману (-=NT=-Baur). Он расскажет о преимуществах, результатах тестов, нюансах установки и подключения датчика. И, самое интересное, хоть я уже достаточно рассказал, откуда же этот датчик взялся на самом деле :)

Отдельно я хочу спросить народ. Какое Ваше мнение про датчик KMA200 ? Хотя он уже и снят с производства, насколько Вы доверяете его точности ?

Аватара пользователя
U053
Посетитель
Сообщения: 2089
Зарегистрирован: Пн фев 27, 2012 10:48 am
Откуда: СПб

Сообщение U053 » Вс сен 08, 2013 10:02 am

Komaroff !Поздравляю с релизом и "боевым крещением"(ни разу не нагрубил!А я-человек посторонний,в общем-то,с трудом сдерживался :D).
Парочку моментов:
-нет ли в графиках некоей дрожки сигнала(это для успокоения)
-таки 180гр -неудобно.Растягивать в калибраторе-множить погрешности.

Аватара пользователя
Komaroff
Программист
Сообщения: 118
Зарегистрирован: Вт дек 06, 2011 11:04 am

Сообщение Komaroff » Вс сен 08, 2013 10:48 am

Спасибо за поздравление.
Я тестировал датчики по критерию наличия и величины дрожи.
"Дрож" в 1...2 отсчета присутствовала в количестве в среднем 2 таких выброса за час работы датчика (т.е. значит бывают главным образом вообще отсутствие выбросов). Т.е. дрож имеет случайный и крайне нерегулярный характер (а по этому нет практической возможности выявить причину, вероятно - питание). А это значит , что практической проблемы такая дрож не несет. Для справки, люди, которых я просил также протестировать кобру (по причине отсутствия у меня этого девайса, кстати и в руках не держал) говорили про гораздо более частые выбросы. Чтоб не быть голословным, я предлагаю владельцам кобры провести такие тесты. С учетом наличия напрягающего "политиканства" и маркетинговых заморочек , прослеживаемого в последнее время в среде энтузиастов-джоестроителей, я предлагаю окончательный вердикт выносить по ряду результатов тестов, сделанных несколькими тестерами, объективность которых не является под сомнением.

Про 180 градусов я не понял сути вопроса, сорри. Конкретизируй, плиз.

Аватара пользователя
U053
Посетитель
Сообщения: 2089
Зарегистрирован: Пн фев 27, 2012 10:48 am
Откуда: СПб

Сообщение U053 » Вс сен 08, 2013 10:55 am

180градусов отрабатывает датчик.Когда я его (+контроллер ессно)подключаю,то винда его максимальные отклонения(25гр в джое) воспринимает на 1/4 шкалы.Приходится растягивать и тут погрешности в 4 раза увеличиваются.
У меня с датчиками от РБ такая фишка получилась.Он мне датчики на 45гр прислал.Я их...ну и тд.Дрожка выросла в соответствующее количество раз.
Отдельные импульсы-единичные или иногда серия?

Аватара пользователя
-=NT=-Baur
Пилот-бортмеханик
Сообщения: 7334
Зарегистрирован: Вт ноя 07, 2006 11:43 am
Откуда: г.Сочи Адлерский р-он

Сообщение -=NT=-Baur » Вс сен 08, 2013 11:24 am

Как одновременно мало и много прошло со времени начала публикации этой темы. Мало, потому что всего 1,5 суток, а много потому что её уже успели на время закрыть на "Сухом" - http://www.sukhoi.ru/forum/showthread.p ... ost2017464 Я не хочу начинать разбирать причины этого. Потому что тема тогда съедет в русло взаимных препирательств. И остальных прошу удерживаться от подобного рода срача. У Komaroff это первая подобная публикация (по плану не последняя). И конечно же у него нет опыта подачи материала и особенно как подметил Devouder - фактов. Komaroff чистосердечно "рубанул правду матку", а она как оказалось - у каждого своя :lol:
Тут я хочу продолжить рассказать о датчике, и в частности о роли BRD в работе над ним.
U053 писал(а):Парочку моментов:
-нет ли в графиках некоей дрожки сигнала(это для успокоения)
-таки 180гр -неудобно.Растягивать в калибраторе-множить погрешности.
Надеюсь после моей части публикации эти вопросы отпадут.
Ни одна доброта не останется безнаказанной...

Аватара пользователя
U053
Посетитель
Сообщения: 2089
Зарегистрирован: Пн фев 27, 2012 10:48 am
Откуда: СПб

Сообщение U053 » Вс сен 08, 2013 11:28 am

Ага(с) ,давай!
Я так понял-это продолжение прошлогоднего разговора?Или другое что?

Аватара пользователя
-=NT=-Baur
Пилот-бортмеханик
Сообщения: 7334
Зарегистрирован: Вт ноя 07, 2006 11:43 am
Откуда: г.Сочи Адлерский р-он

Сообщение -=NT=-Baur » Вс сен 08, 2013 11:38 am

Т.к. проект КОНСТРУКТОР БРД открыт для сторонних разработчиков, Vlad Komaroff обратился ко мне с предложением использовать его датчик в устройствах BRD. Было составлено техническое задание (ТЗ), реализация которого заняла у нас значительное время :)

Напомню, что основное направление работы энтузиастов команды BRD - проектирование и изготовление устройств управления для авиасимуляторов под девизом "собери и лети". И если за сборку механической части парни берутся смело, то установка и настройка электроники всегда вызывает опасения. Сейчас в качестве бесконтактных датчиков нами используются аналоговые магрез-ы ( http://avia-sim.ru/forum/viewtopic.php?t=572 ). Помимо слабой помехозащищённости и некоторой нелинейности сигнала, приходится при изготовлении аппаратно закладывать необходимый угол работы датчика. Т.е. получается для каждого ус-ва свой датчик. /При значительном количестве изготавливаемых устройств это крайне неудобно - поэтому потребовались шаги (принятие мер) по унификации. Кроме этого после установки аналогового датчика приходилось "ловить центр" вращением магнита. Поэтому основной задачей было не просто обзавестись цифровым датчиком, но и избавиться от вышеперечисленных проблем. Требовалось доработать датчик (отв. Komaroff) и создать контроллер с специальной прошивкой (отв. команда BRD). Что и было отражено в ТЗ.

Я не буду раскрывать его полностью, тем более что над остальными интересными "фишками" мы продолжаем работать. Сейчас можно сказать, что первая (основная часть) ТЗ выполнена! НА сколько успешно я предлагаю оценить Вам.

Представляю первый образец устройства на базе комплекта для самостоятельной сборки джойстика от BRD(анонс которого состоится в другой теме) с цифровыми датчиками. Установка и настройка электроники теперь проще некуда :))) Поставил - подключил шлейфы - включил в USB разъём на компьютере - операционная система опознала и подключила девайс - двинул ручку джойстика вперёд, назад и в право, лево - ВСЁ джойстик готов к полёту! Таким образом после окончания второй программы тестирования можно один и тот же тип датчиков устанавливать на устройства с различным углом работы механизма. Связка контроллер+датчик сама выставит центр и откалибрует диапазон работы. В представленном джойстике с углом работы +-25 град. получилось не менее 2048 отсчётов по осям. В разных моделях механики цифры могут незначительно отличаться. НО точности в любом случае с избытком хватает для комфортного управления и прицеливания. :twisted:
Вложения
PC11.jpg
PC11.jpg (86.07 КБ) 8658 просмотров
PC9.jpg
PC9.jpg (76.08 КБ) 8658 просмотров
PC3.jpg
PC3.jpg (114.44 КБ) 8658 просмотров
Ни одна доброта не останется безнаказанной...

Аватара пользователя
U053
Посетитель
Сообщения: 2089
Зарегистрирован: Пн фев 27, 2012 10:48 am
Откуда: СПб

Сообщение U053 » Вс сен 08, 2013 11:43 am

Шарман!А для рудов пойдет?


Вернуться в «Джойстики»

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

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