Микропроцессорная система коррекции режимов работы двигателя внутреннего сгорания (Проектная часть дипломного проекта), страница 3

2.  сохранение “текущего времени системы” (значения всех разрядов таймера-счетчика) для отсчета длительности сигналов;

3.  настройка флагов, относящихся к коррекции сигнала “зажигание”;

4.  переопределение настройки фронта прерывания по данном выводе порта.

По положительному перепаду сигнала

1.  вычисление длительности сигнала “зажигание”;

2.  переопределение настройки фронта прерывания по данном выводе порта.

Формирование выходного сигнала производится только после отрицательного перепада сигнала “зажигание”. Только после приема этого сигнала и окончания формирования выходного скорректированного сигнала “зажигание”, система переходит на вычисление коррекции.

Обработчик также анализирует входной сигнал разрешения коррекции (ножка RA4), - если этот сигнал равен “0”, сразу же следует окончание формирования импульса “зажигание”, т. е. выходной импульс повторяет входной.

Обработчик прерывания на выводе RB5 вычисляет длительность входного сигнала “топливо”, настраивает регистр флагов для вычисления значения коррекции,  устанавливает окончание формирования скорректированного импульса (путем прибавления текущего значения времени к скорректированной длительности сигнала “топливо”). Аналогично обработчику прерывания от вывода RB0,  анализирует сигнал разрешения коррекции  и заканчивает формирование выходного импульса.

Любой вход в прерывание системы сопровождается программным сохранением рабочего регистра и регистра статуса, т.к. 1) все прерывания асинхронные по отношению к работе программы; 2) в микроконтроллере не предусмотрено аппаратное сохранение регистров при входе в прерывание; 3) все подпрограммы используют одинаковы набор регистров, поэтому без сохранения текущего значения некоторых (самых необходимых) из них нельзя гарантировать истинность данных при возврате из прерывания.

Для повышения скорости вычисления значений коррекций сигналов, шаг коррекции выбран как:

1.  Период сигнала “зажигание” равен 180° п.к.в.; полученное операцией деления на 128 значения периода (0.78125% периода) численно равно длительности 1,40625° п.к.в.

2.  Длительность сигнала “топливо” делится на 128 (получаем 0.78125% длительности).

После получения константы коррекции вместо сложной подпрограммы умножения реализуется цикл увеличения (уменьшения) на шаг коррекции в количестве раз, равному константе коррекции. Для констант коррекции больших 10 этот метод оказывается менее эффективным, чем умножение и последующее сложение, однако до 10 этот алгоритм превосходит по скорости алгоритм умножения.  

Основные характеристики системы:

1.  количество интервалов коррекции для каждого сигнала (“топливо” и “зажигание”)                                                                              -         32

2.  шаг коррекции для сигнала “зажигание”                              -         1,40625° п.к.в.

3.  шаг изменения коррекции для сигнала “топливо”     -         0.78125% длительности сигнала “топливо”

4.  количество алгоритмов коррекции сигнала “зажигание”    -         2

5.  количество алгоритмов коррекции для сигнала “топливо” -         2

Рис. 2.4 Процесс коррекции угла опережения зажигания при помощи адаптивной системы

Применение данного устройства для управления работой ДВС с электронным впрыском топлива позволяет в широких пределах изменять качественный состав рабочей смеси без ущерба двигателю, поскольку, во всем диапазоне регулирования протекание процесса горения остается близко к оптимальному.

На рис.2.4 приведен график работы адаптивной системы.

На рис. 2.5 и рис.2.6 приведены результаты тестирования системы. Коррекция угла опережения зажигания на всем диапазоне частоты вращения коленвала задана на 4.21875 ° п.к.в. в сторону увеличения угла опережения. Коррекция сигнала впрыска топлива - синхронный впрыск, увеличение на 10% длительности на всем интервале коррекции. Характеристика №1 соответствует исходной (сигнал блока управления двигателем).