NGSPICE.js - скважность управляемая напряжением

Продолжаем осваивать NGSPICE вообще и ОУ в частности.

Для периодических прямоугольных импульсов можно выделить три главных параметра: амплитуда, частота и т.н. коэффициент заполнения (duty cycle) - некая безразмерная физическая величина равная отношению длительности импульса к его периоду. Скважность характеризует то же самое свойство, что и коэффициент заполнения, просто это обратная величина S = 1/D, где S - скважность, D - коэффициент заполнения от 0 до 100%. Если длина импульса равна половине периода, то такой симметричный сигнал называется меандром. Чем больше коэффициент заполнения, тем большая средняя мощность передаётся от источника к нагрузке и так вплоть до 100% (постоянное напряжение на нагрузке). Поскольку цепь работает по принципу включён/выключен, то отсутствуют потери при передаче энергии и в результате управляя скважностью можно регулировать мощность на нагрузке от 0 до 100% с очень высоким коэффициентом полезного действия (КПД). Говоря более формальным языком мы имеем дело с широтно-импульсной модуляцией (ШИМ, англ. pulse-width modulation (PWM)) - процессом управления мощностью, подводимой к нагрузке, путём изменения скважности импульсов при постоянной частоте.

В следующих схемах использовалась SPICE модель операционного усилителя LT1007:

~$ wget http://cds.linear.com/docs/en/software-and-simulation/LT1007CS.txt

линейный преобразователь напряжение - скважность | netlist | ngspice.js

screenshot

ngspice 1 -> source comparator-single.net
ngspice 2 -> tran 10m 4
ngspice 3 -> plot v(out) v(triangle)

В основе лежет очень простая идея - сигнал с генератора треугольных импульсов поступает на вход компаратора. Задавая опорное напряжение компаратора нарезаются подобные треугольники (углы равны). Как мы знаем (да да) из школьного курса по геометрии подобные треугольники характеризуются коэффициентом подобия k, равным отношению сходственных сторон. При этом отношение длин высот также равно коэффициенту подобия. В нашем случае высота это опорное напряжение компаратора, она опущена на сторону треугольника, которая является периодом следования треугольных импульсов. В итоге имеем линейную зависимость скважности от опорного напряжения на компараторе !

screenshot

На картинке сверху получился меандр т.к. скважность 0.5. Треугольник может быть с любыми углами. Для проверки поднимем опорное напряжение с 5 до 7.5 командой alter v2 7.5, чтобы скважность была (3.75-1.5)/(3.75-0.75) = 0.75:

screenshot

Осталось научиться генерировать треугольные импульсы и дело в шляпе. Один из вариантов использовать два ОУ - первый работает как триггер Шмитта, а второй - как интегратор.

генератор треугольных импульсов на ОУ | netlist | ngspice.js

screenshot

ngspice 1 -> source triangle-generator.net
ngspice 2 -> tran 10u 5m
ngspice 3 -> plot v(out)

Частота треугольных импульсов рассчитывается по формуле 1/(2*R5*C1) = 1/(2*10^5*10^-8) = 500 Гц

screenshot

Далее стабилизаторы напряжения

links

social