Разработка элементов управления механизмами параллельной структуры

Автор: Мирзаев Роман Александрович, Смирнов Николай Анатольевич

Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau

Рубрика: Технологические процессы и материалы

Статья в выпуске: 4 (37), 2011 года.

Бесплатный доступ

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

Устройства параллельной кинематики, контроллер, система управления, шаговые двигатели, мехатроника

Короткий адрес: https://sciup.org/148176647

IDR: 148176647

Текст научной статьи Разработка элементов управления механизмами параллельной структуры

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

Если нужен привод для перемещения по заданному алгоритму (переместить в определенную позицию, выполнить реверс, приостановить работу, продолжить работу с другой скоростью), предпочтительно использовать шаговый двигатель. Он способен осуществлять точное позиционирование и регулировку скорости без датчика обратной связи [1]. Однако это утверждение верно только для систем, которые работают при малом ускорении и с относительно постоянной нагрузкой. Если нагрузка шагового двигателя превысит его момент, то информация о положении ротора теряется и система требует базирования с помощью концевого выключателя или любого датчика положения [2].

В ходе анализа литературы по автоматизированной технике [1–3] выявлена некоторая последовательность обработки информации. К примеру, преобразование информации и генерация управляющих сигналов для шаговых двигателей станка ЧПУ часто осуществляется по схеме, приведенной на рис. 1. Причем вариант с использованием порта USB встречается редко. Большое значение в данной схеме имеет совместимость устройств, форматов передачи данных и связанная с ней унификация сигналов, разъемов, протоколов. В ходе работы контроллер, несовместимый с сигналом шаг/направление, был усовершенствован.

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

Контроллер ШД

J

-код

G

Топология печ. платы

Сигналы

ШАГ/НАПРАВЛЕНИЕ STEP/DIRECTION

Photosop, CorelDraw, Компас, SolidWorks, AutoCAD, SprintLayout.

Рисунок, Чертеж, 30-модель,

Генератор G-кода

ArtCAM

DesCNC

Ксат

■О Match Gigamesh

Программа управления через USB

Контроллер ШД PIC+LM358N+IRL

LPT

LPT port I—О opto-interface

РСВ

Контроллер ШД L298N + L293D

USB interface РСВ

USB port-

Рис. 1. Генерация, вывод и преобразование управляющих сигналов [4]

Рис. 2. Диалоговое окно программы Stepper motor

Программирование. Управляющая программа способна управлять тремя шаговыми двигателями.

Методики расчета перемещения по каждой оси приведены в работах [1; 5], в программу поступают уже готовые данные о требуемом перемещении. Требуемое перемещение по каждой оси в миллиметрах делится на величину шага, в разработанной системе параллельной кинематики один шаг равен 0,223 мм. В результате получается заданное количество шагов для каждого двигателя. В текстовом поле диалогового окна задается число шагов, которые шаговый двигатель должен выполнить по каждой оси, также задается время каждого шага в миллисекундах (рис. 2).

Управляющая программа написана в среде Microsoft Visual C++ и состоит из двух процедур: GetData и Steps. В процедуре GetData считываются данные о требуемом перемещении ротора двигателя в шагах, определяется, по какому направлению нужно выполнить максимальное количество шагов (MaxReal). В этой же процедуре рассчитываются коэффициенты перемещений по каждой оси делением количества шагов по оси на максимальное количество шагов (рис. 3). Например, при перемещении 500,

  • 250,    100, максимальное число шагов будет равно 500, а коэффициенты kx = 500/500 = 1, ky = 250/500 = 0,5, kz = 100/500 = 0,2.

Далее эти данные используются в процедуре Steps (рис. 4), которая запускает таймер процедурой OnStartTimer и при каждом его срабатывании совершает один шаг. Программа вычисляет требуемую координату Xpr умножением коэффициента на максимальное число шагов Xpr = MaxPr·kx. Необходимость совершить шаг определяется программой из условия (max (Xpr, Xreal) – min (Xpr, Xreal)) > 0,5, где Xpr – программируемая координата положения; Xreal – реальная координата положения. Если отклонение реальной и вычисленной координат превышает половину шага, программа делает шаг, сокращая расхождение. При управлении униполярным шаговым двигателем в режиме одиночного шага существует последовательность из четырех сигналов, отправляемых на четыре вывода шагового двигателя: 1000; 0100; 0010; 0001. Для вращения ротора двигателя последовательно подаются эти сигналы. Если требуется совершить шаг, оператор switch определяет, какой сигнал подается на двигатель, и заменяет его следующим.

Рис. 3. Блок-схема процедуры GetData

Start

MaxPr >=MaxReal

(stepX

MaxPr < MaxReal

-CWX switch NX

End

STEP = Xkord ;

STEP2 = Ykord ;

STEP3 = Zkord ;

STEP4=d ;

STEPS = kz;

block = 0;

□ ut32 {0x37S , d );

UpdateData (false) CDialog ::OnTimer(

( max (Xpr, Xreal) - min (Xpr, Xreal)) > 0.5

Xpr = MaxPr* kx;

Ypr = MaxPr *ky;

Zpr = MaxPr * kz;

KillTimer( 1 )

Xkord -;

MaxPr**;

Xkord ++;

d = 64;

stepX = 0;

NX = 2;

NX= 2 ;

NX= 1 ;

stepX = 1;

Xreal +*;

В

NX = 3;

default

Рис. 4. Блок-схема процедуры Steps

default 1 d += c4;

NX = 4;

Электроника. По имеющимся схемотехническим решениям [6] была разработана топология контроллера, драйвером подобрана элементная база и изготовлен контроллер [7]. Первоначальное схемотехническое решение состояло из двунаправленных четырехбитных регистров сдвига КР1561ИР151 (SN74LS194) и драйверов униполярного шагового двигателя

ULN2803A. Эта схемы была усовершенствована путем добавления микросхемы логики «НЕ» MC14069UB для того, чтобы она могла работать с форматом сигналов «шаг и направление» [4]. Усовершенствование сократило число управляющих сигналов с избыточных трех до минимально необходимых двух: шаг и направление. Таким образом, кон- троллер стал совместим с распространенными программами управления шаговыми двигателями, а также с его помощью стало возможно управление четырьмя двигателями, управляемыми восемью сигналами (рис. 5).

Стоит отметить, что во многих случаях остается открытым вопрос о генерации управляющих сигналов, поступающих на контроллер. Если для управления в режиме реального времени используется компьютер, то на нем должна быть установлена программа, например, одна из программ для ЧПУ станка: Match, Kcam, VRI-cnc. Эти программы выводят через порт LPT компьютера управляющие сигналы в форме «направление», «шаг» для каждой оси. В них обязательно учитывается дискретность перемещения привода с шаговыми двигателями. Недостаток многих схемотехнических решений в том, что им нужны другие управляющие сигналы, следовательно, под них нужно разрабатывать собственное программное обеспечение [8].

Механика. С целью отработки процессов управления механизмами параллельной кинематики разработана модель трипода (рис. 6) и техническая документация на его изготовление.

Рис. 5. Электрическая схема и диаграмма сигналов усовершенствованного контроллера

Рис. 6. Модель трипода

При проектировании трипода, была поставлена задача обеспечить его функциональность и технологичность. В триподе применены три биполярных двигателя PL15S-020. Для предотвращения проворачивания цилиндрической направляющей в шаровом шарнире необходимо обеспечить требуемую силу трения через регулируемый натяг в шарнире [4].

В ходе работы были выявлены определяющие параметры работы привода: 1 шаг = 0,223 мм; 1 мм = 4,483 шага, погрешность позиционирования из-за дискретности шагов равна половине шага – 0,111 мм.

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

Статья научная