Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kharakhnin / ПОСОБИЕ_Харахнин.doc
Скачиваний:
274
Добавлен:
08.03.2016
Размер:
17.89 Mб
Скачать

5.5. Построение ацп с использованием цап

Используя микросхему ЦАП, можно построить программный АЦП, характеризующийся высоким быстродействием и более дешевой реализацией в сравнении с аппаратным аналого-цифровым преобразователем. Рассмотрим работу схемы на рис.64. Выход ЦАП (UЦАП) подключается к входу компаратора К554СА3 (устройство для сравнения двух аналоговых сигналов). На второй вход компаратора подается сигнал с выхода аналогового датчика UДАТ. Выход компаратора через ограничитель-формирователь сигнала (резистор и стабилитрон), который преобразует выходной сигнал в уровни 0 – 5 В, и ключ на транзисторе подключен к разряду Р3.2 порта Р3. Условия работы компаратора следующие: при UДАТ > UЦАП UВЫХ.КОМ. = 0, при UДАТ < UЦАП UВЫХ.КОМ. = 1. Однокристальный МК в порте ЦАП программным путем должен перебирать коды, в результате UЦАП будет линейно нарастать от нуля до 10В. При выполнении условия UДАТ < UЦАП напряжение на выходе компаратора будет равно UВЫХ.КОМ. = 1. Пока на выходе компаратора нулевой уровень, транзистор закрыт и в разряде Р3.2 выставлен единичный уровень. Как только UДАТ < UЦАП , UВЫХ.КОМ. = 1 , разряд Р3.2 = 0. Рассмотрим работу программы.

Рис. 64. Аналого-цифровой преобразователь с применением ЦАП

<1> CAP EQU P0 ; Обозначение порта Р0

<2> KOMP BIT P3.2 ; Обозначение бита компаратора

<3>ACP: CLR A ; Обнуление аккумулятора

<4> MOV R1,#00 ; Начало перебора с кода 00Н

<5>CHANGE:MOV CAP,R1 ; Код в ЦАП

<6> JNB KOMP, WRITE_OZU ; Проверка бита компаратора

<7> INC R1 ; Инкремент кода ЦАП

<8> CJNE R1,#0FFH,CHANGE ; Сравнение с FFH

<9> JMP ACP ;

<10>WRITE_OZU:MOV 20H,CAP ; Запись в 20Н ячейку ОЗУ кода аналогового сигнала

<11> JMP ACP ;

<12> RET

В программе использован программный опрос бита компаратора на шаге 6 подпрограммы. В случае, если Р3.2  0, инкремент кода ЦАП продолжается (шаг 7), в противном случае выполняется запись идентифицированного кода в ОЗУ.

З а д а н и е д л я с а м о с т о я т е л ь н о й р а б о т ы

Разработайте программу для работы АЦП с использованием ЦАП, работающего в режиме прерываний.

5.6. Микропроцессорный контроллер как управляющее устройство в системах автоматического регулирования

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

Таким образом, в цифровой системе управления встает вопрос о выборе периода времени с момента оцифровки регулируемого параметра и выработки аналогового управляющего сигнала. Этот интервал называется периодом квантования. Чем меньше период квантования, тем ближе по своим свойствам цифровая система к непрерывной системе. Уменьшение периода квантования ограничивается аппаратными и временными характеристиками контроллера. Значительное время квантования может привести к тому, что система окажется не устойчивой.

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

В качестве объекта управления выступает электродвигатель постоянного тока, регулируемый параметр – угловая скорость вращения вала (t).

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

УВХ – устройство выборки и хранения, предназначено для поддержания неизменным напряжения на входе АЦП на время преобразования аналогового сигнала в цифровой. УВХ представляет собой одновременно и квантователь, поскольку имеет в своем составе электронный ключ. По прерыванию от таймера однокристального МК этот ключ будет замыкаться и размыкаться.

АЦП – аналого-цифровой преобразователь, выполняет преобразование аналогового сигнала в цифровой.

Клавиатура позволяет оператору установить заданное значение скорости вращения вала электродвигателя ЗАД.

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

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

ЦАП – цифроаналоговый преобразователь, преобразует цифровые сигналы управления в аналоговые.

УМ – тиристорный усилитель мощности, предназначен для усиления сигнала ЦАП до необходимого уровня напряжения якорной обмотки электродвигателя постоянного тока UЯ (как правило, УМ усиливает напряжение на входе от 0 до 10 В в напряжение, изменяющееся от 0 до 220 В). При разработке цифровой системы управления встает вопрос о выборе периода квантования. Речь идет о минимальной частоте квантования, при которой информация о непрерывном сигнале может быть полностью восстановлена. Согласно импульсной теореме (теорема Котельникова ) для точного представления аналогового сигнала необходимо иметь частоту квантования, которая более чем в 2 раза превышает частоту входного сигнала.

О

(5.10)

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

На входе микропроцессорного контроллера действует дискретный сигнал отклонения Е(кТ) , где к = 0,1,2………, Т – период квантования. Сигнал на выходе контроллера обозначим U(кТ).

При П - законе регулирования однокристальный МК должен формировать управляющее воздействие согласно выражению

(5.11)

где КП – коэффициент П - регулятора.

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

(5.12)

И

(5.13)

нтеграл в последнем выражении может быть записан в виде

гдеt0 – начальный момент времени; x(t0) – начальное значение x(t).

Для вычисления интеграла используем метод трапеций и положим, что

(5.14)

Тогда определенный интеграл запишется как

д

(5.15)

ляk = 1,2 ……….

Следовательно, значение интеграла в последнем выражении для t = к∙Т может быть вычислено по задаваемой скорости ЗАД и значениям (к∙Т) и [(к-1)∙Т]. Однако в действительности процессору требуется конечное время для вычисления интеграла, поэтому, задавая входные данные [(к-1)∙Т] и (к∙Т), мы не получим результата вычисления интеграла в момент t = k∙T. Для нахождения временной задержки следует просуммировать все временные интервалы, требуемые для выполнения процессором подпрограммы интегрирования. Для удобства положим, что временная задержка на вычисления равна одному периоду квантования Т. Это означает, что правая часть выражения (5.15) определяет результат вычисления интеграла в момент t = ( k+1)∙T. Следовательно, выражение (5.13) преобразуется к виду

(5.16)

В качестве начального значения х(t) используется x(k∙T), а не x[(k-1)∙T]. Подставив последнее выражение в интеграл, получим дискретную форму выражения управляющего воздействия U(t):

(5.17)

Это управляющее воздействие прикладывается к системе с двигателем постоянного тока при t = (k+1)∙T, k = 0,1,2 …….. Управление изменяется каждые Т секунд и остается постоянным между моментами замыкания квантователя. Рассмотрим представленные ниже функциональную схему реализации цифрового ПИ - регулятора и программу. Для управления АЦП (рис.66) используются разряды МК: Р2.0 запускает на преобразование и стирает информацию в регистре АЦП; Р2.1 ожидает момента готовности данных. Разряд Р2.2 замыкает и размыкает электронный ключ схемы выборки и хранения УВХ, причем происходит это по прерыванию от таймера. Время, через которое происходит прерывание, определяет период квантования. Заданное значение скорости вращения вала хранится в ячейке Wzad.

Рис. 66. Функциональная схема реализации цифрового ПИ – регулятора скорости вращения вала электродвигателя постоянного тока

<1> CAP EQU P0 ;Обозначение порта Р0

<2> ACP EQU P1 ; Обозначение порта Р1

<3> UVH BIT P2.2 ; Обозначение разряда управляющего УВХ

<4> RAIDY BIT P2.1 ; Обозначение бита готовности данных

<5> G/P BIT P2.0; Обозначение бита “гашение/преобразование”

<6> Wzad EQU 30H ; Заданное значение скорости

<7> Kp EQU 31H ; Коэффициент пропорциональности

<8> Ki EQU 32H ; Интегральный коэффициент

<9> Wold EQU 33H ; Старое значение скорости

<10> Xold EQU 34H ; Старое значение интеграла

<11> T EQU 35H ; Период квантования

<12> U EQU 36H ; Управляющее воздействие

<13> ORG 0000H

<14> JMP START ; Переход на настройку системы

<15> ORG 000BH ;

<16> JMP INT_T0;Вектор прерывания по переполнению таймера 0

<17>START: MOV IE,#0FH ; Разрешение прерываний при перепол-

<18> SETB EA ;нении таймера 1

<19> MOV TMOD,#00000001B; Настройка T/C0 в режим 1

<20> SETB TR0 ;Включение таймера

<21> MOV P0,#00 ; Обнуление порта ЦАП

<22> MOV R0,#00

<23>MAIN: ;Блок основной программы

<24> JMP MAIN

<25>INT_T0: INC R0 ;Подпрограмма обслуживания прерывания при

<26> CJNE R0,#15,END_INT ;переполнении регистра таймера 1

<27> PUSH ACC ; Сохранение в стеке содержимого А

<28> CLR TR0 ; Останов таймера

<29> MOV CAP,U ;Высылка управляющего воздействия в ЦАП

<30> SETB UVH ; Замыкание ключа УВХ, заряд конденсатора

<31> NOP ;

<32> CLR UVH ; Размыкание ключа УВХ

<33> CLR G/P ; Запуск АЦП

<34>WAIT_DATA:JB RAIDY,WAIT_DATA; Ожидание готовности

<35> MOV A,ACP ; Получили W(k∙T)

<36> MOV R5,A ;

<37> MOV A,Wzad ;

<38> SUBB A,R5 ; Вычислить разность Wzad - W(kT)

<39> MOV B,Kp ;

<40> MUL AB ; Вычислить Kп∙(Wzad - W(k∙T))

<41> MOV R3,A ; Сохранить Kп∙(Wzad - W(k∙T)) в R3

<42> MOV A,Wold ; Загрузить старое значение (Wold) W((k-1)∙T)

<43> MOV R4,A ; T∙[W(k∙T)+W(k-1)∙T]/2

<44> MOV Wold,R5; Заменить загруженное значение последним

<45> ADD A,R4 ; Вычислить W(kT)+ W((k-1)∙T)

<46> MOV B,T ;

<47> MUL AB ;Вычислить T∙[W(k∙T)+W(k-1)∙T]

<48> MOV B,#02

<49> DIV AB ;Вычислить

<50> MOV R6,A ;Сохранить T∙[W(k∙T)+W(k-1)∙T]/2 в R6

<51> MOV A,Wzad ;

<52> MOV B,T ;

<53> MUL AB ; Вычислить Wzad∙T

<54> SUBB A,R6 ; Вычислить Wzad∙T - T∙ [W(k∙T)+W(k-1) ∙T]/2

<55> MOV R7,A ;

<56> MOV A,Xold ;

<57>ADD A,R7;Вычислить Wzad∙T-T∙[W(k∙T)+W(k-1)∙T]/2+x(k∙T)

<58> MOV Xold,A ;Заменить значение x(k∙T) новым x((k+1)∙T)

<59> MOV B,Ki ;

<60> MUL AB ;Вычислить Ki∙x∙((k+1)∙T)

<61> ADD A,R3; Вычислить U((k+1)∙T)=Kп∙(Wzad-W(k∙T))+x((k+1)∙T)

<62> MOV U,A ;

<63> MOV R0,#00 ; Обнуление счетчика переполнений

<64> POP ACC ; Восстановление значения А из стека

<65> SETB TR0 ; Включение таймера

<66> SETB G/P ; Стирание информации в регистре АЦП

<67>END_INT: RETI ;

В разработанной программе управляющее воздействие U на тиристорный блок мощности выдается один раз в секунду. Таким образом, контроллер может в блоке MAIN выполнять какие-то действия (шаги 23 и 24) в течение одной секунды. Затем наступает переполнение и начинается подпрограмма обслуживания прерывания, в которой вначале проверяется, было ли 15 переполнений (шаг 26), что соответствует 1 секунде. Если не было такого количества переполнений, то происходит выход из прерывания (шаг 67). Если одна секунда прошла, то выполняется запуск АЦП и расчет управляющего воздействия (шаги с 27 по 66).

З а д а н и е д л я с а м о с т о я т е л ь н о й р а б о т ы

  1. Переработайте программу с учетом возникновения запроса на прерывание при готовности АЦП ( выход RAD АЦП подключите к разряду Р3.2 МК ).

  2. Переработайте программу для регулирующего устройства с П - законом регулирования.