Следящие привода систем управления

Что такое следящий привод

Основное назначение следящих приводов : слежение за вводимым в систему сигналом управления, изменяющимся по заранее неизвестному закону. Следящие приводы составляют большую группу приводов, используемых в промышленности. Наиболее распространенным случаем является отработка движения некоторого входного вала выходным валом привода. При этом повторение движения выходным валом должно осуществляться с требуемой ошибкой. В следящих приводах регулируемой величиной обычно является угол поворота Θ , а само регулирование — регулированием по положению.

Функциональная схема следящего привода, приведенная на рис. 1, имеет замкнутую структуру с жесткой отрицательной обратной связью по углу поворота Θ 2 выходного вала.

Рис. 1. Функциональная схема следящего привода

Принцип действия следящего привода следующий. Предположим, что между углом Θ1 входного вала и Θ 2 выходного вала появилось некоторое рассогласование, т. е. Θ1 не равно Θ 2. Датчики Д1 и Д2 формируют напряжения, пропорциональные углам поворота, и выдают на вход преобразователя П напряжение управления Uy = U1-U2, где U1 = k1 Θ1, U2 = k2 Θ2 . Поэтому датчики Д1 и Д2 обычно называют измерителями рассогласования . Преобразователь П преобразует Uy в пропорциональный сигнал управления двигателем, которым может быть напряжение подаваемое на якорь.

Напряжение Uy формируется такого знака, чтобы двигатель Д, получив питание, стал поворачивать свой вал в направлении, при котором разность углов Θ 2- Θ1 уменьшалась. Иными словами, следящий привод всегда стремится к непрерывному автоматическому устранению рассогласования между входным и выходным валами.

В качестве измерителя рассогласования в следящем приводе применяют потенциометрический измеритель, сельсин, работающий в трансформаторном режиме, вращающийся трансформатор и др., в качестве устройства преобразователь — двигатель системы Г—Д, ЭМУ-Д, МУ-Д, УВ-Д и др.

Читайте также:  Клапан гост ручной привод

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

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

Рис. 2. Схема следящего привода с сельсинами

В систему включается преобразователь, который выпрямляет переменное напряжение однофазной обмотки СП и усиливает его. Преобразователь (см. рис. 2) должен быть знакочувствительным, т. е. в зависимости от фазы сигнала обмотки СП выдавать на якорь двигателя постоянное напряжение положительного или отрицательного знака.

Исполнительный двигатель связан с ротором СП через понижающий редуктор Р. Входной задающий угол поворота Θ1 вводится в систему задающим устройством ЗУ, вал которого связан неподвижно с валом СД. Иногда эта связь осуществляется через редуктор.

Если ЗУ переместит вал СД от его исходного положения в положение угла Θ1 , на выходе однофазной обмотки СП появится переменное напряжение, амплитуда которого пропорциональна разности входного и выходного углов привода Uy = U1 = k1 (Θ1-Θ2) .

Частота напряжения Uy определяется частотой питания однофазной обмотки СД (50, 400 Гц и т. д.). Преобразователь П выпрямляет и усиливает напряжение Uy.

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

Электрический двигатель, получив питание в виде U я в зависимости от полярности этого напряжения начинает поворачивать свой вал и вал СП через редуктор таким образом, что разность углов Θ1 и Θ 2 уменьшается. Как только окажется, что Θ1 — Θ 2 = 0, однофазная обмотка СП перестанет выдавать напряжение Uy, т. е. Uy = 0. Тогда снимется напряжение, подаваемое на якорь двигателя, и он перестанет поворачивать свой вал. Таким образом, система отрабатывает сигнал управления, поступивший извне.

Часто в следящих системах кроме отрицательной связи по углу поворота (по положению) используется обратная связь по частоте вращения. В этом случае схема, приведенная на рис. 2, изменится.

Рис. 4. Схема замкнутого привода с отрицательной обратной связью по частоте вращения

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

Если Вам понравилась эта статья, поделитесь ссылкой на неё в социальных сетях. Это сильно поможет развитию нашего сайта!

Подписывайтесь на наш канал в Telegram!

Просто пройдите по ссылке и подключитесь к каналу.

Не пропустите обновления, подпишитесь на наши соцсети:

Источник

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 32. Следящий электропривод с шаговым двигателем.

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

В уроке я разработал две следящие системы с шаговым двигателем в качестве электропривода.

  • Одна использует драйвер на базе платы Ардуино из предыдущего урока и управляется от компьютера.
  • Второй следящий электропривод представляет собой автономное устройство, в котором положение вала двигателя задается переменным резистором.

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

Следящий электропривод.

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

Следящий электропривод – это электрический привод, реализующий изменение положения исполнительного механизма (нагрузки) в соответствии с задающим сигналом, который может произвольно меняться во времени.

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

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

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

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

Принцип реализации следящего электропривода на шаговом двигателе.

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

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

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

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

Следящий электропривод с управлением от компьютера.

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

Весь алгоритм управления реализован в программе верхнего уровня на компьютере.

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

Программу я назвал Tracker. Загрузить ее можно по этой ссылке:

Зарегистрируйтесь и оплатите. Всего 60 руб. в месяц за доступ ко всем ресурсам сайта!

Варианты подключения, первый запуск, установка номера порта абсолютно такие же, как в программе Thermometer (Урок 24). Для проверки удобнее использовать виртуальный порт, который создает драйвер Ардуино при подключении платы к компьютеру. Запускать программу Arduino IDE для этого не надо.

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

У меня собранное устройство выглядит так.

Прищепка выполняет роль стрелки положения вала двигателя.

Окно программы Tracker выглядит так.

Часть графических элементов управления аналогичны компонентам программы StepMotor из предыдущего урока.

  • Панель ”Скорость” позволяет задать скорость вращения.
  • С помощью панели “Режим” можно задать режим коммутации фаз и остановки двигателя.
  • Панель “Шаги” позволяет сделать произвольное количество шагов.

Надо только помнить, что данные с этих трех панелей передается в драйвер нажатием кнопок ”—>” рядом с соответствующими панелями.

  • Через панель “Параметры двигателя” можно задать число шагов двигателя на полный оборот и период коммутации фаз в программе драйвера (в моей программе 250 мкс).
  • Светодиод ”Обмен” сигнализирует о состоянии связи компьютера с драйвером. В нормальном режиме должен светиться зеленым.
  • Кнопки “– 1 шаг” и “+ 1 шаг” позволяют сделать по одному шагу по часовой и против часовой стрелки.

В программе появились новые элементы для управления следящим приводом.

Прежде всего, это шкала угла положения вала двигателя. На ней два указателя:

  • Заданного угла – треугольник зеленого цвета;
  • Реального угла – треугольник красного цвета.

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

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

Активная птичка ”Слежение” означает, что при перемещении указателя заданного угла двигатель оперативно (в реальном времени) отрабатывает положение. Т.е. вал реального двигателя следует за зеленым указателем.

Если птички ”Слежение” нет, то заданное значение отслеживается только по нажатию кнопки ”Пуск”.

Кнопка “Синхронизация” устанавливает оба указателя в нулевое положение. Используется для задания начального положения двигателя.

Я снял короткий фильм о работе следящего привода.

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

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

Ардуино проект следящего электропривода с управлением от переменного резистора.

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

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

К аналоговому входу A0 платы подключен переменный резистор по этой схеме.

У меня собранное устройство выглядит так.

Следящий привод должен поворачивать вал двигателя вслед за перемещением вала резистора. Управляет следящей системой программа платы Ардуино.

Резидентная программа следящего электропривода на Ардуино.

Скетч программы можно загрузить по этой ссылке:

Зарегистрируйтесь и оплатите. Всего 60 руб. в месяц за доступ ко всем ресурсам сайта!

Надеюсь, у Вас уже установлены библиотеки TimerOne.h и StepMotor.h.

Скетч программы небольшой.

// программа следящего электропривода без обратной связи

#include
#include

#define MEASURE_PERIOD 80 // время периода измерения (* 250 мкс)
#define numStepsMotor 400 // число шагов двигателя на оборот

int timeCount; // счетчик времени
long sumU; // переменные для суммирования кодов АЦП
long averageU; // сумма кодов АЦП (среднее значение * 80)
int currentStep; // текущее положение двигателя
int setStep; // заданное положение двигателя

StepMotor myMotor(10, 11, 12, 13); // создаем объект типа StepMotor, задаем выводы для фаз

void setup() <
Timer1.initialize(250); // инициализация таймера 1, период 250 мкс
Timer1.attachInterrupt(timerInterrupt, 250); // обработчик прерываний
myMotor.setMode(0, false); // шаговый режим, без фиксации при остановке
myMotor.setDivider(15); // делитель частоты 15
>

void loop() <
// проверка остановки двигателя
if( myMotor.readSteps() == 0) <
// двигатель остановился

// вычисление заданного положения
setStep = averageU * (numStepsMotor — 1) / 1023 / MEASURE_PERIOD;

// определение сколько шагов надо сделать
int stepsToDo; // сколько шагов надо сделать

stepsToDo = currentStep — setStep; // ошибка рассогласования

if( abs(stepsToDo) >= (numStepsMotor / 2) ) <

if((stepsToDo) > 0) stepsToDo -= numStepsMotor;
else stepsToDo += numStepsMotor;
>

myMotor.step(stepsToDo); // запуск двигателя
currentStep = setStep; // перегрузка текущего положения
>
>

// ————————————— обработчик прерывания 250 мкс
void timerInterrupt() <
myMotor.control(); // управвление двигателем

sumU += analogRead(A0); // суммирование кодов АЦП
timeCount++; // +1 счетчик выборок усреднения

// проверка числа выборок усреднения
if ( timeCount >= MEASURE_PERIOD ) <
timeCount= 0;
averageU= sumU; // перегрузка среднего значения
sumU= 0;
>
>

В программе измеряется и усредняется значение напряжения на аналоговом входе A0. Этот блок описан в уроке 13.

При остановленном двигателе проверяется, есть ли разница между заданным и реальным углами положения ротора. При необходимости вызывается функция step() для поворота вала двигателя.

Вот короткий фильм о работе устройства.

У моего двигателя 400 шагов на оборот. Если Вы используете другой привод, то надо изменить строку

#define numStepsMotor 400 // число шагов двигателя на оборот

Двигатель работает в шаговом режиме без фиксации ротора при остановке. Режим задан в блоке setup, его легко можно изменить. В полу шаговом режиме число шагов двигателя надо задать в два раза большим. В моем случае:

#define numStepsMotor 800 // число шагов двигателя на оборот

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

Неожиданно нашлось первое практическое применение варианта следящей системы с переменным резистором. Антону потребовалось изготовить большой стрелочный регулятор громкости. Очевидно в декоративно-оформительских целях. Вместо переменного резистора — задатчика положения он подал усиленный аналоговый сигнал, добавил второй канал и начальную установку стрелок в крайнее левое положение. Вот, что получилось.

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

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

Вот ссылка на реальный проект следящей системы, реализованный таким образом.

К плате Arduino Nano подключены два двигателя, которые отслеживают положение по данным, заданным с интерфейса DMX.

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

Источник

Оцените статью
Авто Сервис