www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Präzise Schrittmotorsteuerung


Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo und erstmal frühliche Weihnachten zusammen ;-),

ich möchte ein Federsystem mittels Schrittmotor und einem kleinen 
Flaschenzug entspannen und spannen.

Nun habe ich leider schlechte Erfahrung mit den Standard Treibern L297 
etc. gemacht, da immer mal wieder ein Schritt übersprungen wurde oder 
nicht gedreht wurde.

Nun haben vielleicht manche von euch bereits von den ICs von Trinamic 
gehört.
http://www.trinamic.com/tmc/render.php?sess_pid=292

Diese werben mit der "Sensorless stall detection stallGuard".
So wie ich das beim Drüberfliegen interpretert habe, ist es mittels 
Software nun möglich zu detektieren, ob der Motor den Schritt nun 
wirklich ausgeführt hat oder ob er einen Schrit übersprungen hat.

Noch dazu bietet der Hersteller eine C-Library für AVRs.

Hat jemand bereits Erfahrungen mit dem IC gemacht?
Kann jemand bestätigen, daß dieser stallGuard hält was er verspricht 
oder interpretiere ich seine Aufgabe falsch?

Vielen Dank für eure Unterstützung

Autor: Albert ... (albert-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Ich habe mit 2 Treiber IC's (TMC249 und TMC246) sowie dem dazugehörenden 
Controller(Interpreter TMC428) gearbeitet und damit auch schon Lösungen 
hinbekommen. Angesteuert wurde das ganze von mir über einen Cortex M3 
(LM3S6965 von Luminary Micro). Diese Chips sind wirklich verdammt gut 
und die Nutzung des TMC428 (Anfahrweise, Geschwindigkeitsregelung, 
Interruptüberwachung, etc.) kann ich nur empfehlen. Dieser nimmt einem 
die gesammte Arbeit ab und man muss ihn nur noch über SPI kallibirieren 
und einmal denn Flash (für die Microstep-Table und die Datagramm config) 
laden.

Die Stall Guard Funktion sagt dir ob der Motor steht oder nicht, nicht 
aber ob ein Schritt verloren ging. Man nutzt es um den Motor ohne einen 
Schalter auszurichten.

Aber Achtung: Die erste programmierung ist extrem Aufwendig da man etwa 
25 Parameter laden muss sowie die Look-Table für die Microsteps wenn man 
diese nutzen möchte.
Auch ein Problem ist das die Chips nur für 2-Phasen bipolar Motoren bis 
3A (beim TMC249) ausgelegt sind.

Grüße

Autor: Tauwetter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>... da immer mal wieder ein Schritt übersprungen wurde oder
>nicht gedreht wurde.

Das liegt nicht am L297. Zunächst solltest Du den Grund hierfür suchen 
und finden. Sonst hilft Dir auch ein anderer Controller/Treiber nicht.

Autor: Billy der Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mich Tauwetter nur anschliessen. Wenn Schritte übersprungen 
werden, hat das rein mechanische Gründe, da ist sicher nicht der Treiber 
dran schuld. Entweder überlastest du den Schrittmotor (das benötigte 
Drehmoment ist höher als der Schrittmotor liefern kann) oder du taktest 
zu schnell oder du taktest den Motor sofort mit der vollen Drehzahl, 
ohne Anfahr/Brems-Rampen zu benutzen.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Antworten,

ich habe mal ein interessantes Dokument über den VErlust von Schritten 
bei einem Schrittmotor gefunden:

http://www.micromo.com/n390913/n.html

Ihr habt natürlich vollkommen recht, wenn ihr behauptet, daß ein Fehler 
in der Ansteuerschaltung auch der Auslöser gewesen sein kann.

Nur sollten aufgrund von zu schneller Taktung, zu hohem Drehmoment, 
aufgrund EMV technischer Störungen oder irgendeinem anderen Problem 
Schritte "verschuckt" werden, so kann ich ausschließlich anhand der L297 
Treiberschaltung keine Detektion dieses Verlustes durchführen.

Möchte ich also, daß der Schrittmotor ein bestimmtes Programm immer 
durchführt und intern ein Zähler die Schritte addiert, dann kann ich 
einen fehlerhaften Betrieb nur dadurch ausschließen indem ich ein 
Feedback darüber bekomme, ob der Schritt auch wirklich ausgeführt wurde.

>Die Stall Guard Funktion sagt dir ob der Motor steht oder nicht, nicht
>aber ob ein Schritt verloren ging. Man nutzt es um den Motor ohne einen
>Schalter auszurichten.

OK, dann habe ich das "leider" falsch verstanden.


>Aber Achtung: Die erste programmierung ist extrem Aufwendig da man etwa
>25 Parameter laden muss sowie die Look-Table für die Microsteps wenn man
>diese nutzen möchte.
>Auch ein Problem ist das die Chips nur für 2-Phasen bipolar Motoren bis
>3A (beim TMC249) ausgelegt sind.

Ich habe noch einen interessanten Treiberbaustein gefunden:
http://www.st.com/stonline/products/families/motor...

Autor: Nick Müller (muellernick)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> dadurch ausschließen indem ich ein Feedback darüber bekomme,
> ob der Schritt auch wirklich ausgeführt wurde.

Das zuverlässigste dürfte ein Quadratur-Encoder an der Welle des 
Schrittmotors sein. HEDSxxxx, HEDLxxxx


HTH,
Nick

Autor: Billy der Bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Feedback über verlorene Schritte wirst du schon in die Mechanik 
einbauen müssen, z.B. eine fest auf die Motorachse montierte 
Encoderscheibe, die unabhängig von der Motoransteuerung ausgewertet wird 
und die Schritte mitzählt, oder ein an die Motorachse angebautes 
Servopoti, oder Endschalter, die als Referenz für eine bestimmte 
Stellung angefahren werden, etc.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Das zuverlässigste dürfte ein Quadratur-Encoder an der Welle des
> Schrittmotors sein. HEDSxxxx, HEDLxxxx

Nanotec, klasse Anbieter, danke dir vielmals, die Auswahl ist wirklich 
spitze.

Vielen Dank

Autor: Captain Subtext (captainsubtext)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matthias schrieb:
> Ich habe noch einen interessanten Treiberbaustein gefunden:
> http://www.st.com/stonline/products/families/motor...

Der ist leider noch in der Preview-Phase, wird also gerde erst 
entwickelt :(

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.