Сервомашинка: исследование

Для построения следящей системы необходимо знать точные характеристики элементов входящих в систему. Как правило двигатель это элемент который больше всего вносит погрешности в систему. Так что рассмотрим характеристики сервомашинки.

Куплена она была здесь: http://ru.aliexpress.com/item/F02433-Corona-Digital-Tail-Servo-Metal-Gear-DS-919MG-DS-919MG-for-Trex-250-450-V2/1651459058.html

Заявленные характеристики:

Цифровая микро-серво DS919MG
 Рабочее напряжение: 4.8 В/6.0 В
 Рабочий ток: 200mA/240mA
 Рабочая скорость: 0.07sec.60o/0.06sec.60o
 крутящий момент: 1.5kg.cm/1.7kg.cm
 Мертвая зона: 3 USEC
 Рабочая скорость: 40o/одной стороны Пульс  400US
 Рабочая температура Диапазон:-20 до + 60
 -Шариковый подшипник
 -Программируемый цифровой усилитель MOSFET езды
 -Шестерни металла
 -Вес: 12.5 г-0.44 унц.
 -Размер: 22.5x11.5x24.6 мм (0.88 "x 0.45" x 0.96 ")
 -Крутящий момент на 4.8 В: 20.8 унц. (1.5Kg.cm)
 -Скорость 4.8 В: 0.07 сек на 60 °

Ни слова про люфт.

Измерение люфта

Для измерения люфта понадобится лазер и экран (любая картонка). Чем больше плечо тем точнее измерение люфта.

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

На рисунке видна точка на экране и сама сервомашинка с лазером. На экране отмечены черным маркером оба крайних положения.

Расстояние до экрана 9 метров и расстояние 28 см.

Получается arctg(28/900)=1,782 градуса = 7 делений.

Постоянная времени

В общем эксперимент позволяет определить частотную характеристику устройства. Эта характеристика говорит о том как хорошо устройство передает ту или иную частоту.

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

Входное воздействие будет гармоническим: ServoPWM=A0+A*sin( w*t ). В нашем случае сервомашинка управляется ШИМ который генерируется с первого таймера у Arduino. Благодаря использованию первого таймера разрядность ШИМ не 8 бит а 10. Соответственно диапазон положений сервомашинки от -90 до +90 градусов. Экспериментально было проверено, что минимальный угол соответствует значению 220, а максимальный 950. Можно вычислить коэффициент связи входа с выходом сервомашинки:

Kc=(950-220)/180=4 [ед/градус]

Теперь используя такую же установку как и в первом эксперименте измеряем амплитуду колебаний.

На фото выделено красным квадратом и зелеными рисками результаты измерения амплитуды колебаний на разных частотах.

Код программы выглядит следующим образом:

#include <TimerOne.h>
void setup()
{
 Timer1.initialize(2500);
 //Timer1.pwm(9,560);
 Timer1.pwm(10,600);
 delay(1000);
}
float a=0;
void loop()
{
 a=600+25*sin( ((float)micros())/100000*30 );
 Timer1.pwm(10,(int)round(a)); 
}

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

заданное число X рад/с полученная амплитуда Y в см отн. амплитуда 20 log A
1 10 151 1 0
2 20 150 0,9933774834 -0,05771376475
3 30 150 0,9933774834 -0,05771376475
4 40 150 0,9933774834 -0,05771376475
5 50 110 0,7284768212 -2,751685243
6 60 97 0,642384106 -3,844104261
7 70 76 0,5033112583 -5,9632671
8 80 66 0,4370860927 -7,188660235
9 90 57 0,3774834437 -8,462041832
10 100 47 0,3112582781 -10,13758179
11 110 43 0,2847682119 -10,91016983
12 120 34 0,2251655629 -12,94996061
15 150 13 0,08609271523 -21,3006719

Построим график зависимости затухания колебаний от частоты. Это и есть Амплитудно Частотная Характеристика.

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

По АЧХ видно, что данное устройство повторяет частотную характерситику апериодического звена с частотой среза в 30 рад/сек = 4.77 Гц.

Модель сервопривода состоит из 2х апериодических звеньев насыщения (-90/+90) и люфта в 2 градуса. частотный анализ модели показывает:

Что в большей степени соответствует характеристике снятой экспериментально.

 Чувствительность

Определение чувствительности сервомашинки заключается в измерении минимального угла на который может повернуться выходной вал.

На фото видно способ измерения чувствительности. Изначально был задано значение  600. Далее 601, 603, 605, 610. И измерены положения луча с люфтом. То есть крайнее левое и правое положение.

  • Для разницы для значения (600 – 610)=10 получается 39 см (8.6).
  • Для разницы для значения (600 – 605)=5 получается 21 см ( 5/10=0.5 | 21/39=0.538 ).
  • Для разницы для значения (600 – 601)=1 получается 4.5 см ( 1/10=0.1 | 4.5/39=0.115 ).

Можно заметить некоторую нелинейность при уменьшении смещаемого значения, но она явно меньше чем значение люфта. Так что ей можно пренебречь.