Разработка микропроцессорного устройства управления технологическим процессом

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    416,16 Кб
  • Опубликовано:
    2012-10-15
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка микропроцессорного устройства управления технологическим процессом

Федеральное агентство по образованию РФ

Государственное образовательное учреждение

Высшего профессионального образования

Рязанский государственный радиотехнический университет

Кафедра САПР ВС

ЗАДАНИЕ

на курсовую работу по дисциплине:

«Микропроцессорные системы»

Студенту гр.747 ___________________________ Вариант №____

1. Тема курсовой работы «Разработка микропроцессорного устройства управления технологическим процессом».

2. Срок представления законченной курсовой работы к защите ноября 2011г.

. Исходные данные:

3.1. Математическая модель технологического процесса

.2. Микропроцессорный комплект 18085, AduC1816, К1878

3.3. Система команд МП 18080 (К580), 18051, К1878

.4. Литература:

   Бесекерский В.А., Попов Е.П. Теория систем автоматического управления. М..Профессия, 2006.767 с.

-        Микропроцессорные системы автоматического управления. Под ред. В.А. Бесекерского- Л.: Машиностроение, 1988. 365 с.

- Дьяконов В. Simulink4. Спб.: Питер, 2002. 428с. 4.Содержание пояснительной записки:

1. Введение.

2. Анализ задания.

3. Разработка функциональной схемы МПС.

4. Разработка структурной схемы МПС.

5. Расчет параметров устройства управления.

6. Моделирование динамики системы с применением ППП «MatLab/Simulink».

7. Разработка алгоритма управления.

8. Разработка программы.

9. Заключение.

4.10.  Библиографический список.

Введение

В наше время промышленные предприятия используют автоматизированные производственные линии. Их применение значительно увеличивает производительность, обеспечивает стабильное качество продукции, уменьшает отрицательное воздействие производственного процесса на человека, а также позволяет экономично использовать энергию и материалы. Также важную роль играет автоматизация управления технологическими процессами. Управлением в широком смысле слова называется организация какого-либо процесса, обеспечивающая достижение поставленной цели. Управляемым процессом может быть, например, процесс движения транспорта (водного, воздушного и наземного), технологический процесс и т.д. Ключевую роль при автоматизации управления объектами играет использование цифровых вычислительных машин.

Целью данной курсовой работы является разработка микропроцессорного устройства управления технологическим процессом, представленного математической моделью. Необходимо составить алгоритм работы микропроцессорной системы, разработать программу, обеспечивающую выполнение заданного алгоритма.

1.      
Анализ задания

В процессе выполнения данной курсовой работы необходимо разработать микропроцессорное устройство управления технологическим процессом.

В исходных данных задана математическая модель технологического процесса, представленная дифференциальным уравнением третьего порядка следующего вида

.

Технологический процесс представляет собой объект управления. Далее по дифференциальному уравнению будет составлена передаточная функция технологического процесса.

Управляет работой технологического процесса микропроцессорное устройство управления (МПУУ). Необходимо составить алгоритм работы данного устройства, разработать программу, обеспечивающую выполнение этого алгоритма.

Микроконтроллер (МК) представляет собой однокристальную ЭВМ, включающую микропроцессор, необходимые виды памяти и каналы ввода/вывода аналоговой и цифровой информации. Предназначен для управления различными электронными устройствами и осуществления взаимодействия между ними в соответствии с заложенной в МК программой. Основным классификационным признаком МК является разрядность микропроцессора.

Разрядность МК определяется точностью данных, необходимой для управления объектами. Наиболее распространённым семейством микроконтроллеров являются 8-битные микроконтроллеры, широко используемые в промышленности. В то время как 8-разрядные процессоры общего назначения полностью вытеснены более производительными моделями, 8-разрядные микроконтроллеры продолжают широко использоваться. Это объясняется тем, что существует большое количество применений, в которых не требуется высокая производительность, но важна низкая стоимость.

Согласно заданию, нам необходимо выбрать микроконтроллер КР1878ВЕ1 (An15E03). Этот микроконтроллер предназначен для использования в системах управления, работающих в масштабе реального времени. Микроконтроллер отличается малым количеством внешних выводов, низким током потребления, высокой производительностью, наличием энергонезависимой памяти данных и возможностью многократного перепрограммирования памяти команд. Характерной особенностью его является гарвардская RISC-архитектура, позволяющая выполнять любую из 52 команд за два такта частоты процессора, единая система команд для всего семейства с возможностью адресации до двух операндов, находящихся в памяти, малое время реакции на прерывание и сохранение контекста, широкий диапазон конфигураций внутренней памяти команд, памяти данных и внутренних периферийных устройств.

Упрощенная структурная схема центрального процессора микроконтроллера представлена на рис. 1. Центральный процессор микроконтроллера предназначен для выполнения арифметических и логических преобразований 8-разрядных операндов, расположенных в памяти микроконтроллера. Архитектура процессора характеризуется разделенной памятью команд и данных. Это позволяет совместить процессы выборки команд и выборки операндов из памяти. Система команд процессора - симметричная, т.е. имеются двухоперандные команды, работающие одновременно с двумя операндами. Выборка операндов из памяти данных в случае двухоперандных команд производится одновременно по двум различным шинам - данных SRC и данных DST, с отдельными шинами адресов. Запись результата в память производится также по отдельной шине данных записи. Адрес записи совмещен с адресом чтения операнда DST.

Команды процессора имеют размерность 16 разрядов. Для обеспечения механизмов перехода к подпрограммам и прерываний программ в процессоре существует отдельный аппаратный стек глубиной в восемь адресов, где хранятся адреса возврата из подпрограмм и прерываний. В процессоре имеются служебные регистры для поддержки метода адресации операндов. Для сохранения значений этих регистров и слова состояния процессора при прерываниях программ и переходов к подпрограммам введен отдельный аппаратный стек данных глубиной в 16 байтов. Обращение к регистрам периферийных устройств микроконтроллера происходит по тем же шинам и точно так же, как и к оперативной памяти.

Рис. 1. Структурная схема центрального процессора микроконтроллера

Любая из команд процессора выполняется за одинаковый период времени. Одновременно на разных стадиях выполняются три команды процессора. Условные и безусловные переходы происходят по абсолютным адресам памяти команд, что позволяет устранить потерю времени при выполнении переходов.

2. Разработка функциональной схемы МПС

Укрупненная функциональная схема рассматриваемой микропроцессорной системы имеет следующий вид (рис. 2).

Рис. 2. Укрупненная функциональная схема МПС

-    МПУУ - микропроцессорное устройство управления;

-       ТП - технологический процесс.

Более подробная функциональная схема технологического процесса имеет следующий вид (рис. 3).

Рис. 3. Функциональная схема МПС

-    СЭ - сравнивающий элемент;

-       ЦВМ - цифровая вычислительная машина;

-       УЭ - усилительный элемент;

-       ИЭ - исполнительный элемент;

-       ОУ - объект управления.

Целесообразно вводить ЦВМ в систему управления объектом в тех случаях, когда требуется обрабатывать большое количество поступающей информации и когда на ЦВМ возлагается решение ряда задач с обслуживанием нескольких зависимых или независимых каналов управления.

В схематичном виде система регулирования с ЦВМ изображена на рис. 4.

Рис. 4. Система регулирования с ЦВМ

-  g1, g2, … , gn - входные воздействия;

-       у1, у2, … ,yn - регулируемые величины;

-       и1, u2, ... un - выходные воздействия;

-       f1, f2, ... ,fm. - возмущения.

Рассмотрение системы со многими регулируемыми величинами представляет собой весьма громоздкую задачу. Поэтому в дальнейшем ограничимся рассмотрением случая, когда ЦВМ вводится в одиночный контур с одной регулируемой величиной у и одним входным воздействием g.

В настоящее время для расчета систем с ЦВМ широко используются z-преобразование и w-преобразование. Использование этих преобразований позволяет распространить развитые для расчета непрерывных систем эффективные частотные методы и на дискретные системы, в частности на системы с ЦВМ.


Структурная схема микропроцессорной системы имеет следующий вид (рис. 5).

Рис. 5. Структурная схема МПС

-    g - задающая величина (входное воздействие);

-       x1 - регулируемая величина (выходное воздействие);

-       x2 - управляющее (регулирующее) воздействие;

-       D(z) - алгоритм работы ЦВМ;

-       Wтп(s) - передаточная функция технологического процесса.

4.  Расчет параметров устройства управления

Передаточную функцию технологического процесса составим по дифференциальному уравнению математической модели технологического процесса. Перейдем к символической форме записи дифференциальных уравнений, используя символ дифференцирования:


Запишем исходное дифференциальное уравнение в символической форме:

;

;

.

Коэффициент передачи будет равен частному от деления коэффициента при x1 на коэффициент при x2. Далее перейдем к преобразованию Лапласа путем замены p на комплексную переменную s и получим передаточную функцию элемента:

,

где ,  - преобразования Лапласа (изображения) выходной и входной величин соответственно.

Т.о. получим следующую передаточную функцию:

.

Произведем определение алгоритма управления .

Введем в данную систему два дифференцирующих корректирующих устройства. Дискретная передаточная функция каждого из них имеет вид:


При  система будет неустойчива (рис. 6).

Рис. 6. Переходная характеристика САР при D(z)=1

Рис. 7. ЛАЧХ неустойчивого переходного процесса

Рассмотрим случай, когда . В данном случае, осуществляя подбор коэффициента a, получаем дискретную передаточную функцию следующего вида:

5. Моделирование динамики системы с применением ППП "MatLab/Simulink"

Для проверки качества разработанной системы произведем моделирование ее динамики в среде MatLab/Simulink 6.5. Блок-схема такой САР приведена на рис. 8.

Рис. 8. Блок-схема цифровой САР в Simulink

Оценим устойчивость и качество системы, используя частотный подход. Для этого построим ЛАЧХ и ЛФЧХ разомкнутой системы (рис. 9).

Рис. 9. ЛАЧХ и ЛФЧХ разомкнутой САР

Анализ этих характеристик показывает, что система устойчива, т.к. частота, на которой ЛАЧХ пересекает линию 0 дБ меньше частоты, на которой ЛФЧХ пересекает линию -1800. Из рис. 9 видно, что запас по фазе составляет 85,30. Это соответствует требованию к этой величине, которое составляет 300. Запас по амплитуде равен 26 дБ, что больше минимально допустимого значения (10 дБ). Следовательно, САР обладает требуемым качеством.

Определим качество полученной системы, анализируя кривую переходного процесса САР, который получается при подаче на вход системы единичного воздействия. Такая переходная характеристика изображена на рис. 10.

Рис. 10. Переходная характеристика САР

Величина перерегулирования определяется по формуле:

Где  - максимальное значение переходной характеристики;

 - установившееся значение переходной характеристики.

Эта величина будет равна 7%, что меньше предельно допустимого значения на этот параметр для качественных систем ().

Время переходного процесса показано на рис. 11 и равно 0.924с.

Рис. 11 Время переходного процесса

6. Разработка алгоритма управления

В предыдущем пункте мы реализовали цифровое корректирующее звено с некоторой дискретной передаточной функцией . В общем случае передаточная функция ЦВМ  и представляет собой некоторое дробно-рациональное выражение:

,

где  и  - изображения (z-преобразования) последовательностей на входе и на выходе ЦВМ. Заметим, что всегда должно быть .

Поделим числитель и знаменатель последнего выражения на . Тогда


Отсюда может быть получено разностное уравнение, соответствующее алгоритму работы ЦВМ:

a0x2(n)+ a1x2(n-1)+…+ akx2(n-k)= b0x(n+s-k)+ b1x(n+s-k-1)+…+ bsx(n-k),

где x(n) и x2(n) - дискретные последовательности на входе и выходе ЦВМ.

Результирующая передаточная функция разомкнутой системы в этом случае:

,

где  - передаточная функция разомкнутой системы, определяемая выше приведенными формулами при .

Анализируя задачу, выполняемую передаточным звеном, а также вид полученного разностного уравнения можно предположить, что цифровое устройство должно удовлетворять следующим требованиям:

1.  Для входной величины (ошибки регулирования x(t)) ЦВМ должна обеспечивать значительный запас по точности. На выходную величину x2(t) это требование не распространяется. Так как входная величина ЦВМ x(t) есть разница между задающей величиной и выходным воздействием системы автоматического регулирования ее точность должна быть на несколько порядков выше.

2.       Система автоматического регулирования работает в реальном масштабе времени. Работа в реальном масштабе времени означает, что длительность цикла обработки информации Тц в цифровом управляющем устройстве согласована с требованиями к качеству управления, с частотными характеристиками элементов контура управления и со спектрами возмущений. Она не может быть больше величины Т - такта дискретизации процесса по времени.

Получим алгоритм работы ЦВМ:

;


Разделив числитель и знаменатель на , получим уравнение следующего вида

;

.


.

Исходя из разностного уравнения и выше приведенных требований, составим алгоритм работы цифровой вычислительной машины.

Рис.12. Алгоритм работы ЦВМ

В алгоритме управления используются операции вычитания чисел, сложения и умножения на вещественные коэффициенты а0, а1 и а2. Для реализации вычитания следует использовать операцию сложения чисел с использованием дополнительного кода. Умножение целого числа на вещественное можно реализовать следующим образом:

. Производится беззнаковое умножение модуля числа на целую часть коэффициента.

. Производится беззнаковое умножение модуля числа на дробную часть коэффициента.

. Сложение целой части результата с дробной.

Схема алгоритма подпрограммы умножения представлена на рис. 12.

В микроконтроллере в процессе умножения восьмиразрядных чисел получается шестнадцатиразрядный результат. Поэтому возникает необходимость сложения шестнадцатиразрядных чисел. Сложение таких чисел можно выполнить следующим образом :

) отрицательные числа представляются в дополнительном коде;

) складываются младшие байты операндов с помощью команды сложения;

) к старшему байту одного из операндов добавляется перенос от предыдущей операции;

) к результату прибавляется значение старшего байта другого операнда.

Схема алгоритма основной программы формирования управляющего кода представлена на рис 13.

алгоритм цифровой микропроцессорный

Рис. 12. Схема алгоритма подпрограммы умножения

Рис.13. Схема алгоритма основной программы

7. Разработка программы

Исходные данные


Будем проводить моделирование без учета коэффициента, вынесенного за скобку. После выполнения моделирования умножим результат на этот коэффициент.

Запишем уравнение с коэффициентами в шестнадцатеричном формате:


На вход будем подавать единичный сигнал. На первой итерации x(n)=1, x(n-1)=0, x(n-2)=0. На второй итерации значение x(n), которое было на первой итерации, запишем в x(n-2), в x(n) запишем 1. Таким образом, на второй итерации x(n)=1, x(n-1)=1, x(n-2)=0. На третьей итерации значение x(n-1),которое было на второй итерации, запишем в x(n-2), значение x(n), которое было на второй итерации, запишем в x(n-1), в x(n) запишем 1. Таким образом, на третьей итерации x(n)=1, x(n-1)=1, x(n-2)=1.

Определим, как влияет округление при переводе в 16-ричную систему счисления.

,0Аh=1,039;

,0Аh=2,039;

.

Рис. 14 Сопоставительная блок-схема цифровых САР в Simulink

Рис. 15 ЛАЧХ и ЛФЧХ разомкнутых САР (сопоставление)

Рис. 16 Переходная характеристика реальной САР.

Как видно из рисунков 15; а также рисунков 16 и 10, ошибка округления вносит некоторую погрешность, тем не менее существенных изменений в динамике переходного процесса не наблюдается.

Результаты работы программы

Результатом работы программы является значение функции. Для проверки правильности работы программы выполним ручной просчет.

На первой итерации:

x2(n)=1.0Аh·1h-2.0Аh·0h+01h·0h=1.0Аh;

Результат работы программы представлен на рис. 17.

Рис. 17. Результат выполнения программы на первой итерации

На второй итерации:

x2(n)=1.0Аh·1h-2.0Аh·1h+01h·0h= -1h;

Результат работы программы представлен на рис. 18.

Рис. 18. Результат выполнения программы на второй итерации

На третьей итерации:

x2(n)=1.02h·1h-2.02h·1h+01h·1h=0h;

Результат работы программы представлен на рис. 19.

Рис. 19. Результат выполнения программы на третьей итерации

%С5 - знак;

%С6 - значение целой части функции;

%С7 - значение дробной части функции.

Умножим на вынесенный за скобку коэффициент и получим:

итерация: 2494

итерация: -2401

итерация: 0

Текст программы

#0, 060h ;A

ldr #1, 070h ;B#2, 080h ;C#3, 090h ;D

movl %A0, 01h ;целая часть коэффициента при х[n]%A1, 0Аh ;дробная часть коэффициента при х[n]%B0, 02h ;целая часть коэффициента при х[n-1]%B1, 0Аh ;дробная часть коэффициента при х[n-1]%C0, 01h ;целая часть коэффициента при х[n-2]%C1, 00h ;дробная часть коэффициента при х[n-2]

movl %C4, 01h ;х[n-2]%B4, 01h ;х[n-1]%A4, 01h ;х[n]

movl %B7, 00h%C6, 00h%C5, 00h%C7, 00h

%D2, 01h ;маска%D3, 07h ;счетчик цикла умножения

jsr reginitial ;переход к подпрограмме инициализации регистровmultipl ;умножаем целую часть 1-го слагаемого%C5, %A6 ;сохранение целой части 1-го слагаемого%C6, %A7%A0, %A1 ;пересылаем дробную часть 1-го слагаемого в А0reginitial ;переход к подпрограмме инициализации регистровmultipl ;умножаем дробную часть 1-го слагаемого%C7, %A7 ;сохраняем результат 1-го слагаемого%C6, %A6

%A0, %B0 ;пересылаем целую часть 2-го слагаемого в А0%A1, %B1 ;пересылаем дробную часть 2-го слагаемого в А1%A4, %B4 ;пересылаем 2-й множительreginitial ;переход к подпрограмме инициализации регистровmultipl ;умножаем целую часть 2-го слагаемого%B5, %A6 ;сохранение целой части 2-го слагаемого%B6, %A7%A0, %A1 ;пересылаем дробную часть 2-го слагаемого в А0reginitial ;переход к подпрограмме инициализации регистровmultipl ;умножаем дробную часть 2-го слагаемого%B7, %A7 ;сохраняем результат 2-го слагаемого%B6, %A6

%A0, %C0 ;пересылаем целую часть 3-го слагаемого в А0%A1, %C1 ;пересылаем дробную часть 3-го слагаемого в А1%A4, %C4 ;пересылаем 3-й множительreginitial ;переход к подпрограмме инициализации регистровmultipl ;умножаем целую часть 3-го слагаемого%C0, %A6 ;сохранение целой части 3-го слагаемого%C1, %A7%A0, %A1 ;пересылаем дробную часть 3-го слагаемого в А0reginitial ;переход к подпрограмме инициализации регистровmultipl ;умножаем дробную часть 3-го слагаемого%A6, %C1 ;сохраняем результат 3-го слагаемого%A5, %C0

;переводим 2-е слагаемое в дополнительный код

cmpl %b6, 00h.+6%B7%B6%B5%B6, 01h

jnc .+1%B5, 01h

;складываем 1-е и 2-е слагаемое

add %C6, %b6.+1%C5, 01h%C5, %b5.+1%C4, 01h

;складываем результат и 3-е слагаемое%C6, %a6

jnc .+1%C5, 01h%C5, %a5

jnc .+1%C4, 01h

;переводим результат в прямой код

cmpl %C5, 00h.+4%C6, 01h.+1%C5, 01h%C6

jmp end

;подпрограмма инициализации регистров:%A3, %A4 ;пересылаем множимое%D0, %D3 ;пересылаем счетчик

movl %A6, 00h%A7, 00h

movl %D5, 00h;возврат из подпрограммы

;подпрограмма умножения:%D1, %A3 ;пересылаем множитель%D1, %D2 ;выделяем младший бит множителя.+10 ;переход если младший бит равен 0

add %A6, %D5%D5, 00h

shl %A6 ;логический сдвиг влево второго байта результата%A7, %A0 ;если младший бит=1,то прибавляем к первому байту результата множимое%A0 ;логический сдвиг влево множимого.+2 ;переход если бит С равен 1%A6, 00h ;прибаляем ко второму байту результата 0.+1 ;безусловный переход через одну команду%D5, 01h ;прибаляем к регистру %D5 1.+1%A0 ;логический сдвиг влево множимого%A3 ;логический сдвиг вправо множителя%D0, 01h ;уменьшаем значение счетчикаmultipl;возврат из подпрограммы

;конец программы:

Заключение

При выполнении курсовой работы был составлен алгоритм работы микропроцессорной системы, которая управляет технологическим процессом. Также была разработана программа (в системе команд микроконтроллера KP1878BE1), реализующая данный алгоритм.

Получены следующие результаты при x(n)=1:

-    при первом прогоне x2(n)=2494;

-       при втором прогоне x2(n)= -2401;

-       при третьем прогоне x2(n)=0.

Результаты, полученные в результате работы программы, совпадают с результатами, полученными при ручном расчете, а также с результатами, полученными в ППП "MatLab/Simulink".

Библиографический список

1.   Бесекерский В.А., Ефимов Н.Б., Зиатдинов С.И. Микропроцессорные системы автоматического управления. Л.: Машиностроение, 1988. 365 с.

2.   Методические указания по МПС МК К1878ВЕ1.

Похожие работы на - Разработка микропроцессорного устройства управления технологическим процессом

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!