Activity
Несомненно слабым местом в ситаках “народного пульта” есть потенциометры. Конструкция их весьма хлипкая и время жизни непредсказуемо. Имея в арсенале народного любимца в лице флайская, со временем, все чаще посещают нехорошие мысли о неизбежном дембеле этих самых поцов, в самый неподходящий момент. Достать новые “оригинальные” потенциометры как все знают нереально. Поэтому, народ выходит из ситуации как умеет.
Не являясь первопроходцем в части допила этого бага, изучил достаточное количество (и здесь) конструкций по замене штатных на альтернативные решения. Для себя поставил определенные условия:
- Датчик должен быть бесконтактным(магнитным)
- Конструктив должен быть не “колхоз”, и не из области фантастики
- Бюджет мероприятия должен вписаться в “границы разумности”
- Доступность компонентов “здесь и сейчас”, никакой экзотики
По-первому, при выборе собственно самого сенсора положения(угла поворота) сразу отсеял решения от Аустрианмикросистемс. При всей своей заманчивости совсем не вписывалось в п.4, хотя есть возможность заказа сэмплов совсем на шару(+к п.3), но! их больше 3-х шт. в одни руки не дают, а нам надо 4-ре, да и шара как элемент хитрожопости, одному дано, а у другого не получится. А в друг, кто-то захочет повторить? не из хитрожопых;).
Так как высокотехнологичное решение отпало, были рассмотрены доступные датчики на эффекте Холла… и тоже были отсеяны, т.к. получить удобоваримую линейность позиционирования простыми методами не получится. Они больше подходят для девайсов на предмет “есть поле, нет поля”. Да и со стабильностью не все пучком, тепловой дрейф и “дребезг” показаний.
В конечном итоге процесс выбора привел к магнито-резистивным сенсорам. В двух словах это пермаллоевые структуры, изменяющие проводимость(сопротивление) под действием магнитного поля. Включенные мостом с геометрией квадрата позволяют получить в разностном сигнале синусоидальную функцию от угла вращения магнитного поля. Типичным представителем семейства магнито-резистивных сенсоров угла поворота является филипсовский KMZ41 достаточно популярен у игровых джойстикосроителей. В принципе можно было бы остановиться на нем. Однако филипс совсем недавно (в 2011г.) выпустил на рынок чип KMZ60. Что собой представляет последний? Да туже пермаллоевую структуру, что и в KMZ41, но с интегрированными усилителями с системой термокомпенсации, с минимумом внешней обвязки(практически никакой). Филипс позиционирует чип как высокоточный, основная область применения -аутомотив, что вселяет веру в достаточную надежность. Имеется два выхода полезного сигнала, один синусоидальная, другой косинусоидальная функции. Значения выходного сигнала при повороте магнитного поля от 0 до 90 град. изменяются от Umin до Umax с "линейностью"😉 синусоиды. Конечно, получается не самая прямая кривая😁, но для диапазона в 60 град. вполне сойдет за условно-линейную. Все замечательно, но что у нас с доступностью? Как ни странно, не смотря на новизну сенсора, купить в рознице оказалось без проблем(в Украине). KMZ60 были куплены в Имраде в количестве 4-х шт. за 93,44 грн.
Забегая в перед, отмечу, что успешная покупка KMZ60 не заканчивает список необходимой элементной базы. Т.к. размах выходного сигнала с сенсора не покрывает диапазон от 0 до 5В (на угле в 60град. у меня получился в районе 2,2В, от 1,4 до 3,6В), необходим масштабирующий усилитель (коэф. усил. 2,25). Для этой цели там же в Имраде куплены сдвоенные рейл-то-рейл ОУ АД8552 в количестве 2шт. на общую сумму 57,7грн. Можно конечно и по-дешевле, к примеру МСР602 гривен 15-ть за пару, но получим тепловой дрейф на порядки выше. Так же, решено питать джойстики от отдельных стабилизаторов. Вызвано это тем, что максимальный ток потребления KMZ60 заявлен в 10милиампер, что в десять раз больше тока потребления штатных потенциометров, и в какой то момент штатной 78Л05 может по-плохеть. Куплены линейные стабилизаторы ЛП2981А 2шт. всего 5грн.(подойдут любые на 5В). Ну на остальную мелочевку заложим гривен 20-ть.
Теперь о магнитах. С внедрением неодима в широкие потребительские массы, казалось подобрать нужный не проблема. Ан нет, вся масса представленных магнитов имеет магнитную поляризацию по меньшему габаритному размеру. Учитывая лимит габаритов для конструкции датчиков (не сильно разгонишься от габаритов потенциометров) и требование обеспечить максимальную площадь с однородным полем, из разнообразия доступных форм останавливаем свой выбор на кубе. Были куплены магниты размером 5х5х5мм. в кол-ве 4шт. на 10грн. здесь. Как говорится хорошая мысля приходит опосля, поздно заметил такую мелочь. Составной магнит из 4-х таких бздулек позволит уменьшить высоту датчика на 2,5мм(а то у меня получилось в притык). В заключении скажу, что подходящие магниты (круглые с диаметральной поляризацией) можно заиметь и на шару в виде сэмплов Аустрианмикросистемс, но опять же только 3шт.
Пункт 2. Конструктив. Разобрав и повертев в руках джойстик, в конечном итоге отказался от мысли курочить родную пластмассу и колхозить на коленке из подручных средств. Принято решение не выдумывать лисапед, а делать по подобию потенциометров с соблюдением посадочных размеров и принципа крепления. Делаем эскизы и идем к токарю.
Вот что получилось:
Токарь оказался не рвач за работу и материал(латунь) взял 50грн., имхо вполне адекватная цена.
Итак имеем, собственно корпус напоминающий корпус потенциометра, ось со шлицом на одном конце и чашкой под магнит на другом, задняя центрирующая шайба.
Плату под сенсор KMZ60 изготавливаем по технологии ЛУТ(лазерно-утюжная) из 2-х стороннего фольгированного стеклотекстолита толщиной 0,5мм. Нужную круглую форму придаем на коленке напильнегом;). С обратной стороны платы припаиваем центрирующую шайбу (в принципе можно и приклеить).
Сборка датчика.
Вклеиваем магниты в чашки на оськах, клей эпоксидный. Ориентируем магниты так, чтобы линии магнитного поля были в параллель или перпендикулярно шлицу (на сенсоре KMZ60 будем использовать синус-выход). При этом от того как ориентирован магнит, параллельно или перпендикулярно, зависит направление вращения оси для изменения выходного сигнала от меньшего значения к большему и наоборот. Т.е. разместив на одном датчике магнит параллельно, а на другом перпендикулярно получим инверсную пару. Можно магниты ориентировать и под углом +/-45град к шлицу и использовать косинус-выход. Да по-хорошему, если с ориентацией мягко говоря промахнулись, дело поправимо, нужную зависимость выходного сигнала можно получить при инсталляции датчика в джойстик вращением корпуса датчика с последующей фиксацией в нужном положении.
Далее готовую ось вставляем в корпус, все трущиеся поверхности я проложил тонкой фторопластовой лентой тем самым выбрав зазоры и обеспечив достаточное скольжение трущихся пар. Приклеиваем платку сенсора на эпоксидный клей.
По высыханию клея паяем выводы к датчику. Здесь стараемся не перегреть, т.к. NdFeB имеет низкую точку Кюри и рабочий температурный диапазон магнитов ограничен +80С.
Самый приятный момент, тулим датчики в джойстик. Жесткая фиксация датчика у меня обеспечилась штатной пружиной, без каких либо дополнительных средств. Для перестраховки можно посадить на анаэробик или капнуть циакрина. Перед жесткой фиксацией датчики центрируются поворотом корпуса. Для этого подаем питание (я использовал 1S ЛиПо) и добиваемся на выходе половины напряжения питания. У меня получилось добиться центровки +/-1мВ.
Маштабирующий усилитель.
Никаких изысков, стандартная схема дифференциального усилителя с КУ=2,25, инвертирующее и не инвертирующее включение. Можно не заморачиваться с разным включением, а сделать, к примеру только в инверте (реверсы никто не отменял), просто я хотел вернуть все в зад "как было"😉
Паяем датчику к усилителю, а усилитель к турниге:
Результатом проведенного действия я удовлетворен😒
Бюджет мероприятия составил 237грн. ($30)