19 января 2020

Стики на датчиках Холла для Devo10

Давно собирался заменить разболтанные потенциометры на стиках в пульте Devo10 на датчики Холла. Года три собирался, не меньше, да все не складывалось:) Пересел на Taranis QX7, апгрейдил его и все вроде стало хорошо. Но обещал друзьям, что разработаю комплекты для простой замены потенциометров на датчики Холла. Все необходимые комплектующие уже давно были подготовлены и наконец-то нашлось несколько относительно свободных дней.


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

Конструкция получается крайне примитивная. На вращающейся оси стика устанавливается магнит, над ним размещается датчик Холла, к которому подведено некоторое напряжение. При вращении магнита изменяется величина магнитного поля, действующего на датчик Холла.


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

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

Сначала подсмотрел, что в стиках на датчиках Холла для Taranis QX7 используется сенсор A1392. Близкий по параметрам и доступный в продаже оказался сенсор OH49E. Стоит он чуть больше, чем ничего:) Главная проблема была в том, что для стиков на датчиках Холла требуются диаметрально намагниченные кольца подходящего размера. Опять же, размер магнита подсмотрел в стиках для QX7. Там стоят кольца внешним диаметром 8мм, внутренним - 3мм, толщиной 2мм. Единственное место, где их удалось найти - это на Aliexpress. Цена кусается, но лот с меньшим количеством найти не удалось.

Решение по установке магнита на ось, предложенное Романом, очень понравилось. На пластиковый винт М3 надевается магнит и закрепляется втулкой. С винта с двух сторон снимается фаска. Эта конструкция плотно вставляется в отверстие, где раньше размещалась ось потенциометра. С этим элементом оставалось решить только две проблемы: как быстро, точно и максимально параллельно снять фаску с множества винтов и где найти готовые втулки с резьбой M3.


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


Затем винт обрезается по длине кондуктора и выкручивается. Фаску сделал небольшим клином, чтобы ось магнита как можно плотнее села в отверстие, ибо отверстие для оси потенциометра диаметром 3.5мм, а винт только 3мм.


Диаметр винта из-за резьбы чуть менее 3мм, поэтому магнит будет немного болтаться на такой оси. Чтобы магнит сидел плотно, надел на винт небольшое кольцо из тонкой термоусадки. В качестве втулки, фиксирующей магнит, выступает латунный бочонок с резьбой M3, наружным диаметром 4мм и длиной 5мм. Для оси газа-элеватора длина резьбовой части винта 16мм, для оси элеронов-руддера - 14мм. Магнит хоть и плотно зажимается втулкой, но благодаря тому, что винт пластиковый, все таки имеет возможность с некоторым усилием прокручиваться на оси. Это пригодится при калибровке положения магнита.

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


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


Чтобы установка в пульт проходила без пайки, к датчикам решил подвести провода с разъемами. В пульте Devo10 используются PH2.0-коннекторы. Сначала купил готовые провода длиной 150мм с трехпиновыми PH2.0-коннекторами. Когда начал устанавливать датчики в пульт, понял, что провода нужны более гибкие. Поэтому на газ-элеватор, где датчики стоят неподвижно, оставил провода в ПВХ-изоляции, а на элероны-руддер поставил тонкие провода 30AWG в силиконовой изоляции. Хорошо, что небольшой запас проводов и неиспользованные PH2.0-коннекторы были в наличии. На будущее, если соберетесь повторить мой опыт, заказывайте провода 30AWG отдельно из расчета по 60см каждого на один пульт. И PH2.0-коннекторы покупайте отдельно.

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


Маркером отметил возможное положение этой границы. Именно возможное, это важно. Степень намагниченности у каждого из магнитов немного разная. Когда магниты собираются в линию, они влияют друг на друга и четкую границу между полюсами определить таким способом можно только очень приблизительно.

Для того, чтобы более точно выставить положение магнита на оси, собрал небольшой стенд. За основу взял старый стик от пульта вертолета WLToys V977. По конструкции он практически полностью повторяет стик от Devo10. Затем подвел к датчику Холла напряжение 5В, а с выхода датчика контролировал напряжение тестером. Задача состояла в том, чтобы найти такое положение магнита на оси, при котором тестер бы показывал минимальное напряжение. Затем, найти положение, при котором получалось максимальное напряжение. Простым вычислением найти среднее напряжение и выставить магнит так, чтобы тестер именно это напряжение и показывал. Это и будет граница между полюсами. У каждого из магнитов эти три величины получались немного разные. В основном диапазон напряжения получался 0.88-3.86 вольта, соответственно середина приходилась на 2.37 вольта. Когда удавалось поймать это напряжение, отмечал маркером эту точку. Есть еще один момент. При повороте оси стика против часовой стрелки, если смотреть на магнит, напряжение должно увеличиваться, по часовой - уменьшаться. Если перепутать полюса местами, то будет обратная ситуация и стик будет работать в реверсе.

Чтобы поставить датчики в пульт Devo10, понятное дело, надо его разобрать. Откручиваются шесть винтов, отсоединяются 4 разъема от платы и задняя крышка полностью убирается. Стики снимать не обязательно. Иначе придется снимать и основную плату. Достаточно открутить наружные винты, удерживающие стики, и ослабить внутренние.


В Devo10 используются потенциометры на 5КОм с линейной составляющей. Стик немного приподнимается из корпуса и потенциометры легко извлекаются. У парочки из них придется извлечь коннекторы из колодки, чтобы протащить провода в отверстиях стиков.


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


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

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


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