В1СНИК ПРИАЗОВСЬКОГО ДЕРЖАВНОГО ТЕХНИЧНОГО УН1ВЕРСИТЕТУ 2005 р. Вип. №15
УДК 621.361.925.2.007
Дьяченко М.Д.1, Бурлака В.В.2
ОПЫТ ПРИМЕНЕНИЯ ИНТЕЛЛЕКТУАЛЬНЫХ СИЛОВЫХ МОДУЛЕЙ ФИРМЫ "MITSUBISHI" В ЧАСТОТНЫХ ПРЕОБРАЗОВАТЕЛЯХ МАЛОЙ МОЩНОСТИ
Рассмотрено применение силовых IGBT модулей Mitsubishi в преобразователе частоты для асинхронного двигателя. Рассмотрен алгоритм управления силовыми ключами, приведен исходный текст фрагмента программы управления для однокристального микроконтроллера, приведена упрощенная принципиальная схема.
Частотно-регулируемый электропривод приобретает все большее распространение в промышленности и бытовой технике. Преимущества такого привода очевидны: улучшенное использование мощности двигателя, возможность замены двигателей постоянного тока и асинхронных двигателей с фазным ротором на асинхронные двигатели с короткозамкнутым ротором, следствием чего является общее повышение надежности системы за счет устранения щеточно-коллекторных узлов. Основным недостатком же частотного привода является высокая стоимость силового преобразователя частоты, порядка $100-$300 за 1 кВт выходной мощности [1].
Фирмой Mitsubishi выпускается ряд интеллектуальных силовых модулей (IPM -intelligent power module) для реализации на их основе преобразователей частоты с максимальной мощностью от 100 Вт до 3,7 кВт. Основное достоинство этих модулей - низкая цена и высокая степень интеграции, позволяющая создавать надежные и функционально насыщенные устройства радиолюбителям средней квалификации, имеющим опыт работы с однокристальными микроконтроллерами. Применение микроконтроллера позволяет при минимальных схемотехнических затратах получить максимальное разнообразие функциональных возможностей, ограничиваемое только фантазией и способностями разработчика. Типовыми применениями интеллектуальных силовых модулей являются: работа в кондиционерах, холодильниках, стиральных машинах и пр. бытовых и промышленных устройствах, в которых используются двигатели малой мощности. Возможна работа преобразователя частоты в генераторном режиме, например, в ветрогенераторе. Эксперименты по использованию асинхронного двигателя в генераторном режиме подтвердили это.
Целью работы является создание частотного преобразователя на основе силового интеллектуального модуля PS21563 мощностью 400 Вт [2,3]. На рис. 1 приведена структурная схема модуля и его "обвязка".
Для формирования выходного напряжения применена широтно-импульсная модуляция (ТТТИМ) с несущей частотой 3,9 кГц. Для обеспечения постоянного критического момента двигателя независимо от частоты применен закон управления V/f=const [4,5].
Таким образом, при изменении выходной частоты соответствующим образом изменяется и выходное напряжение преобразователя. Преобразователь формирует трехфазную систему напряжений с переменной амплитудой и частотой. Формирование напряжений на двигателе производится путем управления тремя полумостовыми выходными узлами схемы (см. рис. 1). Выводы средних точек полумостов - U,V,W - выход преобразователя. Выводы Р и N ~ напряжение питания, которое для PS21563 рекомендовано 300 В (это объясняется тем, что в Японии, Америке и Австралии напряжение сети 115В (фазное), что при трехфазном выпрямлении позволяет получить 300В). Для применения в Украине достаточно применить однофазное выпрямление напряжения сети, а при мощности более 200 Вт рекомендуется
1 ПГТУ, канд. техн. наук, доц.
2 ПГТУ, студент
использовать активный корректор коэффициента мощности, что позволит избежать создания помех в сети и стабилизировать напряжение питания силовой части.
5В входы (верхние ключи)
Г |
о о о о о о СР СР СП 03 Ш 5
? £ Т= * Ъ ?
Ограничение зарядного тока
Контроль Контроль Контроль
I (^ I < IС1 (-'хемь1 плавающего
питания верхних ключей
НИ^П
СДВИГ УРОВНЯ СДВИГ УРОВНЯ СДВИГ урОЕНЯ!
Схема
ЗДТ1рпы
Схема
ЗДТ1рпы
Схема здтццид
Управление Управление Управление
ни
С 2
а
Защита от понижения напряжения
5В входы (нижние ключи)
Ро СРО Выход ошибки
УУ
■01Р-1РМ
Выход переменного напряжения
о Питание 15В Уме Уо
Рис. 1 - Структура частотного преобразователя на базе интеллектуального
силового модуля Р821563
Рассмотрим принцип формирования выходных сигналов. Для последовательности прямоугольных импульсов с периодом Т и скважностью Б (рис.2) среднее значение напряжения будет
и=ит*Б (1)
Здесь:
ит - напряжение питания силовой части (выпрямленное и сглаженное напряжение сети), О - скважность.
Изменяя скважность от 0 до 1 можно изменять выходное напряжение от 0 до ит.
АЬ
\ т 0=УТ
Рис. 2 - Пояснение принципа широтно-импульсной модуляции
Как известно, трехфазную симметричную систему напряжений можно представить в
виде:
иа=ит*8ш(оЛ) (2)
иь=ит*зт(юМ20°) (3)
ио=ит*вт(аЛ+120°), (4)
где иа,11ь,ис - фазные напряжения, со=27гГ — круговая частота, I - время.
Сопоставляя (1) с (2)...(4) можно заметить, что, заменив в (1) О на зш(а1), можно получить (2), заменив в (1) Б на 8т(со1>1200), можно получить (3) и так далее.
Однако, функция sin(cot) может принимать отрицательные значения, что приводит к неоднозначности при вычислении скважности импульсов. Выход из этого положения возможен за счет преобразования фазных напряжений таким образом, чтобы симметрия линейных (междуфазных) напряжений сохранилась, а сами фазные напряжения лежали в диапазоне (O...Um). Тогда выражения (1), (2), (3) примут вид:
Ua=Um*i4*(H-sin(€0t» (5)
Ub^^a+sintoyt-m0)) (6)
Uc=Um*i4*( l+sin(cat+120°» (7)
Здесь фазные напряжения разделены на 2 и к ним добавлена постоянная составляющая Уг*Um. Постоянная составляющая на линейные напряжения не влияет, а амплитуда линейных напряжений составит V3/2*Um, т.е. 0.866Um. Путем подобных ухищрений возможно довести амплитуду выходного напряжения до Um.
Сопоставляя выражения (5),(6),(7) с (1), получаем скважность выходных импульсов каждого из трех полумостов:
Da=!/2*(l+sin(cot)) (8)
Db=1/2*(l+sin(rat-120°)) (9)
Dc=!/2*(l+sin(cot+1200)), (10)
где Da,Db,Dc - скважности выходных импульсов полумостов фаз А, В и С соответственно.
Для изменения (уменьшения) амплитуды выходного напряжения достаточно умножить три значения скважности на коэффициент от 0 до 1. Фильтрации выходных напряжений не производится, так как индуктивность рассеяния статора двигателя служит демпфером выходного тока. Поэтому, несмотря на то, что напряжения на двигателе имеют вид прямоугольных импульсов с переменной скважностью, форма токов двигателя близка к синусоиде.
Рассмотрим аспекты практической реализации преобразователя частоты.
Основу силовой части представляет микросхема PS21563 - интеллектуальный силовой модуль с выходной мощностью до 400 Вт. В ее состав входят:
- 6 IGBT транзисторов с обратными быстродействующими диодами;
- схемы управления затворами нижних IGBT с защитой от короткого замыкания;
- схемы защиты от недостаточного напряжения для нижних и верхних плеч;
- встроенные схемы управления затворами верхних IGBT с потенциальной развязкой;
- схема предотвращения сквозных токов
Управление силовым модулем осуществляет однокристальный микроконтроллер Attiny26L фирмы ATMEL, работающий на частоте 8 МГц от внутреннего калиброванного RC генератора [6].
Программа управления написана на языке Си с использованием компилятора IAR С v2.28 фирмы IAR Systems [7]. В программе реализован плавный разгон двигателя путем плавного повышения частоты от 3 до 50 Гц. Для хорошего понимания работы исходного текста необходимы начальные знания синтаксиса языка С, а также представление о периферийных устройствах контроллера AtTiny26.
Рассмотрим подробнее работу программы.
//Компилятор - IAR С v2.28 ^include <iotiny26.h> ^include <inavr.h>
//Определение констант для наглядности
# define up_A PORTA_BitO
# define up_B PORTA_Bitl #define up_C PORTA_Bit2 #define lw_A PORTA_Bit3 #define lw_B PORTA_Bit4 #define lw_C PORTA_Bit5 #define OFF0 PC)RTA=0
# define up_ON() PORTA=7
#defme dt()_delay_cycles(32)
#define FAULT (!PINA_Bit6) #defme FAULT LED PORTB BitO
//Подключение библиотек для А1Тту26 //Подключение библиотек для встроенных функций
//Верхний ключ фазы А - вывод РАО //Верхний ключ фазы В - вывод РА1 //Верхний ключ фазы С - вывод РА2 //Нижний ключ фазы А - вывод РАЗ //Нижний ключ фазы В - вывод РА4 //Нижний ключ фазы С - вывод РА5 //Выключение всех ключей
//Включение верхних ключей и выключение нижних //Задержка 4мкс - для бестоковой паузы //Вход сигнала аварии - РА6 //Выход индикации аварии
# define START (!PINB_Bit3) //Вход для кнопки ПУСК
#define STOP (!PINB_Bit6) //Вход для кнопки СТОП
//Определение переменных
_no_init unsigned char tab[96]; //Таблица скважностей
_regvar_no_init unsigned ia@12,ib@10,ic@8; //индексы таблицы
_regvar_no_init unsigned di@ 14; //приращение индексов
_regvar_no_init unsigned char ta@7,tb@6,tc@5,acnt@4; //временные переменные
extern_flash unsigned char sinetabf]; //Таблица синусов (96 значений)
//Функция, выполняющая подготовку таблицы tab[] и расчета переменной di
void newf(unsigned f){ unsigned char t; di=961*256*f/3906; f=(f«8)/50;
for(t=0 ;t<96 ;t++)tab[t]=(f* smetab[t])»8; }
// Основная часть программы void main(void){
char f;unsigned char tcl;
OSCCAL=*(char _flash*)0x7FF;
ACSR=128;
PORTA=0;
DDRA=63;
PORTB=0;
DDRB=0x01;
TCCR0=8+2;
while(FAULT);
goto stop;
restart:
WDTCR=8;
ia=0;ib=64*256;ic=32*256; newf(f=3) ;acnt=0; newPWMT:
TCNT0=0;
if(ta=tab[ia»8])up_A= 1 ;else lw_A=l; if(tb=tab[ib»8])up_B=l;else lw_B=l; if(tc=tab[ic»8])up_C=l ;else lw_C=l; PWMloop:
tcl=TCNT0;
if(up_A && tcl>ta){up_A=0;dtO;lw_A=l;} if(up_B && tcl>tb){up_B=0;dtO;lw_B=l;} if(up_C && tcl>tc){up_C=0;dt();lw_C=l;} if(! TIFR_Bit 1 )goto PWMloop; TIFR_Bit 1=1 ;OFF(); if(FAULT)goto HWfault; if(STOP)goto stop; ia+=di ;ib+=di ;ic+=di; if(ia>=96*256)ia-=96*256; if(ib>=96*256)ib-=96*256; if(ic>=96*256)ic-=96*256; _watchdog_resetO;
if(f>=50 || ++acnt<254)goto newPWMT;
acnt=0;
newf(f++);
goto newPWMT;
stop:
stop_l:
stop_2:
HWfault:
WDTCR= 16+8; WDTCR=0; tcl=0;
if(START)if(! ++tc 1 )goto restart;
else goto stop_2; goto stop_l;
WDTCR= 16+8; WDTCR=0;
П устанавливаемая выходная частота
//96*256 - полный период, 3906 Гц - частота НИМ //Реализуется закон иЛ=сош1.
//Временные переменные //Калибровка встроенного RC генератора //Выключение аналогового компаратора
//РА0...РА5 выходы, РА6,РА7 входы
//РВО выход
//сброс делителя таймера 0 и установка коэфф. деления 8 //ожидание установления напряжения 15 В. //переход на метку stop //запуск двигателя
//разрешение сторожевого таймера с временем 17мс //начальные индексы (А=0°,В=-120°,С=+120°) //начинаем с частоты 3 Гц. // новый период ШИМ //сброс таймера
//чтение индексов из tab[] и, если //скважность не равна 0, включаем //верхние ключи, иначе - нижние.
//чтение таймера
//если время, прошедшее с момента
//сброса таймера, больше необходимого,
//производится переключение ключей.
//если таймер не переполнен, переход на PWMloop
//сброс флага переполнения и выключение всех ключей
//если произошла аппаратная авария - выход на HWfault
//если нажата кнопка STOP
//увеличение индексов
//если индекс вышел за пределы
//таблицы - возврат к началу таблицы
//сброс сторожевого таймера //определение необходимости разгона //сброс счетчика времени разгона //увеличение выходной частоты //переход на формирование ШИМ
//выключение сторожевого таймера
//ожидание нажатия START с защитой от дребезга
//аппаратная авария //выключение сторожевого таймера
FAULT_LED=1;_delay_cycles(320000); //мигание светодиода
F AULT_LED=0;_delay_cycles(320000);
if(!STOP)goto HWfault; //пока не нажата кнопка STOP
goto stop;
} //конец функции main()
Таблица синусов sinetab[]: _flash unsigned char sinetab[96]={
128,136,144,152,160,168,176,184,191,198,205,211,217,223,228,233,237, 241,245,248,250,252,253,254,255,254,253,252,250,248,245,241,237,233, 228,223,217,211,205,198,191,184,176,168,160,152,144,136,128,119,111, 103,95,87,79,71,64,57,50,44,38,32,27,22,18,14,10,7,5,3,2,1,1,1,2,3,5, 7,10,14,18,22,27,32,38,44,50,57,64,71,79,87,95,103,111,119 };
Программа написана лишь для демонстрационных целей. Возможно добавление функции регулировки скорости, изменение зависимости выходного напряжения от частоты, увеличение глубины модуляции со 100 % до 115 %, связь с ПК. Дальнейшие усовершенствования могут заключаться в следующем:
введение режима динамического торможения
введение режима генераторного торможения с гашением энергии на тормозном резисторе измерение мгновенных значений фазных токов двигателя измерение параметров схемы замещения двигателя
стабилизация скорости без использования датчика скорости при медленно меняющейся нагрузке ( скалярное управление двигателем )
введение режима рекуперативного торможения с отдачей энергии в сеть управление скоростью и моментом при произвольной нагрузке (учет влияния электромагнитных и электромеханических переходных процессов в приводе - векторное управление двигателем)
Выводы
Приведена упрощенная программа управления для микроконтроллера с комментариями, поясняющими принцип работы. Предложенная программа позволяет реализовать управление частотой вращения асинхронного двигателя с короткозамкнутым ротором. Закон управления обеспечивает постоянство критического момента двигателя независимо от частоты, за исключением области очень низких частот. Управление двигателем скалярное, что позволяет подключить к выходу преобразователя частоты несколько машин. Эти возможности в сочетании с низкой ценой позволяют создать простой и надежный преобразователь частоты, который может быть использован, например, в лабораторных целях для демонстрации частотного управления асинхронными машинами.
Перечень ссылок
1. http://www.ab.com
2. http://www.mitsubishichips.com/Global/common/cfm/eProfile.cfm?FOLDER=/product/power/po wermod/ dipipm/ dipipmv3
3. http://www.mitsubishichips.com/Global/common/cfm/ePartProfile.cfm?FILENAME=ps21563_e. pdf
4. Притужалов В.Я. Электрические машины: Учеб. пособ. /В.Я. Притужалое. - Мариуполь: ПГТУ, 2002. - 250с.
5. Бессонов Л.А. Теоретические основы электротехники. Электрические цепи: Учебник. /Л.А. Бессонов. - М.: Гардарики, 2002. - 638с.
6. http ://www. atmel.com/ dyn/resources/prod_documents/doc 1477 .pdf
7. http://www.iar.com
Статья поступила 31.Ol.2005