
- •Глава 2. Разработка блока защиты двигателя.
- •2.1 Техническое задание на разработку.
- •2.2 Разработка структурной схемы.
- •2.2.1 Выбор и анализ базиса исполнения блока.
- •2.2.2 Разработка структурной схемы блока.
- •2.2.3 Разработка функциональной схемы блока.
- •2.2.3.1 Каналы ввода аналоговых и дискретных сигналов.
- •2.2.3.2 Канал ввода частотных сигналов.
- •2.2.3.3 Канал вывода дискретных сигналов.
- •2.3 Разработка модуля ип/асвк.
- •2.3.1 Требования к модулю ип/асвк.
- •2.3.2 Выбор и анализ базиса исполнения модуля ип/асвк.
- •2.3.2 Разработка принципиальной схемы модуля ип/асвк.
- •2.3.3 Разработка печатной платы и сборочного чертежа модуля ип/асвк.
- •2.3.4 Разработка алгоритма функционирования и программного обеспечения модуля ип/асвк.
- •2.4 Реализация блока защиты двигателя бзд-03.
- •2.4.1 Разработка принципиальной схемы блока бзд-03.
- •Разработка схемы соединений.
- •2.5 Разработка конструкции блока защиты двигателя бзд-03.
- •2.5.1 Требования к конструкции.
- •2.5.2 Разработка конструктивного исполнения блока защиты двигателя бзд-03.
- •2.6 Расчет надежностных характеристик блока защиты двигателя бзд-03.
- •2.6.1 Методика расчета.
- •2.6.2 Расчет надежностных характеристик модуля ип/асвк.
- •2.6.3 Расчет надежностных характеристик блока защиты двигателя бзд-03.
- •2.6.3.1 Расчет времени наработки на отказ сигнала «закрыть ск»
- •2.6.3.2 Определение средней наработки на ложное срабатывание сигнала “закрыть ск”.
- •2.7 Расчет времени реакции блока защиты двигателя бзд-03.
- •2.7.1 Расчет задержки по каналу измерения температуры.
- •2.7.2 Расчет задержки по каналу измерения давления.
- •2.7.3 Расчет задержки по каналу измерения частоты.
2.3.4 Разработка алгоритма функционирования и программного обеспечения модуля ип/асвк.
Программно-аппаратным блоком модуля ИП/АСВК является микроконтроллер AT90S2313.
Микроконтроллер должен обеспечить выдачу сигнала на закрытие стопорного клапана в случае:
”зависания” центрального вычислителя системы;
падения напряжения питания ниже уровня 4.40 В.
В любом случае срабатывания аппарата системы встроенного контроля должен быть снят сигнал исправности БЗД “БЗД испр”.
Время выполнения контроллером данных функции должно быть меньше цикла работы центрального вычислителя системы. Цикл работы модуля 5066 – 20 мс, таким образом время на отработку контроллером функций должно быть менее 20 мс.
”Зависание” центрального вычислителя системы контролируется сигналом ”метка FMC”. Данный сигнал генерируется модулем центрального процессора 5066 на каждом цикле работы. Отсутствие данного сигнала сигнализирует о нарушении функционирования модуля центрального процессора.
Исправность БЗД контролируется центральным вычислителем системы. Модуль центрального процессора 5066 при правильном подключении и функционировании всех датчиков генерирует сигнал БЗД испр_0.
Формирование сигнала при падении напряжения питания ниже уровня 4.40 В осуществляется микросхемой MAX 707.
Алгоритм функционирования модуля ИП/АСВК:
На каждом цикле работы микроконтроллер следит за сигналами приходящими с модуля центрального вычислителя системы и с супервизора МАХ 707. Сигнал на закрытии е стопорного клапана генерируется при отсутствии сигнала “метка FMC” или отсутствии сигнала ”БЗД испр_0” или при наличии сигнала от супервизора.
Блок схема алгоритма работы микроконтроллера приведена на рисунке 2.
Рисунок 2. Блок-схема алгоритма работы микроконтроллера.
При программной реализации алгоритма для фиксирования прихода сигналов ”метка FMC”, сигнала от супервизора использовались внешние прерывания микроконтроллера. При приходе сигнала от супервизора генерируется прерывание INT0. По приходу этого прерывания выдается сигнал ”закрыть СК” и снимается сигнал ”БЗД испр”. При приходе сигнала ”метка FMC” запускается таймер-счетчик. Таймер-счетчик заполняется импульсами частотой равной частоте внешнего резонатора деленной на 1024. Частота внешнего резонатора – 7372800 Гц. Счетчик заполняется частотой 7200. Цикл работы микропроцессорного модуля 5066 – 20 мс. Сигнал ”закрыть ЗСК” генерируется если сигнал ”метка FMC” не пришел в течении 4-ех циклов (80 мс). За 80 мс в счетчик пройдет 576 импульсов. Счетчик имеет 8 разрядов, следовательно при предварительной записи в счетчик числа 64 он переполнится 3 раза за 80мс. Таким образом программируемый счетчик-таймер используется для проверки периодичности прихода сигнала ”метка FMC”. При приходе сигнала ”метка FMC” генерируется прерывание INT1. В процедуре обработки этого прерывания сбрасывается счетчик, в который записывается число переполнений таймера-счетчика. Инкрементирование счетчика число переполнений происходит по приходу прерывания от таймера-счетчика. В фоновом цикле идет постоянная проверка счетчика числа переполнений, если его значение превышает 3, выдается сигнал ”закрыть СК” и снимается сигнал ”БЗД испр”. Также в фоновом цикле ведется проверка наличия сигнала ”БЗД испр_0” генерируемого центральным вычислителем системы. В случае отсутствия данного сигнала снимается сигнал ”БЗД испр”. В случае прихода сигнала ”метка FMC” с периодичностью более 4-ех циклов работы процессорного модуля, наличия сигнала ”БЗД испр_0” и отсутствия сигнала от супервизора генерируется сигнал ”БЗД испр”.
Программа, реализующая данный алгоритм:
.DEF PORTB = $18; адрес порта В
.DEF DDRB = $17; регистр направления приемо-передачи порта В
.DEF PORTD = $12; адрес порта D
.DEF DDRD = $11; регистр направления приемо-передачи порта D
.DEF TCNT0 = $32; адрес счетчика-таймера 0
.DEF TCCR0 = $33; регистр управления счетчика-таймера 0
.DEF TIMSK = $39; регистр маски прерываний от таймеров-счетчиков
.DEF GIMSK = $3B; общий регистр маски прерываний
.ORG $000; прерывание от системного сброса
RJMP RESET
.ORG $001; прерывание INT0
RJMP FMC
.ORG $002; прерывание INT1
RJMP END
.ORG $003
RETI
.ORG $004
RETI
.ORG $005
RETI
.ORG $006; прерывание при переполнении таймера 0
RJMP TIMER
.ORG $007
RETI
.ORG $008
RETI
.ORG $009
RETI
.ORG $00A
RETI
FMC:
CLR R17; обнуление счетчика количества переполнений таймера
TIMER:
INC R17; увеличение счетчика на 1
LDI R16, 0B10000000
MOV TCNT0, R16; запись в таймер числа 64
LDI R16, 0B00000101
MOV TCCR0, R16; конфигурация таймера
RESET:
LDI R16, 0B11111111
MOV DDRB, R16; установка порта В на вывод
LDI R16, 0B00000000
MOV DDRD, R16; установка порта D на ввод
LDI R16, 0B11000000
MOV GIMSK, R16; маска для разрешения внешнего прерывания ;INT 0 и INT 1
LDI R16, 0B00000010
MOV TIMSK, R16; маска для разрешения прерывания таймера 0
CLR R17
LDI R16, 0B10000000
MOV TCNT0, R16
LDI R16, 0B00000101
LDI TCCR0, R16
SEI ; глобальное разрешение прерываний
BEGIN:
LDI R16, 0B00000100
CP R17, R16; проверка количества переполнений таймера-счетчика
BREQ END; переход на метку END если R16 и R17 равны
IN R19, PORTD; чтение порта D
ANDI R19, 0B00000001; выделение последнего бита порта D
BRNE END_0; переход на метку END если нет БЗД испр_0
LDI R18, 0B00000100
OUT PORTB, R18; вывод в порт В сигнала БЗД исправен
RJMP BEGIN; переход на метку BEGIN
END_0:
LDI R18, 0B00000000
OUT PORTB, R18; снятие сигнала БЗД исправен.
END:
CLI ; глобальное запрещение всех прерываний
LDI R18, 0B00010000
OUT PORTB, R18; вывод в порт В сигнала закрытие СК ;и снятие сигнала БЗД исправен.
RJMP END
Результаты, полученные при отладке программы на микроконтроллере AT90S2313, показывают, что генерация сигнала “закрыть СК” занимает 15*10-5 с, что удовлетворяет требованиям по быстродействию.