Использование сигнала с широтно-импульсной модуляцией для возможной смены полярности

Я пытаюсь помочь художнику управлять простым двигателем постоянного тока с помощью одного сигнала. Сигнал представляет собой цифровой выход, 0/5 В, а двигатель работает с максимальным напряжением 36 В. Мотор должен работать вперед и назад. Для каждого двигателя доступен только 1 цифровой выход.

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

Также благодаря этому сайту я только что узнал о H-мостах и ​​нашел несколько хороших страниц об использовании 4 транзисторов для переключения полярности двигателя.

Моя мысль заключалась в том, чтобы выходной сигнал был широтно-импульсным: 0% = полный реверс, до 35% = медленный реверс, и 65% = медленный вперед, до 100% = полный вперед.

Чтобы заставить это управлять двигателем, я думаю о разделении сигнала на две изолированные части. Я «сглаживаю» одну часть и использую ее как сигнал «управления направлением», низкий = назад, высокий = вперед. Другой оригинальный ШИМ-сигнал просто модулирует мощность для управления скоростью.

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

(Основная проблема в том, что я запутался. Я не строил никаких схем более 20 лет.)

Вопрос в том, как бы вы заставили это работать, используя источник питания 36 В и некоторые компоненты для преобразования сигнала ШИМ 0–100% 5 В в источник питания ШИМ от -36 В до +36 В?

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

Ответы (2)

Если у вас есть контроллер Н-моста, который может четко переключаться с частотой ШИМ, которая достаточно высока по сравнению с индуктивностью двигателя (чем ниже индуктивность, тем быстрее должна быть ШИМ), управляя им с формой волны, которая на 60% вперед и на 40 % реверс будет хорошим способом вести его вперед со скоростью 20%; 40% вперед, 60% назад — хороший способ ехать назад со скоростью 20%. Если оба вышеуказанных условия соблюдены, управление двигателем таким образом даст характеристику скорости, которая будет намного более линейной, чем ШИМ между управляемой и «разомкнутой цепью», а также будет более энергоэффективной. Кроме того, попытка управлять двигателем на скорости, которая несколько ниже, чем в настоящее время, обеспечит рекуперативное торможение [т.е. позволит достаточно хорошо подавать энергию двигателя в источник питания].

Важно отметить, что слишком быстрая работа PWM для контроллера H-моста может привести к трате энергии в контроллере H-моста; работа слишком медленная для индуктивности двигателя увеличит количество энергии, потраченной впустую в двигателе. Если ШИМ слишком медленный, управление двигателем на половинной скорости может потреблять во много раз больше энергии, чем попытка запустить его на полной скорости. Однако, если двигатель приводится в действие с помощью быстрой ШИМ, и H-мост может с этим справиться, эффективность может быть очень хорошей; заглохший двигатель, вращающийся на 75 % вперед и на 25 % назад, будет иметь примерно половину крутящего момента, как если бы он работал на 100 % вперед, но потребляет только около четверти мощности [около 75 % времени, он будет потреблять примерно вдвое меньше. большой ток от источника, как если бы он был на 100%, а остальные 25% времени он возвращает такое же количество тока].

Может быть, объединить ответы @supercat и Колина с оконным компаратором аналогового напряжения (скажем, от 2,4 до 2,6 В), чтобы отключить двигатель, если необходимо, чтобы он оставался полностью неподвижным, когда коэффициент ШИМ приближается к 50%.
@SpehroPefhany: Действительно, некоторая логика отключения была бы хорошей идеей. В качестве альтернативы фильтрации ШИМ можно было бы подключить вещи так, чтобы высокий вывод = работал по часовой стрелке; контакт низкий = вращение против часовой стрелки; плавающий контакт = ничего не делать.
Я должен был добавить к вопросу, что двигатель никогда не будет «остановлен», кроме как мгновенно, он будет колебаться. Скорость будет "примерно синусоидальной" с некоторыми динамически генерируемыми и случайными вариациями. Таким образом, нам не нужно отключение для случая «почти 50%». Я измерю индуктивность двигателя и выясню, какие компоненты мне нужны, чтобы все заработало. Спасибо за быстрые ответы.

Вы можете взять сигнал ШИМ, пропустить его через фильтр нижних частот (например, RC-фильтр), а затем использовать компаратор, чтобы сравнить его с 2,5 В. Пусть выход компаратора будет битом направления для H-моста. Если значение ШИМ выше 50%, то выход ФНЧ выше 2,5 В.

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