LINUX.ORG.RU

Небольшой вопрос про операционный усилитель

 операционный усилитель,


1

4

Имеется простая схема. ШИМ-сигнал 30 кГц 50% заполнение с микроконтроллера проходит через RC-цепь (15 кОм и 100 нФ), чтобы стать аналоговым (в итоге получается хороший постоянный сигнал с очень маленькими пульсациями). Затем он усиливается по току с помощью операционного усилителя LM358 в буферном включении (сигнал подан на неинвертирующий вход, выход ОУ и инвертирующий вход соединены напрямую). И на выходе ОУ присутствует тот же самый сигнал, плюс добавляются микроскопические (на грани возможностей осциллографа) ВЧ-помехи. Всё бы хорошо... но.

Подключаем между выходом ОУ и землёй конденсатор 100 нФ (типа для стабилизации значения на всякий случай). И получаем на выходе синусоиду с амплитудой где-то 0.5В. Ладно, не очень то нам и нужен этот конденсатор, убираем.

Вообще, данный ОУ подключен в буферным режиме не случайно, ибо данный сигнал используется дальше по схеме. И так получается, что он подключен в том числе к одному концу резистора 47 кОм, на другой контакт которого периодически подаются короткие (30 кГц 1% заполнение) импульсы 12В.

Я ожидаю, что эти импульсы никак не должны влиять на буферизованный сигнал. Ведь 12В / 47 кОм = 250 мкА. А в реальности там даже чуть меньше, ибо уровень сигнала ОУ около 1.5В, а не 0В, поэтому разность потенциалов, и как следствие ток, меньше. А они влияют. Не синусоида, конечно, как с конденсатором, но есть ярко выраженные сильные искажения сигнала в момент прихода импульсов (тоже примерно 0.5-1В амплитудой).

Если симулировать такую схему в Proteus (http://i.imgur.com/gxG5kcQ.png, тут сразу и конденсатор на выходе, и генератор импульсов 12В, пробовал и всё сразу, и что-то одно), то никаких проблем нет. Но, разумеется, данный софт может банально не учитывать какие-то физические законы, поэтому к нему претензий нет.

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

★★★★★

Последнее исправление: KivApple (всего исправлений: 2)
Ответ на: комментарий от Deleted

Хм... это объяснит синусоиду при подключении конденсатора. Однако всё равно непонятно почему схема глючит при подключении 12В через 47 кОм.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

ну возможно по тойже причине - смещение на инвертирующий вход.

Deleted
()

Если тебе нужна тупо развязка с небольшим усилением, то влепи туда транзистор и не парь мозг.

А, не инвертировать.. Ну влепи два.

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 1)
Ответ на: комментарий от deep-purple

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

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Я имел ввиду что-то такое: http://s32.postimg.org/sbtylkxqd/instead_ou.png

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

Но только ты проверь все что я щас написал, эти знания я не использовал уже лет пятнадцать точно, могу и соврать.

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 1)
Ответ на: комментарий от deep-purple

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

KivApple ★★★★★
() автор топика

Развяжи электропитание оу от остальной схемы. Например rc-цепочками, конденсаторов используй пару, электролитический + керамический. У тебя питание оу двуполярное, надеюсь. А то если однополярное, то по земле у тебя помехи придут.

Землю вокруг входной rc цепи и оу сделай короткой.

Шунтировать конденсатором выход оу глупо и бессмысленно.

anto215 ★★
()
Ответ на: комментарий от anto215

Питание ОУ однополярное. Однако если отключить его выход от нагрузки (тот 47кОм резистор, на который идут импульсы 12В), то он начинает работать абсолютно адекватно, хотя все силовые компоненты схемы продолжают работать (и потенциально могут давать наводки). В схеме большое количество электролитических и керамических конденсаторов, питание на осциллографе выглядит как очень ровная прямая линия. Дорожки между RC-цепью и ОУ очень короткие (5мм от земли конденсатора до земли ОУ, 4 мм от второй ножки конденсатора до входа ОУ, 2.54 мм между инвертирующим входом ОУ и его выходом, дорожки широкие - 1мм и прямые).

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)

Подключаем между выходом ОУ и землёй конденсатор 100 нФ (типа для стабилизации значения на всякий случай).

у тебя какбе 100%-ная отрицательная обратная связь, чего ты там стабилизировать собрался?

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

с хрена ли? ты вообще-то подал сигнал на инвертирующий вход

registrant ★★★★★
()
Ответ на: комментарий от registrant

у тебя какбе 100%-ная отрицательная обратная связь, чего ты там стабилизировать собрался?

Ничего. Я уже выпилил этот конденсатор.

с хрена ли? ты вообще-то подал сигнал на инвертирующий вход

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

Я могу не очень хорошо понимать работу ОУ, поэтому и спрашиваю - как правильно забуферизовать сигнал, чтобы он нормально переживал такие вещи?

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

я посмотрел в свой хрустальный шар и вижу, что в душе ты хочешь стабилизатор напряжения на ОУ. тогда добавь по выходу силовой транзистор: выход операционника прицепи к базе, а в обратную связь на инвертирующий вход сними с эмиттера через делитель. детали в гугл, ключевые слова выделены. вот, например: http://ikit.edu.sfu-kras.ru/files/7/9.pdf (см. компенсационный стабилизатор)

registrant ★★★★★
()
Последнее исправление: registrant (всего исправлений: 1)
Ответ на: комментарий от registrant

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

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

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

registrant ★★★★★
()
Ответ на: комментарий от KivApple

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

deep-purple ★★★★★
()
Ответ на: комментарий от KivApple

А как сделать, чтобы коэффициент усиления был равен единице?

R1 убрать, R2 закоротить.

Puzan ★★★★★
()
Ответ на: комментарий от KivApple

А как сделать, чтобы коэффициент усиления был равен единице?

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

registrant ★★★★★
()

он подключен в том числе к одному концу резистора 47 кОм, на другой контакт которого периодически подаются короткие (30 кГц 1% заполнение) импульсы 12В.

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

one_more_hokum ★★★
()
Ответ на: комментарий от registrant

лучше еще и по прямому входу поставь с таким же общим сопротивлением. у операционника ведь тоже насыщение есть

По-моему разницы нет, всё равно при напряжении на RC-цепи больше VCC-0.6 операционник уйдет в насыщение (при коэффициенте усиления >=1).

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

всё равно при напряжении на RC-цепи больше VCC-0.6 операционник уйдет в насыщение

вот это напряжение и поделить, оно будет опорным. а сигнал ошибки со второго делителя.

registrant ★★★★★
()
Ответ на: комментарий от Puzan

У меня питание ОУ 5 вольт, а напряжение ШИМ - 3.3В (ШИМ идёт с STM32). Поэтому на входе ОУ никогда не будет чисто технически больше VCC-0.6.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от registrant

вот это напряжение и поделить, оно будет опорным. а сигнал ошибки со второго делителя.

Так на второй делитель нужно подать напряжение в «делитель» раз больше, чем опорное. При единичном коэфф.усиления получается тож на тож.

Однако, в связи с вновь открывшимися обстоятельствами (VCC=5V, ШИМ=3.3V) это всё не имеет значения.

Puzan ★★★★★
()
Ответ на: комментарий от one_more_hokum

Кхм-кхм. Они не просто так приходят. Они нужны.

Вообще, вот более полная схема:

http://i.imgur.com/PGylnrF.gif

То есть по сути дела OP1 (про который идёт речь в вопросе) создаёт среднюю точку для дифференциального усилителя на другом ОУ.

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

Однако выходное напряжение OP1 в момент прихода импульса на диференциальный усилитель (а это импульсы амплитудой около 12В - замеряется разность между ними) скачет и сбивает замер.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Puzan

Это дифференциальный усилитель тока. Входы подключены к разным концам резистора 0.05 Ом и на выходе усилителя получается падение напряжения на этом резисторе усиленное примерно в 5 раз. При этом относительно средней точки заданной ШИМ с МК. Ведь ток может течь как в одну, так и в другую сторону.

Зачем задавать среднюю точку с МК? Чтобы можно было удобно задавать другим ШИМ порог срабатывания отсечки тока (выход дифференциального усилителя идёт на один вход компаратора, выход второй RC-цепочки - на другой вход компаратора, выход компаратора на вход RESET RS-триггера, вход SET, которого дёргается коротким импульсом с МК, выход же триггера управляет драйвером полевика, по пути от компаратора до триггера стоит логический элемент XOR, чтобы инвертировать логику отсечки на отрицательных полуволнах тока, второй вход XOR управляется с другого компаратора, сравнивающего среднюю точку с результатом интегрирования второго ШИМ).

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

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Вот чес-слово — норкоманство какое-то. Ощущение складывается, что схема «работает» на взаимной компенсации глюков её различных частей. Токоизмерительный резистор относительно операционников как включен?

Ведь ток может течь как в одну, так и в другую сторону.

С чего вдруг? Дай схему включения токоизмерительного резистора и силовой части.

one_more_hokum ★★★
()
Ответ на: комментарий от one_more_hokum

Резистор подключен одним концом к полумосту на двух полевиках. А другим концом подключен к обмотке шаговика, которая подключена к средней точке силового питания. То есть полумост выдаёт либо 12, либо 0 вольт, а средняя точка всегда 6 вольт. В итоге ток может течь по обмотке как в одну, так и в другую сторону. Это позволяет сократить количество силовых транзисторов и драйверов полумостов в 2 раза ценой уменьшения силового напряжения в 2 раза.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Puzan

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

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Короче, ты бы уже поставил транзистор и проверил. Делов то на 5 минут.

Puzan ★★★★★
()
Ответ на: комментарий от KivApple

Что ты его в шину питания не воткнул? Я про резистор. Или тебе надо, чтоб через резистор разнополярный ток бегал?

Среднюю точку силы как формируешь? Заморочился-бы уже на полный мост. Да — дороже, да — на плате не так просто его разложить, но проблем стало бы сильно меньше, КМК.

one_more_hokum ★★★
()
Последнее исправление: one_more_hokum (всего исправлений: 1)
Ответ на: комментарий от one_more_hokum

Да, проблем бы было меньше, не нужен был бы дифференциальный усилитель, но он то отлично работает. Проблемы лишь с нестабильностью сигнальной средней точки.

Силовую среднюю точку (6 вольт) образует конденсаторный делитель (с резистивным делителем для защиты от уплывания). Для постоянного тока не подходит (разрядится один из конденсаторов делителя и приехали), но у шаговика постоянно переключаются обмотки и всё нормально.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от one_more_hokum

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

KivApple ★★★★★
() автор топика
Ответ на: комментарий от one_more_hokum

Снял сегодня осциллограмму с выхода буфера:

http://i.imgur.com/8FGQKZf.png

Голубой график - 12-вольтовые импульсы, жёлтый график - напряжение на выходе буфера (масштаб графиков разный, см. обозначения в левом верхнем углу).

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Puzan

Какие нафиг наносекундные? 1 клетка = 10 мкс. Так что фронты никак не меньше 2-3 мкс.

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Puzan

Тупанул. Да, наносекундные.

http://i.imgur.com/17LQCMO.png

86 наносекунд при нарастании от 0 до 12В и 100 наносекунд при спаде от 12 до 0В.

И что мне теперь делать? Нужно взять более быстрый ОУ в качестве буфера?

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

И что мне теперь делать?

Попробуй поставить транзистор как предлагалось, нагрузить его на небольшой резистор (100 Ом) параллельно с конденсатором, и с него снимать опорное напряжение.

Puzan ★★★★★
()
Ответ на: комментарий от KivApple

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

Puzan ★★★★★
()
Ответ на: комментарий от Puzan

Впрочем, в цепи обратной связи достаточно одного резистора (от выхода ОУ ко входу "-") и конденсатора (от входа к земле). Например, 1к и 1n, чтоб приходящие фронты гасил и пульсации от шима не сильно усиливал.

Puzan ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.