57. ШИМ в силовой электронике
Микроконтроллер умеет только включать и выключать. Чтобы получить «половину», он включает половину времени. Из этой простой идеи вырастает всё: регулировка яркости, обороты двигателя, температура паяльника, преобразователи напряжения.
Раздел про то, что нужно понимать, когда ШИМ управляет не светодиодом, а мощностью: чем среднее значение отличается от действующего, как частота разменивается на разрешение, почему шкала яркости кажется неравномерной и что происходит с током в обмотке двигателя.
Механика самих таймеров — в разделе 13, высокое разрешение — в разделе 46, ключи — в разделе 52.
Как это называется в документации
Оригинал Перевод duty cycle коэффициент заполнения, скважность average / RMS value среднее / действующее значение resolution разрешение (число различимых уровней) gamma correction гамма-коррекция flicker мерцание current ripple пульсации тока electrical time constant электрическая постоянная времени dead time защитный интервал half-bridge, full bridge полумост, полный мост complementary outputs комплементарные выходы centre-aligned PWM ШИМ с выравниванием по центру
57.1 Частота и разрешение делят одну тактовую
Разрешение ШИМ — это число тактов таймера, укладывающихся в период. Отсюда прямой размен: чем выше частота, тем грубее шаг.
| Частота ШИМ | Шагов при таймере 72 МГц | Разрядов |
|---|---|---|
| 1 кГц | 36 000 (делитель 2) | 15,1 |
| 20 кГц | 3600 | 11,8 |
| 100 кГц | 720 | 9,5 |
| 500 кГц | 144 | 7,2 |
Потолок задаёт и разрядность счётчика: таймеры F103 16-битные, и в период помещается не больше 65 536 шагов. 72 000 не влезают — на 1 кГц нужен делитель 2.
На 20 кГц (обычная частота для двигателей — выше слышимого диапазона) получается 3600 шагов: одиннадцати разрядов хватает, двенадцати уже нет. На 500 кГц не хватает даже восьми — вот почему для преобразователей питания делают отдельный таймер высокого разрешения (раздел 46.1).
Как выбирают частоту:
- выше слышимого (от 18–20 кГц), если нагрузка — обмотка: иначе она будет петь;
- достаточно высоко, чтобы нагрузка сглаживала (см. ниже);
- не выше нужного, потому что потери переключения растут прямо пропорционально частоте (раздел 52.3).
57.2 Среднее и действующее — разные величины
Это первое, на чём ошибаются.
| Скважность | Среднее | Действующее |
|---|---|---|
| 0,25 | 3,00 В | 6,00 В |
| 0,50 | 6,00 В | 8,49 В |
| 1,00 | 12,00 В | 12,00 В |
Действующее значение равно U · √D — на половине оно больше среднего в
1,414 раза.
Нагрев зависит от действующего. Нагреватель 10 Ом при скважности 0,5 от 12 В получит 7,2 Вт, а не 3,6, как получится, если посчитать по среднему. Ошибка ровно вдвое.
Полезная проверка: на полной мощности нагреватель берёт 14,4 Вт, значит скважность 0,5 даёт ровно 50 % мощности. Для чисто резистивной нагрузки мощность пропорциональна скважности напрямую — но получается это только через действующее значение, а не через среднее.
Где что применимо:
| Нагрузка | Что важно |
|---|---|
| нагреватель, лампа накаливания | действующее (мощность) |
| светодиод с резистором | среднее (ток задан резистором) |
| двигатель | среднее (момент от среднего тока) |
| после RC-фильтра или дросселя | среднее (переменная составляющая сглажена) |
57.3 Светодиод: яркость и глаз
У светодиода ток задан резистором, поэтому яркость пропорциональна среднему току: скважность 0,25 — 2,5 мА, 0,5 — 5 мА, 1,0 — 10 мА.
Но глаз воспринимает яркость нелинейно, примерно как степень 1/2,2:
| Скважность | Выглядит как |
|---|---|
| 0,10 | 35 % |
| 0,25 | 53 % |
| 0,50 | 73 % |
Половина скважности выглядит как три четверти яркости. Поэтому линейная шкала регулировки кажется неравномерной: внизу яркость меняется резко, вверху почти не меняется.
Лечится гамма-коррекцией: чтобы получить «половину яркости на вид», нужна скважность 0,218 — код 891 из 4095, а не 2048. На практике берут заранее посчитанную таблицу из 32–256 значений: это и быстрее, и позволяет подогнать шкалу под конкретный светодиод.
57.4 Мерцание
Глаз не замечает мерцания выше примерно 60 Гц при спокойном взгляде. Но это не значит, что 100 Гц достаточно:
- при движении глаза или головы источник на 100 Гц рассыпается в «гребёнку» из отдельных вспышек;
- периферическое зрение чувствительнее центрального;
- камера снимает полосы при любой частоте, не кратной её выдержке.
Практическая граница — от 1 кГц, и это дёшево: разрешение на 1 кГц всё равно избыточное (36 000 шагов).
Отдельный случай — динамическая индикация: четыре разряда, переключаемых по очереди с общей частотой 1 кГц, дают каждому 250 Гц и только 25 % времени свечения. Яркость падает вчетверо; компенсируют увеличением импульсного тока, но не выше того, что позволяет светодиод в импульсном режиме.
57.5 Двигатель: ток не следует за напряжением
Обмотка — это индуктивность, и ток в ней меняется не мгновенно. У двигателя с индуктивностью 1 мГн и сопротивлением 2 Ом электрическая постоянная времени — 500 мкс, то есть десять периодов ШИМ на 20 кГц. Ток просто не успевает заметно измениться за период; он течёт почти ровно, с небольшими пульсациями.
При скважности 0,5 и 20 кГц пульсации составляют 150 мА размахом при среднем токе 3 А — 5 %, вполне приемлемо.
Понизим частоту до 1 кГц — период станет вдвое длиннее постоянной
времени, и ток уже не течёт ровно: он мечется между 1,6 и 4,4 А, размах
2,8 А — почти сравнялся со средним. Формула U·D·(1−D)/(L·f) дала бы
3 А: она верна, только пока период много меньше постоянной времени. До
нуля ток не падает, но момент двигателя следует за током — двигатель
загудит на частоте ШИМ, а нагрев обмотки, который считают по
действующему току, при той же полезной работе вырастет примерно на 8 %.
Отсюда правило для индуктивной нагрузки: период ШИМ должен быть много меньше электрической постоянной времени. Раз в десять — хорошо.
Обязательный спутник — путь для тока в паузе: гасящий диод при одиночном ключе (раздел 51.2) или второй ключ полумоста.
57.6 Полумост и защитный интервал
Когда нагрузку нужно питать в обе стороны (двигатель вперёд-назад, преобразователь), одним ключом не обойтись: нужен полумост из верхнего и нижнего, а чаще полный мост из четырёх.
Верхний и нижний никогда не должны быть открыты одновременно — это короткое замыкание питания через оба ключа. Между выключением одного и включением другого вставляют защитный интервал (раздел 46.3).
Он не бесплатен. За период интервал вставляется дважды:
| Частота | Два интервала по 500 нс |
|---|---|
| 1 кГц | 0,1 % периода |
| 20 кГц | 2,0 % |
| 100 кГц | 10 % |
На 100 кГц десятая часть периода уходит впустую, и вблизи нулевой скважности появляется зона нечувствительности. Кроме того, интервал искажает выходное напряжение: при 20 кГц это 120 мВ из 12 В, около 1 %. Регулятор (раздел 47) такую ошибку компенсирует, но знать о ней надо — особенно при управлении двигателем на малых оборотах, где она даёт рывки.
Отсюда: интервал берут минимально достаточным для конкретных ключей и драйвера, а не «с запасом побольше».
57.7 Выравнивание по центру
Обычный ШИМ начинает импульс в начале периода (выравнивание по фронту). ШИМ с выравниванием по центру строит импульс симметрично относительно середины: счётчик считает вверх и вниз.
Зачем это нужно:
- в трёхфазной схеме симметричные импульсы дают меньше помех и меньшие пульсации тока;
- момент измерения тока приходится на середину импульса, где переходные процессы уже закончились — это тот самый запуск АЦП от таймера (раздел 14.5);
- при одинаковой частоте счёта период вдвое длиннее, значит разрешение вдвое хуже — за симметрию платят разрешением.
57.8 Грабли
Нагреватель греет вдвое сильнее расчёта. Мощность посчитана по среднему напряжению вместо действующего.
Шкала яркости неравномерная. Нет гамма-коррекции.
Светодиоды мерцают на видео. Частота ШИМ ниже 1 кГц.
Двигатель гудит. Частота в слышимом диапазоне либо пульсации тока сравнимы со средним током.
Двигатель греется, а момента нет. Прерывистый ток из-за низкой частоты ШИМ.
Мост сгорел при первом же включении. Нет защитного интервала или он меньше времени выключения ключа.
На малых оборотах рывки. Зона нечувствительности от защитного интервала.
Разрешения не хватает. Частота ШИМ слишком высока для тактовой таймера — снизить частоту, поднять тактовую или взять таймер высокого разрешения.
Измерение тока АЦП даёт мусор. Преобразование запускается в момент переключения ключа; привязать запуск к середине импульса.
57.9 Итоги
- Частота и разрешение делят одну тактовую: на 20 кГц от таймера 72 МГц остаётся 3600 шагов, на 500 кГц — 144.
- Действующее значение равно
U·√D; нагрев считают по нему, иначе ошибка вдвое. - Для светодиода с резистором важно среднее значение, а не действующее.
- Глаз нелинеен: скважность 0,5 выглядит как 73 % яркости; «половина на вид» — это код 891 из 4095.
- Частота подсветки — от 1 кГц, иначе мерцание видно при движении и на видео.
- Для индуктивной нагрузки период ШИМ должен быть раз в десять меньше электрической постоянной времени: иначе пульсации тока сравниваются со средним.
- Защитный интервал обязателен и не бесплатен: два интервала по 500 нс на 100 кГц — 10 % периода и 1 % искажения напряжения на 20 кГц.
- Выравнивание по центру даёт меньше помех и удобную точку измерения ценой вдвое худшего разрешения.
Дальше: раздел 57а «Двигатели: коллекторный, шаговый, бесколлекторный» — H-мост, шаги и микрошаги, коммутация по датчикам Холла, TIM1.