УДК 62-529 Дата подачи статьи: 22.09.15
Б01: 10.15827/0236-235Х. 113.134-139
МИКРОКОНТРОЛЛЕР ДЛЯ СИСТЕМЫ НЕЧЕТКОГО РЕГУЛИРОВАНИЯ В БЕЗДАТЧИКОВОМ ВЕНТИЛЬНОМ ЭЛЕКТРОПРИВОДЕ
В.В. Льготников д.т.н.., доцент, [email protected]; Д.В. Горчаков, аспирант, [email protected] (Смоленский филиал Национального исследовательского университета МЭИ, Энергетический проезд, 1, г. Смоленск, 214013, Россия)
В статье предлагается вариант реализации системы бездатчикового управления вентильным двигателем на базе аппарата нечеткой логики. Применение нечеткого регулятора в данном случае позволяет повысить устойчивость системы электропривода и улучшить качество регулирования. На основе результатов ряда экспериментов с моделью электропривода в среде Simulink сформирована база нечетких правил для коррекции момента коммутации фаз двигателя. В качестве входных параметров системы нечеткого регулирования используются нормированные значения частоты вращения и тока двигателя. На основе базы правил нечеткий регулятор производит коррекцию момента коммутации.
Разработаны и подробно описаны структура и алгоритм работы предлагаемой системы управления на базе микроконтроллера. Предлагается код программы для микроконтроллера, реализующий разработанный алгоритм бездат-чикового управления электроприводом. Произведен расчет минимально необходимой производительности микроконтроллера для построения разработанной системы управления. Анализ результатов расчета показывает, что для реализации предложенной системы управления подходит абсолютное большинство серийно выпускаемых промышленных микроконтроллеров. Таким образом, можно сделать вывод, что использование интеллектуализированных методов управления в бездатчиковом электроприводе при современном уровне развития вычислительной техники является более чем оправданным. Такой подход позволяет значительно улучшить качество регулирования, существенно не увеличивая при этом стоимость электропривода.
Ключевые слова: электропривод, бездатчиковое управление, противо-ЭДС, нечеткая логика, нечеткий регулятор, микроконтроллер, моделирование.
При бездатчиковом управлении вентильным электроприводом (ВЭП) особое внимание следует уделять качеству регулирования в динамических режимах, таких как приложение нагрузки или изменение сигнала задания скорости. При этом для поддержания устойчивой работы системы электроприводов (ЭП) необходимо компенсировать возрастание тока и насыщение магнитной цепи путем гибкого изменения параметров системы управ-
ления. Такая задача является трудноформализуе-мой. Для ее решения целесообразно применить метод, который позволит при неполной информации о положении ротора сформировать качественную траекторию движения привода в целом. Используем нечеткую логику [1-3] для коррекции момента коммутации.
Структурная схема предлагаемой системы представлена на рисунке 1.
Сигнал задания скорости
Регулятор скорости -1-
Блок оценки скорости
Нечеткий
регулятор
' ? '
Блок расчета
момента коммутации
Блок коммутации
Силовой преобразователь
Рис. 1. Структурная схема бездатчикового ВЭП с регулятором на базе нечеткой логики Fig. 1. A flow chart of sensorless BLDC motor drive controlled by a fuzzy logic regulator
Un^ +
Система управления включает в себя следующие элементы:
- регулятор скорости (определяет скважность импульсов напряжения на выходе силового преобразователя);
- блок оценки скорости (косвенно определяет частоту вращения ротора двигателя, анализируя последовательности импульсов управления силовым преобразователем);
- блок расчета момента коммутации (реализует алгоритм определения времени включения очередной фазы двигателя по интегралу сигнала противо-ЭДС) [4];
- блок коммутации (формирует последовательность импульсов управления силовыми ключами);
- блок определения противо-ЭДС (выполняет функцию расчета сигналов противо-ЭДС по измеряемым фазным напряжениям);
- нечеткий регулятор (вводит в систему коррекцию момента коммутации в зависимости от частоты вращения ротора и величины тока двигателя).
В качестве входных параметров системы нечеткого вывода выбраны две лингвистические переменные: нормированные значения частоты вращения и тока двигателя [5]. Выходной переменной является сигнал коррекции момента коммутации -нормированное значение по отношению к текущей продолжительности импульса управления. Так как в данной задаче имеем неопределенности типа «приблизительно равно», при задании функции принадлежности используем треугольную форму [6].
В качестве терм-множества входной переменной «частота вращения» используем терм-множество Т1={«Низкая», «Средняя», «Высокая»}.
В качестве терм-множества входной переменной «ток двигателя» используем терм-множество Т2={«Низкий», «Средний», «Большой»}.
В качестве терм-множества выходной переменной «коррекция момента коммутации» используем терм-множество Т3={«Близкая к нулю», «Слабая», «Сильная», «Очень сильная»}.
Так как выходную переменную в нашем случае удобнее задать нечеткими термами, в качестве схемы нечеткого вывода будем использовать алгоритм Мамдани [7], методом активации будет min. В качестве метода агрегирования использована операция min-конъюнкции. Для аккумуляции заключений правил использован метод тах-дизъ-юнкции, в качестве метода дефаззификации - метод центра тяжести.
База нечетких правил для регулятора формируется исходя из условия, что сигнал коррекции должен увеличиваться с ростом момента сопротивления и уменьшаться с ростом частоты вращения ротора. При этом изменение тока двигателя влияет на
уровень коррекции сильнее, чем изменение частоты вращения.
Нечеткий регулятор был синтезирован в пакете Fuzzy Logic Toolbox [8] в соответствии с составленной базой нечетких правил. Затем он был интегрирован в систему управления бездатчиковым ВЭП в среде Simulink. В ходе моделирования исследовалась работа ЭП при задании сложных траекторий движения и приложении нагрузки. Результаты моделирования показали, что разработанный регулятор хорошо справляется с поставленной задачей, а предлагаемая система управления на базе нечеткой логики обеспечивает качественную работу привода в широком диапазоне частот вращения.
Чтобы реализовать базу нечетких правил на микроконтроллере (МК), необходимо определить минимальные требования к его производительности и имеющимся аппаратным средствам. Минимальный набор аппаратных средств, необходимый для работы бездатчиковой системы управления, представлен в таблице.
Распределение аппаратных средств МК Microcontroller's hardware distribution
Таким образом, подходящий для решения поставленной задачи МК должен иметь не менее 4 каналов аналого-цифрового преобразователя (АЦП), 2 таймера общего назначения и не менее 10 свободных линий портов ввода-вывода.
Остальные функции системы управления решаются программно.
Распределение аппаратных и программных средств контроллера представлено структурой без-датчикового ВЭП с реализацией системы управления на базе МК (рис. 2).
Из структуры (рис. 2) видно, что значительная часть системы выполнена с использованием аппаратных средств МК. Это позволяет высвободить значительную часть ресурсов ядра МК для выполнения других задач (можно использовать МК с меньшей производительностью) и одновременно сократить число комплектующих системы, тем самым существенно снизив ее стоимость.
На рисунке 3 приведена блок-схема подпрограммы определения момента коммутации с коррекцией нечетким регулятором.
Задача Аппаратные средства МК
Измерение тока ЗПТ АЦП 1
Измерение сигналов противо-ЭДС E_a АЦП 2
E_b АЦП 3
E c АЦП 4
Отсчет периода интегрирования Таймер 1
Отсчет времени коррекции Таймер 2
Управление драйверами силового преобразователя 6 линий портов ввода-вывода
Рис. 2. Структура бездатчикового ВЭП с системой управления на базе МК Fig. 2. A flow chart of sensorless BLDC motor drive with a control system based on microcontroller
Алгоритм бездатчиковой коммутации обмоток вентильного двигателя
Вычисление необходимой коррекции Ткорр нечетким регулятором
Запуск процесса расчета интеграла сигнала противо-ЭДС
Процесс расчета интеграла сигнала противо-ЭДС
^ return (Ткорр) ^
Рис. 3. Блок-схема программы реализации регулятора Fig. 3. A controller implementation program flow chart
В соответствии с блок-схемой (рис. 3) на языке С реализован нечеткий регулятор. Однотипные
фрагменты программы выполняются по шаблону и в тексте не приводятся. В комментариях указаны
номера блоков в блок-схеме, соответствующие данной части программы.
Абсолютное большинство современных промышленных МК имеет на борту несколько таймеров и модулей АЦП, поэтому основным ограничивающим фактором выступает тактовая частота МК. В связи с этим определим минимальные требования к производительности МК.
Представленный на рисунке 4 фрагмент программы выполняется за 750 тактов при аппаратной поддержке МК арифметических операций с 32-разрядными данными или за 3 000 тактов на 8-разрядном МК.
Исходя из условия, что коррекция нечеткого регулятора должна быть реализована на участке перемещения ротора не больше 30 эл.град, можно утверждать, что расчет значения на выходе регулятора должен выполняться не дольше, чем за время
поворота ротора на 30 эл.град. Определим это время для двигателя с числом пар полюсов р=4 при частоте вращения п=5 000 (об./мин.).
Время поворота ротора на 360 эл.град. и на 30 эл.град:
60 60 п• р
т
= 250,0(мкс).
T
T360°
T _ 2360°.30 =
T30° 30
360
5000-4
3,0 12
_ 3,0 (мс) ;
Теперь рассчитаем минимальную тактовую частоту для 32- и 8-разрядного МК:
f
N
т32
750
т32
'30'
250 -10'
Тб _3,0 (МГц) ;
^т8
N
т8
3000
T30°
250-10
-, _12,0 (МГц) .
#defme SMALL_CORR 0x00 // 0% #defme MEDIUM_CORR 0x55 // 33.3% #define LARGE_CORR 0xAA // 66.7% #define HUGE CORR 0xFF // 100%
#define SMALL #define MEDIUM #define LARGE
0x00 // 0% 0x7F // 50% 0xFF // 100%
// Массивы параметров переменных нечеткого регулятора ит$_ 1_А^У[5], Tcorr_fuzzy[6];
Cond_true_tbl[9] = {0}; // Таблица степени истинности условий по каждому из правил
//— Определение необходимой коррекции момента коммутации ----
Аоа132_1 FuzzyCalc(float32_t £1оа132_1 w, Аоа132_ т1тр){
I_fuzzy[0] = (uint8_t) ((1*255)/1_пош); // (2) W_fuzzy[0] = (шП8_Ц (^*255)^_шш); // (2) f1oat32_t fuzzy_out = (f1oat32_t) ((FuzzyCore()/255) ^тр); (8)
return(fuzzy_out); }
// --- Реализация нечеткого регулятора ---uint8_t FuzzyCore(){ _fuzzyfication(I_fuzzy); _fuzzyfication(W_fuzzy); _aggregation(W_fuzzy, I_fuzzy, Tcorr_fuzzy); _defuzzyfication(Tcorr_fuzzy);
return(Tcorr_fuzzy[0]); }
//— Фаззификация параметра (3) — void _fuzzyfication(uint8_t* param){
//-----Степень принадлежности терму 1
if(param[0] < MEDIUM) param[2] = (MEDIUM - param[0])*2;
else
param[2] = 0;
// Степень принадлежности термам 2, 3 определяется
аналогично терму 1 }
//— Агрегирование подусловий (4) —
void _aggregation(uint8_t* in_1, uint8_t* in_2, uint8_t*
out){
Cond_true_tbl[0] = (uint8_t) ((in_1[2] + in_2[2])/2); // Степень истинности условия 1 (5)
// Степень истинности условий 2-9 определяется аналогично в соответствии с правилами нечеткого вывода
//------- Степень принадлежности терму 1 -------
if(Cond_true_tbl[0] > Cond_true_tbl[3]){ if(Cond_true_tbl[0] > Cond_true_tbl[6]) out[2] = Cond_true_tbl[0]; else
out[2] = Cond_true_tbl[6];
}
else if(Cond_true_tbl[3] > Cond_true_tbl[6]) out[2] = Cond_true_tbl[3 ]; else
out[2] = Cond_true_tbl[6];
// Степень принадлежности термам 2-4 определяется
аналогично терму 1 }
//— Дефаззификация нечеткого выхода (6-7) — void _defuzzyfication(uint8_t* out){ out[0] = (uint8_t) ((out[2] *SMALL_CORR+ +out[3] *MEDIUM_CORR+out[4] *LARGE_CORR+
+out[5] *HUGE_CORR)/ (out[2]+out[3]+out[4]+out[5]));
}
Рис. 4. Программная реализация нечеткого регулятора
Fig. 4. Fuzzy controller software implementation
Если тактовая частота МК будет ниже минимально допустимой, расчет выхода регулятора не успеет завершиться к моменту равенства нулю интеграла противо-ЭДС. Следовательно, угол открытия силового ключа не будет скорректирован. При этом эффективность работы ЭП существенно снижается.
Временная диаграмма работы программы (см. рис. 5) определяет моменты коммутации для трех различных МК (STM32F103VG, AT90PWM1, ATtiny43U) [9-11]. Из диаграммы видно, что производительности первых двух МК достаточно для реализации алгоритма (имеется запас по времени Др-0), но в случае с АТту43и функция расчета
выхода нечеткого регулятора не успевает завершиться к моменту равенства сигнала Je нулю (At<0).
Представленным требованиям соответствуют все современные 32-разрядные промышленные МК и большая часть 8-разрядных МК. Исключение составляют только чипы младших семейств (например, младшие линейки компаний Atmega (ATtiny) и Texas Instruments (MSP430F1x)).
Таким образом, можно сделать вывод, что использование интеллектуализированных методов управления в бездатчиковом ЭП при современном уровне развития вычислительной техники является более чем оправданным. Подобный подход позво-
Рис. 5. Временная диаграмма работы программы нечеткого регулирования при реализации
на различных микроконтроллерах
Fig. 5. A timing chart of a fuzzy logic program implemented on different microcontrollers
ляет значительно улучшить качество регулирования, при этом существенно не увеличивая стоимость ЭП.
Литература
1. Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. М.: Физматлит, 2001. 201 с.
2. Гончаров А.С., Поваляев В.А., Миронов С.М. Анализ современного состояния в области создания электроприводов с бездатчиковым управлением и методов построения САР в условиях ограниченной информации о векторе состояния // Электротехнические комплексы и системы управления. 2008. № 1. С. 13-16.
3. Козлов А.В., Тамер О.С. Основные направления создания электронных систем, использующих нечеткие управляющие алгоритмы // Вестн. Волжского ун-та им. В.Н. Татищева. № 17. 2011. С. 69-72.
4. Горчаков Д.В. Бездатчиковое управление вентильным
двигателем с использованием сигнала противо-ЭДС // Фундаментальные и прикладные науки сегодня. 2013. Т. 1. С. 141-144.
5. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. М.: Мир, 1976. 166 с.
6. Тэрано Т., Асаи К., Сугэно М. Прикладные нечеткие системы; [пер. с япон.]. М.: Мир, 1993. 368 с.
7. Новак В., Перфильева И., Мочкрож И. Математические принципы нечеткой логики; [пер. с англ.]. М.: Физматлит, 2006. 352 с.
8. Деменков Н.П. Нечеткое управление в технических системах: учеб. пособие. М.: Изд-во МГТУ им. Н.Э. Баумана, 2005. 200 с.
9. STMicroelectronics. URL: www.st.com. (дата обращения: 10.09.2015).
10. Atmel. URL: www.atmel.com. (дата обращения: 10.09.2015).
11. Texas Instruments. URL: www.ti.com. (дата обращения: 10.09.2015).
DOI: 10.15827/0236-235X.113.134-139 Received 22.09.15
A MICROCONTROLLER FOR A FUZZY CONTROL SYSTEM IN A SENSORLESS BLDC DRIVE
Lgotchikov V.V., Dr.Sc. (Engineering), Associate Professor, [email protected]; GorchakovD.V., Postgraduate Student, [email protected] (Smolensk Branch of the Moscow Power Engineering Institute, Energeticheskiy proezd 1, Smolensk, 214013, Russian Federation)
Аbstract. The paper suggests an option to implement a control system for a BLDC sensorless drive using fuzzy logic. In this case, using a fuzzy logic controller makes the system more stable and increases the quality of motor control. After testing the system model in Simulink the authors created a base of fuzzy rules. Adjusting the drive phase switching moment is possible due to using the base of fuzzy rules. Fuzzy logic control system uses normalized values of current and a rate of rotation as input parameters. A fuzzy regulator adjusts the moment of commutation using the base of fuzzy rules.
The paper describes the scheme and the algorithm of the proposed control system, which is based on a microcontroller. It also considers a program code for the microcontroller implementing the sensorless algorithm. The authors calculated minimal requirements for computational power of the microcontroller to create a control system. The analysis shows that almost any conventional industrial microcontroller is suitable for the proposed control system. As a result, it can be stated that using intellectual control methods in sensorless drive motors is reasonable due to the current level of computational devices' development. Such usage can significantly increase the quality of control while the cost of the whole system is almost the same.
Keywords: electric drive, sensorless control, back-EMF, fuzzy logic, fuzzy controller, microcontroller, modeling.
References
1. Kruglov V.V., Dli M.I., Golunov R.Yu. Nechetkaya logika i iskusstvennye neyronnye seti [Fuzzy Logic and Artificial Neural Networks]. Moscow, Fizmatlit Publ., 2001, 201 p.
2. Goncharov A.S., Povalyaev V.A., Mironov S.M. Analysis of the current state in the field of electric drives with sen-sorless control and ATS constructing methods with limited information about a state vector. Elektrotekhnicheskie kompleksy i sistemy upravleniya [Electrotechnical Complexes and Control Systems]. 2008, no. 1, pp. 13-16 (in Russ.).
3. Kozlov A.V., Tamer O.S. The main directions of creation of electronic systems using fuzzy control algorithms. Vestnik Volzhskogo universiteta im. V.N. Tatishcheva [The Reporter of Volzhsky University after V.N. Tatischev]. 2011, no. 17, pp. 69-72 (in Russ.).
4. Gorchakov D.V. Sensorless control of a BLDC motor using back-EMF signal. Fundamentalnye i prikladnye nauki segodnya [Fundamental and applied sciences today]. 2013, vol. 1, pp. 141-144 (in Russ.).
5. Zade L. Ponyatie lingvisticheskoy peremennoy i ego primenenie kprinyatiyu priblizhennykh resheny [The concept of a linguistic variable and its application to approximate decision-making]. Moscow, Mir Publ., 1976, 166 p.
6. Terano T., Asai K., Sugeno M. Applied Fuzzy Systems. Tokyo, 1989 [Russ. ed.: Moscow, Mir Publ., 1993, 368 p.].
7. Novak V., Perfilieva I., Mockor J. Mathematical Principles of Fuzzy Logic. Kluwer, Boston/Dordrecht, 1999 [Russ. ed.: Moscow, Fizmatlit Publ., 2006, 352 p.].
8. Demenkov N.P. Nechetkoe upravlenie v tekhnicheskikh sistemakh [Fuzzy Control in Technical Systems]. Study guide. Moscow, N.E. Bauman MSTU Publ., 2005, 205 p. (in Russ.).
9. STMicroelectronics. Available at: www.st.com (accessed September 10, 2015).
10. Atmel. Available at: www.atmel.com (accessed September 10, 2015).
11. Texas Instruments. Available at: www.ti.com (accessed September 10, 2015).