|
И. Афанасьев
Новые контроллеры Microchip для управления двигателями
Компания Microchip Technology Inc. предлагает широкий ассортимент микроконтроллеров для встраиваемых систем управления. Особое внимание привлекают контроллеры с возможностью управления двигателями. Двигатели широко применяются в системах управления, приборных панелях автомобилей, бытовых приборах, вентиляторах и кондиционерах.
Большинство выпускаемых микроконтроллеров Microchip серии PIC18 имеет 10-разрядный усовершенствованный модуль сравнения/захвата/ШИМ (ECCP). Основное отличие этого модуля заключается в возможности от одного ШИМ-генератора управлять 2 или 4 выходами с программируемой полярностью, то есть в возможности управления мостовыми и полумостовыми схемами. В мостовых схемах, где управление двигателем осуществляется ШИМ-модуляцией напряжения питания, силовые ключи требуют больше времени на выключение, чем на включение. Поэтому важно обеспечить защитный интервал между переключением силовых ключей, что обеспечивается программируемой задержкой (dead time) во всех модулях ECCP. Следует заметить, что модуль ECCP часто присутствует наравне с обычным модулем CCP.
Контроллеры PIC18F4x20 семейства nanoWatt имеют один модуль ECCP с 1, 2 или 4 выходами ШИМ с возможностью программирования полярности выхода и времени задержки (dead time). Ещё одна особенность - это автоматическое выключение и перезапуск по сигналу внешнего события. В контроллерах PIC18Fxx21 и PIC18Fxx25 присутствуют 3 аналогичных модуля ECCP, что позволяет использовать контроллеры в сложных системах управления несколькими двигателями, таких как приборная панель автомобиля и т.п.
В микроконтроллерах PIC18Fxx31 имеется уже четыре 14-разрядных модуля ECCP с комплементарными выходами, что позволяет осуществлять независимое высокоточное управление сразу четырьмя моторами. Модуль ECCP этих контроллеров может формировать как центрированную ШИМ, так и выровненную по фронту. Контроллеры имеют специальный вход FAULT для реализации функции защиты силового драйвера и ключей при возникновении аварийной ситуации. Ещё одна особенность контроллеров PIC18Fxx31 - это наличие интерфейса квадратурного кодера, для определения скорости, направления вращения ротора двигателя, а также определения его положения.
Контроллеры серии PIC18Fxx39 имеют два специализированных модуля ШИМ, позволяющих организовать частотный преобразователь для управления однофазным двигателем. Часть программной памяти контроллера резервируется под специализированные подпрограммы управления двигателем и таблицы формирования синусоидального ШИМ. Контроллер позволяет сформировать требуемый для конкретного двигателя профиль напряжение/частота (V/F) и обеспечить синусоидальный ток через обмотки двигателя частотой от 15 до 127 Гц, при этом не требуется дополнительных ресурсов контроллера.
Для начального ознакомления с данными микроконтроллерами выпускается отладочный комплект DM183010 (PIC18F2539 Motor Control Evaluation Kit), позволяющий полностью запрограммировать и настроить программу контроллера (профиль V/F, скорость набора оборотов и торможения, максимальную и минимальную частоту, частоту ШИМ) с помощью прилагаемого программного обеспечения DashDriveMPTM.
Для систем управления приводом готовится к выпуску целое семейство микроконтроллеров цифровой обработки сигналов dsPIC30F. Это 16-разрядные контроллеры, имеющие высокое быстродействие 30 MIPS и эффективную систему команд.
Контроллеры dsPIC содержат специализированные модули ШИМ (MCPWM - ШИМ для управления приводом), с помощью которых можно управлять:
- 3-фазными индукционными двигателями переменного тока (ACIM);
- 3-фазными шаговыми двигателями с реактивным ротором, вентильными реактивными электродвигателями (Switched Reluctance (SR) Motor);
- бесколлекторными двигателями постоянного тока (BLDC);
- бесперебойными источниками питания (UPS).
Модули MCPWM в dsPIC30F имеют два вывода на каждый MCPWM-генератор, комплементарное или независимое управление для каждой пары выходов, аппаратную реализацию "мертвого времени" для комплементарного режима, программируемую полярность выходных импульсов, множество режимов формирования выходных импульсов: ШИМ с выравниванием по фронту; центрированная ШИМ; центрированная ШИМ с двойным обновлением; режим одиночного импульса. Также реализован вход аварийной ошибки (FAULT) силового драйвера. В модуле MCPWM осуществлена возможность синхронизации измерений АЦП с формируемой ШИМ и возможность индивидуального разрешения каждого выхода ШИМ.
Для начального ознакомления с dsPIC30F в задачах управления двигателем готовится к выпуску демонстрационная плата dsPICDEM MC1 Motor Control Development Board (DM300014) - позволяет построить систему управления для трёх основных типов двигателей: бесколлекторными двигателями постоянного тока, асинхронными и синхронными двигателями. Процессорная плата содержит контроллер dsPIC30F6010. На отладочной плате установлен ЖК-индикатор, разъёмы для подключения отладчика ICD-2, RS-232, внешних датчиков положения ротора привода (квадратурный кодер или датчики Холла), а также разъёмы для подключения силового модуля управления приводом. Разрабатываются два типа силовых 3-фазных модулей: для управления высоковольтным двигателем (модуль DM300021 - позволяет управлять двигателем с напряжением до 400 В и мощностью до 1 кВт) и для управления низковольтными двигателями (модуль DM300022 - напряжение до 50 В и мощностью до 400 Вт).
Все контроллеры PIC18F и dsPIC30F имеют встроенную поддержку внутрисхемного отладчика-программатора MPLAB ICD-2 (DV164005), благодаря которому упрощается процесс отладки программного обеспечения микроконтроллера.
Таблица. Микроконтроллеры Microchip для систем управления приводом
Контроллер
|
Число выводов
|
Память программ
|
ОЗУ, байт
|
ЕЕПРОМ, байт
|
Таймер 8/16 бит
|
PWM/ CCP/ ECCP
|
Motor control PWM
|
АЦП 10 бит
|
Интер- фейс квадр. ко- дера
|
Другая периферия
|
байт
|
слов
|
PIC18F4220
|
40/44
|
4096
|
2048x16
|
512
|
256
|
1/3
|
1/2/1
|
|
13
|
|
AUSART, SPI, I2C
|
PIC18F4320
|
40/44
|
8192
|
4096x1
|
512
|
256
|
1/3
|
1/2/1
|
|
13
|
|
AUSART, SPI, I2C
|
PIC18F4620
|
40/44
|
65536
|
32768x16
|
3840
|
1024
|
1/3
|
1/2/1
|
|
13
|
|
EUSART, SPI, I2C
|
PIC18F6621
|
64/68
|
65536
|
32768x16
|
3840
|
1024
|
2/3
|
14/2/3
|
|
12
|
|
2 EUSART, SPI, MI2C, PSP, EMA
|
PIC18F8621
|
80
|
65536
|
32768x16
|
3840
|
1024
|
2/3
|
14/2/3
|
|
16
|
|
2 EUSART, SPI, MI2C, PSP, EMA
|
PIC18F6525
|
64/68
|
49152
|
24576x16
|
3840
|
1024
|
2/3
|
14/2/3
|
|
12
|
|
2 EUSART, SPI, MI2C, PSP, EMA
|
PIC18F8525
|
80
|
49152
|
24576x16
|
3840
|
1024
|
2/3
|
14/2/3
|
|
16
|
|
2 EUSART, SPI, MI2C, PSP, EMA
|
PIC18F4331
|
40/44
|
8192
|
4096x16
|
768
|
256
|
1/3
|
2, 8-14bit /2/2
|
+
|
9
|
+
|
Motor Control, EUSART, SPI, I2C
|
PIC18F4431
|
40/44
|
16384
|
8192x16
|
768
|
256
|
1/3
|
2, 8-14bit /2/2
|
+
|
9
|
+
|
Motor Control, EUSART, SPI, I2C
|
PIC18F2439
|
28
|
12288
|
6144x16
|
640
|
256
|
0/3
|
0/0/2
|
|
5
|
|
Motor Control Kernel, AUSART, SPI, MI2C
|
PIC18F2539
|
28
|
24176
|
12288x16
|
1408
|
256
|
0/3
|
0/0/2
|
|
5
|
|
Motor Control Kernel, AUSART, SPI, MI2C
|
PIC18F4439
|
40/44
|
12288
|
6144x16
|
640
|
256
|
0/3
|
0/0/2
|
|
8
|
|
Motor Control Kernel, AUSART, SPI, MI2C
|
PIC18F4539
|
40/44
|
24176
|
12288x16
|
1408
|
256
|
0/3
|
0/0/2
|
|
8
|
|
Motor Control Kernel, AUSART, SPI, MI2C
|
dsPIC30F2010
|
28
|
12K
|
4Kx24
|
512
|
1024
|
0/3
|
2/4/0
|
6
|
6
|
+
|
UART, SPI, I2C
|
dsPIC30F3010
|
28
|
24K
|
8Kx24
|
1024
|
1024
|
0/5
|
2/4/0
|
6
|
6
|
+
|
UART, SPI, I2C
|
dsPIC30F4012
|
28
|
48K
|
16Kx24
|
2048
|
1024
|
0/5
|
2/4/0
|
6
|
6
|
+
|
UART, SPI, I2C, CAN
|
dsPIC30F3011
|
40/44
|
24K
|
8Kx24
|
1024
|
1024
|
0/5
|
4/4/0
|
6
|
9
|
+
|
2 UART, SPI, I2C
|
dsPIC30F4011
|
40/44
|
48K
|
16Kx24
|
2048
|
1024
|
0/5
|
4/4/0
|
6
|
9
|
+
|
2 UART, SPI, I2C, CAN
|
dsPIC30F5015
|
64
|
66K
|
22Kx24
|
2048
|
1024
|
0/5
|
4/4/0
|
8
|
16
|
+
|
UART, 2 SPI, I2C, CAN
|
dsPIC30F6010
|
80
|
144K
|
48Kx24
|
8192
|
4096
|
0/5
|
8/8/0
|
8
|
16
|
+
|
2 UART, 2 SPI, I2C, 2 CAN
|
|