mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Microschritttreiber PIC AN906


Autor: Moritz Bente (interuper007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Allerseits,

Ich beschäftige mich gerade mit der Entwicklung einer 
Microschrittsteuerung für Bipolare Schrittmotoren. Dabei bin ich auf die 
AN906 von Microchip gestoßen. Hat jemand hier mit der Schaltung 
schoneinmal Erfahrungen gemacht?

Mit freundlichem Gruß

Moritz



Hier die Application Note
http://ww1.microchip.com/downloads/en/AppNotes/00906a.pdf

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>AN906 von Microchip gestoßen. Hat jemand hier mit der Schaltung
>schoneinmal Erfahrungen gemacht?

Ich denke mal das Microchip damit Erfahrungen hat.
Sonst würde es die Appnote nicht geben. Was geht denn nicht?

Autor: Moritz Bente (interuper007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

In erster Linie würde mich die Qualität der Schrittweite interessieren. 
Die ja in erster Linie von der Stromregelung abhängt.
Hier treten auch meiner Meinung nach die Probleme auf, dass Strom messen 
mit dem Comparator, wie genau ist diese Methode... Vielleicht hat jemand 
damit ja schonmal gearbeitet? Ich habe die Schaltung noch nicht gebaut. 
Arbeite auch gerade an einer Trinamic Lösung jedoch habe ich große 
Probleme 6 A pro Phase in den Griff zu bekommen.

Grüße

Moritz

Autor: Schluck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>In erster Linie würde mich die Qualität der Schrittweite interessieren.

So richtig zündene Ergebnisse mit Mikroschritten habe ich nie gehabt. 
Zum Einen hängt die genaue Position vom Rastmoment des Motors ab: ich 
habe nur schlechte Motore :-) Zum Anderen kommt die genaue 
Stromeinstellung ins Spiel. Um einen schwingungsfreien Chopperbetrieb zu 
erhalten, müssen die Komparatoren mit Totzeiten versehen werden. Diese 
Totzeiten beeinflussen die Stromvorgabe deutlich, insbesondere bei hohen 
Versorgungsspannungen.

Wenn ich Mikroschritte verwende, dann um eine 'etwas' bessere Auflösung 
bei der Positionierung und einen ruhigeren Motorlauf zu erhalten.

Verwendest Du die TMC239/249? Da sind Grenzen gesetzt, da die 
Gatekapazität der FETs nicht beliebig sein darf. 6A sind meines 
Erachtens schon zuviel für diese ICs.

Autor: Moritz Bente (interuper007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Danke für die ausführliche Antwort,
ja ich verwende den TMC249 mit den Mosfets aus dem Datenblatt für 6 A. 
Mit weniger Strom läuft es auch einigermaßen jedoch mit mehr leider 
nicht. Da die ICs auch sehr teuer sind wäre eine Lösung mit einem PIC 
und nachgeschalteter H-Brücke mir willkommen. Die Totzeit müsste man 
dann in Software realiesieren oder? Da ist es fraglich ob eine hohe 
Schrittfrequenz machbar ist. Die Trinamic IC's sind jedoch das einzige 
was mir sinnvoll erschien in dieser Stromklasse. Habe momentan eine 1IC 
Lösung von Allegro am laufen. Jedoch reizt die Schaltung meine Motoren 
nicht aus. Ich brauche aber die Leistung. Die Motoren haben einen 
Spulenstrom von 4,2A RMS also mit ca. 6A im Mikroschrittbetrieb. Den 
Mikroschrittbetrieb brauche ich aus beiden Gründen (höhere Auflösung und 
Däpfung des Motors) Welche Lösung hast du im Einsatz? Erfahrungen mit 
hohen Strömen?

Grüße Moritz

Autor: Schluck (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine 3A Stufen habe ich nur im Halbschritt betrieben (2xL6203 + L6506). 
Für kleine Sachen nehme ich TMC236 oder A3979. Der TMC239 hat sich als 
kritisch erwiesen; bei 24V habe ich den immer schnell geschrottet.

Grundsätzlich ist bei den ICs und höheren Strömen eine gutes bis sehr 
gutes Layout für Masse und Versorgungsspannung notwendig. Sonst machen 
die Dinger, was sie wollen :-)

Wenn ich Dein Problem beruflich für ein Einzelstück oder kleine 
Stückzahlen hätte, würde ich mir ein fertiges Modul kaufen, da der 
zeitliche Aufwand viel zu groß werden kann. Ich zeige mal ein Beispiel 
dafür.
http://de.nanotec.com/schrittmotor_steuerungen_smc46.html

Autor: Moritz Bente (interuper007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Vielen Dank für das Beispiel.
Es handelt sich jedoch um ein Privates Projekt. Da ich 4 Endstufen 
brauche ist das vom Aufwand her etwas viel. Ja ich denke es scheitert 
bei mir am Layout. Werde das nochmal analysieren und eventuell mit 
Trinamic mal in Kontakt treten vielleicht helfen die mir ja. :-) Und 
sollte ich dann noch Ergeiz haben werde ich vielleicht die PIC Lösung 
noch proieren. ;-)

Trotzdem vielen Dank für die Mühe!

Grüße

Moritz

Autor: Thomas O. (kosmos)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch eine Frage dazu um das ganze zu verstehen.

Angenommen ein normaler Schritt hat 8°. Wenn ich jetzt die beiden Spulen 
gleichzeitig und gleichstark bestrome geht dann der Zeiger in die Mitte 
des Schritts also auf 4° oder schafft er das nur wenn ich den Strom 
immer getaktet umschalte. z.B. 10mSek auf Spule1 dann 10mSek Strom auf 
Spule2.....

Bzw. 5mSek auf Spule1 dann 10mSek auf Spule2..... um auf 6° zu kommen.

Ich denke mir wenn ich Dauerstrom auf beide Spulen gebe dann geht der 
Zeiger zu dieser Spule die die höchste Magnetkraft aufweist. Verbleibt 
der Zeiger eigentlich auf einem Microschritt wenn man den Strom aller 
Spulen komplett abschaltet oder wandert er immer zu einer Spule.

Autor: Martin Cibulski (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Moritz,

ich habe für kleine Strome bis 1 A die Allegro 3973 verwendet, der die 
Spulenströme in 63 Stufen vorgeben kann:

http://martin.cibulski.de/atm/mount_controller_4/i...

Für große Ströme gibt es von Allegro den 3985, der wird ähnlich 
angesteuert und hat die gleiche Auflösung, arbeitet aber mit externen 
FETs und schaltet dadurch weit höhere Ströme.
Wir habe eine Treiberkarte entwickelt, die problemlos mit 4 Ampere 
Maximalstrom läuft.
Ich denke, die von uns verwendeten Transistoren (IRLZ34N, evtl. 
IRLIT44N) vertragen weit mehr, denn die 4 Ampere gehen für mehrere 
Minuten noch ohne Kühlkörper.

Gruß,
Martin

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Verbleibt der Zeiger eigentlich auf einem Microschritt wenn man den Strom >aller 
Spulen komplett abschaltet oder wandert er immer zu einer Spule.

Er wird das tun was auch passiert wenn du den Motor
nur mit der Hand drehst. Er springt auf die nächste
Vollstep Position. Es sei denn die Last hindert ihn daran.

Autor: Moritz Bente (interuper007)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Martin,

bei der Lösung mit dem 3985, gab es da Auflösungsfehler? Ich habe in 
einem anderem Beispiel mit dem 3986 gelesen, dass es zu 
Positionierungsfehlern kam?
Wobei ich dachte das der 3985 und der 3986 sich nur im Interface 
unterscheiden. Der 3986 mit Translator von Step/Direction und der 3985 
ohne.
Hast du die Schrittfehler gemessen ? Der Vorteil wäre mit digitaler 
Schnittstelle man könnte eine automatische Stromabsenkung implementieren 
! Das fehlt mir bei dem 3986. Aber wenn der DAC nicht gut arbeitet wäre 
das schade. Grüße

Moritz

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.