Forum: Analoge Elektronik und Schaltungstechnik Steuerbare Spannungsquelle 0-6V - wie?


von Matze A. (matzeapa)


Lesenswert?

Moin,

ich würde gerne einen kleinen, fahrbaren Robi mit einem Universalmotor 
betreiben. Hierfür habe ich diesen gekauft: 
https://www.conrad.de/de/hochleistungsgetriebemotor-6-v-modelcraft-rb350018-sy2425-181-233128.html

Die Ansteuerung habe ich mit einem normalen RC- Fahrtregler und der 
Arduino- Bibliothek "Servo" realisiert. Bis hierhin auch keine Probleme: 
der Motor dreht wie er soll. Jedoch kann ich den Motor nur zwischen 350 
und 100 U/min steuern. Bei kleineren Drekzahlen bleibt er stehen. Der 
Grund liegt in der Ansteuerung des Motors: der Motor kommt mit der PWM 
für kleine Drehzahlen nicht zurecht. Mit meinem Labornetzteil dreht er 
bei kleinen Spannungen sehr langsam. Die Stromaufnahme liegt beim 
benötigten Drehmoment bei kleinen Drehzahlen bei ca. 2A.

Nun meine Frage / mein Plan: wo bekomme ich eine steuerbare 
Spannungsquelle her, die ich zwischen 0 und 6V per µC einstellen kann 
und die ca. 2A liefert. Oder hast du ne bessere / andere Idee?

Danke für alle Tipps und Ideen!
Matze

von Peter II (Gast)


Lesenswert?

Matze A. schrieb:
> Der
> Grund liegt in der Ansteuerung des Motors: der Motor kommt mit der PWM
> für kleine Drehzahlen nicht zurecht.

wenn die PWM schnell genug ist, erzeugt die Induktivität vom Motor schon 
fast eine Gleichspannung.

Versuche es mal mit andere PWM Frequenzen.

von Matze A. (matzeapa)


Lesenswert?

Danke für die Idee, aber da ich nen gekauften RC- Fahrregler habe, kann 
ich an der PWM zum Motor nichts ändern.
Eine einstellbare Spannungsquelle, wie z.B. der LM317 wäre die Lösung. 
Allerdings kann man den nur bis 1,25V runter regeln...

von knollo (Gast)


Lesenswert?

Hallo !
Du kannst Deinen Motor auch ohne Kopfstände vom Arduino allein steuern. 
PWM kann der auch, wenn auch nur an bestimmten Pins. Passende H-Brücke 
dran und gut iss. Eine spezielle Bibliothek brauchts auch nicht und die 
Frequenz lässt sich einstellen. Ich hab' mir mal einen analogen 
Modellbahnregler gebaut, lief klaglos. Die Sache mit dem LM317 ist nicht 
so gut, zu viel Verluste.
MfG

von m.n. (Gast)


Lesenswert?

Mit einem Drehzahlregler kannst Du auch kleine Drehzahlen erreichen. 
Wenn Du mit einem AVR arbeiten kannst, wäre diese Schaltung eine 
Möglichkeit: Beitrag "Drehzahlregler für DC-Motor, ATmega48-328"

Anstelle der Potispannung wird die Steuerspannung verwendet, die mit 
einem Spanungsteiler (1k:5,1k) auf 0 - 5 V herabgesetzt werden sollte.

von Harald W. (wilhelms)


Lesenswert?

Matze A. schrieb:

> Allerdings kann man den nur bis 1,25V runter regeln...

Dadrunter wird Dein Motor vermutlich sowieso nicht drehen.
Der Einstellbereich von Motordrehzahlen mit Gleichspannung
ist deutlich kleiner als mit PWM. Das haben die Modellbahner
schon sehr früh festgestellt und verwenden deshalb PWM schon
seit vielen Jahrzehnten.

von c.m. (Gast)


Lesenswert?

Peter II schrieb:
> Matze A. schrieb:
>> Der
>> Grund liegt in der Ansteuerung des Motors: der Motor kommt mit der PWM
>> für kleine Drehzahlen nicht zurecht.
>
> wenn die PWM schnell genug ist, erzeugt die Induktivität vom Motor schon
> fast eine Gleichspannung.
>
> Versuche es mal mit andere PWM Frequenzen.

nur so aus interesse… in welchem bereich bewegen sich den 
"üblicherweise" geeignete pwn frequenzen für solche motoren? paar 100Hz? 
paar kHz oder ein paar 10kHz?

von Günter Lenz (Gast)


Lesenswert?

Matze Apa schrieb:
>wo bekomme ich eine steuerbare
>Spannungsquelle her, die ich zwischen 0 und 6V per µC einstellen kann
>und die ca. 2A liefert.

Manche µC haben einen Digital-Analogwandler integriert.
Dann noch einen Spannungsfolger mit Operationsverstärker
und Leistungstransistoren nachschalten, fertig.

von Christian S. (roehrenvorheizer)


Lesenswert?

Matze A. schrieb:
> Danke für die Idee, aber da ich nen gekauften RC- Fahrregler habe,
> kann ich an der PWM zum Motor nichts ändern. Eine einstellbare
> Spannungsquelle, wie z.B. der LM317 wäre die Lösung. Allerdings kann man
> den nur bis 1,25V runter regeln...

Hallo,

schalte hinter den LM317 zwei Dioden und schon gehts herunter bis fast 
auf 0 Volt.

MfG

von THOR (Gast)


Lesenswert?

c.m. schrieb:
> Peter II schrieb:
>> Matze A. schrieb:
>>> Der
>>> Grund liegt in der Ansteuerung des Motors: der Motor kommt mit der PWM
>>> für kleine Drehzahlen nicht zurecht.
>>
>> wenn die PWM schnell genug ist, erzeugt die Induktivität vom Motor schon
>> fast eine Gleichspannung.
>>
>> Versuche es mal mit andere PWM Frequenzen.
>
> nur so aus interesse… in welchem bereich bewegen sich den
> "üblicherweise" geeignete pwn frequenzen für solche motoren? paar 100Hz?
> paar kHz oder ein paar 10kHz?

Wie bei allen per PWM angesteuerten Spulen am besten deutlich über 20kHz 
wegen Hörbarkeit.

Wenn die Induktivität des Motors den Strom ausreichend glätten soll, 
muss man die Frequenz entsprechend hoch wählen. Das sieht man im 
Zweifelsfall auf dem Oszi.

Bei sehr kleinen Drehzahlen versagt die Steuerung allerdings und man 
muss ggf. die Drehzahl regeln. Da wären Anforderungen jetzt ganz gut.

von Jemin K. (jkam)


Lesenswert?

Da Du das maximale aus Deinem Motor rausholen willst, wirst Du es 
austesten müssen.

von Axel S. (a-za-z0-9)


Lesenswert?

Matze A. schrieb:
> ich würde gerne einen kleinen, fahrbaren Robi mit einem Universalmotor
> betreiben.
> Die Ansteuerung habe ich mit einem normalen RC- Fahrtregler und der
> Arduino- Bibliothek "Servo" realisiert.
> Jedoch kann ich den Motor nur zwischen 350
> und 100 U/min steuern. Bei kleineren Drekzahlen bleibt er stehen. Der
> Grund liegt in der Ansteuerung des Motors: der Motor kommt mit der PWM
> für kleine Drehzahlen nicht zurecht.

Eine sehr verwegene Annahme. Kannst du die irgendwie begründen? Alle 
anderen die so etwas mal gemacht haben, kommen nämlich zu genau der 
entgegengesetzten Feststellung: Motoren drehen besonders im niedrigen 
Drehzahlbereich besser (lies: mit mehr Drehmoment und besser voher- 
sagbarer Drehzahl) wenn sie mit PWM statt mit niedriger Gleichspannung 
gesteuert werden.

> Nun meine Frage / mein Plan: wo bekomme ich eine steuerbare
> Spannungsquelle her, die ich zwischen 0 und 6V per µC einstellen kann
> und die ca. 2A liefert. Oder hast du ne bessere / andere Idee?

Wie gesagt: PWM ist eigentlich die bessere Idee. Andererseits wird 
dein "normaler RC-Fahrtregler" eher nicht auf deinen Motor und den 
angepeilten Drehzahlbereich optimiert sein. Wenn du ohnehin einen 
Arduino einsetzt, verstehe ich auch nicht, was da ein Fahrregler 
überhaupt zu suchen hat. Ein simpler LL-MOSFET und eine Freilaufdiode 
würden für eine 1-Quadranten Motorsteuerung schon reichen. Davon, daß du 
Rechts-/Linkslauf brauchst, schriebst du ja nicht. Und selbst dann würde 
eine integrierte H-Brücke reichen.

Die DC-Quelle ist technisch eigentlich die schlechtere Wahl (schon wegen 
der Verlustleistung die sie zwangsläufig produziert). Aufwendig ist sie 
trotzdem nicht. Einfach einen Analog-Ausgang des Arduino mit einem OPV 
und einem (Darlington-)Transistor als Emitterfolger verstärken.

von Wolfgang (Gast)


Lesenswert?

Günter Lenz schrieb:
> Dann noch einen Spannungsfolger mit Operationsverstärker
> und Leistungstransistoren nachschalten, fertig.

Und du meinst, dass das weniger als ein LM317 heizt?

von CPLDhm (Gast)


Lesenswert?

Matze A. schrieb:
> der Motor kommt mit der PWM
> für kleine Drehzahlen nicht zurecht. Mit meinem Labornetzteil dreht er
> bei kleinen Spannungen sehr langsam.

Axel S. schrieb:
> Alle
> anderen die so etwas mal gemacht haben, kommen nämlich zu genau der
> entgegengesetzten Feststellung: Motoren drehen besonders im niedrigen
> Drehzahlbereich besser (lies: mit mehr Drehmoment und besser voher-
> sagbarer Drehzahl) wenn sie mit PWM statt mit niedriger Gleichspannung
> gesteuert werden.

Nein Widerspruch, nicht alle! Ich habe exakt die gleiche Erfahrung 
gemacht wie Herr Matze.
Und zwar ganz konkret zuletzt mit diesen Motoren:
http://www.pollin.de/shop/dt/NTQ0OTg2OTk-/Bauelemente_Bauteile/Motoren/DC_Getriebemotoren/Gleichstrom_Getriebemotor_MY2007U222.html

Niedrige, stabile Drehzahl mit sehr hohem Drehmoment an Gleichspannung, 
bei 3 Volt 10 A, bei 5 Volt bis 18 A Stromaufnahme.

Mit PWM war (ohne Regelung) nie ein vergleichbares Drehmoment bei 
kleinen Drehzahlen erreichbar.

Bei niedrigen Frequenzen relativ kraftloses vibrieren und brummen, bei 
hohen Frequenzen kaum Strom aufgrund der Motorinduktivität.
Dazwischen irgendwo ein Drehmomentmaximum, aber nie so hoch wie bei 
reiner Gleichspannung.

Ich möchte fast behaupten, wirklich ausgetestet hat das hier anscheinend 
niemand. Anders ist die Lobhudelei auf PWM fast nicht zu erklären.

Der einzige Vorteil von PWM: Ist einfach, bleibt kalt und "von der 
Stange" verfügbar (shielt...) wird deshalb einfach immer verwendet ohne 
über Alternativen nachzudenken...

von Matze A. (matzeapa)


Angehängte Dateien:

Lesenswert?

Moin!

Danke für die angenehmen Beträge. Im Datenblatt des Motors steht, dass 
er mit einer PWM von kleiner D/T von 60% nicht richtig arbeitet (Bild im 
Anhang). Ich komme zwar darunter, mit meinem Labornetzgerät aber noch 
viel tiefer. (Da jeder von PWM im Zusammenhang mit Motoren redet, habe 
ich auf diesen Satz im Datenblatt nicht viel gegeben. Frei nach dem 
Motto: wird schon klappen)

Der Motor soll vorwärts und rückwärts betrieben werden können.


Axel S. schrieb:
> Einfach einen Analog-Ausgang des Arduino mit einem OPV
> und einem (Darlington-)Transistor als Emitterfolger verstärken.

Leider ist mein Steckenpferd mehr die Softwareseite. Alex S. kannst du 
deinen Vorschlag kurz skizzieren? Das wäre nett! Klingt interessant!

Liebe Grüße

von m.n. (Gast)


Lesenswert?

THOR schrieb:
> Bei sehr kleinen Drehzahlen versagt die Steuerung allerdings und man
> muss ggf. die Drehzahl regeln. Da wären Anforderungen jetzt ganz gut.

Hast Du das gelesen und wie ist Deine Antwort?
Niedrige Drehzahl, schwankende Last, da wird man unabhängig von der 
Ansteuerung (DC / PWM) ohne Regelung nichts ausrichten.

von Axel S. (a-za-z0-9)


Lesenswert?

Wolfgang schrieb:
> Günter Lenz schrieb:
>> Dann noch einen Spannungsfolger mit Operationsverstärker
>> und Leistungstransistoren nachschalten, fertig.
>
> Und du meinst, dass das weniger als ein LM317 heizt?

Hab ich das irgendwo behauptet?

Andererseits ist das natürlich besser als ein LM317. Weil es sich bis 0V 
runter einstellen läßt. Und weil es (bei Verwendung eines geeigneten 
OPV) mit weniger Dropspannung auskommt.

von Axel S. (a-za-z0-9)


Lesenswert?

Matze A. schrieb:
> Axel S. schrieb:
>> Einfach einen Analog-Ausgang des Arduino mit einem OPV
>> und einem (Darlington-)Transistor als Emitterfolger verstärken.
>
> Leider ist mein Steckenpferd mehr die Softwareseite. Alex S. kannst du
> deinen Vorschlag kurz skizzieren? Das wäre nett! Klingt interessant!

1
                      |\         +Ub 
2
Arduino  o--[R1]--*---|+\         |
3
                  |   |  }------|<   T1
4
                  | .-|-/         |e
5
                  | | |/          |
6
                  | `----*--[R2]--*----.
7
                  |      |        |    |
8
              C1 ===     R3    D1 ^   (M)
9
                  |      |        |    |
10
                 GND    GND      GND  GND

Da der Arduino an seinen "Analog"-Ausgängen eine PWM ausgibt, muß sie 
zuerst mit R1 und C1 zu einer Gleichspannung gefiltert werden. Je größer 
die Zeitkonstante R1*C1, desto glatter wird die Spannung, desto 
langsamer folgt die Spannung aber auch einer Änderung. Mit 1M und 100nF 
kommt man auf ~0.1s - das sollte für einen Motor schnell genug sein.

Der OPV muß ein Rail-to-Rail Typ sein, z.B. ein TS912. Mit R2 und R3 
kann man optional eine Spannungsverstärkung erreichen. Wenn man z.B. von 
den 0..5V die ein Arduino @ 5V ausgeben kann auf 0..6V will, wählt man 
R2=1K und R3=4.7K und kommt auf eine Verstärkung von (4.7+1)/4.7 = 1.21. 
Für eine Verstärkung von 1 läßt man R3 weg und R2 wird 0 (vulgo: eine 
direkte Verbindung)

Transistor T1 (Emitter unten) ist ein npn-Leistungstransistor, bis 1A 
genügt ein Typ mit hoher Stromverstärkung (h_fe >= 100), für größere 
Ströme nimmt man besser einen Darlington wie z.B. BD675. Diode D1 
(Kathode oben) ist die Freilaufdiode für den Motor.

Der Transistor muß die Differenz zwischen der Betriebsspannung U_b und 
der Motorspannung verheizen. Bei z.B. U_b=7V und 2V am Motor und 2A 
Motorstrom werden das 10W. Ergo: da muß ein Kühlkörper dran.

Zur Wahl von Bauelementen siehe Standardbauelemente

von Matze A. (matzeapa)


Lesenswert?

Hi!

Ich danke für die Schaltung. Wenn ich die Schaltung aufgebaut und 
getestet habe, melde ich mich aber wie es läuft.

Bis dahin, liebe Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.