Разработка системы управления роботом
СОДЕРЖАНИЕ: РЕФЕРАТ В данной выпускной бакалаврской работе была произведена разработка системы управления роботом. Для этого требовалось обеспечить управление двигателем постоянного тока, приводящим робот в движение, с персонального компьютера. По предложению технического руководителя были выбраны следующие управляющие звенья: программируемый логический контроллер ОВЕН ПЛК 150УL и микроконтроллер MSP430C1101 для формирования управляющего сигнала с ШИМ; было решено, что помимо этих звеньев для визуализации проекта будет применен микроконтроллер PIC16F628A.РЕФЕРАТ
В данной выпускной бакалаврской работе была произведена разработка системы управления роботом. Для этого требовалось обеспечить управление двигателем постоянного тока, приводящим робот в движение, с персонального компьютера. По предложению технического руководителя были выбраны следующие управляющие звенья: программируемый логический контроллер ОВЕН ПЛК 150УL и микроконтроллер MSP430C1101 для формирования управляющего сигнала с ШИМ; было решено, что помимо этих звеньев для визуализации проекта будет применен микроконтроллер PIC16F628A.
Управление осуществлялось по следующему принципу:
– оператор на персональном компьютере, к которому через интерфейс RS-232 был подключен программируемый логический контроллер, мог увеличить или уменьшить частоту вращения двигателя, подавая управляющий сигнал, характеризующий изменение значения скважности ШИМ;
– этот сигнал подается на микроконтроллер MSP430C1101. Во время передачи управляющего сигнала загораются определенные светодиоды, сигнализирующие о работоспособности управляющего механизма;
– в зависимости от управляющего сигнала на MSP430C1101 изменяется длительность рабочего импульса (скважность сигнала), сформированного модулем таймера Timer_A. Сигнал с ШИМ подается на драйвер, который управляет двигателем постоянного тока. При необходимости может быть включен режим реверса. Так как изменяется скважность сигнала управления, то изменяется и средняя мощность, подаваемая на двигатель, что и определяет скорость вращения двигателя постоянного тока.
– к двигателю подключен фотоимпульсный датчик, соединенный с ОВЕН ПЛК 150УL. Программное обеспечение ПЛК организовано так, что при движении с каждым изменением входного сигнала происходит прибавление 1 в счетчике. Таким образом, в ОВЕН ПЛК 150УL накапливается значение, пропорциональное
пройденному расстоянию робота.
Помимо этого, для тестирования интерфейса RS-232 и протокола USART, были разработаны алгоритм и программа для связи персонального компьютера с микроконтроллером PIC16F628A через приемопередатчик MAX232. При каждом сбросе микроконтроллера управляющая программа передает на персональный компьютер строку ASCII символов.
В ходе выполнения работы была спроектирована схема электрическая принципиальная устройства управления двигателем постоянного тока с перечнем элементов, схема электрических соединений, сборочный чертёж устройства управления двигателем постоянного тока и спецификацию к нему, и конструкция печатной платы.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ …………………………………………………………………….. | 6 |
1 Разработка устройства управления двигателем постоянного тока | 12 |
1.1 Разработка схемы электрической принципиальной | 12 |
1.2 Разработка печатной платы | 13 |
1.3 Разработка сборочного чертежа | 14 |
1.4 Выбор элементов системы управления | 15 |
1.5 Выбор двигателя постоянного тока | 16 |
1.6 Выбор фотоимпульсного датчика (энкодера) | 17 |
1.7 Выбор конденсаторов, диодов, резисторов, транзисторов | 19 |
2 Разработка схемы алгоритма управления двигателем постоянного тока | 21 |
2.1 Разработка схемы алгоритма работы ОВЕН ПЛК-150 | 21 |
2.2 Разработка схемы алгоритма работы PIC16F628A | 23 |
2.3 Разработка схемы алгоритма работы MSP430C1101 | 25 |
2.4 Разработка схемы алгоритма включения ДПТ | 27 |
2.5 Схема алгоритма работы энкодера | 28 |
3 Разработка программы управления двигателем постоянного тока | 30 |
ЗАКЛЮЧЕНИЕ | 31 |
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ ………….……………….. | 33 |
ПРИЛОЖЕНИЕ А (Обязательное) Настройка и конфигурирование ПЛК в среде программирования CoDeSys ………………………………………….… | 34 |
ПРИЛОЖЕНИЕ Б (Обязательное) Разработка программы …………………. | 36 |
ПРИЛОЖЕНИЕ В (Обязательное) Руководство программиста ……………. | 46 |
ПРИЛОЖЕНИЕ Г (Обязательное) Руководство пользователя ………........... | 47 |
ПРИЛОЖЕНИЕ Д (Рекомендуемое) Характеристики MAХ232 ……………. | 48 |
ПРИЛОЖЕНИЕ Е (Рекомендуемое) Микроконтроллер MSP430C1101……. | 50 |
ПРИЛОЖЕНИЕ Ж (Рекомендуемое) Основные характеристики ОВЕН ПЛК-150 ……………………………………………………………………........ | 52 |
ПРИЛОЖЕНИЕ И (Рекомендуемое) Среда программирования CoDeSys………………………………………………………………………….. | 54 |
ПРИЛОЖЕНИЕ К (Рекомендуемое) Инкрементные фотоимпульсные датчики (ФИД) …………………………………………………………………. | 56 |
ПРИЛОЖЕНИЕ Л (Рекомендуемое) Принцип управления скоростью вращения двигателя постоянного тока с помощью широтно-импульсной модуляции ………………………………………………………………………. | 58 |
ВВЕДЕНИЕ
Промышленные роботы применяются в промышленном производстве и научных исследованиях. В большинстве случаев под промышленным роботом подразумеваются автоматические программно-управляемые манипуляторы, выполняющие рабочие операции со сложными пространственными перемещениями.
Основными задачами промышленных роботов являются перемещение массивных или крупногабаритных грузов, точная сварка, покраска, а также сортировка продукции.
Манипулятор промышленного робота имеет от 2-х до 6-ти степеней свободы и может перемещать грузы до нескольких сот килограммов в радиусе до нескольких метров.
Промышленные роботы пригодны для использования во многих отраслях производства. При снижении стоимости промышленных роботов они становятся доступны не только крупным заводам, но и средним предприятиям, занимающимся производством. На многих предприятиях России промышленные роботы внедряются в производство.
Тенденция увеличения парка промышленных роботов в современном производстве обусловлена рядом объективных факторов. Как правило, это увеличение производительности труда при сохранении высокого качества продукции и возможность быстрого реагирования на изменения объектов производства и потребительского рынка.
Серьезными стимулами роста инвестиций в производство и применение промышленных роботов являются:
– непрерывное снижение стоимости промышленных роботов на фоне роста стоимости рабочей силы;
– недостаток квалифицированной рабочей силы;
– освобождение работающих на производстве от тяжелого, интенсивного и
монотонного труда;
– возможность улучшения экологической обстановки и снижения вредного влияния производства, особенно сварочного, на здоровье производственного персонала;
– повышение точности выполнения технологических операций и, как следствие, улучшение качества;
– возможность использования технологического оборудования в три смены 365 дней в году;
Промышленный робот может непосредственно подчиняться командам оператора, работать по заранее составленной программе либо следовать набору общих указаний с помощью технологии искусственного интеллекта.
Электрический привод (сокращенно – электропривод) – это электромеханическая система для приведения в движение исполнительных механизмов рабочих машин и управления этим движением в целях осуществления технологического прогресса.
Современный электропривод – это совокупность множества электромашин, аппаратов и систем управления ими. Он является основным потребителем электрической энергии (до 60 %) и главным источником механической энергии в промышленности.
Двигатели разделяют на виды:
- Нерегулируемые, простейшие, предназначенные для пуска и остановки двигателя, работающие в односкоростном режиме;
- Регулируемые, предназначенные для регулирования частоты вращения и управления пуском и торможением электродвигателя для заданного технологического процесса;
-Неавтоматизированные;
-Автоматизированные.
Автоматизированный электропривод в настоящее время получил широкое применение во всех сферах жизни и деятельности общества – от сферы промышленного производства до сферы быта.
Современный электропривод содержит в своем составе систему автоматического управления, которая в простейших случаях осуществляет пуск, отключение двигателя и его защиту, а в более сложных управляет технологическим процессом приводимого в движение механизма. Характерная тенденция в развитии современного машиностроения и производства – упрощение кинематических цепей механизмов при усложнении и совершенствовании систем управления их электроприводами. Происходит постоянное расширение области применения регулируемого электропривода, главным образом за счет количественного и качественного роста регулируемых электроприводов переменного тока.
Рост степени интеграции в микропроцессорной технике и переход от микропроцессоров к микроконтроллерам с встроенным набором специализированных периферийных устройств, сделали необратимой тенденцию массовой замены аналоговых систем управления приводами на системы прямого цифрового управления. Под прямым цифровым управлением понимается не только непосредственное управление от микроконтроллера каждым ключом силового преобразователя (инвертора и управляемого выпрямителя, если он есть), но и обеспечение возможности прямого ввода в микроконтроллер сигналов различных обратных связей (независимо от типа сигнала: дискретный, аналоговый или импульсный) с последующей программно-аппаратной обработкой внутри микроконтроллера. Таким образом, система прямого цифрового управления ориентирована на отказ от значительного числа дополнительных интерфейсных плат и создание одноплатных контроллеров управления приводами.
Регулирование скорости – это принудительное изменение скорости электропривода, в зависимости от требований технологического процесса.
Регулирование угловой скорости двигателя постоянного тока может осуществляться несколькими способами:
1. Регулирование с помощью сопротивления в цепи якоря. Этот способ применяется при невысоких требованиях к показателям качества регулирования скорости, отличаясь в то же время универсальностью и простотой реализации.
2. Регулирование изменением магнитного потока. Находит широкое применение в ЭП вследствие простоты его реализации и экономичности, так как регулирование осуществляется в относительно маломощной цепи возбуждения двигателя и не сопровождается большими потерями мощности.
3. Регулирование изменением напряжения якоря. Изменение частоты вращения происходит в сторону уменьшения от основной, т.к. напряжение, прикладываемое к якорю, в большинстве случаев, может изменяться тоже только вниз от номинального. Плавность регулирования определяется плавностью изменения питающего напряжения.
4. Импульсное регулирование. На двигатель с помощью импульсного прерывателя периодически подаются импульсы напряжения определенной частоты. В период времени t, когда электронный ключ замкнут, питающее напряжение U подается полностью на якорь двигателя, и ток через него увеличивается. Когда электронный ключ разомкнут, с якоря снимается питающее напряжение. При этом ток якоря уменьшается. Период Т примерно в два раза меньше постоянной времени цепи якоря. Поэтому за время импульса t ток в двигателе не успевает возрасти, а за время T-t уменьшится. Среднее значение напряжения, подаваемого на обмотку якоря Ua =Ucp =U/T=T, где =t/T коэффициент регулирования напряжения. Среднее напряжение Ucp , подаваемое на двигатель, регулируют путем изменения либо продолжительности периода Т между подачей управляющих импульсов на электронный ключ при t=const (частотно-импульсное регулирование), либо путем изменения времени t при T=const (широтно-импульсное регулирование). Используют также комбинированное регулирование, при котором изменяется как Т, так и t.
Целью данной выпускной бакалаврской работе является разработка системы управления промышленным роботом. Требуется обеспечить управление двигателем постоянного тока, приводящим робот в движение, с персонального компьютера.
Для выполнения поставленной задачи необходимо:
– определить какие управляющие элементы будут использоваться в данной выпускной бакалаврской работе;
– выбрать принцип управления двигателем постоянного тока;
– выбрать и рассчитать электрические элементы, требуемые для корректной работы устройства управления двигателем постоянного тока;
– разработать алгоритм и программу системы управления двигателем постоянного тока для управляющих элементов;
– спроектировать и спаять плату системы управления двигателем постоянного тока.
По предложению технического руководителя необходимо выбрать следующие управляющие звенья: программируемый логический контроллер ОВЕН ПЛК 150УL и микроконтроллер MSP430C1101 для формирования управляющего сигнала с ШИМ, и помимо этих звеньев для визуализации проекта микроконтроллер PIC16F628A.
Управление двигателем постоянного тока будет осуществляться по следующему принципу:
– оператор на персональном компьютере, к которому через интерфейс RS-232 был подключен программируемый логический контроллер, будет увеличивать или уменьшать частоту вращения двигателя, подавая управляющий сигнал, характеризующий изменение значения скважности ШИМ;
– этот сигнал будет подаваться на микроконтроллер PIC16F628A, обрабатываться и передаваться на микроконтроллер MSP430C1101;
– во время передачи сигнала на MSP430C1101 будут загораться светодиоды, сигнализирующие о передаче данных;
– в зависимости от управляющего сигнала на MSP430C1101 будет изменяться длительность рабочего импульса (скважность сигнала), сформированного модулем таймера Timer_A. Сигнал с ШИМ подается на драйвер, который управляет двигателем постоянного тока. При необходимости может быть включен режим реверса. Так как будет изменяться скважность сигнала управления, то будет изменяться и средняя мощность, подаваемая на двигатель, что и определит скорость вращения двигателя постоянного тока.
– к двигателю будет подключен фотоимпульсный датчик, соединенный с ОВЕН ПЛК 150УL. Программное обеспечение ПЛК будет организовано так, что при движении с каждым изменением входного сигнала происходит прибавление 1 в счетчике. Таким образом, в ОВЕН ПЛК 150УL будет накапливаться значение, пропорциональное пройденному расстоянию робота.
Помимо этого, для тестирования интерфейса RS-232 и протокола UART, будет разработан алгоритм и программа для связи персонального компьютера с микроконтроллером PIC16F628A через приемопередатчик MAX232. При каждом сбросе микроконтроллера управляющая программа будет передавать на персональный компьютер строку ASCII символов.
1 Разработка устройства управления двигателем постоянного тока
1.1 Разработка схемы электрической принципиальной
Электрическая принципиальная схема блока управления шаговым двигателем приведена в графической части бакалаврского проекта
Электрическая схема состоит из:
– конденсаторов – С1 … С4;
– микросхем – DD1 … DD4;
– резисторов – R1 … R9;
– диодов – VD1 … VD6;
– транзисторов – VT1…VT4;
– различных разъёмов – XP1 … XP3.
Электрическая принципиальная схема практической части блока управления шаговым двигателем приведена в графической части бакалаврского проекта
Электрическая схема состоит из:
– конденсаторов – С1 … С7;
– микросхем – DD1 … DD3;
– резисторов – R1 … R2;
– диодов – VD1 … VD2;
– различных разъёмов – XP1 … XP3.
1.2 Разработка печатной платы
Разработка конструкции блока управления двигателем постоянного тока осуществляется на основе разработанной принципиальной электрической схемы с учетом требований к ремонтопригодности, требований технической эстетики, с учетом условий эксплуатации и других требований.
При конструировании печатной платы учитывалось следующее:
– печатная плата (ПП) разработана прямоугольной формы размерами 106х162 мм. Толщина ПП, равная 1,5 мм, соответствует одному из чисел ряда: 0.8; 1.0; 1.5; 2.0;
– разработка платы спроектирована, ориентируясь на конкретный промышленный процесс ее изготовления;
– центры отверстий расположены в узлах координатной сетки. Каждое монтажное и переходное отверстие охвачено контактной площадкой;
– диаметр крепежных отверстий 5 мм. Диаметр монтажных отверстий 0,8 мм. Шаг координатной сетки составляет 2,54 мм;
– в качестве материала припоя выбран ПОС-61 для пайки элементов. Материал платы стеклотекстолит фольгированный СТЭФ 3-1,5-50 по ГОСТ 10316-86. Плта состоит из 3-х слоёв;
– кроме того, предусмотрена раздельная прокладка цифровой и аналоговой земли;
– внутренний слой предназначен для заземления электротехнических элементов печатной платы;
отдано предпочтение масштабу 2:1.
1.3 Разработка сборочного чертежа
В ходе разработки сборочного чертежа было уделено внимание следующим требованиям:
– разработка сборочного чертежа блока управления двигателем постоянного тока осуществлялась на основе разработанной принципиальной электрической схемы с учетом требований к чертежным документам;
– в соответствии со схемой деления изделия на составные части присвоено обозначение сборочной единице и ее элементам по ГОСТ 2.201-68;
– отдано предпочтение масштабу 2:1;
– проставлены необходимые размеры согласно требованиям ГОСТ 2.109-73;
– заполнена спецификация, выдерживая основные требования ГОСТ 2.108-68;
– нанесены номера позиций деталей в соответствии с номерами, проставленными в спецификации на данное изделие;
– заполнена основная надпись и указаны технические требования.
1.4 Выбор элементов системы управления
Широтно-импульсная модуляция позволяет управлять как маломощными, так и мощными двигателями. При этом схема управления не изменяется, меняются только силовые ключи в схеме H-моста. Это является несомненным преимуществом такого способа регулирования. Для управления двигателем разработано множество драйверов H-моста. Функции драйвера сводятся к своевременному открыванию и закрыванию определенных транзисторов H-моста. На входе драйвера, как правило, должен быть ШИМ - сигнал.
Схема управления двигателем постоянного тока представлена в виде блоков на рисунке 1.
Рисунок 1. Схема управления двигателем постоянного тока.
Данная структурная схема отображает работу устройства, где главным управляющим элементом является микроконтроллер (MSP430C1101), он выдает управляющий сигнал с ШИМ, который передается на драйвер HIP4802. Этот драйвер в свою очередьподключает двигатель постоянного тока. В качестве объекта управления использован двигатель постоянного тока ESCAP 35NT2R32. Благодаря интерфейсу связи появляется возможность удалённого управления. В данной выпускной бакалаврской работе выбраны интерфейс связи RS-232. Датчик обратной связи (энкодер) выполняет функцию передачи данных от двигателя к ПЛК, тем самым повышается точность позиционирования двигателя.
1.5 Выбор двигателя постоянного тока
В данной выпускной бакалаврской работе выбран двигатель постоянного тока ESCAP 35NT2R32. Внешний вид двигателя представлен на рисунке 2.
Рисунок 2. Внешний вид двигателя ESCAP 35NT2R32.
Таблица 1. Основные технические характеристики двигателя ESCAP 35NT2R32.
Категория | Miniature Electric Motors |
Номинальное напряжение | 6 В |
Номинальная мощность | 37 Вт |
Скорость холостого хода | 4990 об/мин |
Диаметр корпуса | 35 мм |
Длина | 57 мм |
Диаметр вала | 5 мм |
Длина вала | 11.1 мм |
Максимальный непрерывный крутящий момент | 48.1 мНм |
1.6 Выбор фотоимпульсного датчика (энкодера)
Выбираем фотоимпульсный датчик фирмы ООО «СКБ ИС Центр» ЛИР 212-А с разрешающей способностью преобразователя до 32000 дискрет/оборот. Схема и характеристики фотоимпульсного датчика представлены на рисунке 3.
Рисунок 3. Схема и характеристики фотоимпульсного датчика.
В качестве рекомендуемой схемы подключения фотоимпульсного датчика воспользуемся рекомендованной производителем схемой с применением оптрона. Схема подключения фотоимпульсного датчика изображена на рисунке 4.
Рисунок 4. Схема подключения фотоимпульсного датчика.
Применим оптрон с логическим выходомFairchild Optoelectronics Group. Выбор обосновывается невысокой ценой и совместимостью с устройствами. На рисунке 5 представлен внешний вид оптрона HCPL2631SD.
Рисунок 5. Внешний вид оптрона HCPL2631SD.
На рисунке 6 изображены характеристики оптрона HCPL2631SD.
Рисунок 6. Характеристики оптрона HCPL2631SD.
Таким образом, на выход А будут поступать прямые и инверсные импульсные сигналы, которые будут обрабатываться микроконтроллером и использоваться для определения пройденного расстояния.
В соответствии с заданием примем, что за один импульс платформа проходит расстояние в 0,5 мм.
1.7 Выбор конденсаторов, диодов, резисторов, транзисторов
В качестве силовых ключей выбираем MOSFETтранзисторы с запасом по току и напряжению.
Марка транзистора IR2910 корпус ТО220AB.
Достоинства транзистора марки IRFP450:
– высокие динамические характеристики;
– рабочая температура кристалла 175°С;
– низкое сопротивление во включенном состоянии;
– низкая мощность управления;
– высокое коммутируемое напряжение.
Необходимые характеристики транзистора:
– максимальное напряжение UDSS =100 В;
– максимальный ток ID =55 А;
– рассеиваемая мощность Pw=200 Вт;
– время включения ton =11 нс;
– время задержки включения tr =100 нс;
– время выключения toff =49 нс;
– время задержки выключения tf =50 нс;
– сопротивление открытого p-n перехода RDS ( on )= 0,4 Ом;
– суммарный заряд затвора Qз =140 нКл.
Для управления транзисторами выбираем драйвер Н-канального моста марки HIP4082 со следующими характеристиками:
– диапазон рабочих температур = -55 +125 C;
– напряжение шины = 1…80 В;
– рабочий ток = 1,25 А;
– максимальная частота = 250 КГц;
– время нарастания сигнала = 30 нс;
– драйвер совместим со схемами, работающими под напряжением +3,3 В, +5В, +12В.
В цепь затвора транзистора необходимо включить сопротивления R=R3=R4=R5=R6.
Сопротивление резистора в цепи затвора рассчитывается по формуле 1
(1)
(кОм)
Принимаем стандартное значение R3-R5, R9-R12,R22,R23: Резистор МЛТ-0,125 47 кОм
В мостах силовых ключей применяются диоды-шоттки VD3 … VD6, которые предохраняют транзисторы, сбрасывая излишнюю энергию. Выбраны диоды 123NQ080.
Для интерфейса RS-232 выбран приёмопередатчик MAX232. Питание от 5 В. В схеме подключения, предложенной производителем, используются следующие элементы:
– конденсаторы C4-C7 ёмкостью 1мкФ, С9 ёмкостью 10мкФ (Jamicon 1 мкФ, Jamicon 10 мкФ);
Для формирования стабилизированного напряжения VCC для питания микроконтроллера MSP430 и формирования сигнала сброса используем прибор TPS77133 производства компании TI. Питается от 5В. Для корректной работы применены следующие элементы:
– конденсатор С3 ёмкостью 0,1 мкФ, С8 ёмкостью 2,2 мкФ (K73-16 0,1 мкФ и Jamicon 2,2 мкФ);
– резистор R8 номиналом 120 кОм (МЛТ-0,125 120 кОм).
2 Разработка схемы алгоритма управления двигателем постоянного тока
Необходимо разработать алгоритм для управления двигателем постоянного тока с персонального компьютера.
2.1 Разработка схемы алгоритма работы ОВЕН ПЛК-150
В функции программируемого логического контроллера ОВЕН ПЛК-150 входит связь с компьютером по интерфейсу передачи данных RS-232, принятие данных с компьютера, их обработка и выдача управляющих сигналов. Если требуется увеличить скорость вращения двигателя постоянного тока, то на дискретный выход 1 ОВЕН ПЛК-150 подается высокий уровень сигнала (5 В) в течение 0,3 секунды, если требуется уменьшить скорость вращения двигателя постоянного тока, то на дискретный выход 2 ОВЕН ПЛК-150 подается высокий уровень сигнала (5 В) в течение этого же времени.
Схема алгоритма работы ПЛК представлена на рисунке 7.
Рисунок 7. Схема алгоритма работы ОВЕН ПЛК-150.
2.2 Разработка схемы алгоритма работы PIC16F628A
В функции микроконтроллера PIC16F628Aвходит:
– получение данных от ОВЕН ПЛК-150 и их передача MSP430C1101;
– передача текстового сообщения на персональный компьютер через интерфейс RS-232 по протоколу связи UART.
Схема алгоритма работы PIC16F628A представлена на рисунках 8,9.
Рисунок 8. Схема алгоритма работы PIC16F628A.
Рисунок 9. Схема алгоритма работы PIC16F628A.
2.3 Разработка схемы алгоритма работы MSP430C1101
Микроконтроллер постоянно опрашивает состояние входов и при изменении уровня напряжения увеличивает или уменьшает скважность ШИМ. Схема алгоритма работы MSP430C1101 представлена на рисунке 10.
Рисунок 10. Схема алгоритма работы MSP430C1101.
Рисунок 10. Продолжение.
2.4 Разработка схемы алгоритма включения ДПТ
Схема алгоритма включения ДПТ показана на рисунке 11.
При нажатии на кнопку «Пуск» происходит запуск системы управления двигателем постоянного тока ESCAP 35NT2R32.
При нажатии на кнопку «Стоп» происходит останов системы управления двигателем постоянного тока ESCAP 35NT2R32.
Рисунок 11. Схема алгоритма включения ДПТ.
2.5 Схема алгоритма работы энкодера
Схема алгоритма работы фотоимпульсного датчика (энкодера) показана на рисунке 12.
Рисунок 12. Схема алгоритма работы фотоимпульсного датчика (энкодера).
Рисунок 12. Продолжение.
3 Разработка программы управления двигателем постоянного тока
Программы для ОВЕН ПЛК-150УL, MSP430C1101 и PIC16F628Aнаписаны в соответствии с разработанными ранее алгоритмами. Текст программы находится в приложении Б. Результаты вычислительного эксперимента представлены ниже.
На рисунке 13 изображена визуализация проекта в среде программирования CoDeSys.
Рисунок 13. Визуализация проекта в среде программирования CoDeSys.
На рисунке 14 изображено окно HyperTerminal’aпосле принятия данных от микроконтроллера через интерфейс RS-232.
Рисунок 14. Окно HyperTerminal’a.
ЗАКЛЮЧЕНИЕ
В данной выпускной бакалаврской работе разработан блок управления двигателем постоянного тока на основе программируемого логического контроллера ОВЕН ПЛК-150 и микроконтроллера MSP430C1101. Данное мехатронное изделие представляет собой функционально законченное электронное устройство, предназначенное для управления двигателями постоянного тока с номинальным напряжением до 12 вольт.
Для питания блока используются стабилизированные источники питания постоянного тока. В качестве датчика обратной связи был выбран энкодер, установленный внутри корпуса блока. Величина напряжения питания 5 В, потребляемый ток менее 100 мА, разрешение энкодера 32000 имп./об. В блоке используется метод управления двигателем с помощью широтно-импульсной модуляции. Такой способ позволяет эффективно управлять двигателями как малой, так и большой мощности. Регулирование скорости двигателя с помощью ШИМ дает более высокий КПД.
Был разработан алгоритм работы микропроцессорного устройства, описывающий порядок подачи управляющего сигнала на двигатель. Hа основе алгоритма составлен программный код, обеспечивающий корректную работу блока управления двигателем постоянного тока. Спроектированы следующие чертежи: схема электрическая принципиальная микропроцессорной системы, перечень элементов к схеме электрической принципиальной, схема электрических соединений, чертеж печатной платы микропроцессорной системы, сборочный чертеж микропроцессорной системы, спецификация микропроцессорной системы, сборочный чертеж блока управления шаговым двигателем и спецификация к нему.
Все это позволило познакомиться с организацией и основными этапами проектирования электронных устройств, усвоить основные понятия и термины, относящиеся к проектированию, закрепить и углубить знание методов расчета электронных цепей, познакомиться с элементной базой и получить представление о способах компоновки элементов, убедиться, что современное проектирование и производство электронной аппаратуры базируется на всеобъемлющей системе государственных и отраслевых стандартов.
Разработанное устройство может использовать в тех областях промышленности, где требуется точное перемещение и точность позиционирования. Корпус блока обладает достаточной прочностью. Существует возможность применения спроектированного блока в паре с двигателем в довольно сложных и ответственных устройствах. Обладает большим ресурсом и сроком службы.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Семенов Б.Ю. Силовая электроника для любителей и профессионалов/ Б. Ю. Семенов. М.: Солон-Р, 2001. 126 с.
2. Хорвиц П. Искусство схемотехники. Пер. с англ. М.: Мир, 1993.
3. Лавриненко В.Ю. Справочник по полупроводниковым приборам. К.: Техника, 1984. 424 с.
4. Касаткин А.С. Электротехника. Учеб. пособие для вузов. 4-е изд. М.: Энергоатомиздат,1983. 440 с.
5. Брускин Д.Э. Электрические машины: В2-х ч. Ч1: Учеб. пособие для вузов. М.: Высшая школа,1987. 319 с.
6. Романычева Э.Т. Разработка и оформление конструкторской документации радиоэлектронной аппаратуры. М.: Радио и связь, 1989. 448 с.
7. Вольдек А.И. Электрические машины. Л.: Энергия, 1974. 840 с.
8. Сентурия С., Уэдлок Б. Электронные схемы и их применение. М.: Мир, 1977. 600 с.
ПРИЛОЖЕНИЕ А
(Обязательное)
Настройка и конфигурирование ПЛК в среде программирования CoDeSys
После инсталляции среды CoDeSys следует выполнить инсталляцию Target-файлов. В Target-файлах содержится информация о ресурсах программируемых контроллеров, с которыми работает CoDeSys.
Инсталляция Target-файлов производится при помощи утилиты InstallTarget, устанавливающейся вместе со средой программирования.
Выбор требуемого Target-файла показан на рисунке А.1.
Рисунок А.1. Выбор требуемого Target-файла.
Настраиваем входы и выходы ОВЕН ПЛК-150 в PLC Configurator.
Цифровой вход 0 будет подключен к фотоимпульсному датчику (энкодеру). На аналоговые выходы будет поступать высокий или низкий уровень сигнала, характеризующий увеличение или уменьшение вращения двигателя постоянного тока.
Настройка конфигуратора изображена на рисунке А.2.
Рисунок А.2. Настройка конфигуратора.
ПРИЛОЖЕНИЕ Б
(Обязательное)
Разработка программы
Для программирования ОВЕН ПЛК-150 воспользуемся языками SFC, FBDи ST среды программирования CoDeSys.
Текст программы представлен на рисунках Б.1-Б.3.
Рисунок Б.1. Текст программы на языке SCF
Рисунок Б.2. Текст программы на языке FBD
Рисунок Б.3. Текст программы на языке ST.
На рисунке Б.4 изображена визуализация проекта.
Рисунок Б.4. Визуализация проекта.
Текст программы для микроконтроллеров PIC16F628Aпредставлен на рисунках Б.5-Б.6.
LIST P=16F628A, R=hex ; Use the PIC16F628 and decimal system
#include P16F628A.INC ; Include header file
__CONFIG _CP_OFF _WDT_OFF _BODEN_OFF _PWRTE_OFF _INTRC_OSC_NOCLKOUT _MCLRE_OFF _LVP_OFF
TEMP EQU 070h
TEMP1 EQU 072h
COUNT EQU 074h
COUNT1 EQU 076h
ORG 0x000 ; Program starts at 0x000
begin
;
; ----------------
; INITIALIZE PORTS
; ----------------
;
movf PORTA,F
movf PORTB,F
bsf STATUS,RP0
movlw B00000000
movwf TRISA
movlw B00001001
movwf TRISB
movlw B10000000
movwf OPTION_REG
bcf STATUS,RP0
movlw B00000000
movwf PORTA
movlw B00000000
movwf PORTB
;
; ---------
; MAIN LOOP
; ---------
;
movlw 00h
movwf TEMP
movlw 00h
movwf TEMP1
movlw 04h
movwf COUNT
Рисунок Б.5. Текст программы для PIC16F628A.
movlw 04h
movwf COUNT1
loop
movf PORTB,W
btfsc PORTB,3
goto new
goto loop
new
iorwf TEMP1
movlw 01h
andwf TEMP1,0
iorwf TEMP
rlf TEMP,1
movlw 00h
movwf TEMP1
decfsz COUNT,1
goto again
goto loop1
again
btfsc PORTB,3
goto again
loop1
decfsz COUNT1,1
goto loop
rrf TEMP,1
movf TEMP,W
movwf PORTA
cycle
btfsc PORTB,3
goto cycle
movlw 00h
movwf TEMP
movlw 00h
movwf TEMP1
movlw 04h
movwf COUNT
movlw 04h
movwf COUNT1
clrf PORTA
clrf PORTB
goto loop
END
РисунокБ.5. Продолжение.
LISTP=16F628A, R=DEC ; Использовать десятичную систему счисления
#include P16F628A.INC ; Подключение библиотеки
__config _INTRC_OSC_NOCLKOUT _LVP_OFF _WDT_OFF _PWRTE_ON _BODEN_ON
ORG 0x000 ; Program starts at 0x000
;
; ----------------
; INITIALIZE PORTS
; ----------------
;
movlw b00000000 ; Установка portA
movwf PORTA
movlwb00000100 ; RB2(TX)=1 остальные 0
movwf PORTB
bsf STATUS,RP0 ; Банкпамяти 1
movlw 0xFF
movwf TRISA ; ВсеразрядыportA входы
movlw b11110010 ; RB7-RB4 and RB1(RX)=входы, остальныевыходы
movwf TRISB
; ------------------------------------
; SET BAUD RATE TO COMMUNICATE WITH PC
; ------------------------------------
; Скорость = 9600 бод, без паритета, 1 стоповый бит
;
movlw 0x19 ; 0x19=9600 bps (0x0C=19200 bps)
movwf SPBRG
movlw b00100100 ;
movwf TXSTA ; включениеасинхроннойпередачи
bcf STATUS,RP0 ; Банкпамяти 0
movlw b10010000 ; включение асинхронного приема
movwf RCSTA
;
; ---------
; MAIN LOOP
; ---------
;
call message ; послатьстроку
loop call receive ; ожиданиесимвола
call send ; посылкасимвола
goto loop
;
; -------------------------------------------
; Принятие символа через RS-232 и сохранение его в регистре W
; -------------------------------------------
Рисунок Б.6. Текст программы для PIC16F628A.
; Этот цикл не заканчивается пока символ не принят
;
receivebtfssPIR1,RCIF ; (5) проверка на наличие поступающих данных
goto receive
movfRCREG,W ; сохранение поступивших данных в W
return
;
; -------------------------------------------------------------
; Отправка символа через RS-232 и ожидание окончания отправки
; -------------------------------------------------------------
;
sendmovwfTXREG ; скопировать в регистр Wпосылаемый символ
TransWt bsf STATUS,RP0 ; Банкпамяти 1
WtHerebtfssTXSTA,TRMT ; (1) если 1 то передача завершена
goto WtHere
bcf STATUS,RP0 ; Банкпамяти 0
return
;
; -------
; Сообщение
; -------
;
message movlw B
call send
movlw a
call send
movlw k
call send
movlw a
call send
movlw l
call send
movlw a
call send
movlw v
call send
movlw r
call send
movlw s
call send
movlw k
call send
movlw a
call send
movlw i
call send
movlw a
РисунокБ.6. Продолжение.
call send
movlw
call send
movlw r
call send
movlw a
call send
movlw b
call send
movlw o
call send
movlw t
call send
movlw a
call send
movlw
call send
movlw P
call send
movlw o
call send
movlw d
call send
movlw g
call send
movlw u
call send
movlw z
call send
movlw o
call send
movlw v
call send
movlw
call send
movlw A
call send
movlw .
call send
movlw V
call send
movlw .
call send
movlw 0x0D ; CR
call send
movlw 0x0A ; LF
call send
return
END
Рисунок Б.6. Продолжение.
Текст программы для микроконтроллера MSP430C1101 представлен на рисунке Б.7.
#include msp430x11x1.h ; Standard Equations
NAME DCmotorspeedcontroller
#define Duty_cycle R6
;******************************************************************************
;Константы
;******************************************************************************
PWM_OUT equ 004h ; bit2 of Port1 / TA1
Period equ 0ffh ; Counts for D/A, 8bits = 256
;******************************************************************************
RSEG CSTACK
DS 0
;******************************************************************************
RSEG CODE
;******************************************************************************
RESET mov #SFE(CSTACK),SP ; Инициализациястека
call #Init_Sys ; Процедура инициализации
Mainloopbit.b #BIT0,P2IN ; проверка был ли подан сигнал уменьшения скважности ШИМ
jz Next1
bit.b #BIT1,P2IN ; проверка был ли подан сигнал уменьшения скважности ШИМ
jzNext2
jmpMainloop ; ожидание подачи управляющего сигнала
Next1 cmp #0,Duty_cycle ; если значение скважности ШИМ минимально
jzMainloop ; то переход на ожидание нажатия
decDuty_cycle ; увеличение скважности ШИМ
jmp SendPWM
Next2 cmp #0ffh,Duty_cycle ; если значение скважности ШИМ максимально
jzMainloop ; то переход на ожидание нажатия
incDuty_cycle ; уменьшение скважности ШИМ
SendPWMmovDuty_cycle,CCR1 ; Вывод ШИМ сигнала на выход
call #Delay ; Вызов процедуры задержки
jmpMainloop ; ожидание подачи управляющего сигнала
;******************************************************************************
Init_Sys; Инициализация
;******************************************************************************
StopWDT mov #WDTPW+WDTHOLD,WDTCTL ; Остановсторожевоготаймера
SetupBC mov.b #XTOFF+RSEL2+RSEL1+RSEL0,BCSCTL1
; RSEL=7
mov.b #0ffh,DCOCTL ; Режим максимальной частоты.
SetupP1 mov.b #0,P1OUT ; P1OUT сброс
bis.b #PWM_OUT,P1SEL ; P1.2/TA1 настраиваем на ШИМ выход
bis.b #0ffh,P1DIR ; остальные выводы P1 не используем
SetupP2 mov.b #03ch,P2DIR ; P2.0,P2.1 входы,P2.2 toP2.5 не используются
mov #Period,CCR0 ; Установка периода длительности ШИМ
mov #0,CCR1 ;
mov #OUTMOD_7,CCTL1 ; Настройка режима таймера
SetupTAmov #TASSEL1+MC0,TACTL ; Установка внутреннего генератора частоты
mov #0,Duty_cycle ; Сброс переменной Duty_cycle
ret ; Возврат из процедуры
;******************************************************************************
Delay; Software delay
;******************************************************************************
push #03FFFh ; Задержка
L1 dec 0(SP) ;
jnz L1 ;
incd SP ;
ret ;
Рисунок Б.7. Текст программы для MSP430C1101.
;******************************************************************************
COMMON INTVEC ; MSP430F1xx Векторы прерывания
;******************************************************************************
ORG RESET_VECTOR
RESET_VEC DW RESET ; Сброссторожевоготаймера
END
Рисунок Б.7. Продолжение.
ПРИЛОЖЕНИЕ В
(Обязательное)
Руководство программиста
Спроектированный блок управления двигателем постоянного тока спроектирован на основе микроконтроллера MSP430C1101 и программируемого логического контроллера ОВЕН ПЛК-150.
Для того чтобы задать другие значения длительностей управляющего сигнала с ПЛК, необходимо в среде программирования CoDeSysизменить значение PTтаймеров TON1-TON10 на требуемое.
Для того чтобы задать другие значения скважности ШИМ сигнала, необходимо в программном коде для микроконтроллера MSP430C1101 изменить значение переменной Duty_cycle, которая пропорциональна скважности, изменение которой, в свою очередь, позволяет управлять частотой оборотов двигателя постоянного тока.
Для того чтобы использовать дополнительные интерфейсы связи, необходимо разрабатывать программное обеспечение для операционной системы персонального компьютера. Вся техническая информацию по программированию интерфейсов связи имеется в datasheetмикроконтроллера MSP430C1101.
ПРИЛОЖЕНИЕ Г
(Обязательное)
Руководство пользователя
Для управления частотой вращения двигателя постоянного тока необходимо:
– соединить ОВЕН ПЛК-150 с персональным компьютером через COMпорт (подробное описание приводится в документации прибора ОВЕН ПЛК-150);
– запустить исполняющую программу new.pro;
– в открывшейся программе выбрать вкладку Visualizations - Diplom. Откроется следующее окно:
Рисунок Г.1. Окно визуализации программы.
– для запуска программы нажать на кнопку «Старт»;
– сбросить предыдущие значения кнопкой «Сброс»;
– для увеличения или уменьшения скважности ШИМ нажать на кнопку «+1» или «-1». Для быстрого увеличения или уменьшения скважности ШИМ нажать на кнопку «+5» или «-5».
ПРИЛОЖЕНИЕ Д
(Рекомендуемое)
Характеристики MAХ232
Рисунок Д.1. Внешний вид приёмопередатчика MAX232.
Рисунок Д.2. Обозначение контактов MAX232.
Микросхема приемопередатчика MAX3232 оснащена фирменным выходным каскадом передатчиков, обеспечивающим малое падение напряжения и полную совместимость с требованиями стандарта RS-232 при напряжении питания от 3,0 до 5,5 В. Формирование выходного сигнала, при использовании одного положительного напряжения питания, обеспечивается двумя встроенными генераторами накачки, для работы которых достаточно четырех внешних малогабаритных конденсаторов емкостью по 0,1 мкФ.
1.3 Цифровой сигнальный процессор:
MSP430C1101 - 16-разрядная RISC-архитектура, время выполнения инструкции
- 125 нс, 16-разрядная RISC-архитектура, время выполнения инструкции
- 125 нс 32 КГц кварцевый резонатор, встроенный модуль 10-разрядного АЦП скоростью 200 ksps, 16-битовый таймер с тремя регистрами захвата/сравнения, ОЗУ 128б, ПЗУ 1кб, корпус 20 выводов, напряжение питания от +1,8В до +5В.
ПРИЛОЖЕНИЕ Е
(Рекомендуемое)
Микроконтроллер MSP430C1101
Рисунок Е.1. Внешний вид микроконтроллера MSP430C1101.
Цифровой сигнальный процессор MSP430C1101 имеет в своем составе ПЗУ, ОЗУ, число портов ввода/вывода - 20. Питание микроконтроллера осуществляется от источника напряжения +3В. Микроконтроллеры данного семейства содержат 16-разрядное RISC CPU, периферийные модули и гибкую систему тактирования, соединенные через фон-Неймоновскую общую адресную шину (MAB) памяти и шину памяти данных (MDB). Объединяя современное CPU с отображаемыми в памяти аналоговыми и цифровыми периферийными устройствами.
Система тактирования разработана специально для использования в приложениях с питанием от батарей. Вспомогательная низкочастотная система тактирования (ACLK) работает непосредственно от обычного 32 кГц часового кристалла. Модуль ACLK может использоваться в качестве фоновой системы реального времени с функцией самостоятельного «пробуждения». Интегрированный высокоскоростной осциллятор с цифровым управлением (DCO) может быть источником основного тактирования (MCLK) для ЦПУ и высокоскоростных периферийных устройств. Модуль DCO становится активным и стабильным менее чем через 6 мкС после запуска.
Семейство MSP430 имеет фон-Неймоновскую архитектуру с единым адресным пространством для регистров специального назначения (SFR), периферии, ОЗУ и Flash-памяти программ. Доступ к программному коду выполняется всегда по четным адресам. Данные могут быть доступны как байты или как слова.
ПРИЛОЖЕНИЕ Ж
(Рекомендуемое)
Основные характеристики ОВЕН ПЛК-150
Надежная среда программирования CoDeSys входит в комплект поставки контроллера.
Программируемые логические контроллеры ОВЕН ПЛК имеют встроенные интерфейсы Ethernet 10/100 Мbps, RS-485, RS-232, USB-Device*, USB-Host*.
Контроллеры поддерживают протоколы ОВЕН, Modbus RTU, Modbus ASCII, DCON, Modbus TCP, GateWay.
Устройство промышленного контроллера предусматривает три режима функционирования дискретных входов (10 кГц): режим импульсного счетчика, триггера или энкодера.
Контроллер предусматривает высокую точность настройки всех дискретных входов на генерацию ШИМ-сигнала.
В комплект поставки входят готовые библиотеки функциональных блоков. Это как стандартные библиотеки CoDeSys, так и разработки ОВЕН (ПИД-регулятор с автонастройкой, блок управления 3-х позиционными задвижками, блок измерения влажности психрометрическим методом и т.д.).
Количество входов и выходов программируемых логических контроллеров можно увеличить с помощью подключения внешних модулей ввода/вывода.
Контроллер оснащен встроенными часами реального времени и встроенным аккумуляторным источником резервного питания.
Внешний вид ОВЕН ПЛК-150 показан на рисунке Ж.1.
Рисунок Ж.1 – Внешний вид ОВЕН ПЛК-150
ПРИЛОЖЕНИЕ И
(Рекомендуемое)
Среда программирования CoDeSys
CoDeSys - это современный инструмент для программирования контроллеров (CoDeSys образуется от слов Controllers Development System).
CoDeSys предоставляет программисту удобную среду для программирования контроллеров на языках стандарта МЭК 61131-3. Используемые редакторы и отладочные средства базируются на широко известных и хорошо себя зарекомендовавших принципах, знакомых по другим популярным средам профессионального программирования (такие, как Visual C++).
Проект включает следующие объекты: POU, типы данных, визуализации, ресурсы, библиотеки. Каждый проект сохраняется в отдельном файле.
К программным компонентам (POU) относятся функциональные блоки, функции и программы. Отдельные POU могут включать действия (подпрограммы).
Каждый программный компонент состоит из раздела объявлений и кода. Для написания всего кода POU используется только один из МЭК языков программирования (IL, ST, FBD, SFC, LD или CFC).
CoDeSys поддерживает все описанные стандартом МЭК компоненты. Для их использования достаточно включить в свой проект библиотеку standard.lib.
POU могут вызывать другие POU, но рекурсии недопустимы.
Функция – это POU, который возвращает только единственное значение (которое может состоять из нескольких элементов, если это битовое поле или структура). В текстовых языках функция вызывается как оператор и может входить в выражения.
При объявлении функции необходимо указать тип возвращаемого значения. Для этого после имени функции нужно написать двоеточие и тип.
ПРИЛОЖЕНИЕ К
(Рекомендуемое)
Инкрементные фотоимпульсные датчики (ФИД)
Схема применения фотоимпульсного датчика для измерения угла поворота a показана на рисунке К.1.
Рисунок К.1. Схема применения фотоимпульсного датчика.
Основным элементом ФИД является прозрачный диск с нанесенными на него рисками, количество которых достигает нескольких тысяч. При повороте диска, луч света, излучаемый источником ИС, модулируется рисками и воспринимается фотоприемниками ФП. Электрические сигналы от ФП преобразуются электронным преобразователем ЭП в систему электрических сигналов, которые подаются на программируемый логический контроллер ПК.
ФИД генерирует следующие сигналы и их инверсии:
OSN – основной;
SM – смещенный;
CLRM – нуль-метод.
Диаграмма этих сигналов при вращении вправо и влево показана на рисунке К.2. Программно-аппаратное обеспечение ПК организовано так, что при движении вправо при каждом переходе входного сигнала происходит прибавление 1 в программном или аппаратном счетчике, а при движении влево – вычитание 1. Кроме того, ПК проверяет отсутствие обрыва линии, сравнивая сигналы с их инверсиями. Таким образом, в счетчике ПК формируется код угла поворота Na или его приращения.
Рисунок К.2 – Диаграмма сигналов, генерируемых ФИД
ПРИЛОЖЕНИЕ Л
(Рекомендуемое)
Принцип управления скоростью вращения двигателя постоянного тока с помощью широтно-импульсной модуляции
При регулировании скорости вращения двигателя с помощью широтно-импульсной модуляции (ШИМ, в англоязычных текстах - PWM, pУLse-width modУLation) на двигатель подается полное напряжение питание, но регулируется время, в течение которого оно подается. Широтно-импульсная модуляция представлена на рисунке Л.1.
Рисунок Л.1. Широтно-импульсная модуляция.
То, что с помощью дискретного сигнала (включено/выключено) можно управлять аналоговой величиной (частотой вращения двигателя), делает этот способ очень популярным при использовании цифровых схем управления и, в частности, логических контроллеров.
Обычно частота ШИМ бывает довольно высока и составляет от нескольких десятков до нескольких сотен герц. В этом случае при емкостной нагрузке происходит сглаживание пульсаций питающего напряжения и
фактически мы подаем на двигатель некоторое эффективное напряжение. Скажем, при напряжении питания 10В и длительности импульса 50% от периода, мы получим точно такой же результат, как если бы просто
подали на двигатель напряжение 5В.
Часто именно это и требуется. Более того, это один из наиболее популярных способов регулирования аналогового напряжения в цифровых схемах.
Обратите внимание, что если емкость нагрузки мала, вы можете столкнуться с неожиданным поведением двигателя, что особенно заметно у дешевых микромоторов. Коллекторная система двигателя играет роль коммутатора, включая и выключая его обмотки; когда же на включение обмоток накладывается периодическое включение питания, результат может быть непредсказуемым, вплоть до того, что при определенном сочетании частоты ШИМ и частоты вращения двигателя, последний начнет вращаться в обратную сторону.
Схема подключения нагрузки представлена на рисунке Л.2.
Рисунок Л.2. Схема подключения нагрузки.