Forum: Mikrocontroller und Digitale Elektronik DRV8825 Treiber werden zu heiß


von Benni B. (chmod777)


Lesenswert?

Hallo Leute,

ich beschäftige mich zur Zeit mit der Ansteuerung von Schrittmotoren.
Habe mich auch schon gut in das Thema eingelesen und heute einen kleinen
Versuchsaufbau gewagt.

Komponenten:
Arduino Uno
CNC Shield v.3
Treiber : DRV8825 (mit passivem Kühlkörper)

Schrittmotor : 17HS19-2004S1
________
Kenndaten:
----------
    Hersteller-Teilenummer: 17HS19-2004S1
    Motorentyp: Bipolar
    Schrittwinkel: 1.8 deg
    Haltemoment: 59Ncm(84oz.in)
    Strom/Phase: 2.0A
    Stromspannung: 2.8V
    Widerstand/Phase: 1.4ohms
    Induktivität: 3.0mH ± 20%(1KHz)

Nun habe ich folgendes Problem, der Kühlkörper auf dem Treiber wird 
bereits nach wenigen Minuten so heiß das man sich fast die Finger 
verbrennt.
Ich habe eine Spannung von 25V angelegt und den Strom sogar auf 0.3 
Ampere(mit dem Multimeter im Betrieb nachgemessen) begrenzt,wobei der 
Treiber ja eig bis zu 2.2A können müsste. Jumper für 1/4 od. 1/8 
Schritte habe ich nicht gesetzt.
Könnt ihr mir sagen was ich falsch mache ?

von Kalle (Gast)


Lesenswert?

Benni B. schrieb:
> Habe mich auch schon gut in das Thema eingelesen

Das würde ich mal vorsichtig bezweifeln. Wie kommst du denn auf die 
Idee, 25V anzulegen wenn über der Motorwicklung bei 2A schon nur 2,8V 
abfallen?

von Wolfgang (Gast)


Lesenswert?

Benni B. schrieb:
> Nun habe ich folgendes Problem, der Kühlkörper auf dem Treiber wird
> bereits nach wenigen Minuten so heiß das man sich fast die Finger
> verbrennt.

Die Schmerzschwelle des Menschen liegt irgendwo bei 50°C - keine 
Temperatur, bei der sich ein Halbleiter Sorgen macht.

Funktioniert der Treiber, bis auf die dir unangenehme Temperatur, sonst 
fehlerfrei?

von Wolfgang (Gast)


Lesenswert?

Kalle schrieb:
> Das würde ich mal vorsichtig bezweifeln. Wie kommst du denn auf die
> Idee, 25V anzulegen wenn über der Motorwicklung bei 2A schon nur 2,8V
> abfallen?

Immerhin scheinst du noch weniger Ahnung von Schrittmotoren zu haben.
Die Spannung liegt am Treiber an und das ist auch gut so.
Der DRV8825 ist für bis zu 45V ausgelegt.

von Kalle (Gast)


Angehängte Dateien:

Lesenswert?

Wolfgang schrieb:
> Die Spannung liegt am Treiber an und das ist auch gut so.
> Der DRV8825 ist für bis zu 45V ausgelegt.

Und wo fallen die restlichen 24V ab? Könnte das eventuell Schuld an der 
Erwärmung sein?

von Teo D. (teoderix)


Lesenswert?

Kalle schrieb:
> Und wo fallen die restlichen 24V ab? Könnte das eventuell Schuld an der
> Erwärmung sein?

Nirgends. Das sind Spulen, keine Ohmschen Widerstäde.
https://de.wikipedia.org/wiki/Chopper-Steuerung

von Kalle (Gast)


Lesenswert?

Teo D. schrieb:
> Nirgends. Das sind Spulen, keine Ohmschen Widerstäde.

Das ändert aber nichts an der Tatsache, dass sich die Schaltverluste aus 
dem Spannungsabfall über den FETs ergeben und damit linear mit der 
Versorgungsspannung wachsen. Bei dem kleinen Motor dürfte das der 
dominante Teil der ganzen Erhitzung sein. Einfach mal mit 10V betreiben.

von Benni B. (chmod777)


Lesenswert?

Wolfgang schrieb:
> Die Schmerzschwelle des Menschen liegt irgendwo bei 50°C - keine
> Temperatur, bei der sich ein Halbleiter Sorgen macht.
>
> Funktioniert der Treiber, bis auf die dir unangenehme Temperatur, sonst
> fehlerfrei?

Also ich hab noch nicht so viel damit gemacht, aber so wie es aussieht 
funktioniert sonst alles wie es soll.
Ich mach mir nur Sorgen, was passiert wenn ich den Schrittmotor mit 2A 
betreibe, wenn der Treiber bei 0.3A schon so heiß wird.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Kalle schrieb:
> Einfach mal mit 10V betreiben.
Unsinn!
Irrer Unsinn.

Da kann man ruhig mit der vollen Spannung drauf gehen.
24V und auch 36V ist total angemessen.
Je höher das geforderte Drehmoment bei hoher Drehzahl, desto mehr.

Benni B. schrieb:
> Ich habe eine Spannung von 25V angelegt und den Strom sogar auf 0.3
> Ampere(mit dem Multimeter im Betrieb nachgemessen) begrenzt

Das ist Auch Unsinn!
Mit dem Multimeter misst du da nur Müll.
Es gibt eindeutige Vorschriften, wie man die Einstellung berechnet und 
durchführt. Daran halte dich, dann klappt das auch!

Der Motor ist für 2A spezifiziert.
Da etwas drunter zu bleiben dürfte kein Fehler sein.
Meine erste Einstellung wäre um 1,7A. Viellicht reicht das schon.
80°C, viel wärmer sollte ein billiger Chinakracher Motor nicht werden.

Und ja, die Treiber werden sehr warm.
Es ist kein Fehler, sie mit einem Ventilator zu bespielen.

von Benni B. (chmod777)


Lesenswert?

> Kalle schrieb:
>> Einfach mal mit 10V betreiben.
Habs gerade mit 10V probiert, der Kühlkörper wird genauso warm.

Arduino Fanboy D. schrieb:
> Das ist Auch Unsinn!
> Mit dem Multimeter misst du da nur Müll.
> Es gibt eindeutige Vorschriften, wie man die Einstellung berechnet und
> durchführt. Daran halte dich, dann klappt das auch!

Meine erste Einstellung war eben genau nach der Anleitung um auf 2A zu 
kommen. Als der Treiber aber dann zu warm wurde habe ich ein Multimeter 
dazwischen gehängt und runter gedreht.
Also kann ich nicht einfach den Strom mit meinem Multimeter zwischen 
Quelle und Platine messen ? Hat das mit der Induktivität des Motors zu 
tun ?

von Wolfgang (Gast)


Lesenswert?

Kalle schrieb:
> Das ändert aber nichts an der Tatsache, dass sich die Schaltverluste aus
> dem Spannungsabfall über den FETs ergeben und damit linear mit der
> Versorgungsspannung wachsen. Bei dem kleinen Motor dürfte das der
> dominante Teil der ganzen Erhitzung sein.

Bei dem geringen Strom von 0.3A dürften die Schaltverluste einen Faktor 
8 unter der Auslegungsströmstärke liegen.

Guck einfach mal auf die erste Seite vom Datenblatt. Fällt dir an der 
Spannungsangabe irgendetwas auf? Der Unterschied zwischen 24 und 25V 
dürfte marginal sein.
"The DRV8825 is capable of driving up to 2.5 A of current from each 
output (with proper heat sinking,at 24 V and 25°C)"

Benni B. schrieb:
> Ich mach mir nur Sorgen, was passiert wenn ich den Schrittmotor mit 2A
> betreibe, wenn der Treiber bei 0.3A schon so heiß wird.

Laut Datenblatt besitzt der Treiber eine thermische Schutzschaltung, die 
irgendwo zwischen 150 und 180°C eingreift. Also nur Mut, z.b. mit 1A.

von Wolfgang (Gast)


Lesenswert?

Benni B. schrieb:
> Also kann ich nicht einfach den Strom mit meinem Multimeter zwischen
> Quelle und Platine messen ?

Was meinst du mit Strom zwischen Quelle und Platine?
Der Strom durch den Motor ist wesentlich höher als der Versorgungsstrom.

Du darfst im eingeschalteten Zustand aber nie die Leitung zwischen 
Motor und Treiber öffnen (um z.B. ein Multimeter rein zu hängen). Das 
quittieren viele Treiber mit schnellem Ableben.

von Einer K. (Gast)


Lesenswert?

Benni B. schrieb:
> Also kann ich nicht einfach den Strom mit meinem Multimeter zwischen
> Quelle und Platine messen ?
Nein!
Bzw. kannst du messen, ja, ist aber Sinnfrei.

> Hat das mit der Induktivität des Motors zu tun ?
Und mit dem Chopper Betrieb.

Benni B. schrieb:
> Meine erste Einstellung war eben genau nach der Anleitung um auf 2A zu
> kommen.
Wiederholen, und erstmal auf 1,7A einstellen.
Der Treiber hat keine Haltestromabsenkung.
Darum würde ich nicht an die obere Grenze des Motors gehen.
Der leidet mehr unter Hitze, als der Treiber.

Benni B. schrieb:
> Als der Treiber aber dann zu warm wurde
Was ist zu warm?
Wenn zu warm, dann kühlen.
Lüfter da dran.

von Wolfgang (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Mit dem Multimeter misst du da nur Müll.

Das ist Müll. Es kommt drauf an, in welcher Leitung das Multimeter hängt 
und wie der Treiber gerade bespaßt wird.

Was für Probleme sollte es geben, bei Stillstand des Motor den Strom zu 
messen?

von Einer K. (Gast)


Lesenswert?

Wolfgang schrieb:
> Was für Probleme sollte es geben, bei Stillstand des Motor den Strom zu
> messen?

Der gemessene "Versorgungs" Strom ist erheblich niedriger als der 
Spulenstrom.
Bei der genannten Kombination, würde ich auf ca 1 Zehnerpotenz schätzen.

von Benni B. (chmod777)


Lesenswert?

Wolfgang schrieb:
> Was meinst du mit Strom zwischen Quelle und Platine?
Ich habe ein Multimeter am Ausgang meines Labornetzteiles und das andere 
Ende am Eingang des CNC Shields hingehängt um zu sehen wie viel Strom er 
bei welcher Belastung zieht.

Wolfgang schrieb:
> Laut Datenblatt besitzt der Treiber eine thermische Schutzschaltung, die
> irgendwo zwischen 150 und 180°C eingreift. Also nur Mut, z.b. mit 1A.

Gut dann ist ja noch Luft nach oben xD. Mit meinem Infrarotthermometer 
messe ich aktuell so um die 50Grad am Kühlkörper, wobei man sich da 
schon echt die Pfoten verbrennt.

Wolfgang schrieb:
> Guck einfach mal auf die erste Seite vom Datenblatt. Fällt dir an der
> Spannungsangabe irgendetwas auf? Der Unterschied zwischen 24 und 25V
> dürfte marginal sein.

Also sollte ich ihn besser mit 24V betreiben ?

von Einer K. (Gast)


Lesenswert?

Benni B. schrieb:
> Mit meinem Infrarotthermometer
> messe ich aktuell so um die 50Grad am Kühlkörper,
Wenn der wert stimmt, dann ist der ja noch fast eiskalt... ;-)

Benni B. schrieb:
> Also sollte ich ihn besser mit 24V betreiben ?
24V oder 25V?
Irrelevant.

von Benni B. (chmod777)


Lesenswert?

Arduino Fanboy D. schrieb:
> Wenn der wert stimmt, dann ist der ja noch fast eiskalt... ;-)
Haha dann soll es wohl so sein ^^

Arduino Fanboy D. schrieb:
> 24V oder 25V?
Da das Shield bis zu 36V kann habe mir eigentlich ein 36V Netzteil 
bestellt, was aber noch nicht angekommen ist. Kann ich das dann 
verwenden oder sollte ich lieber auf 24V gehen ?

von W.S. (Gast)


Lesenswert?

Benni B. schrieb:
> Nun habe ich folgendes Problem, der Kühlkörper auf dem Treiber wird
> bereits nach wenigen Minuten so heiß das man sich fast die Finger
> verbrennt.

Tja. Besser kühlen eben.

"The DRV8825 is capable of driving up to 2.5 A of current from each 
output (with proper heat–sinking, at 24 V and 25°C)"

Also: Guck mal in die Doku zum Treiber-IC, dort findest du Angaben zum 
Restwiderstand der Treiber-Endstufen im Chip. Da stehen nämlich so etwa 
0.3 Ohm zu Buche, die bei 2 Ampere eben rund 1.2 Watt an Wärme 
produzieren. Und da bei Brückenschaltungen immer 2 Transistoren quasi in 
Reihe geschaltet sind, verdoppelt sich das Ganze.

Also etwa 2.4 Watt an Wärme - UND DIE MUSS WEG.

Da du nun von Arduino schriebest, vermute ich mal, daß der Kühlkörper 
gnadenlos unterdimensioniert ist. Sieh mal zu, daß du dir nen 
ausgedienten CPU-Kühler zulegst und deinen Schrittmotortreiber dort 
drauf montierst - vorausgesetzt, es stehen keine sonstigen Bauteile auf 
der LP über die Höhe des Treiber-Chips. Dann wäre freifräsen angesagt.



noch ein Wort an den Kalle:

Kalle schrieb:
> Wie kommst du denn auf die
> Idee, 25V anzulegen wenn über der Motorwicklung bei 2A schon nur 2,8V
> abfallen?

Ein idealer Schrittmotor hätte exakt NULL Ohm an Wicklungswiderstand. 
Und ein idealer Schrittmotortreiber hätte ebenfalls NULL Ohm an Rdson. 
Das ist ganz genau so wie beim Trafo: Ohmsche Widerstände versauen bloß 
den Wirkungsgrad.

Das Zauberwort ist Induktion. Schrittmotoren werden normalerweise 
getaktet betrieben (nee, nicht der Schritt-Takt ist gemeint), also 
etwa wie die Speicherdrossel im Schaltnetzteil. Das gilt auch für den 
Stillstand.

W.S.

von Einer K. (Gast)


Lesenswert?

Nöö...
36V ist völlig ok.
Ich habe die Treiber mit 12V, 24V und 36V im Einsatz.

Arduino Fanboy D. schrieb:
> Je höher das geforderte Drehmoment bei hoher Drehzahl, desto mehr.

von Benni B. (chmod777)


Lesenswert?

Super,
dann vielen Dank für eure Hilfe leute, ging echt fix.

W.S. schrieb:
> Da du nun von Arduino schriebest, vermute ich mal, daß der Kühlkörper
> gnadenlos unterdimensioniert ist

Ja der scheint mir tatsächlich zu unterdimensioniert zu sein. Werde mir 
bei gelegenheit eine bessere Kühlung organisieren, damit das Zeug auch 
etwas hält.

von Wolfgang (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Der gemessene "Versorgungs" Strom ist erheblich niedriger als der
> Spulenstrom.

Das schrieb ich bereits

Wolfgang schrieb:
> Der Strom durch den Motor ist wesentlich höher als der Versorgungsstrom.

Benni B. schrieb:
> Also sollte ich ihn besser mit 24V betreiben ?

Das eine Volt ist völlig schnuppe.

Mit einem Amperemeter in der Versorgungsleitung misst du den falschen 
Strom. Der angegebene Maximalstrom des Treibers bezieht sich auf den 
Motorstrom.
Wie groß ist der Sense Widerstand und welchen Spannungsabfall misst du 
dort?

von m.n. (Gast)


Lesenswert?

Wolfgang schrieb:
> Mit einem Amperemeter in der Versorgungsleitung misst du den falschen
> Strom.

Jain.
Sollten die 0,3 A hier gemessen worden sein, so wird der Strom durch die 
Spule(n) bei geschätzt 1,x A liegen, wodurch auch die Abwärme plausibel 
wird.

von Benni B. (chmod777)


Lesenswert?

Ich habe die treiber Einstellung jetzt noch einmal gemacht und ihn auf 
1.7A eingestellt. Beim messen ist die temp des Kühlkörpers, wenn ich den 
Motor eine zeit lang nicht fahre bei ungefähr 45Grad. Andscheinend ist 
das in ordnung, für mich hat sich das aber einfach völlig falsch 
angefühlt ^^


Wolfgang schrieb:
> Wie groß ist der Sense Widerstand und welchen Spannungsabfall misst du
> dort?
Der Widerstand auf dem Treiber beträgt 0.1 Ohm und die von mir 
eingestellte Spannung liegt bei 0.85V

Wolfgang schrieb:
> Mit einem Amperemeter in der Versorgungsleitung misst du den falschen
> Strom. Der angegebene Maximalstrom des Treibers bezieht sich auf den
> Motorstrom.
Danke, das war mich nicht so ganz klar.

Wolfgang schrieb:
> "The DRV8825 is capable of driving up to 2.5 A of current from each
> output (with proper heat sinking,at 24 V and 25°C)"
Mir ist noch nicht ganz schlüssig ob eine Spannungsversorgung von 24V 
nun am optimalsten wäre, oder was diese Aussage laut Datenblatt 
bedeutet.

von Einer K. (Gast)


Lesenswert?

Benni B. schrieb:
> Mir ist noch nicht ganz schlüssig ob eine Spannungsversorgung von 24V
> nun am optimalsten wäre,

Da kein Mensch was über die Last und nötige Drehzahl weiß, wird dir das 
keiner beantworten können, was am "optimalsten" ist.

Und selbst wenn die Werte bekannt wären, ist der Rückschluss auf die 
mindest Spannung  nicht trivial.

Reserve ist nie schlecht.
Mangel, führt zu mangelhaftem Verhalten: z.B. Schrittfehler.

Vereinfacht gesagt:
Wenn 24V reichen, dann kannst du auch ohne alle Probleme 36V dran 
klemmen.

von Benni B. (chmod777)


Lesenswert?

Arduino Fanboy D. schrieb:
> Vereinfacht gesagt:
> Wenn 24V reichen, dann kannst du auch ohne alle Probleme 36V dran
> klemmen.
Das habe ich mir auch gedacht, nur der Text aus dem Datenblatt hat mich 
jetzt etwas verunsichert. Vielen dank

von Einer K. (Gast)


Lesenswert?

Benni B. schrieb:
> nur der Text aus dem Datenblatt hat mich
> jetzt etwas verunsichert.

KA, was du meinst.
Da steht viel drin.

von Teo D. (teoderix)


Lesenswert?

Arduino Fanboy D. schrieb:
> Benni B. schrieb:
>> nur der Text aus dem Datenblatt hat mich
>> jetzt etwas verunsichert.
>
> KA, was du meinst.
> Da steht viel drin.

Weiter oben steht was von: Bei 2,5A max. 24V (25°C).
Also noch kein Thema bei <=2A. (@TO hab nicht nachgesehen. S8 gugen!)

von Christopher J. (christopher_j23)


Lesenswert?

Benni B. schrieb:
> W.S. schrieb:
>> Da du nun von Arduino schriebest, vermute ich mal, daß der Kühlkörper
>> gnadenlos unterdimensioniert ist
>
> Ja der scheint mir tatsächlich zu unterdimensioniert zu sein. Werde mir
> bei gelegenheit eine bessere Kühlung organisieren, damit das Zeug auch
> etwas hält.

Das Problem bei diesen "Pololu-Boards" (die kleinen Treiberboards die 
auf die CNC-Shields) gesteckt werden ist die winzige Platinenfläche. Ein 
moderner IC gibt seine Wärme über das GND-Pad bzw. die GND-Plane ab und 
im Idealfall hat man noch Thermal-Vias, welche die Wärme an die 
gegenüberliegende Seite des PCB leiten und genau da (und nirgends 
sonst) macht ein Kühlkörper wirklich Sinn. Bei den TMC "Steppsticks" ist 
das auch genau so gelöst. Das Epoxy vom IC-Gehäuse ist einfach ein 
besch...eidener Wärmeleiter, da kann ein Kühlkörper dann auch nicht viel 
ausrichten. Was allerdings sehr viel hilft ist ein Lüfter, am besten so 
positioniert, das er auch die Unterseite der Treiberplatine mit belüftet 
und die Elkos freuen sich nebenher auch über eine frische Priese ;)

von omg (Gast)


Lesenswert?

Christopher J. schrieb:
> ... frische Priese ...

(Fremd)-Worte können sooh peinlich sein, insbesondere wenn sie nicht zu 
benutzen weiss.

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.