ich habe gerade ein Projekt an der Uni bei dem ich mit zwei 12V Gleichstrommotoren arbeite, welche jetzt durch 12V BLDC-Motoren ersetzt werden sollen. Die Ansteuerung erfolgt über die PWM-Pins eines Arduino Mega.
Meine Frage ist jetzt, was ich an meiner Schaltung zur Stromversorgung ändern soll. Die momentane Umsetzung erkläre ich im Folgenden.
Die zwei DC Motoren sind über eine MOSFET-Schaltung an die PWM-Pins angeschlossen. Die Steuerspannung 0-5V kommt vom Arduino und wird über die MOSFETS auf 0-12V hochgeschalten. Die Motoren hängen jeweils mit einer Freilaufdiode direkt an der 12-V Stromversorgung und holen sich da den benötigten Strom. Der Schaltplan dafür folgt: MOSFET_Schaltung_Harzbad.pdf (19,0 KB)
Die neuen BLDC-Motoren haben einen integrierten Speedcontroller mit PID-Regler, die Phasen müssen also nicht einzeln manuell bestromt werden. Der Motor braucht einen GND Anschluss, 5V für die Elektronik und 12V für den Motor an sich. So weit ist alles klar. Die Liste der Anschlüsse hier:
Dann kommt die Sollspannung von 0-10V um die Drehzahl vorzugeben. Wie ich es verstehe, kommt der Strom zum betreiben des Motors vom 12V-Anschluss und die Unsoll müssen keinen hohen Strom hinter sich haben. Und da habe ich die Fragen:
Kann ich die MOSFET-Schaltung weiter verwenden und statt des Pluspols des DC-Motors einfach den Unsoll des BLDC-Motors anschließen?
Wenn ja, wie vermeide ich dass über 10V auf den Pin gelangen? Schaltet der MOSFET in einem bestimmten Verhältnis und ich könnte einfach ausrechnen welche Spannung ich maximal am Arduino erzeugen müsste?
Wenn nicht, wie kann ich realisierten, dass die 0-5V des Arduino in die 0-10V am Unsoll umgewandelt werden? Wie würden die Bauteile und die Schaltung dafür aussehen?
So, das war es jetzt erstmal. Ich hoffe ihr konntet verstehen wo mein Problem liegt und ich freue mich über jede Hilfe:)
Ein "üblicher" Arduino hat keinen 0-5V Analog-Ausgang, daher stellt sich die Frage, wie man aus 0-5V 0-10V macht, erstmal nicht.
Es gibt PWM to Voltage Converter, die können gleich 0-10V ausgeben.
Alternativen wären I²C DAC-Module, die statt eines PWM-Signals seriell über den I²C - Bus angesteuert werden.
PWM ist eine pulsierende Gleichspannung. Das signal schaltet periodisch mit einer fixen Frequenz zwischen LOW und HIGH hin und her. geändert wird dabei das Verhältnis vom HIGH Anteil des Signals zum LOW Anteil. Solche Signale werden oft verwendet weil man Verbraucher regeln kann ohne (viel) Verlustleistung zu erzeugen. Die Versorgung der Last wird dabei immer Aus und Eingeschaltet und nicht die Versorgungsspannung in ihrer Größe (analog) geregelt wie zB die Ausgangsspannung eines regelbaren Netzteils.
Man kann aus einer PWM eine Gleichspannung machen, indem man mit einem Widerstand und einem Kondensator diese glättet. Dazu müßte aber das 5V PWM Signal auf ein 10V PWM Signal gebracht werden und dann mit dem RC Glied geglättet werden.
Die vorgeschlagene Platine macht das besser und Du mußt nicht herumlöten.
Ja, ich hab gerade gesehen, dass man ihn auch mit PWM betreiben kann. Dazu nochmal eine Verständnisfrage von mir: Kommt dann aus dem PWM-Pin des Arduino ein PWM Signal mit Tastverhältnis heraus oder eine DC-Spannung? Also was davon "sieht" und bekommt dann der Motor?
Weil wenn es am Ende nur als DC-Spannung ankommt, könnte ich ja nicht das gesamte verfügbare Drehzahlspektrum ausnutzen.
Nun habe ich leider das Problem, dass Pin 9&10 schon mit der Platine festgelegt sind... Meinst Du dass das ein Problem darstellen wird, wenn die Frequenz 10Hz drunter liegt oder kannst du dazu keine Aussage machen?