Методы преобразования ШИМ в сигнал +/- 10 В

Предположим, у нас есть сигнал ШИМ, который управляет скоростью двигателя, и цифровой вывод, который указывает, в каком направлении движется двигатель, как мы можем преобразовать эти сигналы в сигнал 1 +/- 10 В, где <0 — назад, а> 0 — вперед. путешествовать.

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

Когда вы говорите сигнал +/- 10 В, этот «сигнал» питает двигатель или это слаботочный сигнал, который передается на вход с высоким импедансом, который затем делает что-то еще (например, драйвер)? Кроме того, каково напряжение сигнала ШИМ? И какая частота ШИМ?
Инвертор + ФНЧ...
Я уже дал вам ссылку в вашем предыдущем вопросе о VFD и MCU.
Почему ты снова спрашиваешь ? Вы не приняли ни один ответ из вашего предыдущего вопроса.

Ответы (4)

Что-то вроде этого должно работать хорошо. Части просто для примера, оптимизация потребует больше работы (и информации).

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab


Редактировать:

Меня попросили провести анализ усилителя (усиление = +2 для замкнутого переключателя, -2 для разомкнутого переключателя).

Во-первых, обратите внимание, что входы операционного усилителя всегда сбалансированы на Vin/2 из-за R3/R5.

(Также обратите внимание, что они всегда положительны, так как Vin варьируется от 0 В до 5 В, поэтому M1 всегда видит положительное напряжение на стоке - от 0 до 2,5 В для 0 до 5 В)

Переключатель M1 открыт (выключен), у нас есть ток (Vin - Vin/2)/R2, протекающий через R2, поэтому - (Vout - Vin/2)/R1 должен протекать через R1, используя KCL.

Решите для Vout/Vin = 1/2 - R1/(2*R2) = -2,00 для R1 = 5*R2.


При замкнутом переключателе (предположим, что M1 = 0 Ом ) у нас есть добавленный термин, и снова используя KCL, результат будет таким:

Vin/(2*R2) - Vin/(2*R4) + (Vвых -Vin/2)/R1 =0

Решите для Vout/Vin = 1/2 + R1/(2*R4) - R1/(2*R2) = +2,00 для R1 = 5*R2 R4 = (25/40) * R2.


Хорошо, я думал о схеме с переключаемым коэффициентом усиления (+1/-1) с аналоговым переключателем, а не с полевым транзистором. (как вещь типа блокировки.) У меня есть несколько из них, нацарапанных в блокноте. Можно инвертировать ШИМ, а затем использовать MUX, выбранный «битом» привода, чтобы изменить знак.
@GeorgeHerold Спасибо. Это дает усиление +/-2 с одним переключателем SPST. Если вы чувствуете прилив, проще и, возможно, точнее использовать аналоговый переключатель DPDT и инструментальный усилитель, но это стоит в 100 раз дороже.
Хороший ответ @SpehroPefhany - я имел в виду нечто большее, чем Джордж. Простите мое невежество, но я не думаю, что видел эту топологию для операционного усилителя раньше (за исключением переключателя FET - базовой настройки усилителя). Не могли бы вы сделать небольшой анализ цепи на нем? Или это относительно стандартная установка, которую я мог бы поискать где-нибудь еще? Когда я пытаюсь анализировать, я получаю неправильные результаты.
@stefandz, без полевого транзистора, это дифференциальный операционный усилитель. (Именно поэтому инструментальный усилитель также можно использовать... за еще большие деньги вы можете купить одну микросхему, AD630.)
@GeorgeHerold, вы совершенно правы - я запутался в голове, пытаясь проанализировать его как инвертирующий операционный усилитель со смещением на неинвертирующем входе. Ленивый анализ = неправильные ответы! Теперь, когда я это вижу, мне стыдно, что я не увидел раньше. Но спасибо, что бросили имя дьяволу!

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

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

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

Конечно, использование ШИМ для управления сигналом шага на шаговом двигателе будет быстро отброшено как решение, потому что оно не изменит скорость (если вы не имеете в виду полный пропуск шагов при низких и, возможно, очень высоких рабочих циклах)?
Нет, это зависит. Для систем не в реальном времени это единственный способ поддерживать скорость, поэтому для низких скоростей это нормально, если не требуется управление положением. Для более высоких скоростей они могут даже построить простой профиль, опять же, без контроля положения. И зачем мне вообще защищать эту штуку? Без понятия...
Я полностью запутался - конечно, если вы используете ШИМ для управления ступенчатым сигналом, вы меняете только ширину импульса, а не частоту, и, следовательно, не можете изменить скорость? Не уверен, что это стоит обсуждать здесь (как вы указываете), но заинтригован тем, какую деталь мне не хватает!
Нет, постоянный рабочий цикл 50%, но изменяющаяся частота. Дело в том, что ШИМ-периферия не зависит от программы, поэтому им просто нужно время от времени менять значение в частотном регистре.
Попался. Итак, периферийный ШИМ, но на самом деле используется как контроллер ЧИМ (но только скорость, а не положение). Фух, думал, что я потерял свои шарики там!

Вот решение с одной микросхемой, которое поможет вам довольно близко:

введите описание изображения здесь

Примечания

  • V1 - это ваша схема генерации ШИМ. Это должно быть низкоимпедансное. Подойдет большинство выходов микроконтроллера, в зависимости от входного сопротивления вашего фильтра нижних частот.
  • R1 и C1 образуют фильтр нижних частот. Вы можете сделать это сложным или простым, как вам нравится. Я выбрал простой.
  • R4 используется для регулировки смещения. Если ваш входной ШИМ находится в диапазоне от 0 В до +3,3 В, а желаемый выходной диапазон составляет от -10 В до +10 В, то 6,3 кОм довольно близки.
  • R6 и R5 используются для масштабирования выходного напряжения после регулировки R4.

Регулировка цепи

Если вам нужно отрегулировать схему вручную, я предлагаю вам закоротить R5, чтобы сделать повторитель напряжения, и регулировать R4 до тех пор, пока рабочий цикл 50% не даст выходное напряжение 0 В.

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

( В 1 м а Икс 2 В н е г ) р 4 р 1 + р 4 В н е г "=" 0

Предполагая, что V1= 3,3 В и V отр = 10 В:

( 3.3 В 2 10 В ) р 4 р 1 + р 4 10 В "=" 0
( 11,5 В ) р 4 р 1 + р 4 10 В "=" 0
р 4 р 1 + р 4 "=" 0,8696
6,67 р 1 "=" р 4

Как только вы настроите смещение, начните регулировать R5 до тех пор, пока рабочий цикл 100% не даст вам 10 В, а рабочий цикл 0% не даст -10 В. Опять же, вы должны быть в состоянии рассчитать этот шаг:

В о ты т , м а Икс "=" г В я н , м а Икс

Где «G» — коэффициент усиления схемы операционного усилителя, а V in,max — максимальное напряжение на V + (или ШИМ при 100% рабочем цикле). В инвертирующем усилителе

г "=" 1 + р 5 р 6

С этого момента вы сможете использовать замену и получить подходящие значения для R5 и R6.

Где вход направления для этой схемы?
К сожалению, я неправильно понял вопрос и пропустил ввод направления. Схема предназначена для работы только с ШИМ, где рабочий цикл 0% масштабируется до -10 В, а рабочий цикл 100% масштабируется до +10 В. Я оставлю это здесь для потомков на случай, если кто-то наткнется на этот вопрос с этой конкретной потребностью, но ответ, предоставленный spehro, больше подходит для вопроса, и я проголосовал за его ответ.

Как показывают некоторые комментарии, нам нужно немного больше информации. Здесь я предполагаю, что вы используете микроконтроллеры и что ваши ШИМ и цифровые выходные контакты работают при напряжении 0-3,3 В. Вот цифровая логика, которую вы сначала пытаетесь реализовать:

НАПРАВЛЕНИЕ ШИМ | Выход
  1 0 | 1 (прямое направление)
  0 0 | 0 (Вперед)
  1 1 | 0 (Обратный)
  0 1 | 1 (Обратный)

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