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

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

  • автор:

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

Как получить из шима постоянное напряжение, знает каждый начинающий электронщик. Всё просто, надо пропустить шим через фильтр низких частот(в простейшем случае 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 цепочку, у которой Т на два порядка больше величины шима и посмотреть какие будут пульсаций и дальше подбирать номиналы фильтра, но это есть не что иное, как метод научного тыка, а хотелось бы всё по-честному рассчитать.

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

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

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

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

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

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

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

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

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

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

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

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

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

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 транзистора: полевик и биполярник.

Фильтр нижних частот для преобразования ШИМ сигнала в аналоговое напряжение

В предыдущей статье мы видели, что сигнал с широтно-импульсной модуляцией можно «сгладить» до достаточно стабильного напряжения в диапазоне от уровня земли до высокого логического уровня (например, 3,3 В); сглаживание выполняется простым фильтром нижних частот. Таким образом, мы можем реализовать цифро-аналоговое преобразование, используя встроенное программное обеспечение или аппаратное обеспечение для изменения коэффициента заполнения в ШИМ сигнале в соответствии со следующей формулой:

где A («амплитуда») – напряжение высокого логического уровня.

Давайте начнем наше более подробное исследование ЦАП на базе ШИМ с рассмотрения представления ШИМ сигнала в частотной области. Вот схема LTspice:

Рисунок 1 Схема моделирования в LTspice Рисунок 1 – Схема моделирования в LTspice

Как видно из характеристик PULSE, ширина импульса составляет 5 мкс, а период – 10 мкс. Таким образом, коэффициент заполнения составляет 50%, а несущая частота ШИМ сигнала составляет 100 кГц. Также обратите внимание, что A = 3,3 В, а время нарастания и спада составляет 10 нс. Вот сигнал во временной области:

Рисунок 2 Представление ШИМ сигнала во временной области Рисунок 2 – Представление ШИМ сигнала во временной области

А вот и результаты быстрого преобразования Фурье (БПФ):

Рисунок 3 Представление рассматриваемого ШИМ сигнала в частотной области Рисунок 3 – Представление рассматриваемого ШИМ сигнала в частотной области

Вы можете узнать в этой диаграмме спектр общего вида, который мы ожидаем увидеть от прямоугольного сигнала, то есть всплеск на несущей частоте, а затем уменьшающиеся по амплитуде гармоники на частотах, равных несущей частоте, умноженной на 3, несущей частоте, умноженной на 5, и так далее. Однако БПФ LTspice не показывает нам постоянной составляющей, которая не равна нулю, потому что этот прямоугольный сигнал не симметричен относительно оси x. Я изменил следующий график, чтобы включить компонент постоянной составляющей:

Рисунок 4 Измененное представление в частотной области, учитывающее наличие постоянной составляющей Рисунок 4 – Измененное представление в частотной области, учитывающее наличие постоянной составляющей

Итак, нам нужны стабильные 1,65 В, расположенные в левом краю, и нам не нужен этот проблемный всплеск на частоте 100 кГц (а также все более высокочастотные всплески). В этот момент вы, вероятно, можете понять, зачем мы используем фильтр нижних частот в ЦАП на базе ШИМ: фильтр сохраняет компонент постоянной составляющей, подавляя всё остальное. Если бы у нас был идеальный фильтр, у нас было бы совершенно стабильное напряжение ЦАП – просто оглянемся на предыдущий график и представим фильтр с АЧХ в виде «кирпичной стены», которая на частоте 50 кГц переходит от отсутствия затухания к полному затуханию. Все не связанные с постоянной составляющей компоненты сигнала будут устранены, и мы получим постоянное напряжение на уровне 1,65 В.

В этот момент вам может быть интересно узнать, как меняется спектр при изменении ширины импульса. Что если частотные составляющие перемещаются так, что фильтр нижних частот становится менее эффективным? Рассмотрим следующие два результата БПФ для коэффициентов заполнения 10% и 90%:

Рисунок 5 Спектр ШИМ сигнала с коэффициентом заполнения 10% Рисунок 5 – Спектр ШИМ сигнала с коэффициентом заполнения 10% Рисунок 6 Спектр ШИМ сигнала с коэффициентом заполнения 90% Рисунок 6 – Спектр ШИМ сигнала с коэффициентом заполнения 90%

Спектр, безусловно, изменяется относительно коэффициента заполнения 50%, но одно не меняется: первый всплеск находится на несущей частоте. Таким образом, независимо от коэффициента заполнения, мы имеем довольно большую полосу частот (в данном случае от постоянного напряжения до 100 кГц), в которой фильтр нижних частот может переходить от отсутствия затухания к существенному затуханию.

Пульсации и отклик при одном полюсе

Давайте посмотрим, какое качество ЦАП мы можем получить с помощью простейшего RC фильтра. Начнем с частоты среза (обозначаемой fср) в середине полосы от постоянной составляющей до частоты несущей:

\(f_<ср>=50\ кГц=\frac<1><2\pi RC>;\ выбираем\ C=10\ нФ\ \ \Rightarrow\ \ R\approx318\ Ом\)

Рисунок 7 Схема моделирования в LTspice: генератор ШИМ сигнала и RC фильтр нижних частот Рисунок 7 – Схема моделирования в LTspice: генератор ШИМ сигнала и RC фильтр нижних частот Рисунок 8 Осциллограмма напряжения, полученного на выходе фильтра нижних частот Рисунок 8 – Пульсации напряжения, полученного на выходе фильтра нижних частот

Не очень хорошо. Очевидно, нам нужно большее затухание, чем сейчас. Давайте переместим частоту среза на 1 кГц:

Рисунок 9 Схема моделирования в LTspice: генератор ШИМ сигнала и RC фильтр нижних частот с частотой среза 1 кГц Рисунок 9 – Схема моделирования в LTspice: генератор ШИМ сигнала и RC фильтр нижних частот с частотой среза 1 кГц Рисунок 10 Осциллограмма напряжения, полученного на выходе фильтра нижних частот с частотой среза 1 кГц Рисунок 10 – Время установления напряжения, полученного на выходе фильтра нижних частот с частотой среза 1 кГц

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

Рисунок 11 Осциллограмма напряжения Рисунок 11 – Время установления напряжения

На этом графике вы видите довольно плохое «время установления», которое представляет собой характеристику, которая показывает, как быстро ЦАП может установить свой выходной сигнал на новое запрограммированное напряжение. График показывает, что, когда выходной сигнал увеличивается или уменьшается на половину диапазона полной шкалы, эта конкретная схема приводит к времени установления почти 1 мс. Не поймите меня неправильно, во многих приложениях время 1 мс было бы вполне приемлемым, но это не меняет того факта, что эта производительность установления никак не сравнится с тем, что вы ожидаете увидеть от типового ЦАП.

Приведенные выше результаты приводят нас к первому из двух основных компромиссов, связанных с проектированием ЦАП на базе ШИМ.

  • Компромисс № 1: более низкая частота среза означает меньшие пульсации и большее время установления; более высокая частота среза означает большие пульсации и меньшее время установления. Поэтому вы должны подумать о своем приложении и решить, хотите ли вы, чтобы ЦАП быстрее реагировал на изменения или был менее подвержен пульсациям выходного сигнала.

Два полюса лучше одного?

Давайте посмотрим на результаты работы двухполюсного фильтра для тех же двух частот среза. Следующая схема представляет собой RLC фильтр с критическим затуханием с fср ≈ 50 кГц:

Рисунок 12 Схема моделирования в LTspice: генератор ШИМ сигнала и RLC фильтр нижних частот с частотой среза 50 кГц Рисунок 12 – Схема моделирования в LTspice: генератор ШИМ сигнала и RLC фильтр нижних частот с частотой среза 50 кГц Рисунок 13 Осциллограмма напряжения, полученного на выходе RLC фильтра нижних частот с частотой среза 50 кГц Рисунок 13 – Пульсации напряжения, полученного на выходе RLC фильтра нижних частот с частотой среза 50 кГц

Как и ожидалось, это значительное улучшение по сравнению с однополюсным фильтром 50 кГц; размах пульсаций уменьшился с примерно 2,15 В до менее чем 900 мВ.

Вот схема для RLC фильтра с критическим затуханием с fср ≈ 1 кГц:

Рисунок 14 Схема моделирования в LTspice: генератор ШИМ сигнала и RLC фильтр нижних частот с частотой среза 1 кГц Рисунок 14 – Схема моделирования в LTspice: генератор ШИМ сигнала и RLC фильтр нижних частот с частотой среза 1 кГц Рисунок 15 Осциллограмма напряжения, полученного на выходе RLC фильтра нижних частот с частотой среза 1 кГц Рисунок 15 – Пульсации напряжения, полученного на выходе RLC фильтра нижних частот с частотой среза 1 кГц

Здесь мы почти устранили пульсации; если бы вы увеличили масштаб, то обнаружили бы, что размах пульсаций составляет всего около 500 мкВ. Но теперь у нас снова есть проблема со временем установления (вспомните компромисс № 1):

Рисунок 16 Осциллограмма напряжения на выходе RLC фильтра нижних частот с частотой среза 1 кГц Рисунок 16 – Время установления напряжения на выходе RLC фильтра нижних частот с частотой среза 1 кГц

В этот момент вы можете подумать о том, как можно улучшить этот фильтр для достижения быстрого отклика в сочетании с низкими пульсациями. Возможно, вы заметили, что для предыдущей схемы требовалось 2,2 миллигенри – это огромная индуктивность. А что насчёт активного фильтра? Фильтр Саллена-Ки? Может быть, фильтр Саллена-Ки после RC фильтра? Подождите, почему бы просто не использовать фильтр с переключаемым конденсатором? Четыре полюса, или даже пять или семь. Это подводит нас ко второму компромиссу:

  • Компромисс № 2: Фильтры высшего порядка улучшают производительность, но они также увеличивают стоимость и сложность. Вместо того, чтобы тратить время и деньги на внедрение причудливого фильтра для посредственного ЦАП на базе ШИМ, мы просто должны использовать внешний ЦАП! На мой взгляд, вы не должны выходить за пределы одного полюса. Внешние ЦАП (и микроконтроллеры со встроенными ЦАП) настолько широко доступны, что ЦАП на базе ШИМ теряет свою привлекательность, если вы не можете удовлетворить свои требования к производительности с помощью RC фильтра.

Простой способ улучшить ваш ЦАП на базе ШИМ

Мы не должны падать духом из-за компромисса № 2, потому что есть простой способ получить больше производительности от RC фильтра: просто увеличьте частоту ШИМ сигнала! Помните, что спектр ШИМ сигнала в полосе от постоянной составляющей до частоты несущей пуст. Таким образом, более высокая частота несущей означает более широкую полосу, в которой АЧХ фильтра может постепенно спадать – тот же фильтр, то же время установления, большее затухание. Давайте вернемся к нашему RC фильтру с fср ≈ 50 кГц и увеличим частоту несущей до 10 МГц. Вот результаты:

Рисунок 17 Время установления напряжения на выходе ЦАП на базе ШИМ с тактовой частотой 10 МГц RC фильтром с частотой среза 50 кГц Рисунок 17 – Время установления напряжения на выходе ЦАП на базе ШИМ с тактовой частотой 10 МГц RC фильтром с частотой среза 50 кГц Рисунок 18 Пульсации на выходе ЦАП на базе ШИМ с тактовой частотой 10 МГц RC фильтром с частотой среза 50 кГц Рисунок 18 – Пульсации на выходе ЦАП на базе ШИМ с тактовой частотой 10 МГц RC фильтром с частотой среза 50 кГц

Время установления составляет всего около 15 мкс, а пульсации составляют всего 25 мВ (по сравнению с 2,15 В, когда мы использовали фильтр 50 кГц и частоту несущей 100 кГц).

Практические ограничения

Прежде чем мы закончим, я должен отметить, что эти идеализированные симуляции не раскрывают основного источника неидеальной производительности ЦАП базе ШИМ, а именно ненадежных и, следовательно, непредсказуемых напряжений высокого и низкого логических уровней. Напряжение на аналоговом выходе прямо пропорционально амплитуде цифрового ШИМ сигнала, и, таким образом, изменения реальных напряжений высокого и низкого логических уровней ШИМ сигнала приведут к соответствующим изменениям выходного напряжения ЦАП. Эта проблема особенно актуальна для приложений с питанием от батареек; если микроконтроллер питается напрямую от батареи, напряжение высокого логического уровня по мере разряда батареи будет постепенно уменьшаться. Однако даже при стабилизированном питании вы можете не знать точное напряжение питания – стабилизатор с точностью ±2% означает, что точность выходного напряжения ЦАП будет (в лучшем случае) ±2%. И даже если у вас очень точный стабилизатор напряжения, и нет значительных отклонений в напряжении питания, вызванных разрядом батареи или изменениями условий окружающей среды, тем не менее, на реальные напряжения высокого и низкого логических уровней может влиять рабочее состояние устройства, генерирующего ШИМ сигнал (обычно микроконтроллер). Одним из способов решения этой проблемы является использование внешней буферной микросхемы, которая поможет ШИМ сигналу поддерживать предсказуемые уровни напряжения, но в этот момент вы снова находитесь на компромиссной территории – вы потратите 40 с небольшим центов на буферную микросхему или 71 цент на крошечный 8-разрядный ЦАП?

Заключение

Мы рассмотрели два основных компромисса, которые влияют на проект ЦАП на базе ШИМ, и увидели, что более высокая частота несущей – это отличный способ улучшить его производительность. С высокоскоростным микроконтроллером, который обеспечивает 16-разрядное разрешение ШИМ, вы можете реализовать довольно приличный ЦАП, добавив просто RC фильтр. В следующей статье мы будем использовать стартовый набор SAM4S Xplained Pro, чтобы изучить более практическую сторону цифро-аналогового преобразования на базе широтно-импульсной модуляции.

Arduino.ru

Собрал по схеме, все работает, конденсаторы поставил 470. В теме не упоминалось про то, какие конденсаторы ставить, полярные или неполярные. Я поставил полярные. Есть ли разница?

  • Войдите на сайт для отправки комментариев

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

  • Войдите на сайт для отправки комментариев

Перепробовал все варианты преобразователя ШИМ т е операционник, полевые ключи и ардуиновский цап. Оказалось с практической точки зрения на полевых ключах самая практичная вещь. Реакция на изменения в ШИМ замедленная 1,5 сек, что смягчает спонтанные либо возвратные шаги ШИМ в случае нестабильных показаний датчиков. большие емкости на выходе исключают ступеньку и помехи, что благотворно сказывается на элементах управления 0-10 В. Ток потребления в сторону увеличения напряжения выхода 3 ма, в сторону уменьшения 0,5 ма. Большинство приводов 0-10 В потребляют при выходе 10 В соответственно 0,8 ма при напряжении выхода 0,5 В соответственно 0,05 ма. Линейность почти идеальная. есть завал вначале от 0 до 3 В, около 10 % отклонение и чуток в конце от 7 до 10 в чуть меньшее отклонение. Для приводов регулирующих непропорциональные клапана это вообще ни о чем, все равно нужно переписывать утилиту корректировки графика.

С операционником есть удобный вариант. при любом питании более 12 В можно подстроить в нужном диапазоне выхоное напряжение, но не более, минусов больше. Особенно страдает линейность, поскольку цепочка на входе не может это позволить.

Цап конечно работает нормально, линейность хорошая, но все же есть ступенька если не лепить дополнительно RC на выходе, нет плавности изменения характеристики при скочкообразном ШИМ.

  • Войдите на сайт для отправки комментариев

С операционником есть удобный вариант. при любом питании более 12 В можно подстроить в нужном диапазоне выхоное напряжение, но не более, минусов больше. Особенно страдает линейность, поскольку цепочка на входе не может это позволить.

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

  • Войдите на сайт для отправки комментариев

Во первых протрите глаза. на выходе видите «пилу»?, это значит что нужен второй каскад RC. во вторых вот соберите, отстройте и пришлите графики и параметры, поржем вместе)))

  • Войдите на сайт для отправки комментариев

Нет, не вижу. А вы видите? Значит, начинаем проверку зрения:

Все данные на картинке. Можете вбить в калькулятор и проверить.

Да хоть третий. Какие в этом могут быть проблемы?

Ржать без меня придется. Если желание еще останется. Кроме того, я не видел графиков и параметров от вас. Вопрос о том, что стоит за вашими словами я задавал вам в прошлый раз. Вы не ответили. Что стоит за моими словами, я пытался показать в предыдущем своем посте, показываю теперь и дополнительно могу сообщить, что ранее уже собирал устройства PWM DAC, одно из которых могу продемонстрировать.

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

  • Войдите на сайт для отправки комментариев

Нет, не вижу. А вы видите? Значит, начинаем проверку зрения:

Все данные на картинке. Можете вбить в калькулятор и проверить.

Да хоть третий. Какие в этом могут быть проблемы?

Ржать без меня придется. Если желание еще останется. Кроме того, я не видел графиков и параметров от вас. Вопрос о том, что стоит за вашими словами я задавал вам в прошлый раз. Вы не ответили. Что стоит за моими словами, я пытался показать в предыдущем своем посте, показываю теперь и дополнительно могу сообщить, что ранее уже собирал устройства PWM DAC, одно из которых могу продемонстрировать.

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

подскажите пожалуйста собираю чпу управления и возникла необходимость преобразовать шим сигнал в аналог ,сигнал буду брать с лпт порта через программу linux cnc,

частотный инвертор ACS-350 управляется от0 до 10в.

ваша схема подайдет?

Два аналоговых входа

Сигнал по напряжению

Однополярный От 0 (2) до 10 В, Rвх > 312 кОм

Двухполярный От -10 до 10 В, Rвх > 312 кОм

Однополярный От 0 (4) до 20 мА, Rвх = 100 Ом

Двухполярный От -20 до 20 мА, Rвх = 100 Ом

Опорное напряжение 10 В ±1 %, не более 10 мА, R < 10 кОм

если подайдет,не могли бы вы написать что за перемычки (джамперы) и по возможности печатную плату в спринт лау.

  • Войдите на сайт для отправки комментариев

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

Итак за основу были взяты схемы из поста #52 и поста #97. AOP605 в ближайших магазинах не нашлось, но гугл подсказал, что его можно заменить IRF7389 (даташит). В итоге получилась такая схема:

И, IRF7389 конечно же пыхнул. Отсюда прошу помощи в прояснении 2х вопросов:
1. Можно ли все таки заменить AOP605 на IRF7389?
2. Если можно то IRF пыхнул потому что я по невнимательности не добавил сопротивление 100 ом в места, обозначенные на схеме (R?) ?

Возможно еще какие то ошибки?

  • Войдите на сайт для отправки комментариев

dimax аватар

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

  • Войдите на сайт для отправки комментариев

Если не затруднит, укажите пожалуйста пост, о которм вы говорите.

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

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

а если нужно другое напряжение, то добавляю делитель к ОУ обычным образом (стандартная схема неинваертирующего усилителя).

Это чем-то некошерно? Чем? Объясните, пожалуйста, а то тут все такие сложности рисуют, а что-то совсем ничего понять не могу.

  • Войдите на сайт для отправки комментариев

dimax аватар

ЕвгенийП, как раз ваш вариант совершенно кошерный. Во многих учебных материалах приводят в точности эту же схему тыц. А что б добвить напруги на выход -ровно 2 резистора добавить.

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

Спасибо. Я то я тут насмотрелся на сложности, и всё никак не могу понять что не так делаю. Про два резистора я в курсе, спасибо, базовые, простейшие схемы подключения ОУ я знаю, сложности начинаются дальше, но это совсем другая тема.

  • Войдите на сайт для отправки комментариев

ТС, а цифровой потенциометр не рассматривали? И если мощность велика для него, то после него биполярный NPN транзистор, нагрузку на коллектор.

Микросхемки 8 выходов, в каждом по 2 потенциометра. Дешевые до жути.

Только управлять уже не ШИМ придется, а двумя ногами любыми.

  • Войдите на сайт для отправки комментариев

покажи дешевые до жути? mcp какой то дешевый знаю, и тот рублей 100 стоит

  • Войдите на сайт для отправки комментариев

dimax аватар

LastHopeMan, увы, цифровой потенциометр ещё хуже той схемы, ибо предназначен для совершенно иных целей. Обсуждается же преобразование шим в напряжение, а не в сопротивление. Круче чем RC цепочка только цап . Жалко, что напряжение не больше 5 вольт даёт, всё равно опер придётся ставить, если нужно >5 вольт получить. Зато настоящие 12 бит за сущие копейки 🙂

  • Войдите на сайт для отправки комментариев

покажи дешевые до жути? mcp какой то дешевый знаю, и тот рублей 100 стоит

для меня это недорого.

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

52 руб/шт. — это не до жути вовсе, но в любом случае, поделитесь пожалуйста ссылкой о которой Вы говорили

Микросхемки 8 выходов, в каждом по 2 потенциометра. Дешевые до жути.

Мне как раз такой нужен. И лучше бы «до жути» 🙂

  • Войдите на сайт для отправки комментариев

Возможно еще какие то ошибки?

Самой большой ошибкой является сама схема. На этапе, когда 2N7000 закроется, затворы начнут набирать/сливать (нижний/верхний ) заряд. А так как происходит это через резистор R4 4.7к, то заряд изменяется медленно и в какой-то момент случается, что верхний еще не закрылся, а нижний уже открылся. Через оба мосфета начинает течь большой ток, на манер КЗ.

  • Войдите на сайт для отправки комментариев

dimax, спасибо за ссылки на отличные статьи. Теперь более менее понятно о чем эта схема. Порадовала картинка:

уж очень про меня)

В результате остался один вопрос, я понял что по формуле получается что мне нужно добавить 2 сопротивления одинаковых номиналов. Только не могу понять чем руководствоваться для их выбора. Какие мне нужны? 100 Ом? 1кОм?

  • Войдите на сайт для отправки комментариев

dimax аватар

airdox, да какие хотите в разумных перделах. Они, как любой резисторный делитель влияют на ток потребления. Больше резистор -меньше ток. Меньше резистор -больше ток. Есть удобные онлайн расчёты что б в голове не калькулировать -вот например.

  • Войдите на сайт для отправки комментариев

Для случая выход 0-5V это выгладит так

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

Ну, да, добавить пару резисторов и получить желаемое напряжение на выходе ОУ. Именно так я и включал подачу опорного напряжения на TA7291, когда нужно было управлять мощностью электромагнита.

  • Войдите на сайт для отправки комментариев

Не прошло и года возник еще вопрос. А RC-фильтр то из каких соображений считается?

4,7 кОм и 10мФ это ч астота среза = 3.3863 Гц .

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

  • Войдите на сайт для отправки комментариев

ЕвгенийП аватар

  • Войдите на сайт для отправки комментариев

От спасибочки. Добротный материал. А вот еще нашел: ШИМ в Ардуино

  • Войдите на сайт для отправки комментариев

Или, «в свете последних решениев»(С), покупаем Arduino «совместимую» плату на STM32 имеющую на борту пару встроенных DAC(ЦАП), вот токо плата с процессором имеющим питание 3.3В получилось не самое совместимое устройство.

  • Войдите на сайт для отправки комментариев

dimax аватар

Probelzaelo, да и DAC есть далеко не во всех STM32. Так что ардуино + внешний цап выйдет и проще и дешевле..

  • Войдите на сайт для отправки комментариев

Не во всех, это точно, но как пример у чипа на плате описанной в теме STM32F103 & Arduino IDE на этом форуме есть. Одна беда. не щщупал. и вообще имел не очень приятный опыт общения с 3.3 вольтовыми платами, не гарантированно дружат они с большим количеством периферии работающей от 5В. Например LCD FW1602, без бубна работать отказался с чипом MAX32(совсем другая история).

  • Войдите на сайт для отправки комментариев

dimax аватар

Probelzaelo, в нём ЦАПа нет. И вроде не упоминается нигде, что он есть, где вы вычитали? Вообще штука хорошая, я предыдущие пару месяцев активно изучал эту плату что б сделать это тыц 🙂

  • Войдите на сайт для отправки комментариев

Блин, точно! Именно в этом STM32F103C8T6 как раз и нет ((, есть в Arduino Maple STM32(GD32F103CBT6) и ST32Discovery платах, не совсем дуиновых . Каша однако сложилась в голове .

  • Войдите на сайт для отправки комментариев

Че то я не пойму где я сам себя обманываю. Выше по топику я был уверен, что надо было к операционнику прикрутить два одинаковых резистора, потому, что думал, что на входе операционника у меня 5в. Теперь почитав статейки и поигравшись с эмулятором при такой схеме:

я вижу ткаую картинку:

Голубая линия — после RC до ОУ
Зеленая — после ОУ
Синяя — Напряжение ШИМ (при 500гц) — брал частоту выхода меги.

То есть у меня совсем даже не 5в после RC, а около 2.7 и соответственно усилиене не до 10В при одинаковых сопротивлениях. Но я ведь собирал эту схему на макетке именно с одинаковыми сопротивлениями и мерял на выходе 10.. Короче я че то подзапутался. Эмулятор ведь все правильно показывает?

  • Войдите на сайт для отправки комментариев

Однако R2 нижним концом на землю нужно посадить, а не на выход ОУ. И второе, ООС сделать поглубже, для чего вход «-«(и другой конец R2) повесить на «выход» совсем напрямую или если лень то через небольшое сопротивленьице.

А если у тебя выход аж 10В тогда все не так. схему оставь. Но верхушку R3 воткни на землю. чтоб напряжение на выходе случилось вдвое больше чем на входе. ага.

  • Войдите на сайт для отправки комментариев

Сам себе отвечу. Ширина импульсов модуляции у меня так в эмуляторе задана. При 100% сигнале она жеж и будет мне мои 10 в выдавать. Всем спасибо :Р

  • Войдите на сайт для отправки комментариев

Подниму, пожалуй, тему и вот по какому поводу: в конце ноября в EDN Magazine появилась заметочка о том, как снизить пульсации в PWM-DAC, не принося в жертву время установления напряжения на выходе. Суть метода, если говорить коротко, заключается в подмешивании к выходу интегрирующей цепи инвертированного PWM-сигнала, пропущенного церез RC-цепочку с такими же номиналами, включенными последовательно. Описание немного громоздкое и в этом случае проще сразу посмотреть на схему:

Как можно видеть, к уже рассматривавшейся ранее в этой ветке интегрирующей цепочке R1C1 добавляется еще пара элементов тех же самых номиналов, плюс инвертор. Решение, на первый взгляд, какое-то слишком уж простецкое, чтобы ожидать от него значимых результатов, но моделирование показывает совершенно иную картину. Вот осциллограмма на выходе обычной интегрирующей цепочки, состоящей из номиналов 330ком и 0.1мф, ко входу которой подведен PWM-сигнал амплитудой 5в, частотой 976.5625 Герц и коэффициентом заполенения 50%:

Как можно видеть, пульсации составляют около 40 милливольт. Теперь добавляем в схему то, что на рисунке присутствует в блоке RIPPLE CANCELLATION:

пульсации уменьшились до 150 микровольт или в 266 раз. Неплохо для столь незатейливой схемы.

Теперь самое время проверить результаты моделирования на реальном железе. Ардуина замечательно подходит для этого. На первом таймере имеются два ШИМ-канала, с которых можно выдавать сигнал в противофазе, что позволит исключить из схемы, предложенной автором, инвертор. К девятому и десятому пину ардуины цепляем вот такую схему:

инициализируем первый таймер для выдачи четырнадцатибитного ШИМ-сигнала по обоим каналам:

Расчет показывает, что синхронно меняя значения в регистрах OCR1A/OCR1B, можно регулировать выходное напряжение с шагом 305 микровольт. Однако, запустив вышеописанную схему я быстро обнаружил, что значения шага и диапазона несколько отличаются от расчетных, хотя простым подбором значения для регистров сравнения можно довольно точно выставить выходное напряжение требуемой величины. Но это не совсем удобно, т.к. хотелось бы сразу задавать в коде нужное напряжение и его же получать на выходе. Пришлось подгонять аналоговую часть.

Первым делом подобрал из кучки имеющихся 78L05 тот, который выдает напряжение 5.000в при комнатной температуре. От него запитал ардуину. Быстро выяснилось, что ноль у моего про-мини — это не ноль, а 2.5 милливольта. Единица и того хуже — 4.95в. Если ситуацию с нулем еще как-то можно терпеть, то минус пятьдесят милливольт от верхней рельсы — это многовато. Подумалось, что можно к выходам ардуины подцепить буферы на дискретной логике. Проверка показала, что тошибовская 74HCT04, будучи подцепленной к ардуине, ситуацию с размахом выходных напряжений практически полностью исправляет. Т.к. HCT04 — это инверторы, то инверсию на ШИМ каналах пришлось зеркально поменять: канал «А» (пин 9) выдает ШИМ-сигнал без инверсии, канал «B» (пин 10) с инверсией. Закончилась подгонка подбором LM385, т.к. у разных экземпляров ОУ минимальное напряжение, которое можно было наблюдать на выходе, заметно отличалось. У худших не опускалось ниже 20мв, лучший показал 4.7мв. Таким образом, диапазон регулировок получился от 5мв до 5 вольт с шагом 305 микровольт. Обнаружилось, правда, еще какое-то смещение от 3.45мв до 9мв по всему диапазону снизу вверх, но то ли это погрешность мультиметра, то ли операционник смещает, то ли еще кто. Скомпенсировал программно.

Ну и типа пруфа:

Осциллограф фотографировать не буду, т.к. при минимальных 10мв на клетку я там кроме прямой линии ничего не вижу.

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

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