нашем случае этого не требуется, то этот вывод необходимо подключить к “земле”.
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 ; Если достигнута нужная температура, выдача в порт
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.