Научная статья на тему 'Однопроцессорная система управления трехкоординатным перемещением на основе шаговых двигателей'

Однопроцессорная система управления трехкоординатным перемещением на основе шаговых двигателей Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
546
172
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МИКРОКОНТРОЛЛЕР / ШАГОВЫЙ ДВИГАТЕЛЬ / ТРЕХКООРДИНАТНОЕ ПЕРЕМЕЩЕНИЕ / УГЛОВОЕ УСКОРЕНИЕ / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Жарин А. Л., Тявловский А. К., Тявловский К. Л., Гусев О. К., Воробей Р. И.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ONE - PROCESSOR SYSTEM FOR THE CONTROL OF A THREE - DIMENSIONAL POSITIONING ON A BASIS OF STEPPER MOTORS

Problems of practical realization of a three dimensional positioning system with stepper motors using a single microcontroller are discussed. Mathematical equation for the real time calculation of timing delays when driving a stepper motor in a constant acceleration (deceleration) mode is obtained.

Текст научной работы на тему «Однопроцессорная система управления трехкоординатным перемещением на основе шаговых двигателей»

9. Асинхронные двигатели серии 4А: справочник / А.Э. Кравчик [и др.]. М.: Энергоатомиздат, 1982. 504с.

V.A. Mozzhechkov

THE MODEL OF TORQUE TRANSDUCER WITH THE SPRING LOADEDWORM ASA SENSING ELEMENT

The dynamic model of the torque transducer with the spring loaded worm as a sensing element proposed. The analysis was made of the accuracy of the measurements for the different modes offunctioning of the sensor.

Key word: sensor, model, dynamics, torque, worm gears.

Получено 3.12.12

УДК 621.316.718.5:621.313.13-133.32

A.JI. Жарин, д-р техн. наук, проф., проф., (+375 29) 504-39-73,

[email protected] (Республика Беларусь, Минск, БНТУ),

А.К. Тявловский, канд. техн. наук, доц., доц.(+375 29) 569-86-03,

andrey [email protected] (Республика Беларусь, Минск, БНТУ),

K.JI. Тявловский, канд. физ.-мат. наук, доц., (+375 29) 772-67-94,

[email protected] (Республика Беларусь, Минск, БНТУ),

O.K. Гусев, д-р техн. наук, проф., проректор, (+375 44) 505-90-30,

[email protected] (Республика Беларусь, Минск, БНТУ),

Р.И. Воробей, канд. техн. наук, доц., зам. декана, (+375 17) 292-67-94,

[email protected] (Республика Беларусь, Минск, БНТУ),

А.И. Свистун, канд. техн. наук, доц., зам. декана, (+375 17) 292-67-94,

[email protected] (Республика Беларусь, Минск, БНТУ)

ОДНОПРОЦЕССОРНАЯ СИСТЕМА УПРАВЛЕНИЯ ТРЕХКООРДИНАТНЫМ ПЕРЕМЕЩЕНИЕМ НА ОСНОВЕ ШАГОВЫХ ДВИГАТЕЛЕЙ

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

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

Ведение

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

56

Российские электроприводы трубопроводной арматуры.

_Разработка, испытания и эксплуатация_

тельного преобразователя по двум или трем пространственным координатам (X, Y или X, Y и Z). Чаще всего для этого используются приводы перемещения на основе шаговых двигателей [1]. Основными преимуществами таких приводов являются:

- высокая точность позиционирования, ошибка углового перемещения ротора двигателя, которая не накапливается от шага к шагу;

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

- широкий диапазон скоростей перемещения;

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

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

Постановка задачи исследования

Разрабатываемая сканирующая система предназначена для прецизионного перемещения электрометрического зонда и включает подсистемы перемещения по трём взаимно-перпендикулярным осям: X, Y и Z. Для эффективной работы системы требовалось обеспечить возможность одновременного перемещения зонда по всем трем координатам с максимально возможной скоростью с учетом требований по точности перемещения. Поскольку момент сопротивления нагрузки на валу двигателя пропорционален угловому ускорению его ротора, то во избежание пробуксовки (пропуска шагов) разгон шагового двигателя рекомендуется осуществлять в режиме ограничения максимального ускорения [2]. Минмимзировать время разгона при этом можно, поддерживая угловое ускорение ротора шагового двигателя постоянным и близким к максимальному значению. Однако с точки зрения программирования микроконтроллеров расчет мгновенного ускорения ротора шагового двигателя представляет собой достаточно сложную задачу, решение которой в реальном масштабе времени требует полного задействования ресурсов микроконтроллера [3]. Вследствие этого при разработке системы трехкоординатного перемещения на основе традиционного подхода для управления каждым из трех шаговых двигателей требуется использовать отдельный микроконтроллер, что, помимо усложнения схемы, ставит дополнительную задачу аппаратного и программного согласования работы мультипроцессорной системы.

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

57

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

Методика исследования

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

с

At = —,

1 „ (1) где с - установка отсчетов программного таймера; f - тактовая частота таймера.

Полагая перемещение ротора шагового двигателя равномерным, частоту его вращения можно рассчитать как

а / с = — = а—,

А с (2) где а - шаг двигателя, выраженный в радианах.

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

, 2а/2 (сп - сп+1 )

С =

c c +, (c + c +, )

n n+1 V n n+1 /

(3)

где cn и cn+1 - установки отсчетов программного таймера для двух последовательных шагов.

При выполнении условия & = const момент сопротивления на валу двигателя, создаваемый нагрузкой постоянной массы, также будет величиной постоянной. Такой режим разгона является оптимальным с точки зрения использования располагаемой мощности и минимизации времени разгона. Угол поворота ротора при равноускоренном движении рассчитывается как

t 2 ® = Jc(t )dt =-= na,

0 2 (4)

где n -номер шага двигателя.

Из выражения (4) следует, что при заданной величине ускорения моменты выдачи импульсов должны отвечать условию

58

12 па

® ' (5)

После каждой выдачи импульса программный таймер перезапускается и начинает счет с 0. Из формул (5) и (1) требуемое количество отсчетов сп после п-то шага рассчитывается как

(б) Ф

Величина * ^ для выбранного значения углового ускорения является постоянной. Из формулы (6) видно, что эта величина численно равна требуемому количеству отсчетов после нулевого шага (п = 0), т.е. фактически начальной установке таймера со. Тогда получаем

Таким образом, начальная установка таймера с0 определяет величину углового ускорения

. 2 а/2 со -

. (8) Установки таймера для последующих шагов двигателя должны рассчитываться в соответствии с выражением (7). Данное выражение предусматривает двукратное вычисление квадратного корня из числа, что неприемлемо для микроконтроллерной системы управления, работающей в реальном масштабе времени. Типовым решением данной проблемы является использование табличного способа задания функции, при котором

\у1П + 1 -л/й)

вычисленные заранее значения множителя ^ ' для каждого шага

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

Для упрощения вычислительной задачи выражение (7) может быть заменено приближенным выражением, получаемым на основе разложения функции в ряд Тейлора [4].

Относительное приращение количества отсчетов на п-м шаге можно определить на основе выражения (7) по формуле

¿с = = ^ + = А

сп_х yfñ - yjn-l

i+i п

Выражение под корнем раскладывается в ряд Тейлора:

/

п 2 п 8 п2

1_

з

Тогда получаем

1 1

~ 2п *п2 ' ос

+ о

1 1 ^

.3

V п

4и-1 4и + 1

(Ю)

2 п Ш \пV

откуда

(П)

2с ,

о 77-1 ОС 'С 1 — С--

71—1 п-

4и + 1 (12)

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

Использование выражения (12) вместо выражения (7) приводит к погрешностям расчета, которые в наибольшей степени проявляются на начальных шагах разгона двигателя. При этом ошибка расчетов для 1-го шага составляет 44,9 %, для 2-го шага - 1,36 %, для третьего - 0,37 %, а для последующих - менее 0,1 %, т.е. уже на втором шаге погрешность расчета оказывается сопоставимой с допуском на параметры шагового двигателя, и ею можно пренебрегать. В то же время для первого шага величина погрешности не является малой, что заставляет рассматривать п = 1 как особый случай. При практическом программировании возможны два решения данной проблемы:

1) использование для расчета величины с\ следующей формулы:

с1=0,414С0, (13)

получаемой из выражения (7) при п = 1. Количество отсчетов для последующих шагов рассчитывается по выражению (12). Такой способ позволяет получить неравномерность ускорения вращения менее 1,36 % при минимальном усложнении программного обеспечения;

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2) игнорирование возникающей погрешности. Подставляя значение сп из (12) в (3), получаем, что увеличение числа отсчетов С\ на 44,9 % при неизменном значении с0 влечет за собой уменьшение ускорения на первом шаге на 57 % в сравнении с установившимся значением. График изменения ускорения от номера шага п при использовании выражения (12) приведен на рис. 1.

Рис. 1. График ускорения ротора шагового двигателя при использовании выражения (12) (значения ускорения выражены

в условных единицах)

Подставляя значения cn из выражения (12) в формулу (2), получаем зависимость частоты вращения ротора шагового двигателя от номера шага. В графическом виде эта зависимость представлена на рис. 2.

Как видно из рис. 1 и 2, использование выражения (12) для всех значений cn начиная с п =1 обеспечивает более плавный разгон по сравнению с режимом постоянного углового ускорения. Поскольку вращающий момент шагового двигателя не зависит от частоты вращения ротора, это не приводит к его пробуксовке. В то же время стартовые ударные нагрузки на перемещаемый груз (измерительный преобразователь), пропорциональные первой производной от ускорения, существенно снижаются. Для шагового двигателя величина перемещения определяется количеством отработанных шагов N, поэтому некоторое снижение средней скорости движения (см. рис. 2) не приводит к возникновению дополнительной погрешности перемещения.

Таким образом, изложенное позволяет утверждать, что для разрабатываемой системы при расчете cn может быть использована формула (12) без внесения поправок на погрешность для случая п = 1, что существенно упрощает программное обеспечение и повышает быстродействие шагового двигателя при практически безударном перемещении исполнительного механизма.

О 5 10 15 20 25 30

П

Рис. 2. Изменение частоты вращения ротора шагового двигателя при использовании выражения (12). Пунктирной линией показано

изменение частоты в режиме постоянного ускорения при использовании выражения (7) (значения скорости выражены

в условных единицах)

Результаты исследования

Управление разгоном и торможением является наиболее сложной с точки зрения программного обеспечения (ПО) частью задачи управления перемещением в заданную точку с заданной погрешностью, поэтому использование упрощенного выражения (12) позволяет реализовать одновременное и независимое управление всеми тремя шаговыми двигателями на основе одного микроконтроллера семейства PIC.

Разработка ПО выполнена на языке С++ с использованием компилятора CCS PCWH 4.084 фирмы Custom Computer Services Incorporated. ПО обеспечивает управление трехкоординатным перемещением чувствительного элемента зондового микроскопа, считывание и обработку измерительной информации. Проведена отладка разработанных программ в эмуляционном режиме, а также внутрисхемная отладка в режиме реального программирования микроконтроллера семейства PIC.

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

Российские электроприводы трубопроводной арматуры.

_Разработка, испытания и эксплуатация_

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

Непосредственно перемещение зонда осуществлялось при помощи линейно-перемещающего механизма THK KR20 LIN ENGINEERING 4018X-07-07 на основе шагового двигателя (рис. 3).

Рис. 3. Линейно-перемещающий механизм THK KR20 LIN ENGINEERING 4018X-07-07

Линейное перемещение осуществлялось за счёт вращения шаговым двигателем ходового винта, на котором располагалась каретка. Преимущество данного механизма - отсутствие люфта при движении по ходовому винту (величина люфта пренебрежимо мала в сравнении с величиной шага двигателя). Для перемещения по двум координатам из трёх механизм перемещения по оси X был установлен на каретке механизма перемещения по оси Y (рис. 4).

Рис. 4. Макетный образец однопроцессорной системы трехкоординатного перемещения в сборе

В системе использовались мощные драйверы на микросхемах A3977 фирмы Allegro, которые, кроме мощных ключей с широтно-импульсной модуляцией, имеют встроенные блоки управления, обеспечивающие формирование корректных сигналов для управления обмотками биполярных шаговых двигателей в режимах 1, 1/2, 1/4 и 1/8 шага за входной импульс. Микросхемы А3977 обеспечивали стабилизацию тока обмоток на уровне, задаваемом пользователем в пределах от 0 до 2,5 А. Максимальное напряжение питания драйвера составляет 35 В, максимальная сила выходного тока ±2,5 А для каждой фазы. Микроконтроллер PIC18F45550 обеспечивал независимую выдачу импульсов перемещения и направления для каждого драйвера, а также задавал их режим работы. Внешний вид изготовленного электронного блока управления трехкоорди-натным перемещением показан на рис. 5.

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

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

Заключение

Использование быстродействующего микроконтроллера

PIC18F45550 в сочетании с упрощенным выражением для расчета временных задержек при управлении ускорением и замедлением шагового двигателя позволило реализовать на практике однопроцессорную систему управления трехкоординатным перемещением на основе шаговых двигателей. Упрощение вычислений достигнуто за счет разложения исходного выражения в ряд Тейлора. Погрешность упрощенного выражения не превышает 1,36 %, за исключением расчета временной задержки первого шага. Для устранения этой погрешности возможно рассмотрение задержки первого шага как особого случая с расчетом ее значения по отдельной формуле. Результаты математического моделирования показали, что игнорирование этой погрешности и использование упрощенной формулы для расчета всех временных задержек является предпочтительным для большинства практических случаев, поскольку обеспечивает более плавный разгон двигателя и существенно снижает стартовые ударные нагрузки при незначительном снижении средней скорости перемещения. Экспериментально подтверждена высокая точность позиционирования с использованием разработанной однопроцессорной системы, составляющая 5 мкм по каждой из трех координат.

Список литературы

1. Liptak B.G. Instrument engineers' handbook, fourth edition, volume two: Process control and optimization // Taylor & Francis, 2005. 2464 p.

2. Acarnley P. Stepper motors - a guide to the theory and practice (4th edition). London: Institute of Electrical Engineers, 2002. 169 p.

3. Takashi K., A. Sugawara. Stepping motors and their microprocessor controls (2nd edition). Oxford University Press, 1995. 279 p.

4. Austin P. Generate stepping-motor speed profiles in real time // EE-Times India, 1995. 5 p. [электронный ресурс]. Режим доступа: www.eetimes.com/General/DisplayPrintViewContent?ContentItemID=4006438. Дата доступа: 31.08.2011.

A.L. Zharin, А.К. Tyavlovsky, K.L. Tyavlovsky, O.K. Gusev, R.I. Vorobey, A.I. Svistun

ONE-PROCESSOR SYSTEM FOR THE CONTROL OF A THREE-DIMENSIONAL POSITIONING ON A BASIS OF STEPPER MOTORS

Problems of practical realization of a three-dimensional positioning system with stepper motors using a single microcontroller are discussed. Mathematical equation for the real-time calculation of timing delays when driving a stepper motor in a constant acceleration (deceleration) mode is obtained.

Key words: microcontroller, stepper motor, three-dimensional positioning, angle acceleration, software.

Получено 3.12.12

УДК 621.833

B.И. Родионов, д-р техн. наук, проф., (4872) 35-19-59, [email protected] (Россия, Тула, ТулГУ),

C.B. Телухин, канд. техн. наук, доц., (4872) 35-19-59 , [email protected] (Россия, Тула, ТулГУ),

K.JI. Данько, асп., (4872) 35-19-59, [email protected] (Россия, Тула, ТулГУ)

МОДЕЛИРОВАНИЕ МНОГООБОРОТНОГО ЭЛЕКТРОПРИВОДА С АСИНХРОННЫМ ЭЛЕКТРОДВИГАТЕЛЕМ

Рассмотрены схемы частотного регулирования скорости и момента электропривода с асинхронным электродвигателем. Проведено моделирование статических и динамических характеристик специального электродвигателя с большим центральным отверстием.

Ключевые слова: электродвигатель, электропривод, регулирование.

Постановка задачи исследования

Обзор российского рынка электроприводов (ЭП) трубопроводной арматуры (ТПА), проведенный специалистами Научно-промышленной ассоциации арматур остро ителей [1], показывает, что наибольшее распространение в многооборотных электроприводах (МЭП) ТПА получили

66

i Надоели баннеры? Вы всегда можете отключить рекламу.