Я разработал драйвер двигателя PWM с постоянной скоростью, используя операционный усилитель и MOSFET. Это будет работать? Можете ли вы указать на некоторые проблемы?

В настоящее время я работаю над двумя двигателями, используя какой-то ШИМ или переключая так, чтобы они работали с постоянной скоростью, независимо от нагрузки. Я хочу управлять всей этой схемой, используя один выходной штырь Arduino PWM. Я полагаю, что используемый мной полевой МОП-транзистор имеет логический уровень, предназначенный для управления напряжением 4,5 В. Два двигателя вместе взятые не должны потреблять больше 30А.

Вот что у меня есть:

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

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

Два диода для защиты. Резисторный делитель просто учитывает тот факт, что Arduino может выдавать только 5 В. Моя логика такова: если падение напряжения на двигателе слишком низкое, то операционный усилитель включает MOSFET, позволяя течь току. Если напряжение на двигателях слишком высокое, то MOSFET отключается.

Меня беспокоит то, что вместо того, чтобы колебаться, MOSFET просто перейдет в стабильное состояние, рассеивая таким образом много тепла. Произойдет ли это? Если да, то как я могу заставить схему колебаться, чтобы избежать этой проблемы?

Спасибо!

Для работы с постоянной скоростью при заданных изменениях нагрузки потребуется обратная связь по скорости.

Ответы (2)

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

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

Для аналогового драйвера вам понадобится гораздо более продвинутый контур управления. Но, честно говоря, я немного скептически отношусь к описанию этого здесь. Аналоговый сервопривод Google.

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

Вы должны измерить ток/напряжение/скорость (в идеале скорость, потому что это переменная, которую вы хотите стабилизировать) с помощью Arduino и сгенерировать ШИМ на микроконтроллере. Вы можете подключить MCU через небольшой резистор напрямую к MOSFET.

В вашей текущей схеме вы пытаетесь управлять MOSFET линейным способом. Это будет рассеивать много энергии. Драйверы двигателей обычно управляются с помощью ШИМ (я могу вспомнить только некоторые аудиофильские проигрыватели с драйверами линейных двигателей).