AUTOMATED CONTROL SYSTEM OF A MANIPULATOR


Cite item

Full Text

Abstract

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.

Full Text

Для разработки и отладки системы автоматического управления (САУ) необходим мониторинг работы каждого элемента системы управления. Важно отметить, что в начале разработки проверку работоспособности схемотехнических и программных решений целесообразно проводить до того, как будет создан реальный прототип устройства. Поэтому актуально использовать виртуальную модель системы управления [1]. формация о номере двигателя и его требуемом положении. Контроллер отвечает о выполненной команде и отправляет сигналы на серводвигатели для их поворота (рис. 2). Рис. 1. Схема моделирования САУ на компьютере В данной работе проводилось моделирование системы управления сервоприводами для устройства параллельной кинематики. Система управления сервоприводами состоит из персонального компьютера (ПК) и, управляемого с него, контроллера сервоприводов (рис. 1) [2]. Данная система управления полностью промоделирована на компьютере, прежде чем был создан прототип. Моделирование работы системы управления выполняется при помощи трех программ: Serial Port Monitor, Visual Serial Ports Driver, Proteus. Управляющая программа подает команды с компьютера на контроллер, в которых содержится ин- Рис. 2. Функциональная схема реальной САУ. МК-микроконтроллер Рис. 3. Схема моделирования САУ на компьютере Рис. 4. Блок-схема системы управления серводвигателем [3] Программа Serial Port Monitor является терминалом для обмена информацией с последовательным портом. Разработчик имеет возможность посылать команды на устройство и принимать сообщения. Таким образом, имитируется работа управляющей программы. При помощи утилиты Virtual Serial Ports Driver эмулируется последовательный порт RS-232, соединенный виртуальным нуль-модемным кабелем. Создано два виртуальных последовательных порта в системе, соединенных друг с другом для обмена информацией. Эта программа моделирует работу портов компьютера и контроллера, соединенных кабелем. Средство разработки и тестирования Proteus моделирует работу электроники, в том числе серводвигателей и микроконтроллера Atmega-16. Для проверки разработанной программы, управляющей микроконтроллером, она загружается в виртуальную электрическую модель устройства. При корректной работе этой программой будет запрограммирован реальный микроконтроллер. В среде отладки Proteus имеется набор виртуальных приборов, таких как вольтметр, осциллограф, логический анализатор. Схема модели САУ приведена на рис. 3. Далее подробно рассмотрим элементы системы управления их разработку и отладку. Так как требуемые управляющие сигналы определяются объектом управления, то сначала ознакомимся с устройством работы сервопривода. Принцип работы сервоприводов. Сервомеханизм -следящая система автоматического регулирования, которая работает по принципу обратной связи и в которой один или больше системных сигналов, сформированных в управляющий сигнал, оказывают механическое регулирующее воздействие на объект [3]. Сервосистемы обладают двумя особенностями: способностью усиливать мощность и информационной обратной связью. Усиление необходимо потому, что требуемая на выходе энергия обычно велика (берется от внешнего источника), а на входе незначительна. Обратная связь представляет собой замкнутый контур, в котором рассогласование сигналов входа и выхода используется для управления. Следовательно, в прямом направлении контур передает энергию, а в обратном обеспечивает информацию, необходимую для точного управления (рис. 4) [3]. Управляющие сигналы от контроллера к серводвигателю. У сервопривода на вход с приемника подается прямоугольный импульс, длительность которого определяет угол поворота двигателя (рис. 5). В исследовательском образце используется серводвигатель HXT900. Ширина импульса составляет 450- 2 450 мкс. Период между импульсами равен 20 мс. Угол поворота - 90°. При импульсах длительностью 450 мкс серводвигатель устанавливается в положение 0°. При импульсах длительностью 2 450 мкс серводвигатель устанавливается в положение 90°. Если информация о положении передается двумя байтами, то погрешность составляет ■ = 0,00137 90 2562 А = Рис. 5. Управляющие сигналы от контроллера к серводвигателю [3] Команды, подаваемые на контроллер с компьютера. Структура команды от управляющей программы на контроллер следующая: <начало><номер двигателя><требуемое положение> Начало - это один старт-байт в шестнадцатеричной системе равен FF, обозначает начало передачи. Номер двигателя принимает значения от 0 до 7. Система управления имеет возможность управлять положением не более 8 сервоприводов. Данное количество достаточно для абсолютного большинства устройств параллельной структуры. Далее передаются данные о ширине импульса ШИМ-сигнала, при помощи которого управляются сервоприводы (см. таблицу). Требуемое положение предается одним байтом. Возможно увеличение количества байт для большей точности. Передача информации о требуемом положении сервопривода Число в десятичной системе счисления Число в шестнадцатеричной системе счисления Требуемая ширина импульса в мкс Положение двигателя, град. 0 0 450 0 127 7F 1 450 45 255 FF 2 450 90 Приведем примеры команд, отправляемых от управляющей программы к контроллеру: FF 00 00 - означает перевести первый двигатель в угол 0°; FF 01 7F - означает перевести второй двигатель в угол 45°; FF 07 FF - означает перевести восьмой двигатель в угол 90°. Алгоритм управления серводвигателями. Принятые микроконтроллером с компьютера данные записываются в массив ServoState. По значениям из этого массива определяется продолжительность импульса широтно-модулированного сигнала для каждого серводвигателя. С периодом 20 мс на каждый двигатель поступает передний фронт импульса (рис. 5). Задний фронт подается тогда, когда с переднего фронта прошло время, равное требуемой ширине импульса для данного двигателя (от 450 до 2 450 мкс). Частота тактирования микроконтроллера Ft вычисляется делением частоты работы резонатора Fres на коэффициент делителя kd [4]: F Ft =■ При использовании внешнего кварцевого резонатора можно достигнуть частоты работы микроконтроллера Atmega-16 до 16 МГц. В работе использован внутренний генератор тактовых импульсов с частотой 1 МГ ц. Таймеры микроконтроллера тактируются от генератора тактовых импульсов, частота которого поделена на коэффициент делителя, записанный в регистр TCCR1. Для удобства расчетов коэффициент делителя равен единице. Таким образом, частота тактирования таймеров микроконтроллера равна 1 МГц, а период тактирования - 1 мкс. Период тактирования - параметр, который используется в таймерах микроконтроллера для формирования широтно-модулирован-ных импульсов. Время длительности импульса, подаваемого на сервопривод, определяется количеством тактов, который должен сделать таймер до прерывания. Требуемое количество тактов таймера вычисляется по формуле Величина ошибки позиционирования двигателя, возникающей при передаче информации от ПК к МК, определяется выражением: T = Tmin + Spг А =—-—, 256n где 0 - угол поворота сервопривода; n - число байт, с информацией о положении привода. Если информация о положении передается одним байтом, то погрешность составляет 90° А =-= 0,352°. 256 T - T ■ max min 256n где Tmin - минимальное значение длительности импульса, в выбранном серводвигателе оно равно 450 мкс; Tmax - максимальное значение длительности импульса, в выбранном серводвигателе оно равно 2 450 мкс; Spi - значение позиции i-го сервопривода из массива состояний сервоприводов srv_poz[i]; i - номер текущего сервопривода, изменяется от 0 до 7; n - число байт, с информацией о положении привода. Пример расчета количества тактов таймера: среднее положение серводвигателя - 45° соответствует поданному с компьютера сигналу 127 (таб. 1), количество тактов таймера вычисляется по выражению T = 450 +127 • 2450 ~ 450 = 1446. 255 Так как величина одного такта таймера равна 1 мкс, то количество тактов равно периоду импульса. Вычисленное количество тактов таймера записывается в регистр микроконтроллера OCR1A. При каждом отсчете таймера его значение увеличивается на единицу, а также сравнивается с регистром OCR1A. При совпадении происходит прерывание работы МК и формирование заднего фронта импульса, т. е. устанавливается нулевой потенциал на всех серводвигателях [5]. Моделирование работы контроллера. Контроллер сервоприводов спроектирован на базе микроконтроллера Atmega-16 [6]. Управляющие ШИМ-сигналы на сервоприводы поступают с восьми выводов порта С микроконтроллера. Для индикации рабочих состояний, а также ошибок к выводу PB0 подключен светодиод. Прием управляющих сигналов с компьютера осуществляется через порт COM1. При помощи программного средства Proteus создана электрическая модель контроллера сервоприводов (рис. 7). ( Нпчоло ~) _]Г_ Ойнулигль значение таймера ТСНТ1=0 V Выйеши к серйоприМам нойое состояние через порт МК P0RTC = pc_slote[index_sl]; Если инбекс=8 if index_sU а До| Т 1 Г прерываться после отсчёта остатка бремени 0CR1A = ctrjnst ойнобить остаток Бремени на 2D иС ctrjosl = гоооо обнулить индекс irdex.st = 0 Вычислить Йлину имп и вписать В 0CR1A QCR1A=992+I(servo_poz(iodex_st]|4] Вычесть Злину имп. из периоЭо 6 20 мС cfrjast -= 0CR1A убеличить инбекс на 1 index_sl ++ f С Конец ~) Рис. 6. Блок-схема алгоритма работы таймера, отвечающего за формирование переднего и заднего фронтов ШИМ-импульсов Рис. 7. Схема моделирования контроллера в программе Proteus Рис. 8. Результаты моделирования работы микроконтроллера по программе VMLAB (ШИМ-сигналы, подаваемые на восемь двигателей) Порт COMPIM подключается к существующему com-порту компьютера. При отладке данный порт подключается к виртуальному com-порту, созданному программой Virtual Serial Ports Driver (см. рис. 3). В среде отладки VMLAB промоделирована работа программы микроконтроллера. Использована возможность выполнения инструкций в пошаговом режиме, а также наличие виртуального осциллографа и терминала соединения RS-232. Измерена ширина импульса, подаваемого на первый двигатель (рис. 8), она составляет 2,2 мкс. Для отладки и тестирования работы различных элементов управления разработана виртуальная САУ, которая будет использована при исследовании устройств параллельной структуры. Разработанная виртуальная САУ позволяет провести отладку и тестирование элементов системы управления до создания электронных устройств. После отладки элементов системы управления на виртуальной модели создан контроллер. Используя написанную программу, реализовано управление сервоприводами. Главным результатом моделирования стала работоспособность созданного прототипа, а также отработка углов поворота сервоприводов с заданной точностью.
×

About the authors

R. A. Mirzaev

Siberian State Aerospace University named after Academician M. F. Reshetnev

Email: ramirzaev@mail.ru

N. A. Smirnov

Siberian State Aerospace University named after Academician M. F. Reshetnev

Email: 2008smirnov@mail.ru

References

  1. Бесекерский В. А., Попов Е. П. Теория систем автоматического управления СПб. : Профессия, 2003.
  2. Мирзаев Р. А., Смирнов Н. А., Смирнов А. Н. Расчет параметров движения приводов механизма параллельной структуры // Вестник СибГАУ. 2011. Вып. 5 (38). С. 62-64.
  3. Масленников В. Многоликие серво [Электронный ресурс]. URL: http://hobbyarea.ru/article_info.php? articles_id = 39 (дата обращения 20.11.2012).
  4. -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.

Supplementary files

Supplementary Files
Action
1. JATS XML

Copyright (c) 2013 Mirzaev R.A., Smirnov N.A.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies