Разработка элементов управления механизмами параллельной структуры
Автор: Мирзаев Роман Александрович, Смирнов Николай Анатольевич
Журнал: Сибирский аэрокосмический журнал @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 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 мм. Таким образом, разработана система управления шаговыми двигателями. В ходе работы усовершенствован контроллер униполярных шаговых двигателей. Он стал совместим с унифицированным форматом передачи сигналов шаг/направление. Также разработана программа управления шаговыми двигателями с компьютера. Она способна управлять тремя и менее униполярными или биполярными двигателями. Для отработки процессов управления создана модель три-пода с приводами линейного перемещения на биполярных шаговых двигателях.
default
1
d += c4;