УДК 621.865.8-5
РАЗРАБОТКА ЦИФРОВОГО УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ РОБОТОМ С ЭЛЕКТРОПРИВОДОМ
А.А. Внуков, М.С. Афонин
Кафедра технической кибернетики Российский университет дружбы народов 117198, Москва, ул. Миклухо-Маклая, 6
В статье рассматриваются вопросы, связанные с подключением промышленного робота с тремя степенями свободы к микроконтроллеру (МК) и персональному компьютеру (ПК) для обеспечения цифрового управления. Для этих целей разрабатывается аппаратное и программное обеспечение в виде интерфейсной платы с соответствующим программным обеспечением. Разрабатываемый интерфейс позволит поддерживать режимы: управления роботом непосредственно от ПК, управление непосредственно от МК без участия ПК и управление от МК с загрузкой данных с ПК.
1. Постановка задачи.
Общая постановка задачи предполагает реализацию возможности использования манипуляционного робота для задач цифрового управления.
Пусть имеется промышленный манипуляционный робот с тремя степенями свободы.
Необходимо выяснить возможность использования робота, включая выяснение его устройства и проверку его работоспособности, для производственных или учебных задач в автоматическом режиме управления от ПК, подключить робот к персональному компьютеру и/или микроконтроллеру и обеспечить возможность цифрового управления им.
Таким образом, необходимо выполнить научно-исследовательскую работу по разработке цифрового управления промышленным роботом с электроприводом.
2. Цель исследования.
Целью исследования является выполнение следующих работ:
1) выяснение устройства робота;
2) проверка работоспособности манипуляционного робота, его узлов;
3) определение возможностей по реализации цифрового управления роботом с использованием персонального компьютера (ПК) или микроконтроллера (МК);
4) определение режимов работы интерфейса между роботом и ПК;
5) разработка платы (или макета платы) аппаратного интерфейса для подключения робота к ПК;
6) разработка программного обеспечения для поддержки аппаратного интерфейса между роботом и ПК;
7) определение круга задач по применению цифрового управления роботом.
3. Объект исследования.
Объект исследования представляет собой механизм манипуляционного робота с тремя степенями свободы с возможностью крепления на третьем плече инструмента, захвата, или устройства, имеющий в суставах электромеханические приводы, датчики положения, устройство аналогового управления, к которому, с одной стороны, подключается робот, а с другой стороны - джойстик.
3.1. Кинематический механизм робота.
Объектом исследования являлся манипуляционный робот с тремя степенями свободы, из которых одна степень свободы является вращательной, а две другие -поступательными. Благодаря вращательной степени свободы робот поворачивается влево и вправо вокруг вертикальной оси, связанной со стойкой робота относительно своего основания. Две другие степени свободы являются поступательными и обеспечивают линейное перемещение вперед и назад вдоль вертикального плеча -стойки робота, соединенного с основанием под углом в 90° и вдоль горизонтального плеча робота, соединенного со стойкой робота также под углом в 90°.
В каждом из трех приводов трех степеней свободы использованы электромоторы, обеспечивающие вращательное или линейное перемещение по каждой из степеней свободы. Для придания вращательного движения стойки робота относительно основания и передачи вращательного движения от электромотора к стойке в приводе использована шестеренчатая передача. Для придания линейного перемещения вдоль поступательных степеней свободы и передачи и преобразования вращательного движения в поступательное от электромотора к плечу в приводе робота применены червячные передачи.
Каждая из степеней свободы робота оснащена одним датчиком. Вращательная степень свободы оснащена инкрементным датчиком углового вращения. Поступательные степени свободы оснащены инкрементными датчиками линейного измерения расстояния (ЛИР). Инкрементный датчик при угловом повороте или линейном перемещении добавляет или удаляет (в зависимости от направления перемещения) каждый раз единицу в регистр при смещении на единицу цены деления прибора.
На рис. 1 показан общий вид робота лицевой и обратной стороны (справа).
Рис. 1. Фотографии промышленного робота
На рис. 2 изображена структурная и функциональная схемы промышленного робота с трехподвижным манипулятором, т.е. имеющим три степени свободы, и в общем соответствующие исходному роботу. Механизм руки манипулятора исходного робота не оснащен захватом (или схватом), но имеет возможность для крепления рабочего инструмента или захвата. Основной механизм руки манипулятора исходного робота состоит из неподвижного звена 0 (основания) и трех подвижных звеньев ], 2 и 3.
Рис. 2. Структурная и функциональная схемы промышленного робота с манипулятором
Исходный робот можно отнести к наиболее простым манипуляторам, которые имеют три, реже две, степени подвижности. Такие манипуляторы значительно дешевле в изготовлении и эксплуатации, но предъявляют специфические требования к организации рабочей среды. Эти требования связаны с заданной ориентацией объектов манипулирования относительно механизма, захвата или рабочего инструмента робота. Поэтому оборудование должно располагаться относительно такого робота с требуемой ориентацией.
В 2001 году на кафедре Технической кибернетики РУДН было разработано и собрано устройство аналогового управления для промышленного робота с тремя степенями свободы, которое состояло из джойстика, платы аналогового управления, кабельных соединений. Джойстик подключался на СОМ-порт платы. На другой стороне платы находятся два выхода, к которым припаяны два двужильных кабеля, по которым подается напряжение на электромоторы приводов робота с релейной схемой управления. На плате имеются два реле, две пары желтых и зеленых индикаторов каналов управления, красный индикатор питания, согласующие емкости и сопротивления.
Разработанное устройство позволяло визуально без использования датчиков робота с помощью джойстика, подключенного к плате аналогового управления, вручную управлять двумя поступательными степенями свободы, обеспечивающими линейные перемещения этих звеньев. Точность управления и контроля определялась точностью визуального оценивания на глаз перемещений звеньев робота вдоль их осей движения. Диоды подавали световой сигнал каждый раз при подаче управляющего воздействия с платы на электромоторы робота, и без учета прохождения одного деления шкалы измерительного датчика. Для управления вращательной степенью свободы имеется двужильный кабель, подключенный к электромотору с приводом, установленным на основании робота рядом со стойкой, управлялся он также через джойстик посредством схемы. Обратная связь в системе управления с использованием разработанной платы отсутствовала по всем трем степеням свободы. Таким образом, с использованием этой платы не представлялось возможным построение замкнутой системы управления роботом.
3.2. Электромоторы и приводы робота.
Электромоторы конструктивно собраны вместе с приводом, произведены немецкой фирмой Оипкегто(:огеп в 1992 году. Привод является шестеренчатой коробкой передач только с одной передачей, конструктивно насажен на вал электромотора и образует вместе с ним единый функциональный модуль.
Два электромотора с приводами с передаточным числом п (-20,25:1) и мощностью по 80 N001, установленные на последовательных степенях свободы, являются полностью работоспособными. При подаче напряжения от б до 12 вольт с преобразователя напряжения (макс. 1000 мА) совершалось вращение моторов с приводами и как следствие - движение двух плеч робота с помощью механизма червячного привода поступательных степеней свободы. Третий мотор с приводом с передаточным числом п (-162:1) и мощностью 180 N011 (на вращательной степени свободы) при таких же условиях не вращался, т.е. не являлся полностью работоспособным. Этот мотор с приводом был демонтирован с робота, и при тех же условиях не вращался. При попытке вручную провернуть вал было определено, что внешняя шестерёнка на вале привода мотора прокручивается, а сам вал не вращается.
3.3. Датчики робота.
На роботе установлены следующие инкрементные датчики положения:
- 2 инкрементных датчика линейного измерения расстояния модели ЛИР-5, 270 НП5 +5, выпущенные СКБ ИС Санкт-Петербург, год-номер 94-007 и
- 1 инкрементный датчик углового вращения ВЕ 178 А5 2=2500 (К64/!Р50 ТУ2-024-5805-84 N55076 -92, произведенный на предприятии в городе Орша в 1992 году.
Все датчики являются инкрементными преобразователями перемещений, на выходе которых при прохождении каждого деления шкалы прибора появляется электрический, или нормированный, электрический сигнал определенной длительности. Преобразователи могут иметь как начало отсчета, так и референтные метки с известными координатами. Ими поддерживается режим отслеживания референтных меток, нанесенных на преобразователи, координаты которых известны, для определения истинного перемещения относительно их и истинного положения точки контролируемого объекта.
По мнению специалистов, он должен быть заменен как устаревший современным аналогом датчика либо предприятия изготовителя в городе Орше, либо ЛИР 158Б-2500-05 производства СКБ ИС.
При замене всех датчиков современными аналогами достаточно просто решается вопрос по подключению этих преобразователей ЛИР-7, ЛИР-9, ЛИР 158Б к ПК, которое может стандартно осуществляться через плату интерфейса ЛИР 930 и драйверы разработки СКБ ИС.
Исходный робот может быть укомплектован без каких-либо переделок с его механизмом двумя датчиками ЛИР-9 и одним - ЛИР 158Б, которые обеспечат необходимую точность измерений.
Таким образом, исходим из того, что на роботе установлены уникальные по своим характеристикам инкрементные линейные и угловые датчики, являющиеся высокоточными преобразователями линейных и угловых перемещений. Они позволяют с микронной точностью обрабатывать детали на станках, помогают с точностью до долей угловых секунд определять местонахождение объектов в пространстве,
осуществлять высокоточное наведение на цель, применяются в системах управления скоростными лифтами, позволяют компенсировать имеющиеся люфты оборудования и станков.
4. Инкрементные преобразователи линейных и угловых перемещений.
Рассмотрим устройство и работу инкрементных преобразователей перемещений.
В основу принципа действия линейных инкрементных преобразователей перемещений положен принцип растровой модуляции. При относительном перемещении растровой шкалы 1 и инкрементной пластины 2, содержащей растровый анализатор, происходит модуляция потока, создаваемого инфракрасным излучателем 3 плате излучателей 4. Модулируемый поток излучения регистрируется кремниевыми фотодиодами 5 на плате фотоприемников 6. Работу линейных инкрементных преобразователей подробно рассматривать не будем.
Принцип действия преобразователей угловых перемещений ЛИР-158 основан на фотоэлектронном считывании растровых сопряжений. В качестве осветителей используются инфракрасные светодиоды, а приемниками излучения служат кремниевые светодиоды. Растровое сопряжение создается подвижным измерительным растром 1 (рис.З справа) и неподвижным индикаторным растровым анализатором 2. В состав растрового анализатора входят 4 поля считывания А, В, А, В, каждое из которых имеет пространственный сдвиг относительно предыдущего на 'А периода растра. Параллельный световой поток, сформированный конденсором 7 осветителя
3, проходя через растровое сопряжение, анализируется четырехквадрантным фотоприемником 5. Соединенные соответствующим образом фотоприемники позволяют получить два ортогональных потоковых сигнала 1А и 1В, постоянная составляющая которых не зависит от уровня освещенности. Наличие ортогонально сдвинутого сигнала позволяет определить перемещение в пределах шага растра, что дает возможность повысить разрешающую способность преобразователя и определить направление перемещения. Сигнал 1А опережает сигнал 1в при вращении по часовой стрелке измерительного лимба 1, жестко связанного с валом преобразователя (вид со стороны вала преобразователя). Полученные сигналы являются выходными при отсутствии нормирующего преобразователя (НП). В зависимости от требуемого вида выходных сигналов в электронный блок преобразователя угловых перемещений встраивается НП с различными схемными решениями. НП-Бт формирует синусоидальные по напряжению парафазные сигналы той же частоты, что и частота входных токовых сигналов. НП-прямоугольных сигналов формирует прямоугольные парафазные сигналы, частота которых либо соответствует частоте входных
Рис. 3. Устройство и принципы работы датчиков
токовых сигналов, либо в К раз выше в зависимости от исполнения датчика, где К -коэффициент интерполяции, взятый из таблицы. Это и позволяет при соответствующем приеме информации повысить разрешающую способность преобразователя в 4 раза или в 4*К раза по сравнению с шагом растра. Наличие парафазного выхода (прямых и инверсных сигналов) позволяет повысить помехозащищенность каналов передачи информации от преобразователя.
Помимо основных сигналов перемещения, преобразователь вырабатывает сигнал референтной метки (РМ), или сигнал начала отсчета. Этот сигнал вырабатывается один раз за оборот вала и позволяет использовать преобразователь как датчик положения. При полном совпадении аналогичных кодовых растров Е и Д световой поток осветителя 4, принимаемый одной из секций фотоприёмника 6, в 3-4 раза больше, чем при любом другом взаимном положении этих кодовых растров. Ширина сигнала РМ по уровню 'А от её амплитуды не превышает периода одного из сигналов перемещения. Для фиксирования этого уровня вне зависимости от интенсивности осветителя 4 организован опорный сигнал: световой поток от осветителя 4 через диафрагму Г поступает на вторую секцию фотоприёмника 6. В зависимости от схемного решения НП токовый сигнал РМ преобразуется в сигнал по напряжению или в импульсный сигнал РМ.
Перейдём теперь к разработке аппаратного обеспечения для цифрового управления роботом.
5. Реализация аппаратного и программного обеспечения цифрового управления робота.
5.1. Технические особенности микроконтроллера ATMegal6.
Для начала рассмотрим некоторые технические характеристики и особенности микроконтроллера ATMegal6. По своим функциям ATmegal6 относится к 8-разрядным микроконтроллерам с 16К байтами внутрисистемной программируемой Flash памяти.
Микроконтроллер ATmegal6 - CMOS с пониженным энергопотреблением 8-битовый микроконтроллер, основанный на расширенной AVR RISC-архитектуре. Он имеет энергонезависимую память программ и данных. Прогрессивная RISC архитектура имеет 131 высокопроизводительную команду, большинство команд выполняется за один тактовый цикл, 32 8-разрядных рабочих регистра общего назначения, полностью статическую работу, производительность приближается к 16 MIPS (при тактовой частоте 16 МГц), встроенный 2-цикловый умножитель. Энергонезависимая память программ и данных имеет 16 Кбайт внутрисистемной программируемой Flash памяти (In-System Self-Programmable Flash) с возможностью 10000 циклов стирания/записи. Она содержит дополнительный сектор загрузочных кодов с независимыми битами блокировки и внутрисистемное программирование встроенной программой загрузки, обеспечен режим одновременного чтения/записи (Read-While-Write), 512 байт EEPROM постоянной памяти, обеспечивает 100000 циклов стирания/записи, 1 Кбайт встроенной SRAM статической памяти, программируемая блокировка, обеспечивающая защиту программных средств пользователя.
Встроенная периферия содержит: два 8-разрядных таймера/счетчика с отдельным предварительным делителем и с режимом сравнения, один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и срав-
нения, счетчик реального времени с отдельным генератором. Имеются четыре канала PWM, 8-канальный 10-разрядный аналого-цифровой преобразователь, 8 несимметричных каналов, 7 дифференциальных каналов (только в корпусе TQFP), 2 дифференциальных канала с программируемым усилением в 1, 10 или 200 крат. На кристалл встроены также байт-ориентированный 2-проводный последовательный интерфейс, программируемый последовательный US ART, последовательный интерфейс SPI (ведущий/ведомый), программируемый сторожевой таймер с отдельным встроенным генератором, встроенный аналоговый компаратор.
Имеются такие специальные микроконтроллерные функции как сброс по подаче питания и программируемый детектор кратковременного снижения напряжения питания, встроенный калиброванный RC-генератор, внутренние и внешние источники прерываний, шесть режимов пониженного потребления: Idle, Power-save, Power-down, Standby, Extended Standby и снижения шумов ADC.
Выводы I/O и корпуса - 32 программируемые линии ввода/вывода, 40-выводной корпус PDIP, 44-выводной корпус TQFP и 44-pad MLF.
Рабочие напряжения: 2,7 - 5,5 В (ATmegal6L), 4,5 - 5,5 В (ATmegal6).
Рабочая частота: 0-8 МГц (ATmegal6L), 0-16 МГц (ATmegal6).
Потребляемая мощность на частоте 1 МГц, при 3 В и 25°С для ATmegal6L: в активном режиме 1.1 цА, в режиме Idle Mode 0.35 шА, в режиме Power-down Mode: < 1 (iA.
Микроконтроллер ATmegal6 разработан норвежскими специалистами, предназначался для осуществления контроля и управления техническими устройствами в режиме масштаба реального времени, имеет достаточно низкую стоимость в настоящее время 132 руб.
К нему предоставляется бесплатное программное обеспечение для программирования и отладки его работы.
5.2. Описание конфигурации и назначения внешних контактов микроконтроллера ATMegal6.
Рассмотрим конфигурацию и назначение внешних контактов микроконтроллера ATMegal6 (рис.4).
Описание внешних контактов микроконтроллера ATMegal6 приводится в ниже следующей таблице.
PDIP
j........",
с X С К/Т СО Р 80 С 1 40 Zl РАО (ADC 2}
СП) РВ1 с г 39 □ РА1 (ADC1)
C!^T2/AIND) РБ2 с 3 38 □ РА 2 iADC2i
'CC0/A1N 1) РБЗ с 4 37 РАЗ (ADC3>
<55) РБ4 с Ь 36 Z) РА4 (ADCi;
1 ё РВ5 с 6 35 □ РА 5 (AOC5)
(Ш$С) РБЗ с ? 34 13 РА6 (ADCS)
(SCK;. Р В? с й ЗУ □ РА 7 (ADC7)
R5SST С 9 3? =3 ARE г
VCC с 10 31 3 GND
Gj-JD с 1 1 30 AVCC
> ^Ai.2 с 1 2 29 □ PC 7 {TOSC2
..< TA.L. 1 с 1 Л ?Н D PCS (TO.se 1
PD0 с 1.4 <»/ Р PCS ,'TDh
a XD? PD1 с 26 Г: PC* :TDO;
m-jroi Р02 с 16 гъ р РСЗ (TMS)
ONTy, PD3 с \7 24 п PC£ iTCK)
;С'С1Б. РЭ4 с 23 Z) РС1 fSDA)
(О:: PD5 с ’9 22 п PC и iSCL <
ГСР-1 РМ с 2.0 2Л PD7 ГОС2>
Рис. 4. Конфигурация внешних контактов микроконтроллера ATMegal6
Т аблица
Описание внешних контактов микроконтроллера ATMegaló
Контакты Назначение
VCC Питающее цифровой блок напряжение
GND Земля
Port А (РА7...РА0) Порт А может использоваться как аналоговый вход на Аналогово-цифровой преобразователь (АЦП). Если преобразователь не включен, то порт может быть использован как восьмибитный порт на вход\выход данных. Выводы порта могут быть «поддержаны» резисторами (на каждый выход-ножку). То есть, значение напряжения на логическую единицу фиксируется резистором. Когда порт А устанавливается на вход и питание-логический ноль, и при этом резисторы активированы, они (выводы) могут быть источником тока. Выводы порта А тристабильные, то есть могут находиться в состояниях ноль, единица и неопределенность.
Port В (РВ7...РВ0) Порт В - восьмибитный двунаправленый порт ввода-вывода данных с «поддерживающими» резисторами. Дальнейшие свойства сходны с Портом А, когда конвектор отключен и активизированны резисторы. Порт В может также выполнять и другие роли, о которых можно прочитать в технической документации.
PortC (РС7...РС0) По общим свойствам аналогичен предыдущему порту. Вдобавок, если на этом порте активирована поддержка интерфейса, то резисторы на ножках РС5(Т01), РСЗ(ТМЯ) и РС2(ТСК) будут активи-рованны, даже если происходит перезагрузка МК. Порт С может также выполнять и другие роли, о которых можно прочитать в технической документации.
Port D (PD7...PD0) По общим свойствам аналогичен Порту В. Порт О может также выполнять и другие роли, о которых можно прочитать в технической документации
RESET Сигнал на перезагрузку. Низкий уровень на этой ножке, длительностью больше, чем минимальная длинна импульса, сгенерирует перезагрузку МК в любом режиме работы.
XTAL1 Вход на инвертирующий усилитель осциллятора и вход на внутреннюю тактовую схему.
XTAL2 Выход с инвертирующего усилителя осциллятора.
A VCC Питание АЦП, должен быть внешне соединен с УСС, при активированном АЦП должен быть соединен с УСС через низкочастотный фильтр.
AREF Уровень, относительно которого измеряется аналоговый сигнал на АЦП.
5.3. Программирование микроконтроллера и обмен данными меяеду ПК и МК.
Программирование микроконтроллера (МК) осуществляется через специально отведённые для этого порты MOSI, MISO и RESET. Запись программы осуществляется с порта MISO, чтение её - с порта MOSI. RESET позволяет управлять чтением и записью. На рис. 5 показаны порты, используемые для программирования МК.
Для связи ПК-МК будем использовать последовательный интерфейс RS-232. Он будет использован для чтения и записи данных из/в памяти МК в соответствии с предполагаемыми режимами работы платы с МК. Интерфейс используется СОМ и LTP портами. В случае если они отсутствуют на компьютере, то тогда используется USB-порт. Подключение к нему МК происходит через адаптер USB~>COM, также должно быть установлено программное обеспечение для реализации работы с виртуальным СОМ-портом через заданный USB-порт.
По линии TxD данные передаются от МК в ПК, по линии RxD МК принимает данные от ПК. Более подробное описание работы через интерфейс можно посмотреть в источнике на сайте, указанным в списке литературы.
(ХОК/!1 •> РВи • И) Г’П1
тшт iw {OOVAIN1J v\i< т pim .{шэд pik.
с а
9
7
а
8
ю
11
12
13
14 1Б
10 17 1» 1В 20
40
99
31
>7
56
Зв
94
3*
12
31
30
29
U
27
20
2S
24
23
22
21
ГА" (ДОС")
ГЛ1 (ДОС 1'f РА? -ДОС/}
I Vv- {лгх:,!> гл.! (Ai x:-ii >
РЛГ, {ЛШ0
рлл 'Л[)Сл-;> ра/ гд[х: >■; дки
кШ--------------
AVCO1 11
PC' \Ю$С'} РСй 0OSC1) РС(> О [.)[}
[\А iT!)0;
РС-< (ГМ$)
PCi> (ТОЮ РС1 iSD/Л)
ГЧ>* (SCI )
И'У' (0С7)—
(Х<Ж/ м i*i*»
■;и> rm
Pli'
flWtfAlNI)
да ш in*; 1' i
•;SCK) PU/
Рис. 5. Схема соединения внешних ко итак- Рис. 6. Схема соединения ПК - МК для ре-
тов МК и СОМ \ LTP порта ПК для режима жима обмена данными исполняемого при-
программирования МК кладного ПО на ПК и МК
На рис. 6 показаны порты, используемые для передачи данных в двух направлениях от ПК к МК и от МК к ПК.
Перейдём теперь к рассмотрению связи робота с МК.
5.4. Подключение робота к МК.
Исходный робот обладает тремя степенями свободы. Каждая степень свободы имеет свой электропривод и датчик. Рассмотрим требования к внешним контактам МК по количеству и возможностям ввода и вывода сигналов для работы с электроприводом и датчиком.
На электропривод может подаваться напряжение постоянной величины разной полярности, что обеспечивает вращение моторов в разные стороны с одинаковыми моментами. Логика работы промежуточного электронного устройства между МК и роботом позволяет включать мотор (вращение в прямом направлении), включать реверс мотора (вращение в обратную сторону) и выключать мотор (останов) с помощью одновременной подачи на это устройство двух дискретных сигналов с МК. Таким образом, для вывода управляющего воздействия в виде подачи напряжения на каждый электромотор требуется использование двух внешних контактов МК, работающих в режиме вывода дискретных сигналов. Электрические уровни этих сигналов должны соответствовать значениям логической единицы (1) и логическому нулю (0).
Используемые инкрементные преобразователи линейных и угловых перемещений на выходе вырабатывают электрический нормированный прямоугольный сигнал определенной длительности. Эти преобразователи в состоянии определять относительное изменение положения между двумя точками и абсолютное перемещение между точкой начала координат или референтной точкой преобразователя и положением точки контролируемого объекта. Логика работы с такими преобразователями должна состоять, с одной стороны, в подсчете всех прямоугольных импульсов, вырабатываемых при прохождении каждого деления шкалы измерительного прибора между двумя любыми точками, координата одной из которых запомнена. Не должно быть пропусков и многократных засчитываний импульсов. С другой стороны, логика работы с такими преобразователями должна предусматривать правильное определение перемещения при различных направлениях движения контролируемого объекта - прямом и обратном, и одного простого подсчета импульсов недостаточно. Поэтому при изменении направления движения на противоположное (например, при реверсе мотора) необходимо запоминание последней координаты пройденной точки до смены направления движения, зафиксированной шкалой деления и запоминанием направления движения. Логика работы с инкрементными преобразователями должна учитывать эти два аспекта. Для ввода электрических сигналов с каждого инкрементного преобразователя линейных и угловых перемещений достаточно всего одного внешнего контакта МК, обеспечивающего контроль поступления с преобразователя сигнала высокого или низкого уровня. Иными словами, каждое прохождение деления шкалы преобразователя, сопровождающееся появлением прямоугольного импульса - сигнала высокого уровня, есть логическая единица (1). Сброс сигнала на низкий уровень соответствует логическому нулю (0).
Следовательно, МК ATMegalö удовлетворяет требованиям для работы с электроприводом и датчиком робота. На рис. 7 показана схема соединения микроконтроллера с роботом, имеющим три степени свободы.
Управление моторами робота осуществляется через порт PC, ножки РС0...РС5, по две ножки на каждый мотор. Для подключения робота к МК между моторами и микроконтроллером устанавливается промежуточное электронное устройство -своеобразный «модем». МК в цикле выдает на это устройство поток логических команд для управления мотором (вращение, реверс, стоп), а промежуточное устройство исполняет их.
Ввод данных с инкрементных преобразователей линейных и угловых перемещений осуществляется через ножки порта PD - PD4...PD6, по одной ножке на каждый преобразователь. Для подключения робота к МК между преобразователями и МК не требуется установки промежуточных электронных устройств. МК напрямую в цикле считывает последовательно со всех трех преобразователей поток прямоугольных импульсов и алгоритмически определяет величину перемещения путем подсчета импульсов и состояния движения контролируемого объекта (прямое, обратное, стоп) по фактическому прохождению одного деления шкалы преобразователя.
(ХСК/ ГО) Р1!<' с 1 ПИ РІІ1 С 2 (INI /'ЛІМ ■■ Pläü С Э iOCWAIND ПК.) с 4
40 □ рл>> ¡лоси:.
11 3 РА1 ІЛІ)С1) а* з гііь» ¡Аіх:/!
»7 з РАЛ (ДІХ-Л »■ а ГЛ-1 ¡AUC-t! SS □ і'Л: (ЛІК!;; S4 з РЛС ¡ADO.) »S 3 РА/ (AlX'i
12 З ЛІ ІІ І
40
I
гчм с 5 -(МОЯ! І’Г!!- с 9 чміад різ* с 7
------■—ficKs ріі' с а
І--------ТТ':І Т С S
+5V <---------усс с 10
*1 з ———
SO □ АУСС-------
І--------------;;ni? с и
і. XI Al ? с. 12
29 3 PC' 0OSC2i M 3 ГЧХ (losen
ХТЛІ.1 С 13
(l-iXDi Püo C 14 ИМ);, roi с 1E (INiим с їв
ІІМІГі РШ С 17 <001Ш РІМ С 1» (DC1A! ПК. С 1В (ЮР> II» С 40
27 3 PCS (TÜI!-----
26 3 РОГ (П)О—-25 □ [4v ОВД—
24 з ГС* (ICK)—
2» □ PCI (SDА)---------
22 3 PC« (SCI.---------
її з Pi)/ imn
Управление
моторами
робота
Сигналы е
датчиков
движения
Робот
ЯЙЕГ
Рис. 7. Схема соединения микроконтроллера с роботом
Таким образом, выбран режим, при котором ввод данных с датчиков в МК будет осуществляться без посредства режима прерывания, при котором запросы на обработку внешнего прерывания подаются с инкрементных преобразователей линейных и угловых перемещений. Позиционирование контролируемого объекта МК не будет контролировать посредством внешних прерываний, подающихся с преобразователей перемещений. Информация от датчика не поступает на промежуточное устройство - прерыватель, который сообщает о запросе внешнего прерывания с номера канала и преобразователя, пославшего сигнал, программа определяет его по номеру и записывает новые координаты.
5.5. Контроль инкрементных преобразователей линейных и угловых пере-
Кратко остановимся на алгоритме контроля инкрементных линейных и угловых преобразователей.
Фактически время «жизни» сигнала о том, что прошло одно деление шкалы преобразователя, превышает в десятки раз то время, за которое робот совершает один цикл программы и читает сигнал. В этом случае логика следующая. Как только уровень сигнала меняется с 0 на 1 , ставим флаг, теперь, во время проверки, если уровень сигнала изменится (к примеру, шло 1110), то тогда мы засчитываем единицу перемещения в память микроконтроллера и убираем флаг. Для пояснения приведен рис. 8. Суть состоит в том, что рабочая тактовая частота МК (и его производительность) намного выше рабочей частоты датчиков, и, в принципе, мы «успеваем» опросить все три датчика без потерь данных и с высокой точностью.
Таким образом, из рис. 8 видно, что микроконтроллер не пропустит очередной сигнал с датчика, т.к. имеет достаточно высокую производительность для выполнения достаточно сложного алгоритма обеспечения степени свободы робота по сравнению с алгоритмом прямого ввода и преобразования аналогового сигнала в цифровой код и вывода кода с преобразованием его в аналоговый сигнал.
мещении,
Рис. 8. Схема опроса сигналов с инкрементных датчиков
На рис. 9 представлена схема алгоритма контроля для степеней свободы робота. Алгоритм контроля степени свободы робота представляет собой цикл.
Подача управ-Подсчет Т/' ляющего сиг-
координат нала на мохо-
Скорость работы цикла Ры в несколько раз превышает минимальное вре-/^\мя сигнала с датчика / движения
\ Чтение значе-
7 ния с датчиков движения
Рис. 9. Схема алгоритм контроля степени свободы робота
Из схемы алгоритм контроля степени свободы робота следует, что в цикле выполняются блоки подсчета координат, подачи управляющего сигнала на мотор и чтения значений с датчика движения. При этом время работы цикла в несколько раз меньше по сравнению с минимальным временем длительности прямоугольного сигнала с преобразователя, что обеспечивает реализацию режима реального времени при цифровом управлении и контроле роботом для всех степеней свободы одним микроконтроллером.
5.6. Управление электроприводом.
Для обеспечения возможности вращения электромотора с приводом робота в разные стороны требуется подача на мотор достаточного напряжения разной полярности. Для этих целей разработано промежуточное устройство, установка которого необходима между МК и мотором робота. Через него осуществляется управление электроприводом. На рис. 10 показана электрическая схема этого устройства и как оно подключается к МК и мотору.
Управление электроприводом осуществляется посредством двух ножек с микроконтроллера, выходы на ножки на рис. 10 обозначаются двумя крайними стрелками. Мотор всегда подключён к полюсам + и\или блока питания. Пока сигналы с
ножек одинаковы по уровню (высокий - высокий или низкий - низкий), то мотор подключен к + + или — в зависимости от сигналов со стороны МК и находится в выключенном состоянии.
Как только уровни сигналов со стороны МК различаются (высокий - низкий или низкий - высокий), мотор подключается к двум разным полюсам и соответственно работает и вращается либо в одну сторону, либо в другую. Т.е., фактически подключение одной ножки к полюсу + эквивалентно сигналу логической единицы (1) со стороны МК, а другой к полюсу - соответственно логическому нулю (0) со стороны МК. Благодаря такому достаточно простому алгоритму мы можем управлять также и направлением вращения мотора. Такое промежуточное устройство при постоянном значении напряжения блока питания и его достаточной мощности выдает на мотор одинаковое по величине, но разное по знаку напряжение.
Данное устройство располагается на плате с МК в блоке цифрового управления робота.
Таким образом, рассмотрены функциональность использования микроконтроллера ATMegal6 для цифрового управления промышленным роботом и связи его с ПК.
5.7. Начальная логика работы ПО робота.
Логика исполнения программного обеспечения для системы ПК-МК-Робот должна поддерживаться тремя режимами работы разработанного аппаратного обеспечения поддержки - платы с МК АТМе§а16. Рассмотрим эти режимы.
I. Работа МК при загрузке в него программы с указанием действий.
1. После загрузки програмы выполняется перезапуск МК с последующим запуском программы.
2. Выполнение программного модуля по действиям:
- начало программы, переход в начальное положение руки;
- движение плеч робота с помощью моторов;
- измерение передвижения руки;
- завершение программы, переход в начальное положение руки.
3. Уход МК в спящий режим\отключение МК от питания.
4. Возобновление работы возможно при повторной подаче питания.
II. Работа МК при загрузке в него «картинки» (схемы, правил поведения).
1. Соединение с ПК.
2. Приём данных от ПК, сохранение данных в памяти.
3. Действие «рисование» на стороне МК до тех пор, пока весь файл не будет прочитан программой:
- получение значения точки 1 до положительного результата;
- вычисление траектории передвижения руки робота между точкой его нахождения и следующей найденной точкой в файле «картинки»;
- движение робота по заданной траектории. Проверка точности перемещения руки робота в пространстве осуществляется датчиками движения;
- «рисование точки» - в нашем случае с рисунком-печатание точки .
4. Завершение программы, ожидание сигнала с ПК.
Точка1 - одна ячейка в файле, которая содержит информацию о наличии действия в ней (например, закрашен данный пиксель черным или нет, совершать в ней какое-либо действие, например, включить дрель и начать сверлить дырку, забить гвоздь и т.д.)
III. Работа МК-ПК при расчетах, производимых на ПК.
1. Загрузка в приложение рисунка. Запуск программы по команде пользователя.
2. Вычисление траекторий на ПК согласно предыдущей логике.
3. Выдача команды с ПК на МК о передвижении руки робота в нужном направлении, печать точки.
4. Регистрация передвижения руки робота. Сохранение истории о его передвижении с последующим расчетом оптимизации работы робота с данным рисунком (оптимизация работы по критерию минимума времени исполнения задачи).
5. Завершение работы, ожидание команд от пользователя.
Для отладки программного обеспечения системы ПК-МК-Робот возможно проведение экспериментов с использованием платы с одним МК для проверки работоспособности аппаратного, программного и алгоритмического обеспечения при работе в отдельности с одним преобразователем линейных перемещений, с одним преобразователем угловых перемещений и с одним электроприводом червячного механизма. Затем проводятся тесты со всей системой преобразователей перемещения и моторов. Вместо дорогостоящих инкрементных преобразователей линейных и угловых перемещений возможно использование при отладке генератора прямоугольных импульсов для имитации работы реальных преобразователей перемещения.
Заключение.
В статье рассмотрено:
1) устройство робота;
2) инкрементные преобразователи линейных и угловых перемещений;
3) микроконтроллер АТМеда16;
4) режимы взаимодействия системы робот-МК-ПК;
5) схемы подключения робота с системой МК-ПК;
6) начальная логика программного обеспечения.
Таким образом, предложен способ и варианты решения поставленной задачи по оснащению робота блоком цифрового управления.
ЛИТЕРАТУРА
1. Техническая документация по микроконтроллеру ATMegalô. -http://www.chipdip.ru/ library/DOCOOOl51568.pdf.
2. Информация по программированию микроконтроллеров фирмы ATMEL. Краткий Курс. - http://avrl23.nm.ru.
3. Информация с сайта производителя инкрементных датчиков. - http://skbis-lir.ru.
4. Информация с сайта производителя электроприводов. - http://www.dunkermotoren.de
5. Информация по интерфейсу RS-232 с сайта "Рынок микроэлектроники" http://gaw. ru/html. cgi/txt/interface/rs232/index, htm.
DEVELOPMENT OF DIGITAL CONTROL SYSTEM FOR THE INDUSTRIAL ROBOT WITH THE ELECTRIC DRIVES
A.A. Vnukov, M.S. Afonin
Technical Cybernetics’ Department Peoples’ Friendship University of Russia
6, Miklukho-Maklaya st., Moscow, Russia, 117198
In clause it is considered the questions connected with connection of the industrial robot with three degrees of freedom to the microcontroller and a personal computer for ensuring the fulfillment of digital management. For these goals it is developed hardware and the software in the form of the printed circuit board interface with the suitable software. The developed interface will allow supporting modes: development of the robot from the personal computer, development of the robot directly from microcontroller without participation of the personal computer and development of the robot with microcontroller with loading data from the personal computer.