Шим сигнал что это такое
Широтно-импульсная модуляция (ШИМ)
Как нам уже известно из первых уроков, любой микроконтроллер умеет хорошо работать с цифровыми сигналами. Он легко справляется с арифметическими операциями над цифровыми данными, принимает и передаёт цифровые сигналы по линиям связи. А что значит «цифровые» в данном случае?
В самом первом уроке мы зажигали и гасили светодиод с помощью Ардуино. Для того, чтобы зажечь светодиод, мы подавали на его анод высокий уровень сигнала. А чтобы погасить — низкий уровень. Получается, для управления мы использовали только два уровня напряжения: высокий и низкий. Светодиод либо будет гореть, либо не будет. Третьего — не дано. Оперируя только двумя состояниями означает, что мы работаем с цифровым сигналом.
Но что делать, если нам нужно зажечь этот самый светодиод только на половину яркости? Или запустить двигатель, на 30% его мощности? Для решения этой задачи используют подход, называемый широтно-импульсной модуляцией сигнала. О том, что такое ШИМ и как это работает, мы узнаем на сегодняшнем уроке.
Широтно-импульсная модуляция — ШИМ
Разберем понятие ШИМ на примере управления скоростью вращения двигателя постоянного тока. Поставим своей целью запустить мотор на 50% от его максимальной скорости. Пусть наш двигатель идеальный и чтобы достичь заданной скорости, нам нужно в единицу времени передавать на мотор в два раза меньше мощности. Как это сделать, не меняя источник питания?
Проведем мысленный эксперимент (а кто-то может и натуральный — ничего сложного). Возьмём мотор постоянного тока с массивным маховиком, закрепленным на валу (таким маховиком может служить колесо). Подадим питание от аккумулятора и мотор начнет набирать обороты. Через какое-то время, мотор достигнет номинальной мощности, а его ротор максимальной скорости вращения. Отключим питание, и мотор постепенно начнет замедляться вплоть до полной остановки.
Следующий опыт. Снова включим мотор, и когда его скорость достигнет половины от максимальной — выключим. Заметив, что скорость падает — снова включим. И так далее. Включая и выключая питание мотора, мы заставим ротор вращаться со скоростью, близкой к половине от максимальной!
Разумеется, в силу человеческой медлительности, мотор будет удерживать заданную скорость с некоторой погрешностью. Другими словами, скорость будет «плавать» вокруг заданного значения. Чтобы минимизировать эти отклонения, нам потребуется увеличить частоту переключений. Тут уже не обойтись без автоматики.
А как заставить мотор вращаться медленнее или быстрее? Количество переданной мотору энергии будет зависеть от отношения времени когда мотор включен — tвкл к времени когда он выключен — tвыкл.
Так, для передачи мотору 50% мощности, tвкл будет равно tвыкл. Такой случай как раз изображен на графике. Чтобы мотор вращался еще медленнее, скажем с мощностью 25% от номинальной, придется время включения мотора уменьшить до этих самых 25% от общего периода управления T.
Таким образом, имея возможность менять ширину импульсов, мы можем достаточно точно управлять скоростью вращения мотора.
Собственно, рассмотренный способ управления мощностью и называется широтно-импульсной модуляцией сигнала, а сокращённо — ШИМ. Теперь рассмотрим параметры которые характеризуют ШИМ сигнал и которые следует учитывать при написании программ для микроконтроллеров.
Коэффициент заполнения (duty cycle)
Начнем с самого главного параметра — коэффициента заполнения D (он же duty cycle). Этот коэффициент равен отношению периода ШИМ сигнала к ширине импульса:
Пример ШИМ сигнала для разных значений D:
Чем больше D, тем больше мощности мы передаем управляемому устройству, например, двигателю. Так, при D = 1 двигатель работает на 100% мощности, при D = 0,5 — наполовину мощности, при D = 0 — двигатель полностью отключен.
Кстати, кроме коэффициента заполнения для характеризации ШИМ применяют и другой параметр — скважность S. Эти два параметра связаны выражением:
Скважность, как и коэффициент заполнения — величина безразмерная. В отличие от D, она может принимать значения от 1 до бесконечности. Но чаще всего, особенно в англоязычных источниках, используют именно D.
Частота ШИМ
Частота ШИМ определяет период импульса — T (см картинку выше). Требования к этой частоте диктуются несколькими факторами, в зависимости от типа управляемого устройства.
В случае управления светодиодами одним из главных факторов становится видимость мерцания. Чем выше частота, тем менее заметно мерцание излучаемого света. Высокая частота также помогает снизить влияние температурных скачков, которые светодиоды не любят. На практике для светодиодов достаточно иметь частоту ШИМ в пределах 100-300 Гц.
С моторами постоянного тока дела обстоят немного иначе. С одной стороны, чем больше частота, тем более плавно и менее шумно работает мотор. С другой — на высоких частотах падает крутящий момент. Нужен баланс. Более подробно о моторах мы поговорим в одной из будущих статей, а пока рекомендуем для большинства DIY задач использовать частоту ШИМ 2кГц.
Плюс, общая проблема для всех случаев управления силовой нагрузкой — потери в цепях силовой коммутации (в транзисторах, и не только), которые увеличиваются с ростом частоты ШИМ. Чем больше частота, тем большее время транзисторы находятся в переходных состояниях, активно выделяя тепло и снижая эффективность системы.
Разрешение ШИМ
Ещё один важный параметр — разрешение ШИМ сигнала. Этот параметр показывает, с какой точностью мы можем менять коэффициент заполнения. Чем больше разрешение, тем плавнее будет меняться мощность на управляемом устройстве.
Например, у платы Ардуино с базовыми настройками, разрешение ШИМ — 256. То есть мы можем изменять сигнал от 0 до 255 — не густо, но для большинства DIY задач хватает.
ШИМ и микроконтроллеры
Простейший генератор ШИМ можно собрать и без всяких микроконтроллеров, только лишь с микросхемой таймера 555. Разумеется, любой микроконтроллер тоже умеет работать с ШИМ сигналом.
Например, у платы Ардуино имеется 6 контактов: 3, 5, 6, 9, 10 и 11, которые можно настроить для генерации аппаратного ШИМ. По-умолчанию, на контактах 5 и 6 частота сигнала будет 1кГц, на остальных — скромные 500Гц. Как ими пользоваться ШИМ на Ардуино подробно рассказывается на уроке «Ардуино: ШИМ» (скоро будет).
STM32F103 — гораздо более серьёзный микроконтроллер. У него целых 20 контактов имеют возможность генерации ШИМ. Частота этого микроконтроллера — 72МГц, что делает возможным плавное и точное управление моторами постоянного тока, не говоря уже о светодиодах. Узнаём подробности в уроке про STM32 и ШИМ.
Кстати, микроконтроллеры умеют не только генерировать ШИМ, но и детектировать подобные сигналы. Про это можно почитать в соответствующей статье на нашем портале (скоро будет).
PWM или ШИМ (широтно импульсная модуляция) на AVR для новичков. Часть 1
На форуме достаточно часто встречаются вопросы по реализации Широтно Импульсной Модуляции на микроконтроллерных устройствах. Я и сам очень много спрашивал по этому поводу и, разобравшись, решил облегчить труд новичкам в этой области, так как информации в сети много и рассчитана она на разработчиков разного уровня, а сам я только- только в нем разобрался и память ещё свежа.
Так как для меня самым важным было применение ШИМ именно для управления яркостью светодиодов, то именно их я и буду использовать в примерах. В качестве микроконтроллера будем использовать горячо любимый ATmega8.
Частота, это количество периодов за одну секунду. Скважность- отношение длительности импульса к длительности периода. Можно изменять и то и другое, но для управления светодиодами достаточно управлять скважностью. На картинке выше мы видим ШИМ сигнал со скважностью 50 %, так как длительность импульса (ширина импульса) ровно половина от периода. Соответственно светодиод будет ровно половину времени во включенном состоянии и половину в выключенном. Частота ШИМ очень большая и глаз не заметит мерцания светодиода из за инерционности нашего зрения, поэтому нам будет казаться, что светодиод светится на половину яркости. Если мы изменим скважность на 75%, то яркость светодиода будет на 3 четверти от полной, а график будет выглядеть так:
Получается, что мы можем регулировать яркость светодиода от 0 до 100 %. А теперь поговорим о таком параметре ШИМ, как разрешение. Разрешение- это количество градаций (шагов) регулировки скважности, мы будем рассматривать разрешение в 256 шагов.
С параметрами вроде разобрались, теперь поговорим о том, как нам получить этот самый ШИМ от микроконтроллера. Берем остро заточенный разогретый паяльник и начинаем пытать МК, одновременно подцепившись к двум его ногам осциллографом и проверяя наличие на них сигнала нужной нам скважности. В микроконтроллерах есть аппаратная поддержка ШИМ и несколько каналов для него, в нашем случае 3. За выдачу ШИМ отвечают определенные выводы МК, в нашем случае OC2, OC1A, OC1B (15,16,17 нога в DIP корпусе). Так же для этого используются таймеры микроконтроллера, в нашем случае TC1, TC2. Так как же сконфигурировать МК для выдачи сигнала необходимой скважности? Все очень просто, для начала сконфигурируем нужные нам ноги на выход:
Далее начнем конфигурировать таймеры. Для таймера TC1 нам потребуются два регистра: TCCR1A и TCCR1B. Открываем даташит и читаем как настраиваются эти регистры. Я настроил его на 8 битный сигнал ШИМ, что соответствует разрешению в 256 шагов:
Для таймера TC2 мы будем использовать регистр TCCR2=0x69;. Его настройка выглядит так:
Всё, таймеры сконфигурированы. Скважность будем задавать регистрами OCR1A,OCR1B, OCR2:
Зададим требуемые скважности:
Ну и поместим инкремент и декремент этих регистров в бесконечный цикл:
Первая тестовая программа готова и выглядит для CVAVR она так:
Компилируем и пробуем в протеусе:
Как видим, программа полностью работоспособна и выполняет возложенные на нее задачи, ничего сложного в ней нет.
В следующей статье рассмотрим программный ШИМ, который необходим в случае если число аппаратных нам недостаточно или в силу других причин.
Что такое ШИМ и почему мерцает OLED? РАЗБОР
ШИМ, все вокруг говорят про ШИМ. Ну фиг знает — я его не вижу. Что хотите сказать, если понижу яркость дисплея, это как-то будет меня утомлять? Кажется тут есть в чём разобраться!
Сегодня мы объясним как на самом деле работает ШИМ. Узнаем сколько FPS видит человек, а сколько муха. Проведём тесты ШИМ на осциллографе. И, конечно, расскажем как избавиться от ШИМа на Samsung и на iPhone.
OLED дисплеи фактически во всём превзошли IPS. Но некоторые люди просто физически не могут пользоваться OLED, ведь они чувствуют усталость глаз, сухость и даже головные боли.
Почему так? Дело в том, что в отличие от большинства IPS-экранов большинство OLED-матриц мерцают. Примерно как дешевые люминесцентные лампы. И это не очень хорошо сказывается на зрении.
Но стоп! Лично у меня нет никаких проблем с OLED-дисплеями, да и мои друзья ходят с OLED и не жалуются.
Действительно, по статистике большинство (примерно 90%) людей не ощущают мерцания OLED-дисплеев. Мы даже провели опрос: Устают ли у Вас глаза от OLED дисплеев? Устают ли у вас глаза от IPS дисплеев? И получили вот такие результаты: примерно четверть — 27% сообщила, что у них глаза устают. Меньшинство, но всё же — четверть!
Тем не менее есть люди, которые не просто чувствуют ШИМ, но даже отчетливо его видят. Как так получается?
ШИМ в кинопроекторах
Чтобы ответить на этот вопрос давайте поговорим про кино. В старых кинопроекторах, в которых еще были бобины с плёнкой, крутили кино со скоростью 24 кадра в секунду.
Так вот, для того чтобы при смене кадров изображение не смазывалось и вы не видели момент перемотки пленки, в этот момент поток света перекрывался. Это приводило к адскому мерцанию, так как изображение постоянно обрывал «черный кадр».
Так как ускорить процесс смены кадров не было технической возможности киноделы придумали другой хак. Они стали перекрывать изображение дважды: не только во время смены кадра, но и когда на экране отображался статический кадр. Ммм. И какой в этом смысл?
Такое чередование изображения и дополнительных “черных кадров” позволяло искусственно увеличить частоту мерцания до 48 раз в секунду. Чего было достаточно, чтобы обмануть мозг. Видя постоянно мелькающую картинку, мозг просто «отключает» восприятия мерцания и мы видим плавную картинку. Кстати в немом кино, где использовалась частота 16 К/с, вообще перекрывали 3 раза и получилось мерцание — 48 раз в секунду.
Сколько мы видим кадров?
Этот невероятный эффект человеческого зрения называется порогом слияния мерцаний и этот порог равен 60 Гц. Это значит, всё что мерцает чаще чем 60 раз в секунду человек будет воспринимать как непрерывное изображение.
Кстати, у собак и кошек этот порог выше — в районе 70-80 Гц, а у мух так вообще 250-300 Гц.
Что же это получается, игровые мониторы 144 Гц и выше — это всё маркетинг? Нет, 60 кадров в секунду — это минимальный порог, при котором человек перестает видеть мерцание.
А люди с натренированным зрением, например, пилоты истребителей на тестированиях различают кадры, появившиеся на 4 мс. Что соответствует 250 кадрам в секунду. К хардкорным геймерам это тоже относится.
На самом деле есть исследования, где люди смогли различить и 480 к/с и даже больше в некоторых условиях.
Но в целом если верить ГОСТАм: Пульсация освещенности свыше 300 Гц не оказывает влияния на общую и зрительную работоспособность. ГОСТ Р 54945-2012
Зачем нужен ШИМ?
Итак, со зрением разобрались. Но зачем вообще мерцают OLED-дисплеи и на какой частоте?
Сначала ответим на вопрос “Зачем?”
Существует два способа регулировки яркости дисплея:
Первый и самый очевидный способ, при помощи понижения напряжения. Чем меньше мы подаем энергии на дисплей, тем меньше он светится.
Именно так регулируется яркость в большинстве IPS-дисплеев в наших смартфонах, ноутбуках и мониторах.
Но почему бы на OLED-дисплеях не делать также? На самом деле можно, и так даже делали раньше. Например в смартфоне LG G Flex 2 использовался именно такой подход. Но есть проблема! На OLED-дисплеях при уменьшении напряжения сильно страдает картинка. Возникает так называемый мура-эффект, более известный как эффект “наждачной бумаги”. Мы подробно рассказывали об этом в материале про OLED.
Поэтому чтобы избежать такой деградации изображения используется второй подход: регулировка яркости при помощи мерцания или ШИМ. ШИМ — это широтно-импульсная модуляция, или PWM по-английски. Это буквально значит — регулировка ширины, ну или длительности, импульса.
Так, стоп, что еще за импульс? Дело в том, что напряжение в дисплеях, использующих ШИМ, не постоянное, а прерывистое. Оно подаётся при помощи вот таких всплесков или импульсов.
Количество импульсов в секунду называется частотой и измеряется в Гц. А время, которое занимает каждый цикл пульсации, называется периодом.
К примеру, возьмем частоту 250 Гц, в этом случае период будет 4 мс. Частота и период — это фиксированные значения, и с изменением яркости дисплея они не меняются. А вот ширина каждого импульса — это как раз то, что мы можем регулировать. Это значение называется рабочим циклом, и он выражается в процентах.
Если рабочий цикл 100%, импульс будет длиться 100% своего периода, то есть 4 мс. Это соответствует 100% яркости дисплея. Если мы сократим ширину импульса до 50% или 2 мс, воспринимаемая яркость дисплея также упадет до 50%. А на яркости 1% фактически 99% будет отображаться просто черный экран, но наше зрение это интерпретирует как просто очень тусклую картинку. Получается, чем меньше яркость дисплея, тем более выражен эффект мерцания. И тем это вреднее для глаз.
Частота ШИМ в разных дисплеях
На самом деле ШИМ используется не только в OLED-дисплеях, но и в IPS. Но в отличие от OLED в IPS-экранах используют очень высокую частоту мерцания, свыше 2000 Гц. Естественно, столь быстрое мерцание не сможет заметить ни человек, ни муха. А значит и глазки уставать не будут.
А какая частота ШИМ в OLED?
Тут всё зависит от конкретной модели, но есть определенные закономерности. Во-первых, желательно чтобы частота ШИМ была кратной частоте обновления дисплея. Потому на 60 Гц или 120 Гц дисплеях, как правило частота ШИМ — 240 Гц, а на 90 Гц дисплеях 360 Гц.
Мы решили убедиться в этом самостоятельно и отправились в Санкт-Петербург. Там ребята из компании ЛЛС подготовили для нас осциллограф с высокоскоростным фотодетектором.
Так мы проверили на ШИМ на iPhone 11 Pro и Pixel 4.
Тесты показали, что iPhone 11 Pro, вопреки общему мнению, немного мерцает даже на максимальной яркости, с частотой 240 Гц. При снижении яркости до 50%, мерцание становится менее выраженным, а значит до этого момента на iPhone используется уменьшение напряжения. Ну а дальше в бой вступает ШИМ. На осциллографе очень хорошо видно, как при снижении яркости уменьшается ширина импульса, а значит увеличивается мерцание.
В Pixel 4 вплоть до 70% яркости мы не обнаружили ШИМа совсем, видно только обновление экрана 90 Гц. А дальше начинается ШИМ с частотой 360 Гц. Но так как частота обновления экрана в Pixel 4 после 40% падает до 60 Гц, видно как каждый четвёртый импульс немного скачет. Это потому что частота обновления не совпадает с частотой модуляции.
Samsung Galaxy A50:
На самом деле, частоту мерцания OLED-дисплеев можно увеличить, пусть не до 2000 Гц, но хотя бы до 500 Гц. Кстати, именно такая частота ШИМ была в древнем Windows Phone — Lumia 950. Но это удорожает производство, а так как страдающих людей мало, производители воровать у себя из кармана не готовы.
Кстати, практически все современные LCD-телевизоры тоже ШИМят на частоте 240 Гц. И в теликах этот эффект даже более заметен, чем в телефонах.
Разве что SONY не поскупились установить в свои LCD модели контроллеры управления яркостью либо совсем без мерцания, либо с мерцанием на частоте 720 Гц.
Как проверить ШИМ самому?
Но как проверить ШИМ на вашем телефоне, ноутбуке или телевизоре самостоятельно? Если у вас нет под рукой осциллографа с высокоскоростным кремниевым фотодетектором.
На самом деле очень просто! Вам нужно снять экран на видео в замедленной съемке 240 к/с или больше. Сейчас почти любой телефон так может. Если на всех значениях яркости вы не увидите мерцания в виде перемещающихся полос. Значит ШИМа нет.
Что такое DC Dimming?
Тем не менее проблема есть и первой её осознал Xiaomi, представив функцию DC Dimming в Black Shark 2 Pro. Эта тема настолько хорошо зашла, что очень быстро подсуетились OnePlus, OPPO и Huawei. И начиная с прошлого года во всех флагманах точно есть DC Dimming.
Само название расшифровывается как Direct Current Dimming, что переводится как затемнение постоянным током. Иными словами в этом случае яркость регулируется как и положено снижением напряжения.
СТОП! Но также нельзя! Картинка же убьется! На самое деле, так нельзя было делать раньше, потому как качество OLED-дисплеев оставляло желать лучшего. Но теперь всё иначе.
Уже давно многие производители стали использовать гибридный способ регулировки яркости. Например на iPhone до 50% яркости используется снижение напряжения, и только потом включается ШИМ. А телефоны с функцией DC Dimming пошли дальше и стали регулировать яркость исключительно снижением напряжения.
Да, включив DC Dimming на низких яркостях могут немного поплыть цвета и появиться шум. Но это совсем не критично.
И тесты показывают, что функция реально работает. Хотя колебания яркости и не сглаживаются полностью, всё равно такой подход позволяет многократно снизить нагрузку на наши с вами глаза.
По нашим замерам на Xiaomi Mi 10 ШИМ с включенным DC Dimming исчезает полностью! А значит ваши глазки смогут отдохнуть.
Убираем ШИМ для всех
Но что делать, если вам DC Dimming не завезли? Например у вас Samsung, который ШИМит даже на 100% яркости, или iPhone который начинает ШИМить на 50%?
На самом деле решение есть и оно программное. Имя ему экранные фильтры!
Android. Например, на любой Android можно поставить программу OLED Saver. Она умеет накладывать полупрозрачный серый фильтр поверх всего изображения. Регулируя прозрачность фильтра, регулируется яркость. Это программа умеет имитировать функцию автояркости. Можно довольно быстро из шторки регулировать прозрачность фильтра и настроить автозапуск после перезагрузки.
Не могу сказать что это очень удобно. Но может быть очень полезно, если любите позалипать в телефон перед сном в темноте.
iPhone. А на iPhone вообще есть специальный режим встроенный в систему. Он называется “понижение точки белого” и прячется в разделе “Универсальный Доступ”. Путь такой: Настройки > Универсальный доступ > Дисплей и размер текста > Понижение точки белого
А чтобы постоянно не лезть в настройки можно назначить включение режима на тройное нажатие кнопки питания с помощью такого пути: Настройки > Универсальный доступ > Быстрая команда.
В iOS 14 можно даже назначить тоже самое на постукивание по задней крышке. Но я бы не рекомендовал так делать, будут ложные срабатывания.
Ну и напоследок можно вынести ярлык с этой функцией в пункт управления. Для этого идём в Настройки > Пункт управления и перетаскиваем иконку “Команды для универсального доступа”.
Итоги
Что в итоге? ШИМ, конечно, зло. Хоть я его и не вижу, и мои глаза не устают, эта штука всё равно напрягает мозг. А с возрастом может появиться и усталость глаз.
С другой стороны, благодаря ШИМ вообще стал возможен прогресс в развитии технологии OLED. Если б его не было сидели бы мы на IPS и о всех прелестях классных OLED-дисплеев даже бы и не знали.
Очень надеемся, что DC Dimming станет стандартом и мы забудем о ШИМ в смартфонах и телевизорах точно также, как забыли о нём в настольных мониторах с появлением Flicker Free мониторов от BenQ. Это, кстати, та же самая технология что и DC Dimming.
В основу ролика легла статья с портала deep-review.com и материал Олега Афонина для журнала Хакер. Ребята проделали отличную работу, а мы продолжаем их дело.
Спасибо компании ЛЛС за оборудование и теплый приём в Питере! Очень приятно вместе с вами делать крутой науч-поп контент. На этом сегодня всё!
Широтно-импульсная модуляция (ШИМ)
Широтно-импульсная модуляция (ШИМ) – это метод преобразования сигнала, при котором изменяется длительность импульса (скважность), а частота остаётся константой. В английской терминологии обозначается как PWM (pulse-width modulation). В данной статье подробно разберемся, что такое ШИМ, где она применяется и как работает.
Область применения
С развитием микроконтроллерной техники перед ШИМ открылись новые возможности. Этот принцип стал основой для электронных устройств, требующих, как регулировки выходных параметров, так и поддержания их на заданном уровне. Метод широтно-импульсной модуляции применяется для изменения яркости света, скорости вращения двигателей, а также в управлении силовым транзистором блоков питания (БП) импульсного типа.
Широтно-импульсная (ШИ) модуляция активно используется в построении систем управления яркостью светодиодов. Благодаря низкой инерционности, светодиод успевает переключаться (вспыхивать и гаснуть) на частоте в несколько десятков кГц. Его работа в импульсном режиме воспринимается человеческим глазом как постоянное свечение. В свою очередь яркость зависит от длительности импульса (открытого состояния светодиода) в течение одного периода. Если время импульса равно времени паузы, то есть коэффициент заполнения – 50%, то яркость светодиода будет составлять половину от номинальной величины. С популяризацией светодиодных ламп на 220В стал вопрос о повышении надёжности их работы при нестабильном входном напряжении. Решение было найдено в виде универсальной микросхемы – драйвера питания, работающего по принципу широтно-импульсной или частотно-импульсной модуляции. Схема на базе одного из таких драйверов детально описана здесь.
Подаваемое на вход микросхемы драйвера сетевое напряжение постоянно сравнивается с внутрисхемным опорным напряжением, формируя на выходе сигнал ШИМ (ЧИМ), параметры которого задаются внешними резисторами. Некоторые микросхемы имеют вывод для подачи аналогового или цифрового сигнала управления. Таким образом, работой импульсного драйвера можно управлять с помощью другого ШИ-преобразователя. Интересно, что на светодиод поступают не высокочастотные импульсы, а сглаженный дросселем ток, который является обязательным элементом подобных схем.
Масштабное применение ШИМ отражено во всех LCD панелях со светодиодной подсветкой. К сожалению, в LED мониторах большая часть ШИ-преобразователей работает на частоте в сотни Герц, что негативно отражается на зрении пользователей ПК.
Микроконтроллер Ардуино тоже может функционировать в режиме ШИМ контроллера. Для этого следует вызвать функцию AnalogWrite() с указанием в скобках значения от 0 до 255. Ноль соответствует 0В, а 255 – 5В. Промежуточные значения рассчитываются пропорционально.
Повсеместное распространение устройств, работающих по принципу ШИМ, позволило человечеству уйти от трансформаторных блоков питания линейного типа. Как результат – повышение КПД и снижение в несколько раз массы и размеров источников питания.
ШИМ-контроллер является неотъемлемой частью современного импульсного блока питания. Он управляет работой силового транзистора, расположенного в первичной цепи импульсного трансформатора. За счёт наличия цепи обратной связи напряжение на выходе БП всегда остаётся стабильным. Малейшее отклонение выходного напряжения через обратную связь фиксируется микросхемой, которая мгновенно корректирует скважность управляющих импульсов. Кроме этого современный ШИМ-контроллер решает ряд дополнительных задач, способствующих повышению надёжности источника питания:
Принцип работы ШИМ контроллера
Задача ШИМ контроллера состоит в управлении силовым ключом за счёт изменения управляющих импульсов. Работая в ключевом режиме, транзистор находится в одном из двух состояний (полностью открыт, полностью закрыт). В закрытом состоянии ток через p-n-переход не превышает несколько мкА, а значит, мощность рассеивания стремится к нулю. В открытом состоянии, несмотря на большой ток, сопротивление p-n-перехода чрезмерно мало, что также приводит к незначительным тепловым потерям. Наибольшее количество тепла выделяется в момент перехода из одного состояния в другое. Но за счёт малого времени переходного процесса по сравнению с частотой модуляции, мощность потерь при переключении незначительна.
Широтно-импульсная модуляция разделяется на два вида: аналоговая и цифровая. Каждый из видов имеет свои преимущества и схемотехнически может реализовываться разными способами.
Аналоговая ШИМ
Принцип действия аналогового ШИ-модулятора основан на сравнении двух сигналов, частота которых отличается на несколько порядков. Элементом сравнения выступает операционный усилитель (компаратор). На один из его входов подают пилообразное напряжение высокой постоянной частоты, а на другой – низкочастотное модулирующее напряжение с переменной амплитудой. Компаратор сравнивает оба значения и на выходе формирует прямоугольные импульсы, длительность которых определяется текущим значением модулирующего сигнала. При этом частота ШИМ равна частоте сигнала пилообразной формы.
Цифровая ШИМ
Широтно-импульсная модуляция в цифровой интерпретации является одной из многочисленных функций микроконтроллера (МК). Оперируя исключительно цифровыми данными, МК может формировать на своих выходах либо высокий (100%), либо низкий (0%) уровень напряжения. Однако в большинстве случаев для эффективного управления нагрузкой напряжение на выходе МК необходимо изменять. Например, регулировка скорости вращения двигателя, изменение яркости светодиода. Что делать, чтобы получить на выходе микроконтроллера любое значение напряжения в диапазоне от 0 до 100%?
Вопрос решается применением метода широтно-импульсной модуляции и, используя явление передискретизации, когда заданная частота переключения в несколько раз превышает реакцию управляемого устройства. Изменяя скважность импульсов, меняется среднее значение выходного напряжения. Как правило, весь процесс происходит на частоте в десятки-сотни кГц, что позволяет добиться плавной регулировки. Технически это реализуется с помощью ШИМ-контроллера – специализированной микросхемы, которая является «сердцем» любой цифровой системы управления. Активное использование контроллеров на основе ШИМ обусловлено их неоспоримыми преимуществами:
Получить на выводах микроконтроллера ШИМ сигнал можно двумя способами: аппаратно и программно. В каждом МК имеется встроенный таймер, который способен генерировать ШИМ импульсы на определённых выводах. Так достигается аппаратная реализация. Получение ШИМ сигнала с помощью программных команд имеет больше возможностей в плане разрешающей способности и позволяет задействовать большее количество выводов. Однако программный способ ведёт к высокой загрузке МК и занимает много памяти.
Примечательно, что в цифровой ШИМ количество импульсов за период может быть различным, а сами импульсы могут быть расположены в любой части периода. Уровень выходного сигнала определяется суммарной длительностью всех импульсов за период. При этом следует понимать, что каждый дополнительный импульс – это переход силового транзистора из открытого состояния в закрытое, что ведёт к росту потерь во время переключений.
Пример использования ШИМ регулятора
Один из вариантов реализации ШИМ простого регулятора уже описывался ранее в этой статье. Он построен на базе микросхемы NE555 и имеет небольшую обвязку. Но, несмотря на простату схемы, регулятор имеет довольно широкую область применения: схемы управления яркости светодиодов, светодиодных лент, регулировка скорость вращения двигателей постоянного тока.