Космонавтика  Декомпозиция цифровых систем 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 [ 141 ] 142 143 144 145 146 147

НИИ для t = кТ может быть вычислено по задаваемой скорости со и значениям со{кТ) и co[(fc-1) J] . Однако в действительности микропроцессору требуется конечное время для вычисления интеграла в выражении (13-4) , поэтому, задавая входные данные со[ (к - 1) Т] исо(кТ) , мы не получим результата вычисления интеграла в момент t = кТ. Для нахождения временной задержки следует просуммировать все временные интервалы, требуемые для выполнения микропроцессором подпрограммы интегрирования. Для удобства предположим, что временная задержка на вьиисления равна одному периоду квантования Т. Это означает, что правая часть выражения (13-4) определяет результат вычисления интеграла в момент Г = {к+ 1) Г. Следовательно, (13-3) преобразуется к виду

х[(к + 1)Т] = соТ - I со(кТ) -1- со [(к - 1)Т] -1- х(кТ) (13-5)

Заметим, что в качестве начального значения х (t) используется х (кТ), а не х[{к - 1)Т]. Подставляя х[ {к + 1)Т\ в интеграл (13-2) ,получим дискретную форму к (г):

и[(к + 1)Т] = К [coj - со(кТ)] + Kjx[(k + 1)Т]

(13-6)

Это управление прикладывается к системе с двигателем постоянного тока при t = (к + i)T, к = О, 1,2, .... Управление изменяется каждые Тсекунд и остается постоянным между моментами замыкания.

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


прабляющий\ сигнал

Рис. 13.2. Функциональная схема реализации дискретного ПИ-регулятора



IH BftTft Ш> и, ft LDfi WD SUB В

CflLL МЛВЕг

tluM Cfi LDfi MOLD

new B,(\

STfl UOLIi

ADD В CfiLL nlMIHEZ

мои B/fi LDfi № SUB В

LDfi MOLD fiDD В

SWi XOLD

CfiLL MULTIPLV4 fiDD С

DIUIHEZ: JM HEMTIUE CiRft Й

ВВЕСТИ иМЕбнСКТ) ЧЕРЕЗ ТОРТ BBCftfl 3

зйгрузить ufC6fti;KT> в репстр d

ЗЙГРзить ЭНЙЧЕНИЕ ОПЕййВ Б АККУМУЛЯТОР

ВЫЧИСЛИТЬ OMEGMi-OMEGft ( КТ >

ВМЗВйТЬ nOWOrpfiMtly ЬПЯ ВЫЧИСГЕНИЯ КР* < LWEC*d-0t1EGfI < КТ > :>, kd=e, 5

ЗАГРУЗИТЬ РЕЗУЛЬТАТ В РЕГИСТР С

ЗАГРУЗИТЬ ЗНАЧЕНИЕ 0MEGA<(k-1)*t> Б АККУМУЛЯТОР

ЗАГРУЗИТЬ В РЕГИСТР В

ПЕРЕСЛАТЬ П01;ЛЕЬНЕЕ ЗНАЧЕНИЕ 0t1E6A<KT>

ЗАМЕНИТЬ ЗАГРУМЕННОЕ ЗНАЧЕНИЕ OMEGA<KT> : ГОСЛЕЛНИМ ЗНАЧЕНИЕМ

: ВИЧИСЛИТЬ OMEGAi;kt>-OHEGA<<k-n*t>

. BH3BtlTb ПОЬПРОГРАМИУ ДЛЯ ВЫЧИСЛЕНИЯ t!f-<0MEGA<kt>+0MEGA<<;k-1>*t>>2, Т=1

ЗАГРУЗИТЬ РЕЗУЛЬТАТ Б РЕГИСТР В

: ЗАГРУЗИТЬ Б АККУдаЛЯТОР OMEGfiD

i вычислить cmEGAii*T-t i; OMEGA <кт;+

; +CiMEGACK-i;!f.t>>/2

i ЗАГРУЗИТЬ РЕЗУЛЬТАТ В РЕГИСТР В

ЗАГРУЗИТЬ У.<КТ> В АККУМУЛЯТОР

: ВЫЧИСЛИТЬ Ot1EGAIi*r-t*<0MEC<kt>+

+0МЕ6А(К-1 > .Т) i/2+Xi;KT>=y.< ck+l >ЖТ>

i ЗАМЕНИТЬ ЭАГРУШЕННОЕ ЗНАЧЕНИЕ Х<КТ> ЗНАЧЕНИЕМ ХССК+1> Т>

ВЫЧИСЛИТЬ К1*У.<<К+Г*т>. К1=4

; ВЫЧИСЛИТЬ и<<к+1)*т;=

i KP i;ofE iii-OME i<KT)>+Ki*;<<k+i>*t>

HEGATIUE: STC RAR RET

mLTIPLV4: uRA A RAL ORA H RAL RET DB в ВБ 25 DB e

Рис. 13.3. Программа иа языке ассемблера в системе команд Интел 8080 для реализации ПИ-регулятора



целей. Во-первых, импульс поступает на шину прерываний микропроцессора, что приводит к остановке рабочей программы и выполнению программы прерывания, которая в данном случае будет программой вывода следуюшего значения управления (к + 1)Т]. Это управление передается в ЦАП, выходной сигнал которого управляет УМ. Во-вторых, импульс времени от таймера поступает на шину управления АЦП. Этот импульс управляет устройством выборки и хранения АЦП, при этом мгновенная скорость двигателя со (?) квантуется и фиксируется в течение одного периода квантования. Затем АЦП преобразует это значение со {кТ) в N разрядов двоичного кода. Для этого процесса, как описано в гл. 2,требуется конечное время. Следовательно, АЦП должен сообщить микропроцессору через шину готовности данных о том, что дискретные данные преобразованы. Шина готовности данных может быть также соединена с шиной прерьша-ний микропроцессора. Второе прерывание приводит к тому, что в процессор вводится значение со {кТ), и он вычисляет следующее значение управления, т. е. и[{к + 1)71. После того как управление вычислено, микропроцессор ждет следующего прерьшания от таймера для вывода управления при t = (Л + 1) Г.

На рис. 13.3 приведена основная программа для реализации ПИ-регулятора в системе команд микропроцессора Интел 8080 . Для простоты положим Кр= 1/2 и / = 4, оба числа с основанием 2. Период прерывания выбран равным 1 с. Как показано на рис. 13.2, данные от АЦП представлены дискретш)1ми значениями со (г) при t = кТ, со {кТ).

Хотя в предыдущем примере бьш рассмотрен ПИ-регулятор, в общем случае не трудно ввести операцию дифференцирования, реализовав, таким образом, ПИД-регулятор. Одним из общепринятых методов численного дифференцирования является метод обратной разности.

Пусть X (?) является производной по времени функции х (?) , тогда x{t) численно может быть представлена как

(х(кТ)-х№-1)Т] (13.7)

где Т - период квантования, с.

Рассмотрение вопросов программирования микропроцессоров, приведенное ниже, имеет целью познакомить читателя с некоторыми методами, используемыми при проектировании системы прямого микропроцессорного управления. Приведенный пример показывает, что управление двигателем постоянного тока с помопдью ПИ-регулятора реализовано микропроцессорной программой. На начальной стадии решения задачи ПИ-регулятор описывается дифференциальным уравнением. Последнее записывается с применением одного из приближенных численных методов в дискретной форме для моментов выборки и затем программируется на языке микропроцессора. Как вариант (и это довольно распространенный случай в практике систем управления) цифровой регулятор может быть описан передаточной функцией в области z, D(z) . При подготовке программы для микропроцессора сначала необходимо преобразовать Z>(z) с помощью одного из методов, рассмотренных в гл.4. Затем микропроцессорная программа может быгь получена из диаграммы состояния или из уравнений состояния, которые описывают цифровой регулятор.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 [ 141 ] 142 143 144 145 146 147