Широтно-импульсная модуляция (ШИМ). Аналоговая и цифровая. Генератор сигнала с переменной скважностью импульсов. Регулировка коэффициента заполнения. Ограничение максимального значения. Изменение длительности импульсов Мощный шим генератор

Потребовалось мне сделать регулятор скорости для пропеллера. Чтобы дым от паяльника сдувать, да морду лица вентилировать. Ну и, для прикола, уложить все в минимальную стоимость. Проще всего маломощный двигатель постоянного тока, конечно, регулировать переменным резистором, но найти резюк на такой малый номинал, да еще нужной мощности это надо сильно постараться, да и стоить он будет явно не десять рублей. Поэтому наш выбор ШИМ + MOSFET.

Ключ я взял IRF630 . Почему именно этот MOSFET ? Да просто у меня их откуда то завелось штук десять. Вот и применяю, так то можно поставить что либо менее габаритное и маломощное. Т.к. ток тут вряд ли будет больше ампера, а IRF630 способен протащить через себя под 9А. Зато можно будет сделать целый каскад из вентиляторов, подсоединив их к одной крутилке — мощи хватит:)

Теперь пришло время подумать о том, чем мы будем делать ШИМ . Сразу напрашивается мысль — микроконтроллером. Взять какой-нибудь Tiny12 и сделать на нем. Мысль я эту отбросил мгновенно.

  1. Тратить такую ценную и дорогую деталь на какой то вентилятор мне западло. Я для микроконтроллера поинтересней задачу найду
  2. Еще софт под это писать, вдвойне западло.
  3. Напряжение питания там 12 вольт, понижать его для питания МК до 5 вольт это вообще уже лениво
  4. IRF630 не откроется от 5 вольт, поэтому тут пришлось бы еще и транзистор ставить, чтобы он подавал высокий потенциал на затвор полевика. Нафиг нафиг.
Остается аналоговая схема. А что, тоже неплохо. Наладки не требует, мы же не высокоточный девайс делаем. Детали тоже минимальные. Надо только прикинуть на чем делать.

Операционные усилители можно отбросить сразу. Дело в том, что у ОУ общего назначения уже после 8-10кГц, как правило, предельное выходное напряжение начинает резко заваливаться, а нам надо полевик дрыгать. Да еще на сверхзвуковой частоте, чтобы не пищало.


ОУ лишенные такого недостатка стоят столько, что на эти деньги можно с десяток крутейших микроконтроллеров купить. В топку!

Остаются компараторы, они не обладают способностью операционника плавно менять выходное напряжение, могут только сравнивать две напруги и замыкать выходной транзистор по итогам сравнения, но зато делают это быстро и без завала характеристики. Пошарил по сусекам и компараторов не нашел. Засада! Точнее был LM339 , но он был в большом корпусе, а впаивать микросхему больше чем на 8 ног на такую простую задачу мне религия не позволяет. В лабаз тащиться тоже было влом. Что делать?

И тут я вспомнил про такую замечательную вещь как аналоговый таймер — NE555 . Представляет собой своеобразный генератор, где можно комбинацией резисторов и конденсатором задавать частоту, а также длительность импульса и паузы. Сколько на этом таймере разной хрени сделали, за его более чем тридцатилетнюю историю… До сих пор эта микросхема, несмотря на почтенный возраст, штампуется миллионными тиражами и есть практически в каждом лабазе по цене в считанные рубли. У нас, например, он стоит около 5 рублей. Порылся по сусекам и нашел пару штук. О! Щас и замутим.


Как это работает
Если не вникать глубоко в структуру таймера 555, то несложно. Грубо говоря, таймер следит за напряжением на конденсаторе С1, которое снимает с вывода THR (THRESHOLD — порог). Как только оно достигнет максимума (кондер заряжен), так открывается внутренний транзистор. Который замыкает вывод DIS (DISCHARGE — разряд) на землю. При этом на выходе OUT появляется логический ноль. Конденсатор начинает разряжаться через DIS и когда напряжение на нем станет равно нулю (полный разряд) система перекинется в противоположное состояние — на выходе 1, транзистор закрыт. Конденсатор начинает снова заряжаться и все повторяется вновь.
Заряд конденсатора С1 идет по пути: «R4->верхнее плечо R1 ->D2 «, а разряд по пути: D1 -> нижнее плечо R1 -> DIS . Когда мы крутим переменный резистор R1 то у нас меняются соотношения сопротивлений верхнего и нижнего плеча. Что, соответственно, меняет отношение длины импульса к паузе.
Частота задается в основном конденсатором С1 и еще немного зависит от величины сопротивления R1.
Резистор R3 обеспечивает подтяжку выхода к высокому уровню — так так там выход с открытым коллектором. Который не способен самостоятельно выставить высокий уровень.

Диоды можно ставить любые совершенно, кондеры примерно такого номинала, отклонения в пределах одного порядка не влияют особо на качество работы. На 4.7нанофарадах, поставленных в С1, например, частота снижается до 18кГц, но ее почти не слышно, видать слух у меня уже не идеальный:(

Покопался в закромах, которая сама расчитывает параметры работы таймера NE555 и собрал схему оттуда, для астабильного режима со коэффициентом заполнения меньше 50%, да вкрутил там вместо R1 и R2 переменный резистор, которым у меня менялась скважность выходного сигнала. Надо только обратить внимание на то, что выход DIS (DISCHARGE) через внутренний ключ таймера подключен на землю, поэтому нельзя было его сажать напрямую к потенциометру , т.к. при закручивании регулятора в крайнее положение этот вывод бы сажался на Vcc. А когда транзистор откроется, то будет натуральное КЗ и таймер с красивым пшиком испустит волшебный дым, на котором, как известно, работает вся электроника. Как только дым покидает микросхему — она перестает работать. Вот так то. Посему берем и добавляем еще один резистор на один килоом. Погоды в регулировании он не сделает, а от перегорания защитит.

Сказано — сделано. Вытравил плату, впаял компоненты:

Снизу все просто.
Вот и печатку прилагаю, в родимом Sprint Layout —

А это напряжение на движке. Видно небольшой переходный процесс. Надо кондерчик поставить в параллель на пол микрофарады и его сгладит.

Как видно, частота плывет — оно и понятно, у нас ведь частота работы зависит от резисторов и конденсатора, а раз они меняются, то и частота уплывает, но это не беда. Во всем диапазоне регулирования она ни разу не влазит в слышимый диапазон. А вся конструкция обошлась в 35 рублей, не считая корпуса. Так что — Profit!

Простейший генератор широтно-импульсных сигналов.

Основным назначением программы PWM Generator является формирование сигналов широтно-импульсной модуляции в режиме реального времени. Данные тоны генерируются на основе заданных значений частоты (в Герцах), рабочего цикла – соотношения времени между низким и высоким состоянием сигнала (в процентах) и амплитуды – уровня цифрового сигнала (в dBFS). Все вышеперечисленные параметры могут быть мгновенно изменены во время работы. Максимально возможный уровень генерируемого сигнала равен 0 dBFS, а наибольшая частота составляет половину частоты дискретизации. Для настройки генерирования звука оптимального уровня качества предусмотрено целое меню выходных характеристик. Здесь присутствует возможность изменения количества и размера внутренних буферов данных, частоты дискретизации и квантования.

Программное обеспечение может использоваться для создания управляющих тонов различных электрических и электромеханических устройств. В частности результирующий ШИМ-сигнал, снятый с выхода звуковой карты персонального компьютера и пропущенный через стандартный аудиоусилитель, применяется для регулирования двигателей, вентиляторов, приборов освещения.

PWM Generator поддерживает работу с несколькими звуковыми картами, причем предоставляется возможность выбора той из них, которая будет использоваться для вывода искомого сигнала (по умолчанию программа работает с устройством вывода, указанным в панели управления Windows). Стоит отметить, что рабочий ШИМ-сигнал может быть сохранен в качестве WAV-файла и в дальнейшем прослушан с помощью стандартного программного обеспечения. А при регулярном использовании определенных тонов генератор ШИМ-сигналов дает возможность сохранять (и загружать) их в виде пресетов. Кроме того, несколько пресетов поставляются вместе с приложением.

PWM Generator поддерживает опцию синхронизации всех запущенных экземпляров программы, позволяя генерировать сразу несколько тонов. Необходимо отметить возможность работы программного обеспечения в фоновом режиме, позволяя, пользователям переключить внимание на другие приложения. Кроме того PWM Generator может управляться с помощью скриптовых команд, а также через системы Windows Messaging.
Авторы сообщают, что чем быстрее рабочая станция, тем выше будет качество звука и «отзывчивость» элементов управления во время воспроизведения тонов.

Рассматриваемое приложение было написано работниками немецкой компании Esser Audio. Данная организация занимается созданием и распространением программных продуктов ( , и т.д.), предназначенных, в основном, для тестирования и испытания аудиоаппаратуры. Программы от Esser Audio отличаются неплохой функциональностью и крайне простым интерфейсом.

Программа PWM Generator является условно-бесплатной, ознакомительная версия дает возможность свободного запуска и тестирования приложения в течение первых тридцати дней. Стоимость программы для стран не входящих в Европейский союз составляет 14 евро, для входящих – 16,66 евро (за счет добавления налога на продажу). При покупке нескольких лицензий предоставляется скидка.

Приложение распространяется на английском и немецком языках. Справочный файл содержит подробное описание всех возможностей софта, а для дополнительной поддержки пользователей программного пакета был создан справочный онлайн-форум. Русской версии PWM Generator пока не существует.

Последняя версия программного обеспечения работоспособна на любых компьютерах с 32- или 64-разрядной операционной системой Microsoft Windows (9x, NT, 2000, 2003, XP, Vista, 7, 8) и звуковой картой.

Распространение программы: условно-бесплатная 14 евро. Есть триал-версия (30 суток)

Фото генератора.

Что может этот генератор? Взглянем на параметры.

  1. Рабочее напряжение: 3.3 - 30V;
  2. Частота генерации: 1Hz - 150KHz;
  3. Точность генерации частоты: 2%;
  4. Мощность нагрузки: 5…30mА;
  5. Амплитуда выходного сигнала равна напряжению питания;
  6. Температура окружающей среды: -20 … +70 °С.

На дисплей можно вывести только 2 числа по 3 цифры в каждом. В нижней строке отображается скважность ШИМ в процентах, а в верхней – частота. Частота выводится на дисплей по следующим правилам:

  • XXX, шаг в 1Гц, в диапазоне 1 – 999Гц;
  • X.XX, шаг в 0.01кГц, в диапазоне 1.00 - 9.99кГц;
  • XX.X, шаг в 0.1кГц; в диапазоне 10.0 - 99.9кГц;
  • X.X.X, шаг в 1 кГц; в диапазоне 100 - 150 кГц.

Дисплей управляется микросхемой HT1621B, дисплей универсальный, на нем имеются символы, необходимые для построения термометра, гигрометра, вольтметра, амперметра и ваттметра, но в нашем случае они не используются. Дисплей имеет яркую синюю подсветку. К слову, замечу, что дисплей на моем генераторе оказался потертым, будто его откуда-то сняли.

Главной микросхемой генератора является микроконтроллер STM8S003F3P6. И поскольку этот микроконтроллер имеет EEPROM память, то настройки сохраняются при выключении.

Управлять генератором можно двумя способами: кнопками и по UART. С кнопками всё ясно, одна пара кнопок управляет частотой, вторая скважностью. А вот с UART всё намного интереснее. Обмен данными должен происходить со следующими параметрами:

  • 9600 bps Data bits: 8
  • Stop bit: 1
  • Check digit: none
  • Flow control: none

Для того, чтобы установить частоту генерации, необходимо отправить частоту так, как она отображается на дисплее прибавив перед значением частоты букву F. Например, для установки частоты в 100 Гц необходимо отправить F100, для 105 кГц - F1.0.5, для 10.5 кГц - F10.5 и так далее.

Для установки скважности необходимо отправить трехзначное число скважности добавив перед ним букву D . Например, D050, D100, D001.

Если отправлена верная команда, то генератор ответит DOWN, если ошибочная – FALL. Но есть одно НО, я так и не смог настроить работу с генератором через UART.

Я решил проверить генератор при помощи логического анализатора. Вот что получилось.

Частота 1 Гц, скважность 1%. Как видим погрешность пока небольшая.

Частота 1 Гц, скважность 50%.

Частота 1 Гц, скважность 99%.

Частота 1 кГц, скважность 1%.

Частота 1 кГц, скважность 50%.

Частота 1 кГц, скважность 99%. Тут мы видим, что при установленных 99% скважности на самом деле заполнение составляет 100%.

Частота 1 кГц, скважность 91%. Я начал снижать скважность, и вплоть до 92% заполнение составляло 100%, и только при 91% ситуация исправляется.

Частота 50 кГц, скважность 1%. Как видим что тут всего 0,2% вместо 1%.

Частота 50 кГц, скважность 50%. Здесь отличается на 1%.

Частота 50 кГц, скважность 99%. И тут снова отклонение -1%.

Частота 100 кГц, скважность 1%. А вот тут ещё ничего нет.

Частота 100 кГц, скважность 2%. А при 2% сигнал появляется, но на самом деле заполнение 0,4%.

Частота 100 кГц, скважность 50%. Отклонение почти -2%.

Частота 100 кГц, скважность 99%. И тут почти -1%.

Частота 150 кГц, скважность 1%. Снова нет сигнала.

Частота 150 Гц, скважность 3%. И появляется сигнал только при 3%, но заполнение составляет 0,6%.

Частота 150 кГц, скважность 50%. Но на самом деле заполнение 46,5%, на -3,5% уже отличие.

Частота 150 кГц, скважность 99%. И тут погрешность, но всего 1,5%.

Выборка достаточно грубая, но на этом исследования не закончены. Я решил измерить скважность при различном заполнении (шаг 5%) и на различных частотах (шаг 25000 Гц) и занести их в таблицу.

Схема генератора и регулируемым коэффициентом заполнения импульсов, управляемого входным напряжением. Источник импульсного сигнала изменяемой скважности. Ограничение длительности импульсов (10+)

Коэффициент заполнения импульсного сигнала. Скважность - Генератор

Регулировка скважности

Для получения сигнала с управляемой скважностью удобно использовать ШИМ - контроллеры . Эти специализированные микросхемы как раз спроектированы, чтобы формировать сигналы со коэффициентом заполнения, зависящим от внешних условий.

Для примера рассмотрим схемы на интегральном ШИМ - контроллере 1156ЕУ3 или UC3823 .

Вашему вниманию подборки материалов:

Резистор R1 - 10 кОм, подстроечный. С помощью него регулируется начальный уровень сигнала, при котором появятся импульсы минимальной длительности.

Резистор R2 - 100 кОм

Резистор R3 - 500 кОм, подстроечный. Он регулирует чувствительность, то есть увеличение этого резистора приводит к тому, что сигнал заданной амплитуды приводит к большему изменению коэффициента наполнения.

Резистор R4, Конденсатор C1 - задают частоту выходного сигнала. Формула для расчета частоты в зависимости о параметров этих деталей .

Резистор R5 - 100 кОм, подстроечный. Он регулирует максимально возможный коэффициент наполнения, а в схеме (A3), просто коэффициент заполнения.

Конденсатор C1 - 0.1 мкФ.

Готовое устройство, иллюстрирующее управление скважностью - Тренажер для снятия усталости глаз и спазма аккомодации .

Ограничение максимального коэффициента заполнения

Во многих случаях полезно ограничить максимальный коэффициент заполнения. Бывает нужно обеспечить, чтобы вне зависимости от управляющего сигнала коэффициент заполнения не превышал некоторую заданную величину. Это бывает необходимо, например, в повышающей, инвертирующей, обратноходовой, прямоходовой или пуш-пульной топологиях источников питания для того, чтобы магнитопровод дросселя или трансформатора между импульсами успел гарантированно размагнититься.

В схеме удалены все выводы и соединения, не имеющие отношения к нашей задаче ограничения скважности. Для примера выбрана микросхема 1156ЕУ3 или UC3823 . Без изменений описанный подход может применяться для микросхемы 1156ЕУ2 или UC3825 . Для других микросхем ШИМ может понадобиться подобрать номиналы деталей и учесть цоколевку этих микросхем.

Принцип работы схемы следующий. Ножка 8 отвечает за мягкий старт. На нее внутри микросхемы подается ток 1 мкА. Этот ток заряжает внешний конденсатор. По мере роста напряжения на конденсаторе увеличивается максимально возможный коэффициент заполнения. Так обеспечивается постепенное увеличение ширины импульсов при запуске. Оно необходимо, так как при включении выходной конденсатор разряжен, и, если полагаться на обратную связь, то длительность импульсов будет максимальной, пока этот конденсатор не зарядится до рабочего напряжения. Это нежелательно, так как приводит к перегрузке при включении устройства.

Подстроечный резистор и диод ограничивают максимально возможное напряжение, до которого может зарядиться конденсатор, а значит и максимально возможный коэффициент заполнения. При этом функция мягкого старта полностью сохраняется. Ширина импульсов по мере зарядки конденсатора постепенно нарастает от нуля до установленного значения. Далее рост коэффициента заполнения прекращается.

Диод - любой маломощный, например, КД510

Подстроечный резистор - 100 кОм

К сожалению в статьях периодически встречаются ошибки, они исправляются, статьи дополняются, развиваются, готовятся новые.

При работе с множеством различных технологий часто стоит вопрос: как управлять мощностью, которая доступна? Что делать, если её необходимо понизить или повысить? Ответом на эти вопросы служит ШИМ-регулятор. Что он собой представляет? Где применяется? И как самому собрать такой прибор?

Что такое широтно-импульсная модуляция?

Без выяснения значения этого термина продолжать не имеет смысла. Итак, широтно-импульсная модуляция — это процесс управления мощностью, которая подводится к нагрузке, осуществляемая путём видоизменения скважности импульсов, которая делается при постоянной частоте. Существует несколько типов широтно-импульсной модуляции:

1. Аналоговый.

2. Цифровой.

3. Двоичный (двухуровневый).

4. Троичный (трехуровневый).

Что такое ШИМ-регулятор?

Теперь, когда мы знаем, что такое широтно-импульсная модуляция, можно поговорить и о главной теме статьи. Используется ШИМ-регулятор для того, чтобы регулировать напряжение питания и для недопущения мощных инерционных нагрузок в авто- и мототехнике. Это может звучать слишком сложно и лучше всего пояснить на примере. Допустим, необходимо сделать, чтобы лампы освещения салона меняли свою яркость не сразу, а постепенно. Это же относится к габаритным огням, автомобильным фарам или вентиляторам. Воплотить такое желание можно путём установки транзисторного регулятора напряжения (параметрический или компенсационный). Но при большом токе на нём будет выделяться чрезвычайно большая мощность и потребуется установка дополнительных больших радиаторов или дополнение в виде системы принудительного охлаждения с использованием маленького вентилятора, снятого с компьютерного устройства. Как видите, данный путь влечёт за собой много последствий, которые необходимо будет преодолеть.

Настоящим спасением из данной ситуации стал ШИМ-регулятор, который работает на мощных полевых силовых транзисторах. Они могут коммутировать большие токи (которые достигают 160 Ампер) при напряжении всего в 12-15В на затворе. Следует отметить, что сопротивление у открытого транзистора довольное мало, и благодаря этому можно заметно снизить уровень рассеиваемой мощности. Чтобы создать свой собственный ШИМ-регулятор, понадобится схема управления, которая сможет обеспечить разность напряжения между истоком и затвором в границах 12-15В. Если этого не получится достичь, то сопротивление канала будет сильно увеличиваться и значительно возрастёт рассеиваемая мощность. А это, в свою очередь, может привести к тому, что транзистор перегреется и выйдет из строя.

Выпускается целый ряд микросхем для ШИМ-регуляторов, которые смогут выдержать повышение входного напряжения до уровня 25-30В, при том, что питание будет всего 7-14В. Это позволит включать выходной транзистор в схеме вместе с общим стоком. Это, в свою очередь, необходимо для подключения нагрузки с общим минусом. В качестве примеров можно привести такие образцы: L9610, L9611, U6080B ... U6084B. Большинство нагрузок не потребляет ток больше 10 ампер, поэтому они не могут вызвать просадку напряжения. И как результат - использовать можно и простые схемы без доработки в виде дополнительного узла, который будет повышать напряжение. И именно такие образцы ШИМ-регуляторов и будут рассмотрены в статье. Они могут быть построены на основе несимметрического или ждущего мультивибратора. Стоит поговорить про ШИМ-регулятор оборотов двигателя. Об этом далее.

Схема №1

Эта схема ШИМ-регулятора собиралась на инверторах КМОП-микросхемы. Она является генератором прямоугольных импульсов, который действует на 2-х логических элементах. Благодаря диодам здесь отдельно изменяется постоянная времени разряда и заряда частотозадающего конденсатора. Это позволяет менять скважность, которую имеют выходные импульсы, и как результат - значение эффективного напряжения, которое есть на нагрузке. В данной схеме возможно использование любых инвертирующих КМОП-элементов, а также ИЛИ-НЕ и И. В качестве примеров подойдут К176ПУ2, К561ЛН1, К561ЛА7, К561ЛЕ5. Можно использовать и другие виды, но перед этим придётся хорошо подумать о том, как правильно сгруппировать их входы, чтобы они могли выполнять возложенный функционал. Преимущества схемы - доступность и простота элементов. Недостатки - сложность (практически невозможность) доработки и несовершенство относительно изменения диапазона выходного напряжения.

Схема №2

Обладает лучшими характеристиками, нежели первый образец, но сложнее в выполнении. Может регулировать эффективное напряжение на нагрузке в диапазоне 0-12В, до которого изменяется с начального значения 8-12В. Максимальный ток зависит от типа полевого транзистора и может достигать значительных значений. Учитывая, что выходное напряжение является пропорциональным входному управляющему, данную схему можно использовать как часть системы регулирования (для поддержки уровня температуры).

Причины распространения

Чем привлекает автолюбителей ШИМ-регулятор? Следует отметить стремление к увеличению КПД, когда проводится построение вторичных для электронной аппаратуры. Благодаря данному свойству можно данную технологию найти также при изготовлении компьютерных мониторов, дисплеев в телефонах, ноутбуках, планшетах и подобной техники, а не только в автомобилях. Также следует отметить значительную дешевизну, которой отличается данная технология при своём использовании. Также, если решите не покупать, а собирать ШИМ-регулятор собственноручно, то можно сэкономить деньги при усовершенствовании своего собственного автомобиля.

Заключение

Что ж, вы теперь знаете, что собой представляет ШИМ-регулятор мощности, как он работает, и даже можете сами собрать подобные устройства. Поэтому, если есть желание поэкспериментировать с возможностями своего автомобиля, можно сказать по этому поводу только одно - делайте. Причем можете не просто воспользоваться представленными здесь схемами, но и существенно доработать их при наличии соответствующих знаний и опыта. Но даже если всё не получится с первого раза, то вы сможете получить очень ценную вещь - опыт. Кто знает, где он может в следующий раз пригодиться и насколько важным будет его наличие.