Как измерить параметры сервопривода

В любительских, учебных и производственных целях в различных устройствах автоматики применяются сервоприводы.
Промышленные сервоприводы имеют высокую точность и, как правило, их характеристики соответствуют заявленным производителем. Однако стоимость таких устройств достаточно высока.
С другой стороны, в некоторых случаях вполне оправдано применение более дешевых сервоприводов типов SG90, MG90S, MG995, MG996R и им подобных, управляемых ШИМ.

Такие сервоприводы имеют большой разброс параметров по углу, по ширине импульса и быстродействию и поэтому перед разработчиками и экспериментаторами встает задача грамотного подбора сервопривода для конкретной задачи по индивидуальным характеристикам.
Тестеры, которые массово представлены на рынке, часто слишком примитивны и позволяют только оценить работоспособность сервопривода.
В связи с этим нами был разработан свой тестер сервопривода, построить который по силам любому профессионалу, любителю или кружку робототехники. Более того, задача построения такого тестера может быть интересной в творческом и познавательном плане.
Основная идея
Чтобы решить задачу измерения основных параметров сервопривода было решено снабдить тестер обратной связью, то есть не только подавать на управляющий вход импульсы различной ширины, но также измерять полученный угол поворота вала двигателя с помощью специального датчика угла поворота реализованного на датчике холла.
Такой подход позволяет протестировать не только общую работоспособность сервопривода, но и проверить соответствие длины управляющего импульса углу поворота, скорость установки в заданную позицию 60 градусов, ширину мертвой зоны и диапазон поворота вала.
Конструкция
Вес прибор смонтирован в стандартном корпусе распределительной коробки размером 200х150х85мм.

На специальном держателе который можно распечатать на 3D Принтере или собрать из оргстекла - расположен съемный исследуемый сервопривод.

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

Для визуального контроля угла поворота установлен транспортир, а на вал привода стрелка.
Генерация управляющих сигналов и в целом управление прибором осуществляется через блок управления с кнопками и LCD индикатором

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

Питание производится раздельно - для блока управления и принтера, поскольку принтер может потреблять большой ток до 2А.
Примененные компоненты
Блок управления собран на плате UNO R3, совместимый с ARDUINO, хотя подойдет любой удобный микроконтроллер.
На плате установлено расширение LCD shield с кнопками, что исключает необходимость сборки отдельного блока управления с кнопками и дисплеем.
Мини принтер - Tiny Thermal Receipt Printer типа QR204, однако можно применить любой, имеющий TTL вход.
Датчик угла поворота - AS5600 с диаметрально намагниченным магнитом у которого полюса расположены диаметрально, что важно, поскольку данный датчик не работает в паре с обычными аксиально намагниченными магнитами.
Программное обеспечение
Базовое ПО реализовано на C++ в стандартной IDE Arduino
В ПО применены следующие сторонние библиотеки: "Adafruit_Thermal.h" для принтера, для серводвигателя “Servo.h” и библиотека для датчика угла “AS5600.h”
ПО занимает примерно половину памяти микроконтроллера
ПО представляет из себя несколько последовательных блоков с различными функциями :
1. Калибровка или установка 0 - привязка угла к нулевому импульсу ( 1500мкс)

2. Тест на поворот в положительную сторону - управляющий блок уменьшает ширину импульса ступенчато до 500 мкс и сервопривод вращается в положительную сторону. Датчик угла передает значение в управляющий блок. Эти пары цифр выдаются как на дисплей, так и на последовательный COM порт

2. Тест на поворот в отрицательную сторону - то же что в предыдущем блоке, но ширина импульса увеличивается до 2500 мкс

3. Тест на скорость установки из 0 в 60 градусов. Сервопривод устанавливается в нулевую позицию и затем резко поворачивается на 60 градусов. При этом фиксируется время достижения заданного угла.
4.Тест на Мертвую зону - в нулевой точке подается небольшое изменение и как только они приводят к изменению положения вала - фиксируется ширина мертвой зоны.
Результаты тестов
После прохождения всех тестов результаты выводятся на дисплей.
Тип привода и диапазон угла:

Диапазон ширины управляющего импульса:

Скорость установки в 60 градусов:

Мертвая зона:

Все результаты тестов можно пролистать на дисплее, а можно и распечатать.
Кроме того, для построения графиков можно разработать отдельное ПО для вывода через COM порт пар чисел в формате (Длительность импульса/Угол поворота) и построения графиков. Того же можно добиться через копирование показаний монитора COM порта, встроенного в Arduino IDE. Пример графика:

Перспективы
Если развивать идею далее - то можно измерять ток, который течет через нагрузку для чего потребуется включить в цепь питания сервопривода шунт и подавать измеренное напряжение на аналоговый вход микроконтроллера. При этом будет интересен силовой тест, то есть вал можно загрузить динамической нагрузкой и отслеживать соотношение тока и усилия на валу. Но следует соблюдать осторожность, так как подобный тест может повредить сервопривод при большом усилии. Также потребуется отдельное питание сервопривода для того, чтобы не перегрузить источник питания управляющего блока.
Заключение
Надеемся идея создания нашего тестера сервоприводов пригодится профессионалам и любителям робототехники и поможет создать свой собственный стенд для проверки и тестирования сервоприводов. Также возможно создание подобного устройства для проверки шаговых двигателей и других приводных механизмов.
Подготовлено по собственным материалам ТОО Test instruments
- Как быстро проверять исправность мультиметров и токоизмерительных клещейМобильный пост для экспресс диагностики работоспособности мультиметров и токовых клещей.Как быстро проверять исправность мультиметров и токоизмерительных клещей
- Анализ спектра и оценка уровня гармоник без анализатора спектраПрактически любой цифровой осциллограф обладает возможностью анализа спектра и уровня гармоник посредством встроенной функции FFT. Спектр питающего напряжения можно наблюдать с помощью анализатора качества электроэнергииАнализ спектра и оценка уровня гармоник без анализатора спектра



