Forum: Mikrocontroller und Digitale Elektronik Schrittmotorsteuerung mit Trinamic TMC249 und TMC428 realisieren


von Gelöscht (kami89)


Lesenswert?

Hallo zusammen,

Ich bin letztens auf die Schrittmotor-Steuer-ICs von Trinamic gestossen, 
und fand diese sehr interessant. Ich hab mich nun auf den "Haupt-IC" 
TMC428 und als "Slave" den TMC249 fokusiert.

TMC428: http://www.trinamic.com/tmc/render.php?sess_pid=296
TMC249: http://www.trinamic.com/tmc/render.php?sess_pid=292

Ja, ich habe gesehen dass der 428 abgekündigt wurde, leider gibts den 
429 aber bei Conrad (CH) noch nicht ;)

Ich würde mit diesen ICs gerne 3 Schrittmotoren ansteuern, welche für 
eine CNC-Maschine benutzt werden könnten (brauche es eigentlich nicht, 
geht mir mehr um den Lerneffekt / Spass).

Ich frag mich jetzt beim Verfassen des Beitrages allerdings gerade, ob 
man auch alle drei Treiber-ICs exakt gleichzeitig auf eine Position 
fahren lassen kann?! Die Steuerbefehle richten sich jeweils ja nur an 
einen einzelnen Motor wenn ich das richtig erkannt habe...oder geht man 
da wohl einfach davon aus dass die Verzögerung bei nacheinanderfolgenden 
Befehlen vernachlässigbar klein ist?

Was mir momentan aber am meisten Mühe bereitet ist die Auswahl der 
Mosfets. Um eine vernünftige Wahl zu treffen habe ich leider zu wenig 
Erfahrung in diesem Bereich.
Am liebsten wären mir 2 Mosfets in einem Gehäuse um Platz auf der 
Platine zu sparen. SMD oder bedrahtet spielt eigentlich keine grosse 
Rolle, SMD wäre mir aber fast ein bisschen lieber.

Sehr wichtig wäre aber dass ich die Mosfets auf Conrad.ch bekomme!
-> Bitte keine Links zur deutschen Conrad-Seite ;-)

Also wenn ich das richtig verstanden habe sind folgende Eigenschaften 
wichtig:
Spannung VDSS >= 30V (die Motoren sollen mit 24V betrieben werden)
"Total gate charge": max. 10nC (verstehe ich nicht, muss ich mich 
erstmal informieren...)
Strom ID: mind. 4A (es sollen bis 4A Schrittmotoren betrieben werden 
können)

Aus dem Datenblatt vom TMC249 konnte ich noch folgende Werte entnehmen, 
aber ob da noch wichtige Informationen für die Wahl der Mosfets 
enthalten sind kann ich nicht feststellen:

gate drive current low side switch ON: 25mA
gate drive current low side switch OFF: -25mA
gate drive current high side switch ON: -25mA
gate drive current high side switch OFF: 30mA
Gate drive Voltage high side ON: 24V - 6V = 18V
Gate drive Voltage low side ON: 6V
Gate drive Voltage high side OFF: 24V - 0V = 24V
Gate drive Voltage low side OFF: 0V
Gate driver clamping voltage: 16V ??
Gate driver inverse clamping voltage: -0,8V??

Übrigens würde ich mit diesem Thread gerne ein "Musterthread" für die 
Trinamic-Bausteine erstellen, da es im Internet leider 
(komischerweise?!) praktisch keine Informationen / Erfahrungsberichte zu 
finden gibt.

Bin für jede Hilfe dankbar!

Grüsse
Urban

von Philipp (Gast)


Lesenswert?

du brauchst Mosfets mit id >>4A. sie dürfen aber keine zu große 
kapazität haben. du bracuhst n kanal fets, die mit 6v gatespannung 
auskommen. u brauchst p-kanal fets, die mit -6v gatespannung auskommen 
(beides sozusagen logiclevel) nimm mal die parametersuche von irf oder 
ähnliches

von Gelöscht (kami89)


Lesenswert?

OK, jetzt habe ich sogar verstanden dass die P-Kanal FETs ja keine 
negative Spannung brauchen, sondern nur bezogen auf die 24V die Minus 6 
Volt^^
Macht irgendwie ja auch SInn... xD

Also die Auswahlhilfe von IRF hab ich gefunden und mal benutzt, aber die 
Vielfalt erschlägt mich trotzdem noch :( Und das Problem ist halt noch 
dass ich mich mit Typen begnügen muss, die bei Conrad erhältlich sind.

Von den P-Kanal FETs gibts jedoch nicht allzu viele bei Conrad, ich habe 
mal die Datenblätter aller in Frage kommenden Typen angeschaut, jedoch 
ist bei allen die Gate-Kapazität grösser als 10nC :(

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Urban!

Absolut Bahnsynchron wirst du die Bewegungen mit dem TMC428 nicht 
hinbekommen. Die Frage ist, wie groß die Abweichungen in der Praxis sind 
und ob das bei einer Hobby-Fräse überhaupt relevant ist.

Viel wichtiger ist aber die Frage, ob du dir zutraust, die Software 
selbst zu schreiben. Speziell für CNC gibt es ja eine ganze Reihe an 
Programmen, teilweise auch Lösungen, die professionellen Ansprüchen 
gerecht werden, und nicht die Welt kosten. Die arbeiten aber alle mit 
Takt-Richtungssignalen. Selbst wenn ein USB-Controller im Spiel ist, 
kommt am Ende immer Takt-/Richtung raus. Diese Programme könntest du 
nicht verwenden, wenn du den TMC428 einsetzen willst.

Mit freundlichen Grüßen
Thorsten Ostermann

von BKone (Gast)


Lesenswert?

Moin Urban,

ich denke mal Thorsten bezieht sich da auf die TMCL-Sprache von 
Trinamic, wobei die meiste Software den G-Code verwendet.
Interessant wäre ob man mit einem Pic oder Atmel-Teil den G-Code in 
TMCL-Befehle umsetzen könnte.

Sehr cool finde ich auch den TMC262 mit stallGuard2, 
coolStep,spreadCycle und microPlyer!

Also interessant sind diese Chips auf alle Fälle, nur wer kriegt einen 
Translator für die Sprachen hin?

Gruß
Andi

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Andi!

Das hat mit der Programmiersprache erstmal nichts zu tun, sondern mit 
der Art und Weise, wie ein Verfahrbefehl in die Motorbewegungen 
umgesetzt wird.

Für die Steuersoftware ist es ja auch nicht damit getan, ein G-Code 
Programm einzulesen. Man muss ja ein Werkstück auch einrichten, 
Werkzeuge verwalten, manuell verfahren usw.

Mit freundlichen Grüßen
Thorsten Ostermann

von Urban B. (Gast)


Lesenswert?

Hallo zusammen,

Also ich stelle mir das so vor:

Das Fräsprogramm liegt als G-Code vor. Ein Programm, welches ich selber 
schreiben werde, liest den G-Code ein und wertet diesen aus. Wie schon 
erwähnt muss das Programm natürlich noch viele weitere Funktionen 
bieten. Beim Abarbeiten des Fräsprogramms sendet das Programm per RS232 
(USB-UART) möglichst stark vereinfachte Befehle an einen AVR.

Der AVR steuert dann die Relais, usw an, und sendet die Motorenbefehle 
per SPI an den TMC428.

Das Programmieren traue ich mir schon zu, vorallem hab ich ja genügend 
Zeit weil ich die gesamte Steuerung vorläufig nur als Lernprojekt 
bearbeite. Falls es dann mal praxistauglich wird, würde ich es an meiner 
aktuellen CNC-Fräse (Mach3, Takt/Richtung per LPT) verbauen, damit ich 
es genau auf meine Bedürfnisse massschneidern kann.

von BKone (Gast)


Lesenswert?

Moin Urban,

also was Thorsten gesagt hat über die Werkzeuge usw. stimmt sicherlich, 
aber wenn man schon ein Programm schreibt darf sowas nicht vergessen 
werden.

Die meisten Fräsprogramme (Mach3) greifen glaub ich auf den LPT Port zu, 
mich würde eine Steuerung über USB interessieren (auch im Hinblick 
darauf das LPT als Schnittstelle nicht mehr sooooo aktuell ist).

Aber genau das meinte ich mit der Umsetzung von G-Code auf das was der 
Chip versteht ;o)

Als µC würde ich ja gern einen PIC18F4550 benutzen, aber es ist dein 
PRojekt und du arbeitest sicherlich schon länger mit AVR.

Hier gab es glaub ich mal ein Thema das sich mit sowas beschäftigt hat 
(für Arduino, also Atmel), schau dir doch mal den Link hier an:

http://dank.bengler.no/-/page/show/5470_grbl?ref=mst

und schreib bitte was du davon  hälst!

Gruß
Andi

von Gelöscht (kami89)


Lesenswert?

Hallo BKone,

Den Link kenne ich bereits, allerdings ist das nicht so das was ich mir 
vorstelle. Dort sendet man ja per Konsole den G-Code an den uC, und der 
übernimmt dann den ganzen Rest wenn ich das richtig verstanden habe.

Ich will aber so viel Arbeit wie nur möglich vom PC erledigen lassen. 
Das Programm muss natürlich eine schöne grafische Oberfläche haben, 
ähnlich wie Mach3. So Sachen wie Werkzeugverwaltung, Verschiedene 
Nullpunkte, Einrichthilfen usw. sind dann nur noch reine PC-Software, 
die man am Anfang ruhig weglassen kann.

Ich würde also gerne die Hardware so schlank wie möglich halten. Und 
ausserdem Modular aufbauen, also I2C vom Hauptboard zur Verfügung 
stellen usw.

Wenn die Hardware steht, beginne ich mit der PC-Software und dem 
uC-proggen. Bei diesem Projekt kann man sehr schön mit einer winzigen 
Grundfunktion anfangen (Befehl "Fahre auf XYZ"), und nach und nach 
erweitern. Irgendwann hat man dann (hoffentlich) alle Funktionen 
vorhanden um damit produktiv arbeiten zu können.

Mit der schlanken Hardware will ich ausserdem verhindern dass man häufig 
ein neues Programm auf den uC übertragen muss. Eine Änderung an einem 
PC-Programm ist da viel weniger aufwändig, und ausserdem ist man bei 
einem PC-Programm viel flexibler als bei einem uC-Programm.

Dass LPT in der heutigen Zeit nicht mehr so der Renner ist finde ich 
eben auch. Mit USB kann man auch ohne Probleme mit einem Notebook die 
CNC ansteuern, was bei LPT nicht der Fall ist.

Aber wie schon erwähnt ist das ganze erstmal nur ein Lernprojekt, also 
falls es scheitern sollte wäre das halb so wild. Und wenn es klappt wäre 
ich überglücklich :D Aber ich würde meinen mit genügend Zeit sollte das 
schon machbar sein.

Übrigens habe ich schonmal interessante Schrittmotoren gefunden für ca. 
100 Euro: http://www.conrad.ch/goto.php?artikel=197969

Nur bei den Mosfets hänge ich immernoch :( Habe noch auf der Seite 
www.distrelec.ch gesucht, aber doppelte Mosfets in einem Gehäuse scheint 
es da auch keine geeigneten zu geben.

Ich bin mir aber auch nicht ganz sicher ob ich die Datenblätter richtig 
auswerte. Ich gehe so vor:
-> Vdss muss >= 30V sein
-> Beim Diagramm Id/Vgs muss bei Vgs=6V Id>=4A sein
-> Beim Diagramm Vgs/Qg muss bei Vgs=6V Qg<=10nC sein
Wenn das alles erfüllt ist würde ich den Mosfet als geeignet ansehen.

Nun sind aber die Diagramme jeweils auf eine Bestimmte Vds oder Id 
ausgelegt, was ist wenn die bei meinem Projekt aber andere Grössen 
aufweisen? Wie kann ich dann ermitteln ob der Mosfet geeignet ist?

Gruss Urban

von Gelöscht (kami89)


Lesenswert?

So, hab jetzt mal nach einzelnen Mosfets gesucht, zuerst mal nur P-Kanal 
da diese wohl schwieriger zu finden sind.

Bei Conrad hab ich nur einen SMD-Mosfet gefunden den ich für geeignet 
halten würde, und das wäre folgender: 
http://www.conrad.ch/goto.php?artikel=162699
Link zum Datenblatt: 
http://www.produktinfo.conrad.com/datenblaetter/150000-174999/162699-da-01-en-IRFR_9024N.pdf

Bei Distrelec.ch hab ich ein paar gefunden, aber ich bin mir einfach 
nicht so sicher ob die passen. Was meint ihr zu diesem: 
https://www.distrelec.ch/ishop/Datasheets/ilIRFR-IRFU9024N_E.pdf ?

mfg

von Frank (Gast)


Lesenswert?

Dein Anspruch, einen TMC249 mit 4A zum Laufen zu bringen, und Deine 
Einkaufsorientierung beim blauen C, passen nicht zueinander.

Unerschrocken, wie ich bin, hatte ich mal mit den TMC239 zu tun - meine 
Fliegen haben länger gelebt :-)

Mein Rat: kauf Dir fertige Module, die funktionieren.

von Gelöscht (kami89)


Lesenswert?

Naja wie ich schon erwähnte hab ich keine Erfahrung mit dem Auswählen 
eines Mosfets ;) Ich beginne erst diesen Herbst das Bachelor Studium und 
in der Lehre als Automatiker haben wir nur die Grundlagen der Elektronik 
kennen gelernt, und das war kilometerweit weg vom Auswählen können 
welchen Typ man braucht.

Mein Elektronikwissen und Programmierkenntnisse habe ich mir mit Hilfe 
des Internets selber angeeignet, nur mit Mosfets hatte ich noch nichts 
zu tun. Leider scheint das aber nicht so eine einfache Sache zu sein, 
selbst nach dem Lesen einiger Artikel über Mosfets begreife ich noch 
nicht wie man so ein Teil dimensionieren muss bzw. auf was es genau 
ankommt.

Genau aus diesem Grund wende ich mich ja an euch, wenn ich Profi wäre 
hätte ich die Schaltung wohl schon lange fertig gebaut ;)

>> Mein Rat: kauf Dir fertige Module, die funktionieren.
Wenn du meine Beiträge genau gelesen hättest, wüsstest du dass ich diese 
Schaltung vorläufig nur als Lernprojekt bauen will, ich habe für meine 
CNC schon eine funktionierende Schaltung!

mfg

von BKone (Gast)


Lesenswert?

Moin!

Von Mosfets und IGBTs hab ich auch keine Ahnung (hab sie noch nicht 
eingesetzt).

Ist ein Haltemoment von 2,1 Nm notwendig, anders gefragt: Wie bestimmt 
man welches Haltemoment gebraucht wird?
Drehmoment: 2,1kg bei einem Abstand von 1m der Masse vom 
Drehpunkt/Ursprung der Drehung. 2100g bei 1m sind das dann 21gr bei 1cm?

Ich finde du solltest das mit den Trinamic-ICs ausprobieren, sehr viel 
kann da ja auch nicht kaputt gehen,  mal abgesehen davon das die Motoren 
wohl ne ganze Ecke teurer sind.

Würde gerne mehr von deinem Projektfortschritten oder auch die 
dazugehörigen Rüchschritte lesen!

Gruß
Andi

von sasser.exe (Gast)


Lesenswert?

Morgen alle zusammen!

Ich hätte da mal eine allgemeine Frage zur Motorsteuerung!

Ich brauche für meinen Projekt einen Antrieb der in 24 Stunden nur eine 
Umdrehung macht!

Würde mich über interessante Lösungen freuen!

Gruß
Sergej

von Uhrmacher (Gast)


Lesenswert?

Am besten an die Erdachse koppeln, was immer Du auch vor hast.

von Gelöscht (kami89)


Lesenswert?

BKone schrieb:
> Ist ein Haltemoment von 2,1 Nm notwendig, anders gefragt: Wie bestimmt
> man welches Haltemoment gebraucht wird?
> Drehmoment: 2,1kg bei einem Abstand von 1m der Masse vom
> Drehpunkt/Ursprung der Drehung. 2100g bei 1m sind das dann 21gr bei 1cm?

Die Rechnung stimmt nicht, denn 2,1Nm sind ca. 210 Gramm bei 1m Radius. 
Oder 2,1g bei 1cm.
Also das Haltemoment ist immer grösser als das maximale Drehmoment, 
wobei das Drehmoment stark von der Drehzahl abhängt, aber auch von 
Schrittmodus (Mikroschritt usw.) und der Spannung. Der Strom sollte 
dabei immer konstant sein, und zwar so gross wie der Hersteller angibt, 
beim genannten Motor also 2,8A.

Im Datenblatt zum Motor 
(http://www.trinamic.com/tmc/media/Downloads/QMot_motors/QSH6018/QSH6018_manual.pdf) 
ist ein Diagramm, wie sich das Drehmoment im Bezug auf die Drehzahl 
verhält (allerdings leider nur im Vollschrittbetrieb). Da Ist das 
maximale Drehmoment ca. 1,7Nm.

Ich glaube der genannte Motor sollte für eine "normale" CNC-Fräse mehr 
als locker reichen, damit wird man wohl auch ohne Probleme Vollmetall 
fräsen können. Hängt aber natürlich auch von der Mechanik ab, 
insbesondere den Spindeln. Ich hab mal mit einem Motor der gleichen 
Serie, aber mit 3,1Nm Haltemoment gearbeitet. Das ist schon echt krass 
was der an Kraft hat!

> Ich finde du solltest das mit den Trinamic-ICs ausprobieren, sehr viel
> kann da ja auch nicht kaputt gehen,  mal abgesehen davon das die Motoren
> wohl ne ganze Ecke teurer sind.
Dieser Meinung bin ich auch!

> Würde gerne mehr von deinem Projektfortschritten oder auch die
> dazugehörigen Rüchschritte lesen!
Klar, einfach hier mitlesen :-) Bis jetzt hab ich eigentlich erst das 
was auch hier zu lesen ist. Ich will erst richtig weiterdenken wenn ich 
geeignete Mosfets habe...

@sasser.exe
Wenns nicht so genau sein muss: DC-Motor mit Getriebe, ansonsten 
Schrittmotor + Steuerung. Aber ich will hier jetzt nicht dein Problem 
durchdiskutieren, dazu machst du besser ein eigenes Thema auf (nachdem 
du dich selbst informiert hast und immernoch keine Lösung finden 
konntest).


@all
Hmm also bei meinen genannten Mosfets hab ich gar nicht darauf geachtet 
dass es Logic-Level Mosfets sind...Ich erkenne im Datenblatt einfach 
nicht welcher Spannungsbereich am Gate für volles Durchsteuern sorgt. 
Bei Logic-Lever Mosfets sind übrigens die Diagramme meist nur bis 5V 
gezeichnet, kann ich die ohne weiteres auch mit 6V ansteuern?

Bei P-Kanal Logic-Level Mosfets siehts bei Conrad ja noch düsterer aus 
als bei normalen P-Kanal Mosfets^^

Gruss Urban

von Uhrmacher (Gast)


Lesenswert?

Urban B. schrieb:
> Die Rechnung stimmt nicht, denn 2,1Nm sind ca. 210 Gramm bei 1m Radius.
>
> Oder 2,1g bei 1cm.


Das solltest Du noch einmal genau nachrechnen.

von Gelöscht (kami89)


Lesenswert?

Ups, wie peinlich^^
210 Gramm bei 1 Meter entsprechen natürlich 21kg bei 1cm ;)

Ich habe übrigens im Datenblatt vom TMC249 noch eine Beispielschaltung 
mit einem externen Gate-Treiber gefunden, womit man dann nur noch 
N-Kanal Mosfets brauchen würde. Ausserdem kann ich dann mit 48V 
Betriebsspannung arbeiten, was dem Motor ein grösseres Drehmoment 
bringen würde.

Zu finden ist die Schaltung auf Seite 10: 
http://www.trinamic.com/tmc/media/Downloads/integrated_circuits/Tmc249/TMC249_datasheet.pdf

Die zusätzlichen Bauteile scheinen auch verfügbar zu sein bei Conrad.

Nur verstehe ich die Schaltung noch nicht so ganz. Die Ladungspumpe 
macht doch aus den 12V eine höhere Spannung oder? Aber eigentlich müsste 
ich ja aus den 50V die höhere (+10...15V) Spannung haben um den oberen 
Mosfet durchschalten zu können oder?

von Urban B. (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab in der Zwischenzeit mal mit dem Schaltplan für die uC-Platine 
angefangen. Verwendet habe ich einen ATMega16.

Es stehen je 4 Digitale Ein- und Ausgänge, Zwei Analoge Eingänge und ein 
PWM-Ausgang zur Verfügung. Für Erweiterungskarten ist eine 
I2C-Stiftleiste eingeplant. Zum TMC428-Board gehts über eine 10-Polige 
Stiftleiste.

Habt ihr noch Verbesserungsvorschläge, oder andere Tipps?
Die Signale der Referenzschalter kommen ja eigentlich auf den TMC428, 
ich hab sie sicherheitshalber aber noch auf den uC gezogen. Das 
erleichtert das Programmieren und entlastet die SPI-Schnittstelle...

Beim TMC428 bin ich noch am überlegen wie ich da einen Takt erzeugen 
muss. In den Beispielschemas ist immer der Takt vom uC mit dem TMC428 
verbunden, das will ich aber nicht so machen. Nur schon wegen der eher 
längeren Leitungslänge zwischen uC und TMC428, da diese auf separate 
Platinen kommen.

Und bei den Mosfets bin ich immenoch am hängen. Wäre echt froh wenn mir 
da noch jemand Tipps geben könnte.

Gruss Urban

von Gelöscht (kami89)


Lesenswert?

Nanu, keine Antworten mehr? ;)

Ich hab jetzt noch einiges über Mosfets und deren Ansteuerung gelesen. 
Hat schon etwas geholfen, aber zu 100% verstehe ich das noch lange 
nicht. Aber das werde ich dann im Studium (hoffentlich) noch lernen, 
momentan würde ich einfach gerne eine funktionierende H-Brücke aufbauen, 
auch wenn ich nicht alles voll und ganz verstehe. Beim Projekt geht es 
mir mehr um die Programmierung als um die Leistungselektronik.

Ich habe jetzt mal angefangen das Schema für eine Halbbrücke zu 
zeichnen. Da ist allerdings nicht wirklich mehr drin als in der 
Beispielschaltung aus dem Datenblatt vom TMC249...

Ich strebe nun wirklich an, die Schrittmotoren mit 48V zu betreiben. Für 
die Ansteuerung der Mosfets wären noch 12V, und für den Mikrocontroller 
5V vorhanden.

Nun wäre da wieder die Wahl der Mosfets...glücklicherweise braucht es 
mit dem IR2101 ja nur noch N-Kanal Mosfets :D Wie sieht es aber mit der 
Gate-Kapazität aus, muss die immernoch so klein (<10nC) sein wie wenn er 
direkt am TMC249 hängen würde? Oder ist der IR2101 stärker und kann die 
Kapazität schneller umladen? Was meint ihr zu diesem Mosfet:
http://www.produktinfo.conrad.com/datenblaetter/150000-174999/162845-da-01-en-IRLR_120N.pdf

Gruss Urban

EDIT: fast vergessen ;) Im Schaltplan wo "C-PUMP" steht müssen doch, 
wenn ich das richtig verstanden habe, Dauerhaft 12V mehr als VSS 
anliegen, also bei 48V VSS wären das 60V. Stimmt das? Ev. könnte man ja 
auch statt einer Charge-Pump vom Netzteil eine entsprechende Spannung 
zur Verfügung stellen, das würde auch gehen oder? Wie die Charge-Pump im 
Datenblatt vom TMC249 funktionieren soll ist mir immernoch ein Rätsel, 
die müsste doch mit den 50V Versorgt werden und nicht mit 12V oder?

von Gelöscht (kami89)


Angehängte Dateien:

Lesenswert?

...hier noch das Schema das ich vergessen habe anzuhängen... ;)

von Gelöscht (kami89)


Angehängte Dateien:

Lesenswert?

Hätte nicht gedacht dass das Thema hier so wenige interessiert ;-(

Naja, ich schreib trotzdem mal weiter rein, in der Hoffnung dass doch 
noch eine richtige Diskussion entsteht...

Also ich habe die Platinen nun noch stärker modular geplant. Es soll 
folgende Platinen geben:

1: Hauptplatine mit Mega16 (viele Reserve-Pins auf Stiftleisten)
2: Platine mit TMC428
3: 3xPlatinen mit TMC249
4: 3xPlatinen mit Mosfets/Treiber

Die Platinen 1 und 2 werden über Stift-/Buchsenleisten verbunden, die 
Platinen 2 mit 3 über Flachbandkabel und die Platinen 3 und 4 wieder 
über Stift-/Buchsenleisten.

Im Anhang mal die Schaltpläne von Platine 1 und 2.
Das sind erstmal aber nur Experimentierplatinen, also Prototypen wo man 
gut mal was abändern, ergänzen usw. kann.

Tipps für die Mosfet-Ansteuerung sind natürlich immenoch herzlich 
willkommen :-)

Gruss
Urban

von Martin Cibulski (Gast)


Lesenswert?

>>
1: Hauptplatine mit Mega16 (viele Reserve-Pins auf Stiftleisten)
2: Platine mit TMC428
3: 3xPlatinen mit TMC249
4: 3xPlatinen mit Mosfets/Treiber
<<

Hallo Urban,

mir erscheint ein Mega16 etwas zu wenig zu sein für eine mehrachsige 
Steuerung. Ich habe für eine modulare Teleskopsteuerung einen ARM 
32bit-Prozessor eingesetzt, und da sind keine so schnellen Bewegungen 
notwendig wie bei Deinem Projekt.

Gruß,
Martin

von Gelöscht (kami89)


Lesenswert?

Martin Cibulski schrieb:
>>>
> 1: Hauptplatine mit Mega16 (viele Reserve-Pins auf Stiftleisten)
> 2: Platine mit TMC428
> 3: 3xPlatinen mit TMC249
> 4: 3xPlatinen mit Mosfets/Treiber
> <<
>
> Hallo Urban,
>
> mir erscheint ein Mega16 etwas zu wenig zu sein für eine mehrachsige
> Steuerung. Ich habe für eine modulare Teleskopsteuerung einen ARM
> 32bit-Prozessor eingesetzt, und da sind keine so schnellen Bewegungen
> notwendig wie bei Deinem Projekt.
>
> Gruß,
> Martin

Hallo Martin,

Du weisst schon dass der Mega16 nur Verfahr-Anweisungen an den TMC428 
schicken muss? Die Ansteuerung der Motoren übernehmen komplett die 
Trinamicbausteine.

Bei geradlinigen Bewegungen muss der uC nichtmal etwas Berechnen. Der 
schickt einfach nur die Befehle vom PC an den TMC428 weiter. Nur bei 
Kreisförmigen Bewegungen muss der uC jeweils ständig neue Zielpositionen 
berechnen und ausgeben. Aber ich glaube das sollte der Mega16 schon in 
einer akzeptablen Geschwindigkeit schaffen (?)...

mfg

von Martin Cibulski (Gast)


Lesenswert?

Hallo Urban,

OK, wenn der Prozessor nur Verfahranweisungen schicken muss, kann es 
funktionieren. Es muss nur sichergestellt sein, dass bei gleichzeitigen 
Bewegungen in mehreren Achsen alle Motoren gleich lange beschleunigen 
und bremsen, damit sie immer synchron laufen und insgesamt eine lineare 
Bewegung (auf einer Geraden im Raum) herauskommt.

Mit einer CNC-Fräse will man ja auch mal schräg fräsen (also in mehreren 
Achsen gleichzeitig) ohne dafür erst das Werkstück anders einzuspannen.

Die synchrone Bewegung kann auch der Prozessor überwachen, indem er in 
schneller Folge Zielpunkte auf einer Geraden in allen drei Koordinaten 
vorgibt. Davon bin ich ausgegangen und dann braucht es wohl mehr 
Rechenleistung.

Gruß,
Martin

von Gelöscht (kami89)


Angehängte Dateien:

Lesenswert?

Hallo,

Je länger ich mich mit den Trinamic-ICs beschäftige, desto weniger 
sympathisch finde ich sie :(

Was mir einfach überhaupt nicht gefällt, ist die Tatsache dass man nicht 
EXAKT synchron drei verschiedene Positionen anfahren kann. Auch wenn man 
es wahrscheinlich einigermassen synchron hinbringen würde, gefällt es 
mir einfach nicht so richtig.

Weil das ganze ja eher als Lernprojekt/Zeitvertreib gedacht ist, dachte 
ich es würde nicht schaden mal selbst mit der Ansteuerung eines 
Schrittmotors zu rumexperimentieren. Soll heissen, die Ansteuerung der 
Mosfets selbst zu übernehmen.

Bitte schreibt mir jetzt nicht "das kriegt man nie so gut hin wie die 
TMC249" oder "damit fackelst du nur mosfets ab" ;-)

Ich finde, bei einem Lernprojekt mit etwas "try and error" dürfen ruhig 
ein paar Bauteile abrauchen...

Nun würde ich gerne mal eine Platine mit den Mosfets und deren Treiber 
erstellen, um damit dann die Versuche machen zu können.

Ich habe mal ein Schema angehängt und wäre sehr froh wenn ihr da mal 
drüberschauen könntet. Auch ob alle Bauteile passen bin ich mir nicht so 
sicher. Die Ladungspumpe soll nicht auf diese Platine kommen. Die 
Eingänge des Treibers sollen wahlweise mit einem TMC249 oder auch direkt 
mit einem uC (5V) angesteuert werden können, weshalb bei der Highside 
ein Jumper drin ist.

Was meint ihr?

Gruss Urban

von kami89 (Gast)


Lesenswert?

Könnte vielleicht jemand noch schreiben ob die Mosfets und die Dioden 
vom Typ her geeignet wären?

Und dann bin ich mir nicht ganz sicher ob es mit einem AVR (z.B. Mega8) 
möglich wäre, ein Schrittmotor im Chopping-Betrieb mit ca. 25kHz laufen 
zu lassen? Auch Mikroschritte von vielleicht 1/16tel wären von Vorteil.

Meint Ihr das kriegt man mit einem AVR hin, oder wäre der eher zu 
langsam?
Hardware-PWM kommt wohl nicht in frage wegen der Stromregelung oder?

mfg Urban

von conmafi (Gast)


Lesenswert?

Hi,

hast du gesehen das man die TMC249 auch ohne den TMC428 im "stand alone 
mode" betreiben kann? Hier sind dann für die Ansteuerung der Treiber 
eigentlich nur vier Pins interessant, PHA/PHB für die Polarität der 
Brücken und INA/INB für den Strom (Mikroschrittauflösung nur durch die 
Auflösung der hier angelegten Spannung abhängig und somit auch mehr als 
die 64µSchritte über die SPI-Schnittstelle realisierbar!)  . Mit eine 
entsprechender direkte Ansteuerung durch ein µC kann man hier auch EXAKT 
synchron die Motoren fahren, auch eine Takt/Richtung Steuerung wäre 
hierbei leicht realisierbar.

Ich arbeite auch gerade mit den IC's (bzw. dem kleinerem Bruder TMC246) 
, nur ich habe es vor ohne den Controller-IC TMC428 zur realisieren um 
wirklich synchron fahren zur können. Werde es zwar erst mit dem TMC428 
testen, aber glaube nicht das hierbei brauchbare Ergebnisse raus kommen.
Interessanter ist für mich jedoch die Idee jeden TMC246 in dem besagtem 
"stand alone mode" zur betreiben. Dabei sollen,kurz erklärt, vor jeden 
TMC246 ein µC vorgeschaltet werden der über PWM Spanungen an INA/INB 
ausgibt und PHA/PHB entsprechend ansteuert. Als Eingangs-Steuersignale 
sollen im einfachstem Fall nur Takt und Richtung benutzt werden 
(natürlich wird man auch die Anz. der µSchritte bestimmen können, die 
Tabellen der PWM-Werte ändern usw.). Dieser µC (einer pro TMC246 und 
Schrittmotor) sollen dann von einem übergeordnetem µC angesteuert werden 
der dann auch die Kommunikation mit dem PC erledigen soll. Dieser µC 
wird dann für das abarbeiten der Fahrbefehle verantwortlich sein.

Hoffe die Ideen können die/anderen weiter helfen.

Gruß

von Matthias H. (mheininger)


Lesenswert?

conmafi schrieb:
> Ich arbeite auch gerade mit den IC's (bzw. dem kleinerem Bruder TMC246)
> , nur ich habe es vor ohne den Controller-IC TMC428 zur realisieren um
> wirklich synchron fahren zur können. Werde es zwar erst mit dem TMC428
> testen, aber glaube nicht das hierbei brauchbare Ergebnisse raus kommen.
> Interessanter ist für mich jedoch die Idee jeden TMC246 in dem besagtem
> "stand alone mode" zur betreiben. Dabei sollen,kurz erklärt, vor jeden
> TMC246 ein µC vorgeschaltet werden der über PWM Spanungen an INA/INB
> ausgibt und PHA/PHB entsprechend ansteuert. Als Eingangs-Steuersignale
> sollen im einfachstem Fall nur Takt und Richtung benutzt werden
> (natürlich wird man auch die Anz. der µSchritte bestimmen können, die
> Tabellen der PWM-Werte ändern usw.). Dieser µC (einer pro TMC246 und
> Schrittmotor) sollen dann von einem übergeordnetem µC angesteuert werden
> der dann auch die Kommunikation mit dem PC erledigen soll. Dieser µC
> wird dann für das abarbeiten der Fahrbefehle verantwortlich sein.

Hallo,

das ist auch meine Konfiguration, bei der ich auf einer 1/2 Europakarte 
einen Mega168 (DIP), einen LTC 1661 zum einstellen des Motorstroms, 
einen 25LC512 als Konfigurationsspeicher, einen TMC249 und eine 
H-Bruecke aus vier SI4539AD (bis max 3.4 A, wie im Datenblatt vom 
TMC249) plaziert habe.

Das ganze kann (zur Zeit) ueber die RS232-Schnittstelle des AVR mit 
wenigen Befehlen konfiguriert und gesteuert werden. Es gibt zwei weitere 
Leitungen, ueber die ein Takt/Richtungs Eingang realisiert werden soll. 
Der AVR hat noch einen freien I2C-Bus und die restlichen vier AD 
Kanaele, die derzeit als Schaltereingaenge verwendet werden sollen.

Das (kritische) Layout von TMC und H-Bruecke inklusive Shunts wurde sehr 
von einem Evalboard fuer den TMC428/236/249 inspiriert.

Bis zu vier dieser Boards sollen spaeter an einen kleinen Rechner mit 
einem 16-Bit PIC oder einem AVR mit grossem Flash, der G-Code Befehle in 
Takt/Richtung umsetzen und damit bis zu vier Schrittmotoren steuern 
soll.

Zur Zeit wird gerade die Motorsteuerung programmiert. Dabei wird auch 
zum Beispiel die Referenzfahrt implementiert (mit StallGuard!) und als 
Befehl ueber RS232 bereitgestellt.

Gruss
Matthias

von Gelöscht (kami89)


Lesenswert?

Hallo zusammen,

Also erstmal danke für die Ideen! Dass man den TMC249 auch über 
Takt/Richtung ansteuern kann habe ich irgendwie übersehen ;) Nur finde 
ich das irgendwie etwas viel Aufwand, gegenüber einer L297/L293 
Steuerung.
Mittlerweile habe ich auch mal eine L297/L293 Kombination aufgebaut und 
beginne langsam mit der uC-Geschichte.

Mal schauen was die Vor-/Nachteile der beiden Varianten sind:

TMC249:
+ Mikroschrittbetrieb möglich
+ Stromregelung direkt über SPI
+ Einige kleine, nützliche Funktionen über SPI möglich
- Platinendesign aufwändig (Mosfets!)
- Programmieraufwand sehr gross, da SPI-Ansteuerung


L297/L293 - Kombination:
+ Sehr einfaches Platinendesign
+ Kleiner Programmieraufwand gegenüber dem TMC249
- Nur Halb-/Vollschrittbetrieb möglich
- Strom-Sollwertvorgabe aufwändig (D/A-Wandler)

Hat sonst noch jemand Vorschläge?

Übrigens habe ich langsam das Gefühl, dass der Halbschrittbetrieb für 
CNC-Maschinen ganz gut genügt, denn die meisten CNC-Steuerungen können 
ja keine Mikroschritte.

mfg

von Matthias H. (mheininger)


Lesenswert?

Urban B. schrieb:
> Hallo zusammen,
>
> Mal schauen was die Vor-/Nachteile der beiden Varianten sind:
>
> TMC249:
> + Mikroschrittbetrieb möglich
mit zusaetzlicher Beschaltung bis 64 Bit (siehe Datenblatt)

> + Stromregelung direkt über SPI
> + Einige kleine, nützliche Funktionen über SPI möglich
TMC239 und TMC249 StallGuard (nuetzlich fuer die Referenzfahrt)

> - Platinendesign aufwändig (Mosfets!)
1. Auf der Webseite von Trinamic gibt es die beiden Layoutseiten des 
Evalboards und den Schaltplan zum Download
2. Dies erlaubt es aber auch, durch die Wahl der Mosfets die 
Eigenschaften in einem weiten Bereich (z.B. bis 6 A bei 34 V oder 2.5 A 
bei 48 V) den Bedingungen anzupassen.

> - Programmieraufwand sehr gross, da SPI-Ansteuerung
Auf der Webseite von Trinamic gibt es ein kleines C-Programm, bei dem 
mittels eines ATmega48 die Umsetzung Takt/Richtungssignal in SPI Befehle 
erfolgt.

>
>
> L297/L293 - Kombination:
> + Sehr einfaches Platinendesign
> + Kleiner Programmieraufwand gegenüber dem TMC249
> - Nur Halb-/Vollschrittbetrieb möglich
Das reicht fuer die meisten Faelle (Ausnahmen siehe unten)

> - Strom-Sollwertvorgabe aufwändig (D/A-Wandler)
PWM und RC Filter?

>
> Hat sonst noch jemand Vorschläge?
>
> Übrigens habe ich langsam das Gefühl, dass der Halbschrittbetrieb für
> CNC-Maschinen ganz gut genügt, denn die meisten CNC-Steuerungen können
> ja keine Mikroschritte.
Das ist richtg. In einem Buch von Christoph Selig (er hat auch eine 
eigene Webseite) ist eine Schrittmotorsteuerung fuer CNC-Maschinen 
beschrieben, die von verschiedenen Programmen (z.B. Mach3) angesteuert 
werden kann.

Ich habe aber eine Anwendung, bei der nur etwa 6-8 Schritte (ca. 114 
Mikroschritte) pro Sekunde bei einem genau vorgegebenen 
Geschwindigkeitsprofil abgefahren werden muss. Dies erfordert somit fuer 
einen moeglichst sanften Lauf die Verwendung von Mikroschritten und 
daher liegt die Kombination Mega168, TMC249 und externe Mosfets nahe, 
bei der der AVR die Generierung der Schrittfolge direkt uebernimmt und 
die restlichen Aufgaben (Referenzfahrt) zusaetzlich implementiert.

Gruss
Matthias

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Urban!

> Also erstmal danke für die Ideen! Dass man den TMC249 auch über
> Takt/Richtung ansteuern kann habe ich irgendwie übersehen ;) Nur finde
> ich das irgendwie etwas viel Aufwand, gegenüber einer L297/L293
> Steuerung.

Allerdings. Da gibt es dann ICs, die weniger Kosten und leichter 
einzubinden sind. Z.B. A3979 für kleine Ströme, oder 2 A3959 plus µC und 
DAC.

> Mal schauen was die Vor-/Nachteile der beiden Varianten sind:
>
> TMC249:
...
> L297/L293 - Kombination:
...
> Hat sonst noch jemand Vorschläge?

Für welchen Strom und welche Versorgungsspannung? Such dir was aus:
http://www.schrittmotor-blog.de/?p=35

> Übrigens habe ich langsam das Gefühl, dass der Halbschrittbetrieb für
> CNC-Maschinen ganz gut genügt, denn die meisten CNC-Steuerungen können
> ja keine Mikroschritte.

Ein Polo genügt auch als Auto, man braucht keine S-Klasse ;)
1/4- oder 1/8-Schritt bringt schon noch spürbare Vorteile in Hinblick 
auf Resonanzen und Geräuschentwicklung. 1/128-tel oder mehr ist dann 
meiner Meinung nach Voodo.

Mit freundlichen Grüßen
Thorsten Ostermann

von Gelöscht (kami89)


Lesenswert?

Matthias Heininger schrieb:
>> - Strom-Sollwertvorgabe aufwändig (D/A-Wandler)
> PWM und RC Filter?
Geht das gut? Muss ich mal Schaltungen im Netz suchen. Wäre natürlich 
sehr schön!

Thorsten Ostermann schrieb:
> Für welchen Strom und welche Versorgungsspannung? Such dir was aus:
> http://www.schrittmotor-blog.de/?p=35
Gute Tabelle! Nur sind die meisten Teile für relativ kleine Ströme. Ich 
habe hier noch einen Schrittmotor mit 4A rumliegen, wäre schön wenn ich 
den auch mal mit voller Kraft kaufen lassen kann. Mindestens 3A will ich 
schon schalten können. Als Spannung würde ich gerne 48V benutzen. Die 
Spannungsversorgung dazu habe ich schon, Ringkerntravo, Gleichrichter 
und Kondensatoren. Leerlaufspannung 46V.

Ich denke ich werde zuerst mal eine Steuerung mit dem L297 und dem L6203 
(meinte ich übrigens in den vorherigen Posts auch, nicht der L293^^) 
aufbauen. Pro Motor wird ein ATMega8 verwendet, welcher 
Takt/Richtungssignale ausgibt. Ein Haupt-IC (ev. Mega16) erzeugt die 
Rampen.

Falls ich später dann mal Mikroschritte brauche oder mir mal langweilig 
ist, kann ich dann immernoch einfach die Treiberplatinen ersetzen durch 
TMC249-Platinen.

Schön wäre es dann natürlich wenn ich bei den ATMega8 die 
SPI-Schnittstelle frei lasse (als Option für die TMC249). Das würde dann 
halt bedeuten dass der Master die Befehle über I2C an die Slaves 
weitergibt.

Das hat aber wieder den Nachteil, dass I2C für Erweiterungsboards 
uninteressander wird, da das ganze dann träger wird. Man müsste fast 
noch einen uC mehr verwenden, oder die ISP-Schnittstelle für die TMC249 
per Software realisieren.

Grüsse
Urban

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Urban!

Für 4A gibt es meines Wissens nach nichts voll integriertes mehr. 
Entweder nimmt man eine externe H-Brücke wie den L6203, oder ein 
Schrittmotor-IC, dass den Anschluss externer FETs erlaubt, wie z.B. 
A3986 oder TMC249.

Du hast dir ja scheinbar noch eine Menge vorgenommen. Ich würde wirklich 
eins nach dem anderen machen. Die Rund-um-sorglos-Lösung kann kann man 
dann später immer noch machen.

Mit freundlichen Grüßen
Thorsten Ostermann

von Gelöscht (kami89)


Lesenswert?

Hallo Thorsten,

Jap, genau auf den L6203 konzentriere ich mich momentan auch. Habe schon 
Platinen mit dem L6203 und dem L297 vor mir, die funktionieren schonmal 
ganz gut.

Jetzt ist gerade noch der Lötlack von der ATMega8-Platine am trocknen. 
Die kann ich bald löten, dann habe ich schonmal die Schaltung einer 
Achsansteuerung komplett.

Als nächstes stecke ich auf dem Steckbrett noch eine Schaltung mit dem 
Mega16 zusammen, welcher als Master die Achsen ansteuern wird. Dann 
versuche ich mich mal an der Programmierung.

Klar habe ich einiges vor, aber das mache ich alles Schritt für Schritt 
und ohne Zeitvorgabe.

mfg
Urban

von Gelöscht (kami89)


Angehängte Dateien:

Lesenswert?

So, heute kann ich wiedermal an der Schrittmotorsteuerung arbeiten.
Vor allem die Stromversorgung will ich mal fertigstellen.

Ich habe mal eine Schaltung angehängt.
Als Trafo habe ich einen Ringkern 230V/2x15V 300VA. Die beiden 
Wicklungen schalte ich in Serie um die Schrittmotoren mit 
gleichgerichteten 30VAC zu versorgen. Die Mitte (15VAC) zapfe ich 
ausserdem noch an, um die Logik zu versorgen (5VDC).

Bei einigen Sachen bin ich mir aber noch etwas unsicher.

1.
Die beiden GND-Leitungen kann ich ohne weiteres einfach an Erde 
schliessen oder? Würde schon gerne Erdpotential auf Masse haben. (Habe 
mal ein Jumper eingezeichnet um es ohne Umlöterei ausprobieren zu 
können)

2.
Wenn mein Schrittmotor ein Spulenstrom von 3A hat, dann könnte meine 
Steuerung bei Stillstand bis zu 6A verbrauchen oder (Wenn der Rotor in 
einer Zwischenposition ist, also beide Spulen aktiv)? Oder schaut da der 
L297 dass bei einem Zwischenschritt der Strom auf beide Spulen verteilt 
wird?

3.
Wie soll ich die Kondensatoren verteilen? Bei 3A-Motoren 3'000uF 
(6'000uF?) auf die Treiberplatine und bei der Stromversorgung gar keine 
Elkos? Oder etwas weniger Kapazität auf die Treiberplatinen, aber dafür 
viele uF in die Stromversorgung?

4.
Muss ich sehr auf die Masseführung achten, damit die 5V für die Logik 
nicht plötzlich zu gross oder zu klein werden? Ich habe mal ein 
Überischts-Schaltplan angehängt und eine Masseschlaufe markiert. Ich bin 
da sehr unerfahren mit etwas höheren Strömen und wäre froh wenn da 
jemand sagen könnte ob ich da speziell auf etwas achten muss.

freundliche Grüsse
Urban

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Urban!

> 2.
> Wenn mein Schrittmotor ein Spulenstrom von 3A hat, dann könnte meine
> Steuerung bei Stillstand bis zu 6A verbrauchen oder (Wenn der Rotor in
> einer Zwischenposition ist, also beide Spulen aktiv)? Oder schaut da der
> L297 dass bei einem Zwischenschritt der Strom auf beide Spulen verteilt
> wird?

Nur, wenn dein Motor ca. 42V Nennspannung hätte. Aber so einen Motor 
gibt es nicht. Du darfst hier nicht einfach die Eingangs seitigen Ströme 
mit den Wicklungsströmen in einen Topf werfen. Entscheidend ist die 
Leistungsbilanz.

Wenn man den statischen Fall betrachtet (Motor steht) und die Verluste 
in der Endstufe mal außen vor lässt, muss als die selbe Leistung 
reingehen, wie sie an den Motor abgegeben wird. Mal angenommen, dein 
Motor hätte 1,5V 3A. Bei zwei Wicklungen gibt das:
P(V,Motor)=2*U*I=9VA
Eingangsseitig gilt P(Ein)=U*I (statischer Fall)
Bei 42V ergibt sich also ein Strom von ca. 214mA. Wenn du eine 
Stromabsenkung vorsiehst, ist es nochmal deutlich weniger.

> 3.
> Wie soll ich die Kondensatoren verteilen? Bei 3A-Motoren 3'000uF
> (6'000uF?) auf die Treiberplatine und bei der Stromversorgung gar keine
> Elkos? Oder etwas weniger Kapazität auf die Treiberplatinen, aber dafür
> viele uF in die Stromversorgung?

Das kommt ein bisschen darauf an, wie lang die Zuleitung vom Netzteil 
zur Endstufe ist. Normalerweise hat man die dicken Elkos am Netzteil, 
und nochmal 100-200µF an jedem Treiber-IC. Manche Hersteller (z.B. 
Geckodrive)empfehlen auch, einen relativ dicken Elko direkt an die 
Klemmen der Endstufe für die Versorgungsspannung zu hängen. Da frage ich 
mich immer, warum die die Geräte so klein machen müssen, dass der 
erforderliche Elko scheinbar nicht mehr reinpasst. Vermutlich ist das 
nur eine Hintertür, damit man im Fall einer Fehlfunktion sich darauf 
zurückziehen kann, dass kein externer Elko angeschlossen war.

Mit freundlichen Grüßen
Thorsten Ostermann

von Gelöscht (kami89)


Lesenswert?

Hallo Thorsten,

hmm Okay das mit der Leistungsbilanz klingt schon logisch. Aber 214mA 
für einen Motor klingt wieder nach total wenig finde ich ;-) Ausserdem 
habe ich für die ersten Tests die Vref so eingestellt, dass die Endstufe 
ca. 2A bei 20V zieht, und der Motor ist kaum warm geworden?!

Ich glaube ich muss mal die erforderliche Vref ausrechnen und richtig 
einstellen (auf 3A). Diese Einstellung sollte dann ja bei jeder 
Betriebsspannung stimmen, also von 10V bis 48V oder?
Dann schau ich mal auf wieviel Strom ich am Eingang komme.

Zu den Elkos: Wenn die Endstufen ja nur so um die 200mA ziehen, dann 
bräuchte ich ja nichtmal sehr grosse Elkos in der Stromversorgung, oder? 
Bei meinem Prototyp habe ich gleich mal 2'000uF auf die Treiberplatine 
platziert, das ist doch schon ordentlich viel...

Also vielen dank schonmal für deine Antwort! Ich werde dann die Vref mal 
einstellen und schauen was dabei rauskommt...

mfg
Urban

von Gelöscht (kami89)


Lesenswert?

So, hab das gerade ausprobiert. Habe die Vref auf 0,42V eingestellt 
(0,15 Ohm * 2,8A).

Nun habe ich das ganze auch noch am neuen Netzteil ausprobiert. Bei 45V 
zieht die ganze Schaltung nun 1,8A im Stillstand. Bei relativ hoher 
Drehzahl geht es runter bis auf 350mA.

Die L6203 verbraten nun schon einiges an Leistung (Kühlkörper werden 
sehr warm) und der Motor wurde sogar auch leicht warm bei einem kurzen 
Test. Sieht also alles ganz gut aus!

Deine Rechnung für meinen Motor schaut so aus:
P_motor = 2*U*I = 2*3,36V*2,8A = 18,8VA
I_eingang = P/U = 18,8VA / 45V = 418mA

Naja, so ganz auf die gemessenen 1,8A komme ich da nicht ;-)
Aber das ist eigentlich eh egal, die gemessenen Werte genügen mir ja.

Da nun ein Motor also max. 1,8A bei 45V zieht, sollten 2'000uF reichen 
pro Motor oder? Diese hätte ich ja schon auf der Treiberplatine und 
bräuchte theoretisch keine Kondensatoren mehr in der Stromversorgung. 
Werde aber trotzdem vielleicht so 2'000uF bis 4'000uF reinmachen...

Das mit dem Verbinden der beiden Massen muss ich mir aber nochmal 
überlegen, denn mir ist in den Sinn gekommen dass das für die Dioden 
nicht so gesund sein kann, wenn ich unterschiedliche Typen parallel 
schalte...

Gruss
Urban

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Hallo Urban!

> Nun habe ich das ganze auch noch am neuen Netzteil ausprobiert. Bei 45V
> zieht die ganze Schaltung nun 1,8A im Stillstand. Bei relativ hoher
> Drehzahl geht es runter bis auf 350mA.
>
> Die L6203 verbraten nun schon einiges an Leistung (Kühlkörper werden
> sehr warm) und der Motor wurde sogar auch leicht warm bei einem kurzen
> Test. Sieht also alles ganz gut aus!
>
> Deine Rechnung für meinen Motor schaut so aus:
> P_motor = 2*U*I = 2*3,36V*2,8A = 18,8VA
> I_eingang = P/U = 18,8VA / 45V = 418mA
>
> Naja, so ganz auf die gemessenen 1,8A komme ich da nicht ;-)

Naja, ich habe ja auch die Verlustleistung im Treiber unterschlagen. Die 
scheint mir hier allerdings ziemlich zu hoch zu sein. Mit welcher 
Frequenz läuft denn dein Stromregler?

Mit freundlichen Grüßen
Thorsten Ostermann

von Gelöscht (kami89)


Lesenswert?

Hallo Thorsten,

ja das war mir schon klar, dass da noch die Verlustleistung hinzukommt, 
aber die verschlingt wohl kaum ein Ampere ;)

Aber irgendetwas stimmt jetzt eh nicht mehr mit der Steuerung. Der Motor 
bewegt sich immer nur zwischen zwei Positionen hin und her. Und 
ausserdem heizen die Treiber sogar relativ stark, obwohl sie deaktiviert 
sind (mit Enable) ?!

Muss da mal schauen was da los ist...

Ach ja, die Choppingfrequenz ist 25kHz, also im ganz normalen Bereich.

Gruss
Urban

von Gelöscht (kami89)


Angehängte Dateien:

Lesenswert?

So, da bin ich wieder ;-)

Beim oben erwähnten Symptom war das Problem, das einer der beiden L6203 
in die eine Richtung total viel Energie verbraten hat, und am Ausgang 
fast nichts heraus gab. Ich habe dann nicht lange gemacht und einfach 
den L6203 und die Kondensatoren + Widerstände (SMD) ausgelötet. Alles 
neue Bauteile reingelötet, danach hat alles wieder funktioniert.

Dann habe ich weiter getestet und ständig die Stromaufnahme und 
Temperatur beobachtet. Nach etwa 15 bis 20 Minuten "rumspielen" 
(hauptsächlich Rampen rauf und runter fahren) stieg der Stromverbrauch 
auf einen Schlag aufs doppelte an, und der Motor zuckte schon wieder nur 
noch wild herum!! Diesmal hats aber den anderen Treiber erwischt, nicht 
den neuen.

Also ob der L6203 wirklich defekt ist bin ich mir nicht 100% sicher, 
aber ich vermute es mal. Was kann da das Problem sein?

Die Spannung beträgt ca. 42 bis 45VDC. Der Strom habe ich wie oben 
beschrieben eingestellt, die Temperatur der Treiber war die ganze Zeit 
völlig normal. Jetzt wird der defekte Treiber jedoch sehr heiss und 
braucht sogar mit deaktiviertem Enable ca. 800mA.

Ich habe irgendwie keine Lust noch mehr Treiber zu verbraten, denn in 
der Schweiz kostet so ein Teil satte 17 SFr. (über 12 Euro)!!

Das einzige, was ich mir noch als Ursache vorstellen könnte, sind 
Induktionsspannungen vom Motor. Aber diese müssten doch eigentlich von 
den R-C-Gliedern an den Ausgängen abgefangen werden?!

Die Schaltung ist exakt so wie im Anhang aufgebaut. Ich wäre sehr 
dankbar für alle Tipps.

Freundliche Grüsse
Urban

von Simon K. (simon) Benutzerseite


Lesenswert?

Du hast ein Problem: Wenn dein Motor abgebremst werden soll, arbeitet er 
kurzzeitig generatorisch. Dabei wird Strom in den "Zwischenkreis" also 
die Sekundärseite des Trafos eingespeist. Die Spannung an den 
Kondensatoren steigt an und die knappe Reserve, die du bei 48V beim 
L6203 noch hast reicht nicht aus. Da kommst du kurzzeitig über die 
Maximalspannung und dann rummst es.

Abhilfe: Mehr Spannugnsreserve vorsehen. Ich würde bei 48V schon 
mindestens auf 63V gehen. Also auch 63V ELKOs vorsehen.
Oder: Höhere Kapazität verbauen, dann steigt die Spannung nicht so 
stark. Allerdings ist das nicht gut für den Trafo
Oder: Bremschopper einbauen, der den Generatorstrom beim Abbremsen 
verheizt
Oder: Leistungs-Z-Diode (Z-Diode + Transistor) einbauen, die alles über 
50V killt.

von Gelöscht (kami89)


Lesenswert?

Hallo Simon,

Ja genau das war auch meine erste Vermutung. Doch ich habe jetzt mal 
geschaut, wie ich den CONTROL-Eingang vom L297 momentan beschaltet habe. 
DIeser ist auf 5V gelegt. Nach Datenblatt heisst das, dass der Chopper 
auf den Phasen arbeitet und nicht mit den ENABLEs von den L6203.

Bei dieser Chopper-Art wird die induzierte Spannung ja nicht in die 
Versorgung zurückgespeist, sondern mit den internen Dioden vom L6203 
kurzgeschlossen. Daher vermute ich jetzt mal, dass es eine dieser Diode 
verbraten hat. Aber die müssten doch genügend Strom verbraten können, um 
einen 4A Motor abzubremsen?!

Dieses Mal wechsle ich aber erstmal die Bauteile um den L6203 herum aus, 
vielleicht hat es ja auch nur ein Widerstand oder ein Kerko erwischt...

Simon K. schrieb:
> Abhilfe: Mehr Spannugnsreserve vorsehen. Ich würde bei 48V schon
> mindestens auf 63V gehen. Also auch 63V ELKOs vorsehen.
Mehr Spannungsreserve würde ich nur sehr ungern vorsehen, da ich ja 
möglichst viel Kraft aus den Motoren holen will. 63V Elkos habe ich 
natürlich jetzt schon drin.
> Oder: Höhere Kapazität verbauen, dann steigt die Spannung nicht so
> stark. Allerdings ist das nicht gut für den Trafo
Jup, auch nicht das wahre.
> Oder: Bremschopper einbauen, der den Generatorstrom beim Abbremsen
> verheizt
Sollte doch irgendwie auch ohne diesen Aufwand gehen.
> Oder: Leistungs-Z-Diode (Z-Diode + Transistor) einbauen, die alles über
> 50V killt.
Die brutale Methode ;) Sowas würde ich aber eher als Schutz für den Fall 
aller Fälle einbauen, und nicht für den Dauereinsatz als Abbremshilfe 
:-)

mfg

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.