Современные системы управления, как правило, строятся на использовании микроконтроллера, либо подключаются к мощному промышленному контроллеру. Это позволяет резко усложнить алгоритмы управления, сделать их гибкими, функциональными, перестраиваемыми.
Благодаря простоте изменения программы, заложенной в память системы управления робота, возможно переобучение его путем перепрограммирования на выполнение другого класса операций, что и реализуется с помощью системы управления.
Дополнив робототехнические системы первого поколения дополнительными датчикам и новой системой управления, возможно получить адаптивные робототехнические комплексы или роботы второго поколения.
На текущий момент большое внимание уделяется вопросу перевода морально устаревшего оборудования на современную элементную базу. Рассмотрим обобщенную схему робота (рис 1): ИС — информационная система; УС—управляющая система; ДС — двигательная система; СС — система связи; OOC — объект окружающей среды.
Рисунок 1 – Обобщенная схема робота
Система связи робота выполняет функции обмена информацией между человеком и робототехническим устройством в целях выдачи роботу заданий, контроля его действий, диагностики и т. п.
Информационная система выполняет функции искусственных органов чувств (сенсоров) робота и предназначена для восприятия и преобразования информации о состоянии объектов внешней среды и самого робота в соответствии с алгоритмом управляющей системы. В качестве сенсоров информационной системы робота наибольшее распространение получили акустические датчики, лазерные и ультразвуковые дальномеры, тактильные, контактные и индукционные датчики, датчики положения, скорости, сил и моментов, оптико-электронные устройства и др.
Управляющая (интеллектуальная) система предназначена для формирования законов (алгоритмов) управления приводами и исполнительными механизмами двигательной системы в соответствии с сигналами обратной связи информационной системы. Управляющая система обычно состоит из микропроцессора в комплекте с набором входных (аналого-цифровых) и выходных (цифро-аналоговых) преобразователей и интерфейсных каналов связи, по которым осуществляется обмен аналоговыми и дискретными сигналами между роботом и внешней средой.
Интеллектуальные способности робота определяются алгоритмическим и программным обеспечением его управляющей системы.
Двигательная (моторная) система выполняет функции целенаправленного воздействия робота на объекты окружающей среды в соответствии с управляющими сигналами информационно-управляющей системы. Конструктивно двигательная система может быть представлена разными приводами.
На контроллер приходят команды управления с компьютера через протокол RS-232. Контроллер также может автоматически поддерживать необходимое давление в ресивере. Использование такого подхода позволяет усложнить алгоритмы управления, использовать циклы. Робот сможет одновременно выполнять несколько действий. Например, разжать схват, перемещаясь назад, то есть время цикла сократится и производительность робота повысится. Поставив дополнительное оборудование можно узнать скорость, ускорение какого-либо звена [1].
Разработка блока микроконтроллера
За основу был взят микроконтроллер ATmega16. Это микроконтроллер с32 8-разрядными рабочими регистра общего назначения. Тактовая частота 16 МГц. У него есть два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения и один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения, 8-канальный 10-разрядный аналого-цифровой преобразователь, 32 программируемые линии ввода/вывода, 40-выводной корпус PDIP. Есть поддержка ISP и JTAG интерфейсов. В связи с тем, что преобразователь выдает 8 вольт, на плату вмонтирован преобразователь напряжения на 5 вольт на базе LM7805. Данная схема хорошо подходит для данной задачи и имеет невысокую стоимость. На плате установлены разъемы COM и BH 10. Один из BH 10 установлен для возможности программирования через ISP-программатор, а остальные подключены к портам. Разъем PA.1 подключен к порту A, соединен с блоком оптронной развязки. Порт A формирует управляющие сигналы для соответствующих пневмоцилиндров. PORTC соединен с блоком концевых выключателей через разъем PC.1. Концевые выключатели срабатывают при достижении роботом крайних положений. Питание МК - разъем A2.2. Также к контроллеру подключен разъем COM порта, через который он считывает управляющий сигнал с компьютера, обрабатывает его, проверяет через блок концевых выключателей положение робота и формирует управляющий сигнал на соответствующую оптопару. Так же данный контроллер формирует управляющий сигнал для реле компрессора, которое в свою очередь подает на него питание. В начальный момент времени компрессор включен. Как только давление в ресивере превысило 4 атмосферы, компрессор отключается. Давление проверяется через датчик потенциометрического типа, который подключен на АЦП МК (PORTA.0).Также в ресивере установлен дублирующий механический датчик для оператора. Блок микроконтроллера представлен на рис. 2 [2].
Рисунок 2 – Блок микроконтроллера
В начале программы выполняется конфигурирование портов ввода/вывода (вывод ICP настраивается на вход и включается подтягивающий резистор), настройка таймера Т1 и инициализация символьного LCD. Затем в бесконечном цикле каждые n миллисекунд считывает содержимое буфера, вычисляет частоту и выводит ее значение на дисплей/порт. Также в порт выводится содержимое регистра захвата. По положительному фронту сигнала на выводе ICP (PD6 для ATmega16) блок захвата таймера Т1 сохраняет значение счетного регистра и генерирует запрос на прерывание. В обработчике прерывания счетный регистр обнуляется, а значение регистра захвата записывается в буфер. Значение, которое сохраняет блок захвата, соответствует числу тиков таймера укладывающихся в период измеряемого сигнала [3].
Разработка программного обеспечения
Создан алгоритм для каждого из восьми возможных движений манипулятора МП-9С, показанный на рис. 3.
Рисунок 3 – Алгоритм для каждого из восьми возможных движений робота
Данный алгоритм наиболее прост в реализации и создан для ручного управления. С помощью команды с компьютера подаётся сигнал, который запускает один из алгоритмов движения. Робот имеет 8 распределителей, каждому распределителю соответствует определенное движение. Вначале работы программы проверяется возможность движения, т.е. может ли робот совершить запрашиваемую команду или нет. Эта проверка реализуется благодаря герконам. Если после запроса, геркон срабатывает, значит, манипулятор находится в крайнем положении и дальнейшее движение в эту сторону невозможно. При этом микроконтроллер выдаёт ошибку. Если геркон не срабатывает, то дальнейшее движение осуществимо. Включается соответствующий распределитель, подается воздух, манипулятор перемещается. Это перемещение продолжается до тех пор, пока не сработает геркон. Срабатывание означает, что манипулятор завершил свое движение. При этом загораются лампочки, сигнализирующие нас о том, что движение завершено. Все алгоритмы были реализованы на языке C. Для этого использовалась программа CodeVisionAVR и отладчик AVR Studio [4].
Алгоритмы работы области командного управления
При запуске программы инициализируются компоненты программы, открывается порт передачи информации, а также анализируются всевозможные исключения, которые могут помешать исполнению.
По нажатию какой-либо из кнопок отправки команды, программа начинает анализ доступности порта, проверяет исключения, которые могут возникнуть на данном этапе. Затем идет передача самой командной информации и также проверка на возможные исключения, в случае обнаружения которых выводится соответствующее оповещение.
Интерфейс RS-232 это едва ли не единственное средство связи между компьютером и микроконтроллером, аппаратно присутствующее и в первом и во втором. Интерфейс RS232 целесообразно использовать в таких системах сбора и обработки информации, в которых число датчиков не превышает 20-30.
Передаваемые по интерфейсу данные передаются последовательно, то есть бит за битом по одному проводу. Формат посылки – 1 байт данных и несколько управляющих бит, некоторые из которых могут отсутствовать.
Обмен информацией между компьютером и периферийным устройством по интерфейсу RS-232 двусторонний. Таким образом, данные могут передаваться компьютером в периферийное устройство и приниматься компьютером от периферийного устройства [5].
Промышленный робот МП –9С вполне актуален на сегодняшний день, а применение новой системы управления позволяет повысить производительность и функциональность робота. На основе МП-9С был создан лабораторный стенд, который используется в целях обучения студентов. На данном стенде можно отрабатывать различные методы управления манипуляционными механизмами, работающих на пневмоприводах. Можно моделировать сложные движения, изучать динамику и энергетические характеристики системы. Отработав различные способы на данном стенде, студенты овладеют навыками экспериментального исследования с применением современных информационных технологий, навыками планирования, проведения, анализа и интерпретации результатов экспериментальной части лабораторных практикумов, а также получат представление о повышении производительности и о современной системе автоматического управления.
Выводы. В результате работы был создан программный код прошивки микроконтроллера для управления роботом. Разработан протокол передачи данных от микроконтроллера к персональному компьютеру по интерфейсу RS-232. Создан лабораторный стенд, используемый в учебных целях.
Библиографическая ссылка
Вальяников В.Д., Чубаров Ф.Л., Никитин А.В. ПРОЕКТИРОВАНИЕ МИКРОКОНТРОЛЛЕРА С ЦЕЛЬЮ УПРАВЛЕНИЯ ПРОМЫШЛЕННЫМ РОБОТОМ МП-9С // Международный студенческий научный вестник. – 2017. – № 3. ;URL: https://eduherald.ru/ru/article/view?id=17208 (дата обращения: 01.09.2024).