пр2. 19 Практическая работа. Практическая работа Разработка структурных и алгоритмических схем комплексного контроля и управления на базе промышленных микропроцессоров
Скачать 403.19 Kb.
|
19 Практическая работа Разработка структурных и алгоритмических схем комплексного контроля и управления на базе промышленных микропроцессоров. Цель работы: Закрепление знаний по разработке структурных и алгоритмических схем комплексного контроля и управления на базе промышленных микропроцессоров. Теоретические сведения: Обязательным компонентом любой современной мехатронной системы является микроЭВМ, реализующая алгоритмы управления системы программным способом. Наиболее часто такие микроЭВМ представляют собой один или несколько микропроцессорных контроллеров (МПК). Под микропроцессорным контроллером принято понимать функционально законченную совокупность микропроцессора и связанных с ним периферийных устройств, таких как, оперативные запоминающие устройства (ОЗУ) памяти, постоянные запоминающие устройства (ПЗУ) памяти, таймеры, контроллеры прерываний и системной шины, порты ввода-вывода, аналого-цифровые преобразователи (АЦП) и цифро-аналоговые преобразователи (ЦАП), разнообразные универсальные асинхронные (UART, CAN) и синхронные приемопередатчики (SPI, I2C), супервизоры питания и т.д. Микропроцессорный контроллер может быть реализован как в виде электронного блока на основе микросхемы микропроцессора и соответствующих ему микросхем периферийных устройств, так и в виде однокристального микроконтроллера (как с набором дополнительных микросхем периферийных устройств, так и без них). Примером первого варианта реализации МПК для мехатронных систем могут служить микропроцессорные контроллеры на базе 16-разрядного микропроцессора Intel 8086 и набора микросхем периферийных устройств, предназначенных для работы с ним (отечественные аналоги - микропроцессор К1810ВМ86 и комплект БИС 1810). Примером второго варианта могут служить однокристальные 8-разрядный микроконтроллер Intel MСS51 и 16-разрядный микроконтроллер MCS196, а также однокристальные 16-разрядные микроконтроллеры семейства Siemens SAB C167. Как правило, использование 8-разрядных МПК в мехатронных системах оправдано только для «простых» систем, имеющих низкую динамику и невысокую точность. В остальных случаях необходимо использовать 16-разрядные МПК. Практика показывает, что реализация корректирующих устройств в высокоточных мехатронных системах, например, в системах наведения антенных установок, с использованием 16-разрядных МПК, требует работы с двойным словом, т.е. по сути, речь идет о необходимости 32-разрядной реализации корректирующих устройств. Однако, использование 32-разрядных МПК в мехатронных системах не получило массового распространения из-за более «слабого» набора периферийных устройств в 32-разрядных микроконтроллерах по сравнению с 16-разрядными. В силу вышеизложенного представленный материал по проектированию алгоритмического и программного обеспечения мехатронных систем излагается применительно к системам с 16-разрядными МПК на основе микропроцессоров Intel 80x86 и однокристальных микроконтроллеров семейства Siemens SAB C167 (и их аналогов – микроконтроллеров семейств Infineon C167 и ST Microelectronics ST10CT167). Процесс проектирования мехатронной системы с микропроцессорным контроллером 1.1. Этапы проектирования мехатронной системы с МПК В общем случае процесс проектирования мехатронной системы с МПК с точки зрения создания ее программного и алгоритмического обеспечения можно изобразить в виде схемы на рис.1, содержащей семь основных этапов. Рассмотрим их, отметив в скобках их возможное соответствие реальным этапам разработки изделия. Этап 1. Анализ технического задания (аван-проект). Содержанием этапа является: - определение структурного построения мехатронной системы; - определение функционального построения мехатронной системы; - выбор элементной базы системы, в том числе выбор МПК; - определение перечня корректирующих устройств и законов управления, которые предполагается реализовать в МПК. Этап 2. Синтез мехатронной системы (эскизный, технический проекты). Этап синтеза (в широком смысле) можно представить в виде пяти шагов: - энергетический расчет силовой части мехатронной системы; - разработка математической модели неизменяемой части мехатронной системы; - «ручной» синтез (синтез в узком смысле) мехатронной системы; - моделирование мехатронной системы; - разработка блок-схемы алгоритмического обеспечения мехатронной системы. Содержанием первого шага является окончательный выбор исполнительного устройства, рассмотренного на этапе анализа технического задания. Второй шаг состоит в разработке простейшей математической модели для проведения «ручного» синтеза без учета всех особенностей, вносимых МПК. Естественным представляется вариант создания модели в виде структуры с фазовыми координатами. Третий шаг представляет собой синтез линейной системы традиционными «ручными» методами, например, частотными, желательно с применением программного обеспечения для автоматизации расчетов и построения «точных» частотных характеристик (например, с помощью программы «Matcad»). Из всех особенностей, вносимых МПК в динамику системы, здесь целесообразно учитывать только квантование по времени. Шаг заканчивается определением передаточных функций корректирующих устройств и законов управления исполнительным устройством, которые являются исходной точкой для последующего моделирования. Четвертый шаг состоит в моделировании мехатронной системы с МПК с помощью программной модели, реализованной на персональном компьютере. Обязательным условием адекватности модели реальной системе является отражение особенностей, вносимых МПК: - квантования по времени; - квантования по уровню; - ограничения разрядной сетки в МПК и в периферийных устройствах, например в АЦП и ЦАП. В силу этого процессы, происходящие в МПК, необходимо моделировать в виде кодов с целочисленными значениями. Кроме этого в случае использования маломощного МПК может возникнуть необходимость моделирования времени выполнения управляющей программы МПК. По существу программная модель представляет собой средство разработки мехатронной системы с МПК, без которого не возможно спроектировать полноценное программное обеспечение для нее. Возможно два варианта создания программной модели. Первый состоит в использовании универсальных прикладных пакетов моделирования систем автоматического управления, например, Matlab фирмы MathWorks. К сожалению, в большинстве случаев прикладные пакеты не позволяют в полной мере смоделировать все особенности «сложных» мехатронных систем. Однако последние версии Matlab (6.5 и 7) уже в значительной мере удовлетворяют потребностям высокоточных систем. Тем не менее, недостатком такого подхода является, как правило, отсутствие информации о допущениях, принятых в модели, и о пределах ее реальных возможностей, что может приводить к искаженным результатам. Второй вариант состоит в создании собственной программы моделирования («под себя») для конкретной мехатронной системы. Этот вариант в принципе позволяет исследовать все тонкости мехатронной системы, но и более трудоемок, чем первый вариант. Пятый шаг состоит в разработке блок-схемы алгоритмического обеспечения мехатронной системы. Блок-схема представляет собой графическое отображение программно-аппаратной реализации структурного построения мехатронной системы в виде взаимодействия источников прерываний и программ обработки этих прерываний. Блок-схема служат исходным материалом для разработки управляющей программы МПК. Этап 3. Разработка программы настройки и контроля мехатронной системы (технический, рабочий проекты). Целью разработки программы настройки и контроля мехатронной системы является создание средства, позволяющего автономно (вне изделия) через персональный компьютер отлаживать и контролировать работу мехатронной системы с МПК, причем без «перепрошивки» ПЗУ в случае изменения параметров корректирующих устройств, и по командам, имитирующим работу изделия. Этап 4. Разработка управляющей программы МПК (рабочий проект). Целью разработки управляющей программы МПК является программная реализация корректирующих устройств и законов управления МПК. Очевидно, что между управляющей программой МПК и программой настройки и контроля должно существовать однозначное соответствие. Этап 5. Отладка мехатронной системы с МПК с помощью контрольно-проверочной аппаратуры (автономные испытания). Целью этапа является предварительная отладка программно-аппаратного обеспечения мехатронной системы. По результатам этого этапа возможна доработка программного обеспечения мехатронной системы. Этап 6. Отладка мехатронной системы с МПК в составе изделия (испытания в составе изделия). Целью этапа является окончательная отладка программно-аппаратного обеспечения мехатронной системы. Этап 7. Сдача заказчику (натурные испытания). Целью этапа является сдача мехатронной системы заказчику. Среди вышеперечисленных этапов наибольший интерес для проектирования алгоритмического и программного обеспечения мехатронной системы представляют этапы 3 - 5, которые в основном далее и рассматриваются. Обзор программных средств, используемых при проектировании мехатронных систем с МПК Основным средством получения конечного программного продукта – исполняемого модуля - является компилятор. Под компилятором понимается специальная программа, переводящая исходные тексты на конкретном языке программирования или сразу в исполняемый модуль, содержащий коды машинных команд данного процессора (микроконтроллера), или в промежуточный формат, т.н. объектный модуль. В последнем случае для получения исполняемого модуля требуется применение еще одной специальной программы - линковщика. Линковщик позволяет сформировать конечный исполняемый модуль путем объединения нескольких отдельных объектных модулей. На рис.2 представлена схема процесса создания исполняемого модуля, где библиотекарь представляет собой специальную программу для обслуживания объектных модулей в виде библиотек. Часто под термином компилятор понимается пакет, состоящий из собственно компилятора, линковщика и библиотекаря, что и будем использовать далее в тексте. При этом в качестве платформы функционирования всех программных средств будем подразумевать Intel платформу в виде IBM совместимых персональных компьютеров. Управляющая программа МПК Для разработки управляющей программы МПК в настоящее время используются практически только два языка программирования – ассемблер и Си. Это определяется широким распространением компиляторов только этих двух языков при программировании различных процессоров и микроконтроллеров. Что касается других языков, например, Forth, то он не получил широкого распространения. Для разработки управляющей программы для МПК на основе процессоров Intel 80x86 подходит практически любой 16-разрядный компилятор, ориентированный на аппаратную платформу Intel, например, фирмы Microsoft (MASM, версии 5.10, 6.10), фирмы Borland (TASM, версии 2.0, 2.5). Указанные компиляторы поддерживают работу из командной строки (отсутствует графический интерфейс), а результирующие файлы по умолчанию имеют расширение “.EXE”. Для соответствия формату исполняемого модуля процессора результирующий файл должен представлять собой двоичный образ управляющей программы, т.е. иметь расширение “.BIN” или “.COM”. Это достигается или применением линковщика со специальным ключом (для линковщика TLINK.EXE 4.01 фирмы Borland это /Tdc) или конвертированием результирующего файла с расширением “.EXE” в файл с расширением “.BIN” при помощи утилиты “EXE2BIN.EXE”. В случае, если программное обеспечение, используемое далее, не понимает файл с расширением “.BIN”, достаточно переименовать расширение в “.COM”. Для разработки управляющей программы для МПК на основе других типов микроконтроллеров (не Intel) используются т.н. кросс-ассемблеры, т.е. ассемблеры, которые работают на одной аппаратной платформе, называемой хост-платформой (в нашем случае - Intel), а предназначены для обслуживания другой, называемой целевой (например, Siemens). Далее название кросс-ассемблер использовать не будем. Для разработки управляющей программы для МПК на основе микроконтроллеров клона Siemens SAB C16x могут использоваться компиляторы ASM167 (версия 1.1), VASM (версия 1.02), а также среда разработки Vision (версии 2 и 3) фирмы Keil Software, содержащая макроассемблер A166. Результирующие файлы указанных компиляторов имеют шестнадцатеричный формат с расширением “.HEX”, а среда Vision и компилятор VASM позволяют получить также файл с расширением “.BIN”. Блок-схема алгоритмического обеспечения мехатронной системы Рассмотрим блок-схему алгоритмического обеспечения мехатронной системы на примере системы управления дверьми (СУД) монорельсовой дороги. Функциональная схема СУД представлена на рис. 14, где обозначено: 1-объект регулирования; 2-электродвигатель (M-ротор); 3-датчики Холла (6 штук); 4-усилитель мощности (V1-V6-силовые ключи); 5-драйвер (микросхема предварительного усилителя с защитой от аварийного тока); 6-МПК (на основе микроконтроллера SAB 80C167); 7-двухканальный UART в составе МПК (канал A – интерфейс RS485, канал B – интерфейс RS232); 8-формирователь последовательности импульсов из сигналов датчиков Холла; 9-система управления электроподвижного состава; 10-IBM PC с программой настройки и контроля; 11,12-интерфейсы RS485, RS232; H1, H2, H3 и L1, L2, L3-сигналы управления верхней и нижней группами усилителя мощности 4; Fa, Fb, Fc, Fd, Fe, Ff-сигналы логического уровня (0/1) с датчиков Холла. Структурная схема СУД представлена на рис.15, где позиции 1 - 8 совпадают с аналогичными позициями на рис.14. Кроме того, на рис.15 обозначено: 13-блок коммутации; 14-широтно-импульсный модулятор (ШИМ); 15-блок вычисления положения; 16-блок суммирования импульсов; 17-блок вычисления скорости; 18-коэффициент усиления в контуре по положению; 19-коэффициент усиления в контуре по скорости; Fшим-частота ШИМ; Uшим-сигнал управления для ШИМ. В качестве электродвигателя в СУД используется 3-х фазная многополюсная синхронная машина с обмотками на статоре и постоянными магнитами на роторе. Датчики Холла расположены на статоре. Три датчика Холла (сигналы Fa, Fb, Fc) смещены друг относительно друга на 1/3 периода магнитного поля ротора и используются для управления электродвигателем. Три других датчика Холла (сигналы Fd, Fe, Ff) смещены относительно первых на 1/4 периода магнитного поля и служат дополнением для формирования сигналов скорости и положения. Блок 8 фиксирует изменения фронтов сигналов датчиков Холла и по ним формирует временную последовательность импульсов. Каждый импульс соответствует постоянному приращению положения объекта регулирования. Совокупность всех сигналов датчиков Холла (Fa, Fb, Fc, Fd, Fe, Ff) в каждый момент времени образует вполне определенное множество кодов. Анализ чередования этих кодов позволяет определить направление вращения. Блок 15 подсчитывает число импульсов с учетом направления вращения и определяет текущее положение объекта регулирования. Блок 16 подсчитывает число импульсов за каждый такт замыкания СУД. Блок 17 по числу подсчитанных в 16 импульсов определяет скорость движения объекта регулирования. Блок 13 представляет собой «электронный коммутатор», который на основании сигналов датчиков Холла Fa, Fb, Fc и знака сигнала управления Uшим вырабатывает сигналы управления силовыми ключами H1-H3 и L1-L3 для вращения электродвигателя при питании его от источника постоянного напряжения. Блок 14 производит модулирование по длительности сигналов управления драйвером 5 в соответствии с величиной сигнала управления Uшим и заданной частотой Fшим. Блок-схема алгоритмического обеспечения СУД представлена на рис. 16, где цифровые позиции совпадают с позициями на рис.14 и 15. Все структурное построение СУД реализовано в виде шести подпрограмм обработки прерываний. Замыкание СУД по положению и по скорости осуществляется в подпрограмме обработки прерывания ПОП0, обслуживающей сигнал прерывания IR0 от таймера T0, который задает такт замыкания системы. Подпрограмма ПОП0 является формирователем ядра структуры СУД. Входное воздействие для системы принимает только два значения (Bmax - открыть дверь и 0 - закрыть дверь). Вычисление текущего положения (блок 15) и подсчет числа импульсов за такт (блок 16) выполняет программа обслуживания прерываний ПОП3, обслуживающая сигнал прерывания IR3 от каждого импульса, формируемого блоком 8. Обмен информацией между ПОП0 и ПОП3 осуществляется через ячейки ОЗУ UGOL и IMP. В каждом такте замыкания в ПОП0 по числу импульсов, находящемуся в IMP, вычисляется скорость (блок 17), после чего ячейка IMP обнуляется. «Электронный коммутатор» (блок 13) реализуется в подпрограмме обработки прерывания ПОП1, обслуживающей сигнал прерывания IR1 от таймера T1, который задает частоту коммутации. Функции ШИМ (блок 14) реализуются в подпрограммах обработки прерываний ПОП2 и ПОП4, обслуживающих сигналы прерываний IR2 и IR4 от таймеров T2 и T4, которые формируют верхний и нижний уровень сигналов ШИМ. Таймеры работают в составе блока GPT1 микроконтроллера SAB C167 совместно с таймером T3. Счет ведет таймер T3, таймеры T2 и T4 служат для загрузки констант счета в T3. В каждый такт замыкания в таймер T2 загружается значение сигнала управления Uшим, а в T4 – его дополнение до константы счета Nшим, соответствующей периоду ШИМа. Триггер T3OTL после окончания каждого счета T3 переходит в новое состояние. Переход в верхнее состояние (Front Up) вызывает сигнал прерывания IR2, а в нижнее (Front Down) - сигнал прерывания IR4. При этом происходит перезагрузка содержимого таймеров Т2 или T4 в T3 и его запуск. Подпрограммы обработки прерываний ПОП5 и ПОП6 обслуживают сигналы прерываний IR5 и IR6 от UART 7, инициируемые системой управления 9 или программой настройки и контроля в IBM PC 10. Задание : Изучить теоретический материал Выполнить конспект Сделать вывод. |