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
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
>... 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.
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.
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_control/dspin.htm?wt.mc_id=enews_dec09_dspin
> 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
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.
> 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
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 :(
Eine eigene Frage?
Dieser Thread ist über 16 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.