Разработка микропроцессорной системы управления объектом (объект, подлежащий автоматизации – барокамера)

Страницы работы

Фрагмент текста работы

нашем случае этого не требуется, то этот вывод необходимо подключить к “земле”.

3.4 Разработка подсистемы ввода-вывода

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

·  DatD – Информация с датчика давления. Так как с этого датчика поступает сигнал напряжением -115..+10В, то этот датчик подключается через схему согласования. Эта схема преобразует входной сигнал в сигнал напряжением 0..+5В. Этот сигнал подаётся на вход встроенного АЦП AD0.

·  DatT – Информация с датчика температуры. Этот сигнал подаётся на вход встроенного АЦП AD1.

·  PultD – Задание с пульта управления требуемого давления. Сигнал подаётся на вход встроенного АЦП AD2.

·  PultT – Задание с пульта управления требуемой температуры. Сигнал подаётся на вход встроенного АЦП AD4.

·  PultTime – Задание с пульта управления времени работы устройства. Сигнал подёется на вход встроенного АЦП AD5

·  DatU – сигнал об исчезновении напряжения в сети. Подаётся на вход внешнего прерывания INT0.

·  DatK – сигнал об неисправности компрессора. Подаётся на вход порта B RB1.

·  DatN – сигнал об неисправности нагревателя. Подаётся на вход порта B RB2.

·  DatDoor – датчик закрытия дверей установки. Так как с этого датчика поступает сигнал напряжением 0..+12В, то этот датчик подключается через схему согласования. Эта схема преобразует входной сигнал в сигнал напряжением 0..+5В. Подаётся на вход порта B RB3.

·  ConDoor – сигнал управления приводом закрытия дверей. Поступает с выхода порта B RB4.

·  Attention – сигнал, зажигающий светодиод на пульте управления при возникновении какой-либо неисправности. Поступает с выхода порта B RB5.

·  SelD/T – Сигнал, задающий режим индикации (температура или давление). Подаётся на вход порта C RC0.

·  ConInd – сигнал управления схемой индикации. Поступает с выхода
 порта C RC1.

·  Ind0, Ind1, Ind2 – сигналы управления первым, вторым и третьим индикаторами соответственно. Поступает с выходов порта E RE0, RE1 и RE2.

·  ConK/N – управление компрессором и нагревателем. Для получения аналогового выходного сигнала используется схема согласования. Управление происходит с выходов порта D RD0-RD7.

·  SyncD/A – сигнал синхронизации цифро-аналогового преобразователя. Поступает с выхода порта B RB6.

·  SelK/N – сигнал выбора объекта управления (компрессор или нагреватель). Поступает с выхода порта B RB7.

Подключение микроконтроллера к внешнему устройству будем осуществлять через интерфейс RS-232. В роли ресивера-трансмиттера в микроконтроллере будет выступать USART. Приводить уровни к стандарту RS-232 будем с помощью микросхемы MAX 232.

Схема подключения микросхемы MAX 232 к микроконтроллеру показана на рисунке 4.

Рисунок 4 – Схема организации интерфейса RS 232

3.5 Разработка схем сопряжения

3.5.1 Разработка схемы сопряжения с датчиком давления

С датчика давления приходит сигнал напряжением от -115 до +10В. Для согласования этого сигнала с входными сигналами микроконтроллера применяем схему сопряжения, показанную на рисунке 5.

Рисунок 5 – Схема сопряжения с датчиком давления

В схеме сопряжения сигнал с датчика сразу подаётся на делитель напряжения R3, R4. Примем сопротивление резистора R3 равным 100 кОм. Произведем расчет резистора R2.

                                                                 (1)

Ближайшее по номиналу сопротивление резистора равно 4.3 кОм. Подсчитаем каким будет напряжение на выходе делителя при использовании резистора с данным сопротивлением.

                                                                    (2)

Исходя из этого на выходе этого делителя напряжение будет меняться в пределах от -4.74 до +0.41 В. Для “сдвига” этого напряжения в область положительных напряжений используем сумматор, собранный на операционном усилителе LM-101N.

По формулам (1) и (2) рассчитаем делитель напряжения R6, R7. Примем R6 равным 1 кОм. Тогда:

Примем R7 равным 20кОм.

После данной схемы согласования на вход микроконтроллера подаётся напряжение от 0.02 до 5.17 В, что является вполне приемлемым.

Сопротивления резисторов R2, R5,R8, R9  примем равным 1кОм.

3.5.2 Разработка схемы сопряжения с датчиком закрытых дверей

Для преобразования напряжения с датчика закрытых дверей +12В в входной сигнал микроконтроллера +5В применим делитель напряжения. Расчет произведём по формулам (1) и (2). Примем R10 равным 10кОм.

Примем R11 равным 6.8кОм.

Схема сопряжения с датчиком закрытых дверей представлена на рисунке 6.

Рисунок 6 - Схема сопряжения с датчиком закрытых дверей

3.5.3 Разработка схемы управления объектами

Схема управления компрессором и нагревателем представлена на рисунке 7.

Рисунок 7 - Схема управления компрессором и нагревателем

Информация с порта B поступает на цифро-аналоговый преобразователь TDF8712. Вход CLK служит для синхронизации ЦАП с контроллером. Далее аналоговый сигнал с выхода OUT ЦАП поступает на вход аналого-цифрового коммутатора BU4051B. В зависимости от сигнала на входе А (0 – управление компрессором, 1 – управление нагревателем) этот аналоговый сигнал поступает на выходы X0 или X1, и далее на сами устройства.

3.6 Пульт управления

На пульте управления будут находиться:

·  Кнопка «Вкл»;

·  Рукоятка задания температуры нагревателя;

·  Рукоятка задания давления в установке;

·  Рукоятка задания времени работы;

·  Светодиод-индикатор поломки установки;

·  Три светодиодных индикатора «температура/давление»;

·  Переключатель индикации температуры или давления.

Схема электрическая принципиальная пульта управления приведена на рисунке 8. Внешний вид пульта управления приведён на рисунке 9.

Рисунок 8 - Схема электрическая принципиальная пульта управления

Рисунок 9 - Внешний вид пульта управления

3.7 Разработка печатной платы

Печатная плата представлена на рисунке 10.

         

Рисунок 10 – Печатная плата

4 Разработка программного обеспечения

4.1 Алгоритм работы системы

Блок схема алгоритма работы системы управления барокамерой представлена на рисунке 11.

Рисунок 11 – Блок-схема алгоритма работы установки

4.2 Листинг программы

; Курсовой по МПС УС.

; Атрощенко С.В. ЭМ-41.

               list         p=16f874

               include  <p16f874.inc>

               org         0x00

               goto start

               org         0x04

               goto interrupts

               org         0x05

;-----------------------------------------------------------------------------;

; Начинаем писать программу.

;-----------------------------------------------------------------------------;

start

               ; Инициализация порта А как АЦП.

               bsf         STATUS,RP0

               movlw  b'00000010'         ; Порт А - АЦП, порт Е - цифровые выходы.   

               movwf  ADCON1            

               bcf         STATUS,RP0

               movlw  b'00000001'         ; Включаем АЦП.

               movwf  ADCON0

               ; Обнуляем порты.

               bcf         STATUS,RP0

               clrf         PORTB               

               clrf         PORTC

               clrf         PORTD

               clrf         PORTE

               ; Инициализация портов.

               bsf         STATUS,RP0

               movlw   b'00001111'       

               movwf   TRISB

               movlw   b'10111111'

               movwf   TRISC

               movlw   b'00000000'

               movwf   TRISD

               movlw   b'00000000'

               movwf   TRISE

;              Инициализация подсистемы прерываний.

               movlw   b'10110000'       

               movwf   INTCON

               bsf         STATUS,RP0

               movlw   b'00101000'

               movwf   PIE1

;              Инициализация USART.

               bsf STATUS,RP0

               movlw   b'10000100'       

               movwf   TXSTA 

               movlw   b'10000001'       

               movwf   SPBRG                 ; Установка скорости обмена 9600 бит/с.

               bcf         STATUS,RP0

               movlw   b'10110000'

               movwf   RCSTA

;              Инициализация таймера TMR0.

               movlw   b'10000111'       

               movwf   OPTION_REG

               clrw

               movwf TMR0

;              Инициализация SSP.

               bsf STATUS,RP0

               movlw b'00011000'

               movwf SSPSTAT

               bcf STATUS,RP0

               movlw b'00111000'

               movwf SSPCON

;-----------------------------------------------------------------------------;

;обьявляем переменные.

;-----------------------------------------------------------------------------;

Temp                    equ 0x20             ; Требуемая температура.

Time                     equ 0x21             ; Требуемое время работы.

Davl                     equ 0x22             ; Требуемое давление.

NowTemp           equ 0x23             ; Текущая температура.

NowDavl             equ 0x24             ; Текущая давление.

Ind                        equ 0x25             ; Данные для выдачи на индикатор.

Tmp                      equ 0x26             ; Временная переменная.

NowTime            equ 0x27             ; Текущая время.

Err                        equ 0x28             ; Флаги ошибок.

Addr                     equ 0x29

tmr1                      equ 0x2A

tmr2                      equ 0x2B

akk                       equ 0x2D

AdrRead              equ 0x2E

               clrw

               movwf Err

               movwf Addr

               movlw 0xFF

               movwf tmr1

               movlw 0x12

               movwf tmr2

;-----------------------------------------------------------------------------;

;основная программа.

;-----------------------------------------------------------------------------;

               bcf         STATUS,RP0

               bsf PORTB,4       ; Закрываем дверь.

               call ReadPult      ; Считывание данных с пульта управления.

               btfss PORTB, 3   ; Проверяем, закрыта ли дверь установки.

               goto Attention ;

Begin

               call ReadData     ; Считывание данных с датчиков.

               bcf PORTB,7      ; Будем управлять нагревателем.

               movf NowTemp,0

               subwf Temp,0

               btfsc STATUS,C ; Если достигнута нужная температура, выдача в порт

Похожие материалы

Информация о работе