Как преобразовать шим в постоянное напряжение
Перейти к содержимому

Как преобразовать шим в постоянное напряжение

  • автор:

Как из шима получить постоянное напряжение.

Как получить из шима постоянное напряжение, знает каждый начинающий электронщик. Всё просто, надо пропустить шим через фильтр низких частот(в простейшем случае RC цепочка) и на выходе фильтра получим постоянное напряжение, не так ли?

На самом деле, как мне кажется всё гораздо интереснее, при попытке получить из шима постоянное напряжение появляются следующие вопросы:

Как подобрать номиналы элементов фильтра?

Сгладиться ли шим полностью или останутся пульсации?

И как вообще это работает, ведь конденсатор заряжается и разряжается через один и тот же резистор и по идее если коэффециент заполнения будет меньше половины, напряжение на конденсаторе вообще будет равно нулю. Например, у нас коэффециент заполнения равен 30%, тогда 30% периода конденсатор будет заряжаться, а 70% разряжаться, через тот же резистор и в итоге на нём ничего не останется, по крайне мере можно так подумать.

Давайте проверим это на практике, для этого соберём схему, изображённую ниже и подключимся щупами осциллографа в точки 1 и 2, надо отметить что период шима на порядок больше постоянной времени данной цепочки.

Как из шима получить постоянное напряжение.

Как из шима получить постоянное напряжение.

На осциллограмме видно, что действительно так и происходит, как быстро конденсатор зарядился также быстро и разрядился. Как же вообще получают постоянное напряжение из шима?

Единственная идея, которая напрашивается — это изменить номиналы RC фильтра, давайте на порядок увеличим значение резистора, тем самым увеличив постоянную RC цепи(теперь она будет равна периоду шима) или уменьшив частоту среза фильтра.

Как из шима получить постоянное напряжение.

Как из шима получить постоянное напряжение.

Ух ты, что-то начинает проясняться, у нас появилась постоянная составляющая. То есть в наши рассуждения закралась ошибка и заключается она в том, что конденсатор заряжается от 0 до 63% за время равное R*C(T), а разряжается он от 63% до 5% за время больше чем 2T , ниже графики, поясняющие это.

Как из шима получить постоянное напряжение.

На графиках видно, что скорость зарядки и разрядки конденсатора не постоянна и зависит от заряда конденсатора, это свойство и позволяет получать из шима постоянное напряжение.

Теперь, когда мы нашли ошибку в наших размышлениях давайте, проанализируем что происходило, в первом эксперименте. Известно, что полная зарядка или разрядка конденсатора происходит за время равное 5T, а зарядка до 95% и разрядка до 5% примерно за 3T. Так как постоянная времени RC цепочки(которую мы использовали как ФНЧ) была мала, то за один период шима конденсатор успевал, почти полностью зарядиться и разрядиться.

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

Итак вывод, постоянная времени RC цепочки должна быть равна или больше периода шима, тогда за один период не будет происходить полный заряд-разряд конденсатора. Если же ещё на порядок увеличить постоянную времени RC цепочки, то увеличится время переходного процесса и уменьшаться пульсации. Время переходного процесса — это промежуток времени, за которое напряжение на конденсаторе изменится от 0 до некоторой постоянной величины. Данный вывод приведен для общего понимания.

Теперь примерно, понимая как вообще получают из шима постоянное напряжение, давайте перейдём к реальной задаче.
Необходимо на одном из входов ОУ формировать опорное напряжение с помощью шима и ФНЧ, логическая единица у шима составляет 3 вольта, частота шима 10KHz, допустимый уровень пульсаций 30 милливольт. Считаем, что входы ОУ ток не потребляют, в качестве ФНЧ возьмём фильтр первого порядка, реализованный на RC цепочке.

Самый простой путь — это взять RC цепочку, у которой Т на два порядка больше величины шима и посмотреть какие будут пульсаций и дальше подбирать номиналы фильтра, но это есть не что иное, как метод научного тыка, а хотелось бы всё по-честному рассчитать.

Как из шима получить постоянное напряжение.

Итак для расчёта по-честному, давайте посчитаем во сколько раз надо ослабить сигнал, 3000/30 = 100 и переведём в децибелы, получается -40дб.

Как из шима получить постоянное напряжение.

Известно, что крутизна спада у фильтра первого порядка составляет 20дб/декаду и ослабление сигнала на 40дб, соответствует увеличению частоты на две декады. (20дб/декаду — уменьшение амплитуды в 10 раз(20дб), при увеличении частоты в 10 раз(декада).

Как из шима получить постоянное напряжение.

Зная, что частота среза фильтра должна быть на две декады(в 100 раз) меньше частоты шимы, можно её рассчитать 10KHz/100 = 100Hz.

Номиналы фильтра можно подобрать пользуясь известной формулой.

Как из шима получить постоянное напряжение.

Сопротивление возьмем равным 16K, а конденсатор 100nF.
Давайте проверим, что получится на практике, соберём схему, изображённую ниже и подключимся к точкам один и два.

Как из шима получить постоянное напряжение.

Как из шима получить постоянное напряжение.

И нарисуем ЛAЧХ нашей схемы.

Как из шима получить постоянное напряжение.

У данного генератора импульсная система питания, которая сильно шумит, это можно видеть во втором канале, но если присмотреться, то видно, что амплитуда пульсаций на осциллограмме примерно 40 милливольт, то есть немного отличается от расчётной, но это нормально так, как шим содержит высшие гармоники, которые вносят свой вклад и спад не везде равен 20дб/декаду, это видно на ЛАЧХ. Несмотря на
некоторые допущения, мне этот расчёт показался очень простым и понятным, ведь мы с помощью простых логических размышлений и школьных формул, решили такую интересную задачу. При решении данной задачи важно понять именно физический смысл, что мы по сути на АЧХ абстрактного фильтра находим точку, которая соответствует нужному подавлению сигнала, вторая координата точки — это частота, она должна быть равна частоте шима. Таким образом мы находим одну из точек АЧХ фильтра, пользуясь этой точкой находим частоту среза, а зная её мы находим номиналы фильтра, вот и всё.

Аналоговый вывод

Несмотря на большую универсальность, возможности аналогового вывода у микроконтроллеров семейства tiny/mega ограничены. В их составе отсутствует цифро-аналоговый преобразователь (ЦАП), который, однако, имеется в ряде моделей специализированного для этих целей семейства 90PWM. Преобразовать цифровой код в аналоговую величину в общем случае можно с помощью простой схемы приведенной на рис.1. Простой 8-разрядный ЦАП
Рис.1 Простой 8-разрядный ЦАП Делитель напряжения, состоящий из набора резисторов R1…R8, подключен к порту D микроконтроллера. Номиналов каждого последующего сопротивления должен быть в 2 раза больше предыдущего
RN = 2 N-1 *R,
где N – индекс, R – опорный номинал. Если, например, в качестве R выбрать значение 200Ом, то потребуется последовательность сопротивлений R1=200Ом, R2=400Ом, R3=400Ом,…, R6=6.4кОм, R6=12.8кОм, R6=25.6кОм. Выходное напряжение
UO = NPORTD*VCC/256,
где NPORTD – логическое значение регистра PORTD. Теоретически получим 2 8 шагов регулировки, что будет соответствовать 8-разрядному ЦАП. Но на практике перекрыть весь диапазон 0…V­СС никогда не удастся, и всегда будут иметься зоны “замирания” напряжения из-за сложности подбора номиналов R1…R8. Шаг установки VCC/256 по этой же причине также не будет постоянной величиной. Для большей точности работы ЦАП на рис.1 требуется высокоимпедансная нагрузка. Формирование ШИМ-сигнала на линии ОС2 при работе таймера-счетчика 2 в режиме Fast PWM
Рис.2 Формирование ШИМ-сигнала на линии ОС2 при работе таймера-счетчика 2 в режиме Fast PWM Другим более естественным для AVR способом формирования аналоговых сигналов является использование широтно-импульсной модуляции (ШИМ). Способность аппаратно генерировать импульсы переменной длительности и частоты имеется у большинства моделей tiny и у всех без исключения моделей старшего семейства. Преобразование ШИМ–сигнала в постоянное напряжение может быть легко произведено с помощью ФНЧ. На рис.2, например, показано, как в этих целях можно использовать вывод OC2 микроконтроллера ATmega8. В подобных случаях 8-разрядный таймер-счетчик 2, как правило, работает в режиме Fast PWM(Fast Pulse Wide Modulation). Счетный регистр TCNT2 при этом инкрементируется с каждым приходящим импульсом до тех пор, пока не достигнет значения 0xFF, после чего счет продолжается с нуля. Если функции вывода OC2 настроены должным образом, то каждый раз, когда содержимое TCNT2 сравнивается со значением, записанным в регистре OCR2, на выводе OC2 устанавливается высокий уровень напряжения, а при переполнении TCNT2 линия OC2 сбрасывается на нуль. Таким образом, на выводе получаем ШИМ-сигнал с частотой
FOC2 = Fclk/(256*N),
где Fclk – частота тактового генератора, N-коэффициент деления предделителя частоты таймера-счетчика 2. Коэффициент заполнения импульсов
αOC2 = τ/T = OCR2/256,
где τ – длительность импульса , T – период импульса. Постоянная составляющая напряжения после ФНЧ будет пропорциональна коэффициенту заполнения αOC2
UO = αOC2*VCC = OCR2*VCC/256,
где VCC – напряжение питания микроконтроллера. Изменяя значение OCR2, можно программным способом регулировать UO с 8-разрядной точностью. Еще больше возможностей можно получить, если в подобных целях использовать ШИМ–выводы OC1A, OC1B. Разрешающая способность в этом случае может быть доведена до 16 битов за счет использования 2-байтовых регистров совпадения OCR1AH:OCR1AL и OCR1BH:OCR1BL. Частота среза ФНЧ должна быть во много раз ниже FOC2. Поэтому саму частоту FOC2, если это возможно, желательно выбирать повыше для того, чтобы можно было уменьшить постоянную времени фильтра (увеличить скорость установления напряжения после фильтра). Управление с помощью ШИМ
Рис.3 Управление с помощью ШИМ
а — при регулировке напряжения
б — при регулировке тока На рис.3 приведено два примера, в которых управляющий ШИМ–сигнал используется для регулировки напряжения (рис.3а) и тока (рис.3б) с помощью мощных полевых транзисторов с изолированным затвором.
В первом случае напряжение на сопротивлении нагрузки UL будет:
UL = [R2/(R1+R2)] * [(R3+R4)/R4] * VCC. Если выбрать R1/R2 = R3/R4, то UL будет в точности следовать за средним значением напряжения сформированного на выводе OC2. Для надежного запирания p-канального транзистора VT1 усилитель DA1 должен обеспечивать размах напряжения на выходе такой же, как и у источника питания (rail-to-rail). При управлении током напряжение ошибки снимается с шунта R3 и подается на инвертирующий вход –IN усилителя. Влияние ООС приводит к равенству напряжений
U+IN = U–IN = IL*R3,
где U+IN, U-IN – напряжение на не инвертирующем и инвертирующем входе DA1 соответственно, IL — ток в нагрузке. Для схемы на рис.3б ток в нагрузке будет равен:
IL = U–IN/R3 = [R2/((R1+R2)*R3)] * VCC. C обозначенными на рис.3б номиналами R1…R3 и VCC=5 В, получим 2-амперный регулятор тока. Пример настройки ШИМ-вывода OC2:

.def temp = R16 ;регистр для промежуточных операций ldi temp,high(RAMEND) ;инициализация стека out SPH,temp ldi temp,low(RAMEND) out SPL,temp . ; Для использования альтернативной функции линии PB3, как ; источника формирующего ШИМ-сигнал OC2, прежде всего ее ; необходимо настроить на вывод. cbi PORTB,PB3 sbi DDRB,DDB3 ; Частота следования импульсов в режиме Fast PWM : FOC2= ; Fclk/(256*N). Режим работы таймера-счетчика задается битами ; WGM22:WGM20(при WGM13:WGM10 = 011 – режем Fast PWM), значение ; N - битами CS22:CS20 в регистре TCCR2. При Fclk=1 МГц и N=8 ; (CS22:CS20 = 010–коэффициент деления предделителя частоты ; N=8): FOC2= 125 кГц. В момент совпадения TCNT2 и OCR2 ; происходит установка флага OC2F, а при переполнении TCNT2 ; установка флага TOV2 в регистре флагов TIFR. Биты COM21:COM20 ; в регистре TCCR2 определяют поведение вывода OC2 в моменты ; установки флагов OCF2 и TOV2. При COM21:COM20 = 01 – состояние ; OC2 меняется на противоположное. ldi temp,0xF0 out TCNT2,temp ldi temp,0x20 out OCR2,temp ldi temp,(1 

Перейти к следующей части: Отладка приложений - Пошаговый режим отладки

Теги:

Котов Игорь Юрьевич Опубликована: 2012 г. 0 1

Вознаградить Я собрал 0 0

Конвертер ШИМ-напряжение 0-10 вольт

Конвертер ШИМ-напряжение 0-10 вольт Конвертер ШИМ-напряжение 0-10 вольт Конвертер ШИМ-напряжение 0-10 вольт

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

Назначение выводов:

  • VCC - вход питания 12. 30 VDC
  • GND - общий питания
  • PWM - входной сигнал ШИМ (положительный вывод)
  • GND - входной сигнал ШИМ (общий вывод)
  • VOUT - выходное напряжение 0-10 В
  • GND - общий вывод выхода

Технические характеристки:

  • Рабочее напряжение: 12. 30 VDC,
  • Частота входного сигнала ШИМ: 1. 3 кГц
  • Диапазон напряжений входного сигнала ШИМ:
    • пиковое значение составляет от 4,5 до 10 В, перемычка установлена ​​на 5 В (интерфейс обычной платы управления, например, плата управления для MACH3 или GRBL)
    • пиковое значение составляет от 12 до 24 В, перемычка установлена ​​на 24 В (обычный интерфейс ПЛК)

    Как преобразовать шим в постоянное напряжение

    В продолжение темы “Вопросы товарища ШВЕДа”:

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

    ШИМ в напряжение НЕ ПРЕОБРАЗОВЫВАЕТСЯ.

    есть достаточно известная плата коммутации PLC4x-G2 от Purelogic. на борту у нее уже находится конвертер “ШИМ->напряжение”. конвертер опторазвязан скоростным оптроном 6N136.
    на вход конвертора (оптрон) поступает ШИМ сигнал (берется с LPT порта, pin#14). с другой стороны конвертера подключается частотник: +10V, FIV, GND.
    в результате работы конвертера входной ШИМ сигнал амплитудой 5В приводит к образованию аналогового напряжения 0…10В на выходе. частотник прекрасно работает.
    к сожалению у меня нету осцилографа чтобы физически посмотреть выход с этого конвертера. поэтому я делаю предположение что конвертер действительно выдает ровный аналоговый сигнал. к слову, преобразователь одинаково четко работает как при (а) использовании механического переменного резистора так и (б) выхода с ШИМ конвертера.

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

    в этой связи я решил попробовать себя в качестве “китайского обратного инженера” - взять плату PLC4x-G2 и восстановить схему чтобы понять логику работы. пока что получилось следующее:

    часть платы на которой размещен конвертер (на верхней части платы расположен оптрон 6N136):

    восстановленная схема:

    касательно схемы тоже появляются вопросы:
    (1) непонятный smd компонент отмечен красным: сопротивления нет, прозванивается туда-сюда… что это такое?
    (2) как определить емкости конденсаторов подручными средствами без распайки донора?

    маркировка транзисторов залита лаком поэтому плохо нечитаема (Q2 читается “1FW 14”). насколько помню из давних разговоров с Purelogic’ами - в этом конвертере стоят 2 транзистора: полевик и биполярник.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *