Регулятор угла опережения зажигания на PIC16F84 » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки
Опрос

На каком языке программирования вы пишите программы?


Ассемблер
Си
Бейсик
Паскаль
Другой


Последние материалы
  • Тестовая плата для отладки программ на микроконтроллере PIC18F4550
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Электронная "Незабудка" для забывчивых
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Авто » Регулятор угла опережения зажигания на PIC16F84
    Регулятор угла опережения зажигания на PIC16F84
    Автор публикации: alex Просмотров: 18827 Добавлен: 3-09-2012, 08:16 Комментарии: 0

         В целесообразности применения электронных регуляторов угла опережения зажигания (03) на автомобиле сейчас уже почти никто не сомневается. Они позволяют существенно повысить эксплуатационную надежность системы зажигания. Анализ известных решений регулятора показывает, что они нередко довольно громоздки по схеме и не всегда устойчивы в работе. Ниже описано еще одно устройство, требующее минимума деталей и имеющее приемлемую точность отсчета угла ОЗ.
         Как известно, для поддержания оптимальных мощностных и экологических характеристик автомобильного двигателя в условиях постоянно меняющихся оборотов коленчатого вала предназначен центробежный регулятор угла 03. Это механическое устройство выполнено так, чтобы угол 03 зависел от частоты вращения вала определенным образом. Типовая характеристика центробежного регулятора двигателя ВАЗ 21213 "Нива", взятая из пособия по ремонту этого автомобиля, показана на рис. 1
    Регулятор угла опережения зажигания на PIC16F84

         По мере эксплуатации автомобиля из-за износа и ряда иных причин характеристика регулятора все более отклоняется от типовой, что приводит к ухудшению работы двигателя Гораздо стабильнее работает электронный аналог центробежного регулятора.
         Описываемый ниже электронный регулятор разработан применительно к автомобилю BA3-21213 "Нива", оборудованному бесконтактной системой зажигания с датчиком Холла. Датчик Холла вырабатывает прямоугольные импульсы скважностью, равной 3, т в длительность импульса напряжения низкого уровня равна одной трети периода, а длительность паузы (высокии уровень) — двум третям периода. Один период соответствует половине оборота коленчатого вала двигателя. Накопление энергии в катушке зажигания начинается в момент, когда от датчика Холла поступает сигнал высокого уровня, а искрообразование происходит в момент обратного перепада напряжения от высокого уровня к низкому.
         Схема регулятора представлена на рис. 2 Микроконтроллер PIC16F84A выбран для регулятора потому, что имеет широкое распространение, приемлемую стоимость возможность многократного перепрограммирования с помощью широко распространенного программатора PonyProg, доступность документации и программы отладки MPLAB Резистор R1 — нагрузка датчика Холла (выходная ступень датчика выполнена на транзисторе с открытым коллектором). Цепь R3C2 служит для предустановки контроллера DD1 при включении питания и для задержки начала его работы на некоторое время до окончания переходных процессоров в регуляторе Конденсаторы С4, С5 и кварцевый резонатор ZQ1 — элементы тактового генератора контроллера DD1. Вывод микроконтроллера RB0 запрограммирован как вход, а вывод RB1 — как выход.
    Регулятор угла опережения зажигания на PIC16F84

         На транзисторах VT1 и VT2 собраны инверторы сигнала Диоды VD2, VD3 включены по схеме элемента ИЛИ Диоды VD1, VD4 повышают четкость работы инверторов. Конденсаторы С1, С7 предназначены для защиты от помех в цепях сигнала.
         Узел питания выполнен по стандартной схеме на стабилизаторе DA1. Дроссель L1 с конденсаторами С3, С6, С8, С9 защищают устройство от помех со стороны бортовой сети автомобиля.
         Как следует из технической документации на микроконтроллер PIC16F84A, при его работе со стандартным кварцевым резонатором на частоту 4 МГц выполнение одной команды происходит за 1 мкс, за исключением команд перехода, которые в случае, если условие верно, выполняются за 2 мкс.
         При включении зажигания на выходе датчика Холла может быть как низкий, так и высокий уровень. По логике работы программы микроконтроллер в это время, а также и при работе двигателя на холостых оборотах формирует на выходе RB1 сигнал низкого уровня Этот сигнал никак не воздействует на состояние второго инвертора, так как диод VD2 закрыт. Поэтому сигнал с датчика Холла, пройдя два инвертора, попадает на блок зажигания в первоначальной фазе. В соответствии с программой на выходе RB1 сохраняется сигнал низкого уровня до того момента, когда коленчатый вал двигателя достигнет частоты вращения 1200 мин
         При дальнейшем увеличении оборотов микроконтроллер начнет формировать импульсы высокого уровня, опережающие по фазе входные, поэтому искрообразование будет происходить раньше Опережение будет тем большим, чем выше частота вращения коленчатого вала двигателя. Задача программы микроконтроллера — измерить время, в течение которого напряжение с датчика Холла соответствует низкому уровню. Это время — параметр, прямо указывающий на частоту вращения коленчатого вала в момент измерения, а значит, дающий возможность рассчитать угол опережения зажигания в соответствии с вышеприведенной характеристикой.
         В основе расчета лежит известная формула F = N/30, где F — частота искрообразования, Гц; N — частота вращения коленчатого вала, мин^-1 Если N = 1300 мин^-1, то F = 1300/30 = 43,33 Гц Период искрообразования Т = 1000000/43,33 = 23077 мкс. Далее определяют время, в течение которого сигнал от датчика Холла находится в состоянии низкого уровня (скважность определена конструктивно и близка к трем); tн = Т/3 = 23077/3 = 7692 мкс.
    Регулятор угла опережения зажигания на PIC16F84

         В программе организован счетчик с периодом повторения отсчетов 6 мкс. Счетчик начинает счет времени в момент перепада уровня на выходе датчика Холла от высокого уровня к низкому, а при обратном перепаде останавливается, досчитав до числа 7692/6 = 1282. Теперь нужно определить, на какой угол повернется коленчатый вал двигателя за 6 мкс при 1300 мин^-1. Зная, что одно искрообразование происходит при повороте коленчатого вала на 180 град., время, за которое этот поворот происходит, равно 23077 мкс при этой частоте Поэтому искомый угол поворота равен 6 180/23077 = 0,0468 град. В соответствии с заводской характеристикой центробежного регулятора угол 03 при 1300 мин^-1 должен быть равен 0,875 град.
         Для расчета угла в программе организован второй счетчик, работающий на вычитание, а период отсчетов увеличен до 13 мкс путем добавления в цикл счета команд NOP Зная число импульсов, отсчитанных первым счетчиком, равное 1282 для 1300 мин^-1, программа вычитает из этого числа 106 и запускает второй счетчик на вычитание. Число 106 задает смещение по оси Y всей линии диаграммы в пределах от 1200 до 2800 мин
         Соотношение периода повторения отсчетов первого счетчика к периоду повторения отсчетов второго определяет наклон характеристики. В пределах от 1200 до 2800 мин эти значения равны соответственно 6 и 13 мкс. При частоте вращения от 2800 до 6000 мин^-1 для уменьшения угла наклона характеристики те же значения равны соответственно 6 и 12 мкс, а число, вычитаемое из результата счета первого счетчика, равно 65 При увеличении частоты вращения сверх 6000 мин^-1 угол опережения зажигания устанавливается равным нулю, предотвращая дальнейшее неконтролируемое увеличение оборотов. Диаграмма, полученная в результате расчета в Microsoft Excel, отличается от показанной на рис. 1 в связи с тем, что угол опережения зажигания оцифрован и рассчитан в соответствии с программой работы микроконтроллера, но отличия не превышают в среднем долей процента.
         Регулятор угла 03 включают в разрыв провода, идущего от выхода датчика Холла к блоку зажигания Проводники питания датчика Холла надо оставить без изменений
         Регулятор смонтирован на печатной плате из фольгированного стеклотекстолита толщиной 1 мм, установленной в корпусе блока зажигания 95 3734. Чертеж платы изображен на рис. 3. Все детали припаяны непосредственно к печатным проводникам, без отверстий Плата двумя винтами М3 привинчена к крышке-теплоотводу блока зажигания, для чего в крышке просверлены два отверстия и нарезана резьба. Обе платы — блока зажигания и регулятора — при сборке корпуса блока будут обращены одна к другой сторонами деталей Это, во-первых, необходимо учитывать при выборе деталей регулятора и их монтаже на плату а во-вторых, потребует взаимной коррекции положения отдельных деталей на обеих платах.
         Для большей жесткости монтажа, необходимой для работы в условиях вибраций и ударов, готовую плату регулятора целесообразно окунуть в эпоксидную смолу или все детали фиксировать термоклеем. Контроллер установлен в панель, припаянную к плате (хотя для большей надежности лучше после программирования припаять его к плате непосредственно, без панели). Все соединения между платами размещают внутри корпуса блока зажигания
         Для монтажа регулятора в блок зажигания другой конструкции придется, возможно изменить форму и размеры платы, применить другие детали.
    Регулятор угла опережения зажигания на PIC16F84

         В устройстве использованы резисторы С2-23 или им подобные, конденсаторы — импортные. Транзисторы КТ503А можно заменить на любые из серий КТ503, КТ315. Диоды подойдут любые из серий КД521, КД522, КД509, КД510. Кварцевый резонатор в металлическом корпусе — импортный Микроконтроллер — PIC16F84A-04/Р.
         Стабилизатор 78L05 можно заменить любым пятивольтным. Дроссель L1 — миниатюрный, импортного производства.
         Вид одного из вариантов регулятора, установленного на крышке блока зажигания (крышка снята), показан на рис. 4
         После установки регулятора на автомобиль следует заблокировать кулачки центробежного регулятора опережения зажигания. Проще всего связать их жесткой проволокой. Прерыватель—распределитель, устанавливают в соответствии с инструкцией. Для автомобиля BA3-21213 начальный угол установки зажигания соответствует нулю градусов.
         Расчетная характеристика представлена в файле 16F84.xls. При достижении частоты вращения коленчатого вала 1200 мин микроконтроллер начинает формировать на выходе RB1 импульсы высокого уровня определенной длительности. При увеличении оборотов двигателя длительность импульсов на выводе RB1 увеличивается в соответствии с заданной характеристикой. Более подробно ознакомиться с работой программы можно, посмотрев файл 1684.asm. НЕХ-файл программы микроконтроллера представлен в таблице.
         Программа контроллера написана и отлажена с помощью пакета программ MPLAB 5.11.00. Для нормальной работы пакета необходимо поместить папку 16F84 в корневой каталог диска С. Работа регулятора тестирована с помощью программы ISIS.
    Материал взят из: Журнала Радио 2006 №3

    В архиве исходный код на ассемблере и прошивка для микроконтроллера

    reguglopzaj16f84.rar [12,95 Kb] (cкачиваний: 1244)

    Категория: Авто, PIC16
    « Назад
    Комментарии