Программа микроконтроллера блока управления контактором написана на языке программирования высокого уровня Си. Это позволяет, в отличие от ассемблера, с минимальными временными затратами вносить изменения в программу и переносить ее на другие микроконтроллеры. Текст программы приведен в приложении *.
Проект реализован в среде (системе) WinAVR. Используется компилятор GNUСС. Программа отлажена в среде AVRstudio. Контроллер программируется по интерфейсу ISP.
Соответствие имен функций в тексте программ и рисунков блок-схем алгоритмов представлены в табл. 7.1:
Таблица 7.1 - Имена функций в программе
Функция |
Название в тексте программы |
Блок-схема алгоритма |
Головная функция |
Main |
Рис.7.2 |
Функция расчета скважности ШИМ |
CALC_PWM |
Рис.7.3 |
Функция отключения |
OTPAD |
Рис.7.4 |
Функция обработки прерывания АЦП |
SIGNAL(ADC_vect) |
Рис.7.5 |
Функция обработки прерывания по переполнению т\с1 в режиме ШИМ |
SIGNAL(TIMER1_OVF_vect) |
Рис.7.6 |
Алгоритм работы микроконтроллера представлен на блок-схеме (рис. 7.1).
При подаче питания на микроконтроллер, он проводит настройку периферии и открывает силовой ключ, т.е. задает скважность ШИМ - 100%. Задержка между подачей напряжения и открытием ключа составляет около 5мс.
Потом идет сбор 127 оцифровок АЦП (за время около 28мс, т.е. примерно по трем полупериодам сети), их усреднение и если напряжение больше 0,3*Uном, продолжатся режим форсажа.
Дальше сбор оцифровок и расчет уставок ШИМ продолжается пока счетчик периодов ШИМ не досчитает до 15600, что соответствует примерно 220мс. После чего режим форсажа считается законченным, меняются кол-во оцифровок АЦП для расчета среднего напряжения сети. Каждый раз при расчете уставки ШИМ происходит проверка, на спад напряжения ниже положенного.
В программе инициализирован «watchdog» - независимый таймер, который перезагружает контроллер в том случае, если основная программа зависнет и принудительно не сбросит этот таймер в течении 125мс.
Рис. 7.1 - Алгоритм работы микроконтроллера
Головная функция
Головная функция представляет собой бесконечный цикл, в котором происходит проверка флага расчета уставки ШИМ и запуск функции расчета скважности ШИМ с параметром уставки напряжения удержания.
Рис. 7.2 - Головная функция программы
Функция расчета скважности ШИМ.
Функция сначала проверяет соответствие входного напряжения положенному, в случае его несоответствия (Uвходное < 0.3*Uноминальное), происходит вызов функции отключения.
Рис. 7.3 - Функция расчета уставки ШИМ
Функция отключения
Функция отключает ШИМ и запускает бесконечный цикл с перегрузкой «watchdog».
Рис. 7.4 - Функция отключения
Функция обработки прерывания ШИМ
Функция декрементирует счетчик периодов ШИМ. При обнулении счетчика выключается прерывание ШИМ и устанавливается флаг режима удержания.
Рис. 7.5 - Функция обработки прерывания ШИМ
Другое по теме:
Вольтамперная характеристика p-n-перехода
Основными
схемными элементами в микроэлектронике являются транзисторы и диоды. На данный
момент они производятся из полупроводниковых материалов. Рассмотрим их
свойства.
По
значению удельного электрического сопротивления ...
Контроль качества конденсаторов переменной ёмкости
Функциональная электроника - это новое перспективное направление в
современной электронной базе РЭС. Устройства функциональной электроники
основаны на использовании динамических неоднородностей и физических принципов интеграци ...