РГР № 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.
Рисунок 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 для данного примера.
Рисунок 6 – Стартовое окно 1 с текстом программы
Рисунок 7 – Стартовое окно 2 программы с текстом программы и заданиями
Рисунок 8 – Включение регулятора в сторону увеличения напряжения на бите 7 PORTC в соответствии с заданным Uкор
Рисунок 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