Ich habe einen PWM-Motortreiber mit konstanter Geschwindigkeit entwickelt, der einen Operationsverstärker und einen Mosfet verwendet. Wird es funktionieren? Können Sie auf einige Probleme hinweisen?

Ich arbeite derzeit daran, zwei Motoren mit einer Art PWM anzutreiben oder so zu schalten, dass sie unabhängig von der Last mit konstanter Geschwindigkeit laufen. Ich möchte diese gesamte Schaltung mit einem Arduino-PWM-Ausgangspin steuern. Ich glaube, dass der von mir verwendete Mosfet ein Logikpegel ist, der mit 4,5 V betrieben werden soll. Die beiden Motoren zusammen sollten nicht mehr als 30A ziehen.

Hier ist, was ich bisher habe:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Die beiden Dioden dienen dem Schutz. Der Widerstandsteiler soll einfach der Tatsache Rechnung tragen, dass der Arduino nur 5 V ausgeben kann. Meine Logik ist wie folgt: Wenn der Spannungsabfall am Motor zu niedrig ist, schaltet der Operationsverstärker den Mosfet ein und lässt Strom fließen. Wenn die Spannung an den Motoren zu hoch ist, schaltet sich der Mosfet aus.

Meine Sorge ist, dass der Mosfet nicht oszilliert, sondern nur in einen stabilen Zustand gelangt und somit viel Wärme abgibt. Wird das passieren? Wenn ja, wie kann ich die Schaltung zum Schwingen bringen, um dieses Problem zu vermeiden?

Danke!

Um bei konstanter Geschwindigkeit zu laufen, ist bei Lastschwankungen eine Geschwindigkeitsrückmeldung erforderlich.

Antworten (2)

Schlechte Idee, Opamp zum Ansteuern eines Gates zu verwenden. Viel besser, einen Gate-Treiber zu finden. Andernfalls kann Ihr System überhitzen, Geräusche am Eingang erleiden usw. Sie verringern die Frequenz, um Wärme abzuleiten, und der Motor hört auf zu arbeiten oder brennt.

Auch wenn Sie einen analogen Treiber suchen, sollten Sie besser mit BJT anstelle von MOSFET beginnen. Dann kann Opamp tatsächlich funktionieren (nicht sicher über den spezifischen Opamp). Eigentlich funktioniert es mit MOSFET manchmal auch, aber für Sie ist es einfacher, mit BJT zu arbeiten, es ist viel linearer.

Für analoge Treiber benötigen Sie einen viel fortschrittlicheren Regelkreis. Aber ehrlich gesagt bin ich etwas skeptisch, es hier zu beschreiben. Google analoger Servoantrieb.

Und zu guter Letzt: Damit ein Bürstenmotor die Drehzahl konstant (oder fast konstant) hält, regeln Sie einfach seine Spannung. Verwenden Sie eine Art variablen Spannungswandler mit Strombegrenzung, und das war's.

Sie müssen den Strom / die Spannung / die Geschwindigkeit (idealerweise die Geschwindigkeit, da dies die Variable ist, die Sie stabilisieren möchten) mit dem Arduino messen und PWM auf der MCU erzeugen. Sie können die MCU über einen kleinen Widerstand direkt mit dem MOSFET verbinden.

In Ihrem aktuellen Schaltplan versuchen Sie, den MOSFET linear zu steuern. Es wird viel Kraft abführen. Motortreiber werden normalerweise mit PWM gesteuert (mir fallen nur einige audiophile Plattenspieler ein, die Linearmotortreiber haben).