РГР № 2. Разработать программу автоматического регулирования

Напряжения

4.1 Задание к расчетно – графической работе №2

Включение регулятора на повышение напряжения осуществляется с выхода одного из разрядов PORTC (таблица 2, номер задания), а включение регулятора на снижение напряжения также с одного из разрядов PORTC (таблица 2, номер задания). Значение напряжения поступает с аналогового входа 1 (рисунок 4) на разряд 0 PORTA и далее АЦП преобразует его в двоичное значение. Значение напряжения изменяется вручную корректором до величины Umin<Utek<Umax. Значения Umin и Umax выбираются из таблицы 2 по номеру задания. Направление изменения корректора опреде-ляется по загоранию лампочки «увеличить (+)» или «уменьшить (-)» на соответствующем разряде PORTC из задания. Исходное значение корректора Uкор выбирается из задания. Оно указано в значениях лимба корректора. Количество циклов Sch_in для таймера выбирается также из задания.

Исходные данные для выполнения РГР № 3 выбираются по номеру студента в списке подгруппы.

Для определения направления изменения значения корректора от первоначально заданного необходимо пользоваться таблицей 2. В ней приведены значения в двоичном виде преобразованных положений корректора. Если исходное значение корректора меньше диапазона Umin>Uкор<Umax, то надо увеличить это значение, если оно больше Umin<Uкор>Umax, то надо его уменьшить.

Таблица 2 – Двоичные значения корректора

Положение корректора Двоичное значение после АЦП
4,5
4,0
3,5
3,0
2,5
2,0
1,5
1,0
0,5

Таблица 3- исходные данные для РГР № 2

№ варианта Umin Umax Sch_in Uкор (+) (-)
3,5
2,5
2,0
1,5
1,0
0,5
2,0
2,5
3,0
3,5
4,0
4,5
3,5
2,5
2,0
3,0

Окно наблюдения включает регистры Umin, Utek, Umax, UMENSH, Sch_in и PORTC. В РГР включается четыре окна, снятые через PrtSc. Стартовые два окна с введенными значениями по заданию, позволяющие видеть текст программы, включая ввод заданных значений для PORTC. Корректор устанавливается в положение соответствующее заданию. Программа запускается в режиме Animate в пошаговом исполнении. Снимается окно, соответствующее текущему состоянию корректора после его преобразования в АЦП и появления двоичных данных в регистре ADRESH и перевода этого значения в регистр Utek, и когда Utek находится в диапазоне Umin<Utek<Umax после ручного изменения значения корректора. В этом состоянии в PORTC все биты равны 0.

Методические указания к изучению теоретических вопросов

РГР №2

Для имитации регулируемого напряжения используется значение напряжения, которое на УМК-7 можно снять с гнезда корректора (рисунок 6). Это напряжение поступает на бит RA0 PORTA . Это значение в соответ-ствии с алгоритмом программы АЦП микроконтроллера превращает в цифровое значение. Для обеспечения необходимой паузы на завершение этого преобразования используется таймер TMR0. Как только таймер переполнится, появится флаг на бите T0IF регистра INTCON. После этого АЦП готово преобразовать новое значение аналогового сигнала и выдать его в регистр ADRESH. Если это значение меньше минимально допустимого Umin, то выдается на заданный бит PORTC сигнал на включение регулятора напряжения в сторону повышения напряжения. Эту операцию выполняют вручную воздействием на корректор УМК-7. Когда напряжения окажется в допустимом диапазоне Umin<Utek<Umax, на биты регулирования PORTC выдается 0. Лампы гаснут.

Пример выполнения РГР №2

Собрать схему соединений на УМК-7 в соответствии с рисунком 4.

РГР № 2. Разработать программу автоматического регулирования - student2.ru

Рисунок 6 – Схема соединений на УМК-7 для РГР №2

Программа РГР2

include "p16F877A.inc"

Umin EQU h'40'

Umax EQU h'41

Utek QU h'42'

UMENSH EQU h'43'

Sch_in EQU h'44'; счетчик внутреннего цикла задержки.

org h'00'

nop

nop

nop

org h'05'

clrf STATUS

clrf PORTC ; Очистка регистра порта С

movlw B'01000001' ; Включение АЦП. Частота Fosc/8

movwf ADCON0

bsf STATUS,5

movlw B'00000111'

movwf TRISA;биты 0-2 порта А на ввод

;movlw B'00001111'

;movwf TRISB ;настроить ,биты 0-3 PORTB на ввод

;clrf TRISD ;настроить PORTD на вывод

clrf TRISC ;настроить PORTC на вывод

movlw B'10000111' ;Установка предделителя перед TMR0

movwf OPTION_REG ; Запуск TMR0 с коэфф-ентом деления 1:256

movlw B'00001110'

movwf ADCON1 ; Настройка АЦП – левое выравнивание ,аналоговый ;канал RA0

bcf STATUS,5

;movlw B'00000111'

;movwf PORTD

Main

btfss INTCON,T0IF ; Ждать переполнения TMR0

goto Main

bcf INTCON,T0IF ;Сбросить флаг прерывания от TMR0

bsf ADCON0,GO ; Запуск АЦП

Wait

btfss PIR1,ADIF ; Ждать окончания преобразования, когда ADIF =1

goto Wait

movf ADRESH,W ;Вывод результата преобразования

bcf STATUS,C

movwf Utek

movf Umax,W

movwf UMENSH

movf Utek,W

subwf UMENSH,f; Umax - Utek

btfss STATUS,C; Если С=0, то Utek больше Umax-надо уменьшить

;напряжение, если С=1, то надо проверить Umin - Utek

call UMEN

movf Umin,W

movwf UMENSH

movf Utek,W

subwf UMENSH,f; Umin - Utek

btfss STATUS,C; Если С=0, то Utek больше Umin, напряжение

;находится в допустимом диапазоне отклонений и его менять не надо

call NORMA

call UVEL

goto$

UMEN

movlw b'00000001'

movwf PORTC

call Timer

goto Main

return

UVEL

movlw b'10000000'

movwf PORTC

call Timer

goto Main

return

NORMA

movlw b'00000000'

movwf PORTC

call Timer

goto Main

return

Timer

movlw D'2'; только для отладки, далее из задания

movwf Sch_in; устанавливаем значение внутреннего счетчика.

N_in

decf Sch_in,F; уменьшаем значение счетчика Sch_in на 1.

btfss STATUS,Z; если счетчик Sch_in обнулился, пропускаем GOTO.

goto N_in; срабатывает только при Z=0

return

end

На рисунках 6- 9 приведены PrtSc для данного примера.

РГР № 2. Разработать программу автоматического регулирования - student2.ru

Рисунок 6 – Стартовое окно 1 с текстом программы

РГР № 2. Разработать программу автоматического регулирования - student2.ru

Рисунок 7 – Стартовое окно 2 программы с текстом программы и заданиями

РГР № 2. Разработать программу автоматического регулирования - student2.ru

Рисунок 8 – Включение регулятора в сторону увеличения напряжения на бите 7 PORTC в соответствии с заданным Uкор

РГР № 2. Разработать программу автоматического регулирования - student2.ru

Рисунок 9 – Напряжение введено в допустимый диапазон. Сигналы на регулятор напряжения на PORTC отсутствуют

Список литературы

1. Погребинский М.П. Микропроцессорные системы управления электротехническими установками. –М.: МЭИ, 2003.

2. Информатика. Базовый курс. Учебное пособие для вузов под ред. Симоновича С.В., - СПб.: Питер, 2003.

3. Сайт в Internet www.microchip.ru.

4. Катцен С. PIC микроконтроллеры. Все, что необходимо вам знать. –М.: Додека, 2008.

5. Копесбаева А.А. Микропроцессорные комплексы в системах управления. Учебное пособие. Алматы. АИЭС, 2010.

6. Кохц Дитер. Измерение, управление с помощью PIC-контроллеров. Киев: Наукова думка. 2007.

7. Заец Н.И. Радиолюбительские конструкции на PIC. –М.: Солон, 2003.

8. Яценков В.С. Микроконтроллеры Microchip. Практическое руководство. – 2 –е изд. исп. и допол. – М.: Горячая линия – Телеком, 2005.

9. Фрунзе А.В., Фрунзе М.А. Микроконтроллеры? Это же просто. М.: ООО ИД СКИМЕН, 2003.

10. Дьяков А.Ф., Овчаренко Н.И. Микропроцессорная релейная защита и автоматика электроэнергетических систем. М.: - Издательство МЭИ, 2000.

11. Однокристальные 8-разрядные FLASH CMOS микроконтроллеры компании Microchip Technology Incorporatid. ООО «Микро-Чип», Москва-2002

Наши рекомендации