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

Автор: Пользователь скрыл имя, 20 Июня 2013 в 16:21, курсовая работа

Краткое описание

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

Оглавление

Введение…………………………………………………………………..3 стр.
1. Составление структурной схемы исполнительной системы, расчет параметров. Выбор структуры преобразователя ……………………….4 стр.
2. Построение блока сбора данных. Выбор датчиков. Потенциальное разделение. Структура аналогового ввода. Нормализация сигналов. Аналоговая фильтрация. УВХ. АЦП………………………………………………….6 стр.
3. Ввод импульсных сигналов. Подсчет скорости. Расчет обратных связей блока сбора данных на уровне цифровых кодов………………………………12 стр.
4. Блок обработки данных. Аналоговый прототип. Синтез аналоговых регуляторов………………………………………………………………..14 стр.
5. Дискретизация аналоговых прототипов регуляторов. Перерасчет входов и выходов в цифровые эквиваленты. Согласование с выходом исполнительной системы…………………………………………………………………….19 стр.
6. Ограничение тока (выходного сигнала регулятора скорости). Задатчик интенсивности процессов разгона исполнительной системы………….21 стр.
7. Моделирование системы в среде Matlab. Исследование переходных процессов в аналоговом и дискретных вариантах……………………….23 стр.
8. Разработка алгоритмов регуляторов……………………………………26стр.
9. Разработка программы регуляторов. Построение рабочей структуры микроконтроллерной системы сбора, обработки данных, формирования управляющих воздействий…………………………………………………28 стр.
Заключение…………………………………………………………………..33 стр.
Список литературы………………………………………………………….34 стр.

Файлы: 1 файл

КП МПСУ в ЭП 14вар.doc

— 520.00 Кб (Скачать)

----------

0.08 s + 1

>> Zf=c2d(Wf,0.001,'zoh')

Transfer function:

 0.01242

----------

z - 0.9876

Sampling time: 0.001

.

Представим ее в виде z – передаточной функции:

Помножим числитель  и знаменатель на z-1:

Проведя дальнейшие преобразования получим:

 

  1. Разработка программы регуляторов. Построение рабочей структуры микроконтроллерной системы сбора, обработки данных, формирования управляющих воздействий.

 

На основе алгоритма вычисления из предыдущего пункта можно составит программу управления контроллером:

В данной программе подразумевается, что любое целое число, это  дробное число с 4 – мя знаками  после запятой.

.MODEL SMALL

.STACK 64

.DATA

ICR19  EQU 453h;   Имя адресу регистра управления прерыванием PPG0/1

Ind  EQU 400h;   Имя адресу порта индикатора

PCSR0 EQU 0000 0122h;    Присвоение имен адресам регистров установки

PCSR1 EQU 0000 012Ah;   периода повторения импульсов

PCSR2 EQU 0000 0132h;    EQU – директива присвоения имени

PCSR3 EQU 0000 013Ah;

PDUT0 EQU 0000 0124h; Присвоение имен адресам регистрам установки

PDUT1 EQU 0000 012Ch; скважности импульсов

PDUT2 EQU 0000 0134h;

PDUT3 EQU 0000 013Ch;

PCNH0 EQU 0000 0126h;  Присвоение имен адресам регистров состояния PPG 

PCNH1 EQU 0000 012Eh;

PCNH2 EQU 0000 0136h;

PCNH3 EQU 0000 013Eh;

 

Port_Uz EQU 0000 0146h; Порт для ввода Uз

Port_DS EQU 0000 014Eh; Порт для ввода информации с датчика скорости

Port_DT EQU 0000 0156h; Порт для ввода информации с датчика тока

Port_OUT EQU 0000 015Eh;Порт для вывода результата работы регулятора

 

Koc DW 00520;  Задаем коэфф-т обратной связи по скорости

Kot DW 08333;  Задаем коэфф-т обратной связи по току

Kf1 DW 09876;  Задаем первый кофф-т фильтра равный 0,9876

Kf2 DW 00124;   Задаем второй кофф-т фильтра равный 0,0124

K1 DW 03000;  Задаем первый кофф-т регулятора скорости равный 0,3

K2 DW 02900;   Задаем второй кофф-т регулятора скорости равный 0,29

K3 DW 347800;   Задаем первый кофф-т регулятора тока равный 34,78

K4 DW 343500;   Задаем второй кофф-т регулятора тока равный 34,35

A DW 0;

B DW 0;

Xi DW 0;

Xi1 DW 0;

Yi DW 0;

Yi1 DW 0;

Uout_f DW 0;

Uout_f_Pred DW 0;

Uout_RS DW 0;

Uout_RS_Pred DW 0;

Uout_RT DW 0;

Uout_RT_Pred DW 0;

 

GCN20 EQU 0000 011Bh;  Присвоение имени адресу GCN20

GCN10 EQU 0000 0118h

PFR0    EQU 00000418h;  Присвоение имени адресу регистра PFR0 переключения

                    ;выводов микроконтроллера с I/O на  OCPA0…OCPA3 (PPG0…PPG3)

IRQF0  EQU  FFEF; маска сброса бита 4  PCNH0 запроса прерывания

IRQF1  EQU 0010; маска установки бита 4  PCNH0 запроса прерывания

;-------Главная программа------------------------------------------------------------------------

.CODE;  начало сегмента кода программы

MAIN PROC FAR  

START:   ;метка начала программы

       AND CCR,#0BFH ;Запретить прерывание в регистре CPU PS:CCR, бит I=0

       MOV ICR19,00h  ;установит уровень прерывания 0 (высший)      

       MOV PFR0 #0000 0000 0000 1111h ;  подключение к выходу OCPA0…OCPA3

       MOV PCNH0,#110000000100000B; Разрешен запрос прерывания бит 5=1

       MOV PCNH1,#110000000000001B; Инвертированная полярность

       MOV PCNH2,#110000000000001B; PCNH0->TK1, PCNH1->TK2, PCNH2->TK3,

       MOV PCNH3,#110000000000000B; PCNH3->TK4,нормальная полярность

       MOV PCSR0,#0063H; Ввод в регистры установки периода

       MOV PCSR1,#0063H; Период для всех ключей одинаков

       MOV PCSR2,#0063H; и равен m

       MOV PCSR3,#0063H;

       MOV GCN20,#00001111H ;Разрешение сигналов с EN0…EN3 регистра CN20

       MOV GCN10,#0011001000010000B ;Выбор источников запуска 4-х каналов PPG

       ZADAN EQU 000008h; присвоить имя ZADAN порту ввода c адресом 000008h

       MOV ILM,#07h ;установит уровень 7 в PS:ILM      

       OR CCR,#40h ; Разрешить прерывание в регистре CPU PS:CCR, бит I=1

       LOOP:  MOV Ind, #00h; Команды переключают содержимое регистра  0–>1–>0

                    MOV Ind, #01h ; Заполняют цикл не выполняя полезной работы. Ожидание

                                             ; прерывания от PPG по окончании циклов m                                       

       BRA LOOP                  ; безусловный переход

; ---------обработчик прерывания - программа управления-------------------------------------

     WARI: AND PCNH0, IRQF0;  Очистить флаг запроса прерывания  PCNH0

 

MOV CX, 10000;

 

IN AX, Port_Uz;  Берем значение Uз в ветвь обратной связи

MOV Uz, AX; предаем его из AX в переменную Uz

MOV AX, Uout_f_Pred; Отправляем предыдущее значение выхода фильтра в AX

MOV BX, Kf1; Отправляем значение первого коэффициента в BX

MUL BX;  Умножаем Uout_f_Pred*Kf1

DIV CX;

MOV DX, AX; 

MOV AX, Uz_Pred; Умножаем Uz_Pred*Kf2

MOV BX, Kf2;

MUL BX;

DIV CX;

ADD AX, DX; Uout_f_Pred*Kf1 + Uz_Pred*Kf2

MOV Uout_f, AX;  Uout_f = Uout_f_Pred*Kf1 + Uz_Pred*Kf2

MOV Uz_Pred, Uz;

 

IN AX, Port_DS;  Берем значение скорости w в ветвь обратной связи

MUL Koc;  Домнажаем это значение на Кос

DIV CX;  и делим на 10000 чтобы сохранить понятие 4 знака после запятой

SUB Uout_f, EAX; Отнимаем от значения с выхода фильтра значение w*Koc

MOV Xi, AX;

MOV A, K1;

MOV B, K2;

MOV Yi1, Uout_RS_Pred;

MOV Xi1, Uout_f_Pred;

CALL PF;

MOV Uout_f_Pred, Uout_f;

MOV Uout_RS, Yi;

 

IN AX, Port_DT;  Берем значение тока t в ветвь обратной связи

MUL Kot;  Домнажаем это значение на Коt

DIV CX;  и делим на 10000 чтобы сохранить понятие 4 знака после запятой

SUB Uout_RS, AX; Отнимаем от значения с выхода фильтра значение w*Kot

MOV Xi, AX;

MOV A, K3;

MOV B, K4;

MOV Yi1, Uout_RT_Pred;

MOV Xi1, Uout_RS_Pred;

CALL PF;

MOV Uout_RS_Pred, Uout_RS;

MOV Uout_RS_Pred, Uout_RS;

MOV Uout_RT_Pred, Uout_RT;

MOV Uout_RT, Yi;

OUT Port_OUT, Uout_RT;

           MOV  A, ZADAN; ввод задания

           SUB ZADAN, 0

           BN Obrat                       ;если ZADAN отрицательно флаг N=1, перейти к Obrat

             MOVW PDUT0,PCSR0   ; ТК1 открыт, выход прямой PDUT0=PCSR0 

              MOVW PDUT1,0h           ; ТК2 закрыт нулевым сигналом, выход обратный

              MOVW PDUT2,A           ;ТК3 переключается, выход обратный

              MOVW PDUT3,A           ; ТК4 переключается, выход прямой

              JMP OBHOD

   Obrat: MOVW PDUT0,A         ;ТК1 переключается, выход прямой PDUT0=PCSR0 

             MOVW PDUT1,A          ;ТК2 переключается, выход обратный

          MOVW PDUT2, PCSR0 ;ТК3 открыт, выход обратный

          MOVW PDUT3,0h          ;ТК4 закрыт нулевым сигналом, выход прямой

OBHOD: RETI ;  возврат из обработчика прерывания

JMP START  ; конец программы, выполнять программу с метки START

MAIN ENDP

  

PF PROC NEAR  ;Подпрограмма для вычисления ПФ по формуле Yi = Yi-1+ A*Xi - B*Xi-1

MOV AX, A;  A*Xi

MOV BX, Xi;

MUL BX;

DIV CX;

MOV BX, Yi1; Yi-1+ A*Xi

ADD AX, BX;

MOV BX, AX;

MOV DX, Xi1; B*Xi-1

MUL DX;

DIV CX;

SUB BX, AX;  Yi-1+ A*Xi - B*Xi-1

MOV Yi, BX;  Yi = Yi-1+ A*Xi - B*Xi-1

   PF ENDP

END MAIN

 

Далее приводится функциональная схема управления электроприводом.

В состав этого семейства  микроконтроллеров входит программируемый генератор импульсов на 4 или  8 каналов (в зависимости от модификации контроллера) 16-ти битовых таймеров РРG (каналы ch0…ch3 на рисунке 20).

 

Рисунок 20. Функциональная схема генератора импульсов на 4-канала PPG

 

Работу таймеров PPG поддерживают: 16-битовый перезагружаемый таймер (16-bit reload timer), который является отдельным встроенным в контроллер блоком, при симметричном управлении не используется; general control registr 20 (GCN20)-основной регистр управления, используется, чтобы включить или отключить программную активацию; disable register 0 (PDBL0) установка бит в “0”-пропускает, а в “1”-блокирует тактовые импульсы, (по умолчанию все биты регистра установлены в “0”); general control registr 10 (GCN10)–основной регистр выбора источника запуска: программного или от перезагружаемого таймера. Последние три регистра входят в состав генератора импульсов. Каждый канал PPG0…PPG3 имеет по одному внешнему выходу соответственно OCPA0…OCPA3. Развернутая функциональная схема одного канала таймера PPG приведена на рисунке 21.

Рисунок 21. Функциональная схема одного канала таймера PPG

 

Модуль 16-битового таймера PPG содержит 16-битовый счетчик обратного счета (16-bit down-counter, PDSR), предварительный настраиваемый делитель тактовой частоты (prescaler), 16-битовый регистр PCSR установки периода управляющих импульсов транзисторных ключей, 16-битовый регистр PDUT установки скважности управляющих импульсов транзисторных ключей, 16-битовый регистр PCNH управления состоянием таймера PPG. Каждый таймер PPG может быть настроен на режим работы широтно-импульсной модуляции (PWM) или режим формирования одиночных импульсов.

 

 

Заключение

 

В данной работе я составил программу регулятора скорости электродвигателя на основе тиристорного преобразователя. Была реализована программа регулятора для работы в микропроцессорной  управляющей системе. Программа была составлена на языке Assembler.

 
По выражению (7.1.8) составим программу  цифрового регулятора тока. Обозначим переменные в таблице 1:

Таблица 1. Используемые переменные.

Переменная

Хранимое значение

uprslovo

Управляющее двоичное слово 01011111: 0 – обозначение управляющего слова; 1 – автоотключение каналов портов после выхода из программы; 0 – укороченный процесс записи; 1 – тип приоритетов не установлен; 1111 – разрешена работа по всем каналам.

Portuprsl

адрес порта устройства сопряжения цифрового регулятора и объета управления

outport

адрес порта вывода управляющего сигнала  на объект управления.

inport1

адрес порта ввода управляющего воздействия.

inport2

адрес порта ввода сигнала с  датчика тока якоря двигателя

I0

Iя[nT]

Im1

Iя[(n-1)T]

dU0

∆U[nT] = Uрс[nT] – Uот[nT].

dUm1

∆U[(n-1)T] = Uрс[(n-1)T] – Uот[(n-1)T].


Программа цифрового регулятора:

 

TITLE CURRENT_REGULATOR

REGUL_SEGMENT

ASSUME CS: REGUL, DS REGUL

ORG 100H

I0 dw 0           ; резервирование памяти под переменные

Im1 dw 0       

dU0 dw 0        ; текущее входное напряжение

dUm1 dw 0     ; напряжения на предыдущих циклах

UPRSLOVO equ 01011111B       ;  загрузка управляющего слова,

                                                       ;  необходима для настройки  портов.

A dw 2888     ; задание постоянных коэффициентов

B dw 2813

K dw 10000

INPORT1 equ 301h     ; присвоение имён портам ввода/вывода

INPORT2 equ 302h

OUTPORT equ 303h

PORTUPRSL equ 304h

dUm1 equ 0        ; начальные условия

Im1 equ 0

START

OUT PORTUPRSL      ; настройка портов

LOOP

IN AX, INPORT2           ; читаем сигнал обратной связи

MOV BX, AX

IN AX, INPORT1           ; читаем сигнал задания

SUB AX, BX                  ;  вычисляем dU0

MOV dU0, AX               ;  храним dU0 для участия в след. цикле

IMUL A                          ;  (AX)¬A *dU0

IDIV K                            ;  (AX)¬A*dU0/K

MOV I0, AX                   ;  I0= - A*dU0/K

MOV AX, dUm1            ; (AX)¬dUm1

IMUL B                          ;  (AX)¬B*dUm1

IDIV K                            ;  (AX)¬B*dUm1/K

SUB I0, AX                    ;  I0= - A*dU0/K+B*dUm1/K

MOV AX, Im1                ;  (AX)¬Im1

IDIV K                            ;  (AX)¬Im1/K

SUB I0, АХ                    ;  I0= - A*dU0/K+B*dUm1/K-Im1/K

MOV AX, I0                   ; пересылка выходного сигнала в аккумулятор

OUT OUTPORT, AX     ;  вывод выходного сигнала из аккумулятора

MOV Im1, I0         ;  подготовка данных для следующего цикла

MOV dUm1, dU0

JMP LOOP             ;  безусловный переход к следующему циклу вычислений

REGUL ENDS

END START

 

12.2. Программирование регулятора скорости.

По выражению (7.2.8) составим программу  цифрового регулятора тока. Обозначим переменные в таблице 2:

Таблица 2. Используемые переменные.

Переменная

Хранимое значение

uprslovo

Управляющее двоичное слово 01011111: 0 – обозначение управляющего слова; 1 – автоотключение каналов портов после выхода из программы; 0 – укороченный процесс записи; 1 – тип приоритетов не установлен; 1111 – разрешена работа по всем каналам.

рortuprsl

адрес порта устройства сопряжения цифрового регулятора и объета управления

outport

адрес порта вывода управляющего сигнала  на объект управления.

inport1

адрес порта ввода управляющего воздействия.

inport2

адрес порта ввода сигнала с  датчика тока якоря двигателя

W0

w[nT]

Wm1

w[(n-1)T]

dU0

∆U[nT] = Uрс[nT] – Uот[nT].

dUm1

∆U[(n-1)T] = Uрс[(n-1)T] – Uот[(n-1)T].

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