Научная статья на тему 'Автоматизированная система управления манипулятором'

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

CC BY
1781
364
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА АВТОМАТИЧЕСКОГО УПРАВЛЕНИЯ / СЕРВОПРИВОД / ДЕЛЬТА-МЕХАНИЗМ / УСТРОЙСТВА ПАРАЛЛЕЛЬНОЙ КИНЕМАТИКИ / МАНИПУЛЯТОР / AUTOMATIC CONTROL SYSTEM / SERVO DRIVE GROUP / DELTA MECHANISM / DEVICE PARALLEL KINEMATICS / MANIPULATOR

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

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

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

AUTOMATED CONTROL SYSTEM OF A MANIPULATOR

This work is dedicated to the creation of the manipulator control system. In the manipulator we used servo drive group. The automatic control system consists of a personal computer and the controller of servo. We describe the principles of operation and control of servo drive group. We used proportional-integral-differential controller to control motors. We describe a method that allows to debug and test the control system, with the use of virtual simulation. We created a controller after debugging the control system on the virtual model. We implemented control of servo drive group. We used the created control program of microcontroller. The proposed method allows to test the control system before the production of electronic devices. You can use this method of virtual simulation of control systems in the development of various control systems. Method can be used to control systems in which the commands are given from computer via a USB-port.

Текст научной работы на тему «Автоматизированная система управления манипулятором»

УДК 681.51

АВТОМАТИЗИРОВАННАЯ СИСТЕМА УПРАВЛЕНИЯ МАНИПУЛЯТОРОМ

Р. А. Мирзаев, Н. А. Смирнов

Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Россия, 660014, Красноярск, просп. им. газ. «Красноярский рабочий», 31 Е-mail: ramirzaev@mail.ru, 2008smimov@mail.ru

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

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

AUTOMATED CONTROL SYSTEM OF A MANIPULATOR

R. A. Mirzaev, N. A. Smirnov

Siberian State Aerospace University named after Academician M. F. Reshetnev 31 “Krasnoyarskiy Rabochiy” prosp., Krasnoyarsk, 660014, Russia.

Е-mail: ramirzaev@mail.ru, 2008smirnov@mail.ru

This work is dedicated to the creation of the manipulator control system. In the manipulator we used servo drive group. The automatic control system consists of a personal computer and the controller of servo. We describe the principles of operation and control of servo drive group. We used proportional-integral-differential controller to control motors. We describe a method that allows to debug and test the control system, with the use of virtual simulation. We created a controller after debugging the control system on the virtual model. We implemented control of servo drive group. We used the created control program of microcontroller. The proposed method allows to test the control system before the production of electronic devices. You can use this method of virtual simulation of control systems in the development of various control systems. Method can be used to control systems in which the commands are given from computer via a USB-port.

Keywords: automatic control system, servo drive group, delta mechanism, device parallel kinematics, manipulator.

Для разработки и отладки системы автоматического управления (САУ) необходим мониторинг работы каждого элемента системы управления. Важно отметить, что в начале разработки проверку работоспособности схемотехнических и программных решений целесообразно проводить до того, как будет создан реальный прототип устройства. Поэтому актуально использовать виртуальную модель системы управления [1].

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

Система управления сервоприводами состоит из персонального компьютера (ПК) и, управляемого с него, контроллера сервоприводов (рис. 1) [2].

Управляющая программа подает команды с компьютера на контроллер, в которых содержится ин-

формация о номере двигателя и его требуемом положении. Контроллер отвечает о выполненной команде и отправляет сигналы на серводвигатели для их поворота (рис. 2).

Рис. 1. Схема моделирования САУ на компьютере

Данная система управления полностью промоделирована на компьютере, прежде чем был создан прототип. Моделирование работы системы управления выполняется при помощи трех программ: Serial Port Monitor, Visual Serial Ports Driver, Proteus.

Рис. 2. Функциональная схема реальной САУ. МК-микроконтроллер

Рис. 3. Схема моделирования САУ на компьютере

Рис. 4. Блок-схема системы управления серводвигателем [З]

Программа Serial Port Monitor является терминалом для обмена информацией с последовательным портом. Разработчик имеет возможность посылать команды на устройство и принимать сообщения. Таким образом, имитируется работа управляющей программы.

При помощи утилиты Virtual Serial Ports Driver эмулируется последовательный порт RS-232, соединенный виртуальным нуль-модемным кабелем. Создано два виртуальных последовательных порта в системе, соединенных друг с другом для обмена информацией. Эта программа моделирует работу портов компьютера и контроллера, соединенных кабелем.

Средство разработки и тестирования Proteus моделирует работу электроники, в том числе серводвигателей и микроконтроллера Atmega-16. Для проверки разработанной программы, управляющей микроконтроллером, она загружается в виртуальную электрическую модель устройства. При корректной работе этой программой будет запрограммирован реальный микроконтроллер. В среде отладки Proteus имеется набор виртуальных приборов, таких как вольтметр, осциллограф, логический анализатор. Схема модели САУ приведена на рис. 3.

Далее подробно рассмотрим элементы системы управления их разработку и отладку. Так как требуемые управляющие сигналы определяются объектом

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

Принцип работы сервоприводов. Сервомеханизм -следящая система автоматического регулирования, которая работает по принципу обратной связи и в которой один или больше системных сигналов, сформированных в управляющий сигнал, оказывают механическое регулирующее воздействие на объект [3]. Сервосистемы обладают двумя особенностями: способностью усиливать мощность и информационной обратной связью. Усиление необходимо потому, что требуемая на выходе энергия обычно велика (берется от внешнего источника), а на входе незначительна. Обратная связь представляет собой замкнутый контур, в котором рассогласование сигналов входа и выхода используется для управления. Следовательно, в прямом направлении контур передает энергию, а в обратном обеспечивает информацию, необходимую для точного управления (рис. 4) [3].

Управляющие сигналы от контроллера к серводвигателю. У сервопривода на вход с приемника подается прямоугольный импульс, длительность которого определяет угол поворота двигателя (рис. 5).

В исследовательском образце используется серводвигатель НХТ900. Ширина импульса составляет 450-

2 450 мкс. Период между импульсами равен 20 мс. Угол поворота - 90°. При импульсах длительностью 450 мкс серводвигатель устанавливается в положение 0°. При импульсах длительностью 2 450 мкс серводвигатель устанавливается в положение 90°.

Если информация о положении передается двумя байтами, то погрешность составляет

Число в десятичной системе счисления Число в шестнадцатеричной системе счисления Требуемая ширина импульса в мкс Положение двигателя, град.

0 0 450 0

127 7Е 1 450 45

255 ЕЕ 2 450 90

Величина ошибки позиционирования двигателя, возникающей при передаче информации от ПК к МК, определяется выражением:

А = —-—,

256”

где 0 - угол поворота сервопривода; п - число байт, с информацией о положении привода.

Если информация о положении передается одним байтом, то погрешность составляет

90°

А =-----= 0,352°.

256

Д =

90

2562

■ = 0,00137

Рис. 5. Управляющие сигналы от контроллера к серводвигателю [3]

Команды, подаваемые на контроллер с компьютера. Структура команды от управляющей программы на контроллер следующая:

<начало><номер двигателя><требуемое положение>

Начало - это один старт-байт в шестнадцатеричной системе равен ББ, обозначает начало передачи.

Номер двигателя принимает значения от 0 до 7. Система управления имеет возможность управлять положением не более 8 сервоприводов. Данное количество достаточно для абсолютного большинства устройств параллельной структуры.

Далее передаются данные о ширине импульса ШИМ-сигнала, при помощи которого управляются сервоприводы (см. таблицу). Требуемое положение предается одним байтом. Возможно увеличение количества байт для большей точности.

Передача информации о требуемом положении сервопривода

Приведем примеры команд, отправляемых от управляющей программы к контроллеру:

ББ 00 00 - означает перевести первый двигатель в угол 0°;

ББ 01 7Б - означает перевести второй двигатель в угол 45°;

ББ 07 ББ - означает перевести восьмой двигатель в угол 90°.

Алгоритм управления серводвигателями. Принятые микроконтроллером с компьютера данные записываются в массив 8егуо81а1е. По значениям из этого массива определяется продолжительность импульса широтно-модулированного сигнала для каждого серводвигателя. С периодом 20 мс на каждый двигатель поступает передний фронт импульса (рис. 5). Задний фронт подается тогда, когда с переднего фронта прошло время, равное требуемой ширине импульса для данного двигателя (от 450 до 2 450 мкс).

Частота тактирования микроконтроллера ^ вычисляется делением частоты работы резонатора на коэффициент делителя ка [4]:

При использовании внешнего кварцевого резонатора можно достигнуть частоты работы микроконтроллера Atmega-16 до 16 МГц. В работе использован внутренний генератор тактовых импульсов с частотой 1 МГ ц. Таймеры микроконтроллера тактируются от генератора тактовых импульсов, частота которого поделена на коэффициент делителя, записанный в регистр ТССЯ1. Для удобства расчетов коэффициент делителя равен единице. Таким образом, частота тактирования таймеров микроконтроллера равна 1 МГц, а период тактирования - 1 мкс. Период тактирования - параметр, который используется в таймерах микроконтроллера для формирования широтно-модулирован-ных импульсов.

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

Т = Ттт + &г

Т - Т ■

тах тт

256”

где Тт1П - минимальное значение длительности импульса, в выбранном серводвигателе оно равно 450 мкс; Ттах - максимальное значение длительности импульса, в выбранном серводвигателе оно равно 2 450 мкс; 8р, - значение позиции /-го сервопривода из массива состояний сервоприводов $гу_ро7[Г]; / - номер текущего сервопривода, изменяется от 0 до 7; п - число байт, с информацией о положении привода.

Пример расчета количества тактов таймера: среднее положение серводвигателя - 45° соответствует

поданному с компьютера сигналу 127 (таб. 1), количество тактов таймера вычисляется по выражению

Т = 450 +127 • 2450 - 450 = 1446.

255

Так как величина одного такта таймера равна 1 мкс, то количество тактов равно периоду импульса. Вычисленное количество тактов таймера записывается в регистр микроконтроллера ОСЯ1Л. При каждом отсчете таймера его значение увеличивается на единицу, а также сравнивается с регистром ОСЯ1Л. При совпадении происходит прерывание работы МК и форми-

рование заднего фронта импульса, т. е. устанавливается нулевой потенциал на всех серводвигателях [5].

Моделирование работы контроллера. Контроллер сервоприводов спроектирован на базе микроконтроллера Atmega-16 [6]. Управляющие ШИМ-сигналы на сервоприводы поступают с восьми выводов порта С микроконтроллера. Для индикации рабочих состояний, а также ошибок к выводу PB0 подключен светодиод. Прием управляющих сигналов с компьютера осуществляется через порт COM1.

При помощи программного средства Proteus создана электрическая модель контроллера сервоприводов (рис. 7).

( Начало )

_____________1Г_____________

Обнулить значение таймера TCNTMI

Т

Вывести к сербоприбобам нойсе состояние через порт МК P0RTC = pc_state[index_st],

Если инбекс=8

it index_st- О Да] Т 1

прерываться после отсчёта остатка бремени 0CR1A = ctrjast обновить остаток Бремени на 20 мС ctrjast = 20000 обнулить инЭекс index_st = 0 Вычислить блину имп и Описать Б 0CR1A 0CR1A=992+llservo_poz[index_st]l * 4) Вычесть блину имп из периода 6 20 мС ctrjast - 0CR1A увеличить инбекс на 1 index_st«

у

( Конец )

Рис. 6. Блок-схема алгоритма работы таймера, отвечающего за формирование переднего и заднего фронтов ШИМ-импульсов

Рис. 7. Схема моделирования контроллера в программе Proteus

Рис. 8. Результаты моделирования работы микроконтроллера по программе УМЬЛБ (ШИМ-сигналы, подаваемые на восемь двигателей)

Порт COMPIM подключается к существующему com-порту компьютера. При отладке данный порт подключается к виртуальному com-порту, созданному программой Virtual Serial Ports Driver (см. рис. 3).

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

Измерена ширина импульса, подаваемого на первый двигатель (рис. 8), она составляет 2,2 мкс.

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

Библиографические ссылки

1. Бесекерский В. А., Попов Е. П. Теория систем автоматического управления СПб. : Профессия, 2003.

2. Мирзаев Р. А., Смирнов Н. А., Смирнов А. Н. Расчет параметров движения приводов механизма параллельной структуры // Вестник СибГАУ. 2011. Вып. 5 (38). С. 62-64.

3. Масленников В. Многоликие серво [Электронный ресурс]. URL: http://hobbyarea.ru/article_info.php? articles_id = 39 (дата обращения 20.11.2012).

4. 8-bit Microcontroller with 16K Bytes In-System Programmable Flash - Atmel Corporation, 2010 [Электронный ресурс]. URL: http://www.atmel.com/Images/ doc2466.pdf (дата обращения 08.11.2012).

5. Семенов М. AVR краткий учебный курс [Электронный ресурс]. URL: http://proavr.narod.ru/ (дата обращения 01.12.2012).

6. Федоров Ю. Н. Справочник инженера по АСУТП: проектирование и разработка. Вологда : Инфра Инженерия, 2008.

References

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

1. Besekerskiy V. A., Popov E. P. Teoriya sistem av-tomaticheskogo upravleniya (Theory of automatic control systems). St. Petersburg, Professiya, 2003, 752 p.

2. Mirzaev R. A., Smirnov N. A., Smirnov A. N. VestnikSibGAU, 2011, № 5 (38), pp. 62-64.

3. Maslennikov V. Mnogolikie servo. (Multifaceted servo). Available at: http://hobbyarea.ru/article_info.php? articles_id = 39 (accessed 20 November 2012).

4. 8-bit Microcontroller with 16K Bytes In-System Programmable Flash - Atmel Corporation, 2010. Available at: http://www.atmel.com/Images/doc2466.pdf (accessed 8 November 2012).

5. Semenov M. AVR kratkiy uchebnyy kurs (AVR short training course). Available at: http://proavr.narod.ru/ (accessed 1 December 2012).

6. Fedorov Yu. N. Spravochnik inzhenera po ASUTP: proektirovanie i razrabotka (Reference book Engineer SCADA: design and development). Vologda, Infra Inzheneriya, 2008, 928 p.

© Мирзаев Р. А., Смирнов Н. А., 2013

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