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 :(
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.