Hallo zusammen, ich benutze einen Schrittmotortreiber (TMC222), der sich nicht abschalten läßt. Allerdings gibt es bei so einem Schrittmotortreiber ja Stellen, in denen der Stromchopper laut ist und andere, bei denen er fast lautlos ist. Kennt jemand eine Möglichkeit, in der Firmware so eine "leise" Stelle zu finden? Es kann ja nicht davon ausgegangen werden, daß der Schrittmotortreiber bei der Initialisierung in einer bestimmten Schrittposition ist: Schließlich kann er seit dem Reset des Controllers schon stundenlang in Betrieb gewesen sein... Viele Grüße W.T.
:
Bearbeitet durch User
Walter T. schrieb: > Kennt jemand eine Möglichkeit, in der Firmware so eine "leise" Stelle zu > finden? Es kann ja nicht davon ausgegangen werden, daß der > Schrittmotortreiber bei der Initialisierung in einer bestimmten > Schrittposition ist: Schließlich kann er seit dem Reset des Controllers > schon stundenlang in Betrieb gewesen sein... Wenn du das Problem schon erkannt hast, ist die Lösung doch ganz einfach: sorge dafür, dass der ansteuernde Controller immer nur zusammen mit dem Treiber resettet wird. Das übliche Verfahren wäre: Reset gib's nur beim PowerUp, sonst nie. Wenn du nicht dazu in der Lage bist, Programme zu schreiben, die ohne Resettaste funktionieren, dann bleibt dir nur die Strommessung, um zu erkennen, wo der Treiber aktuell ist. Wobei Messung vielleicht ein wenig übertrieben ausgedrückt ist. Eigentlich geht es darum, festzustellen, ob konstanter Strom oder PWM ausgegeben werden. Alternativ wäre auch möglich: Verzicht auf den Mikrostep-Betrieb, dann ist der Motortreiber bei jedem Schritt an einer "leisen" Stelle.
Ich behaupte mal, ohne den TMC222 zu kennen, dass bei einem quietschenden, pfeifenden oder rauschenden Schrittmotor die Ansteuerung suboptimal ist, was meist an einem undurchdachten Layout liegt. Wenn ich z.B. lese: http://www.roboternetz.de/community/threads/19470-PROTOBED-StepM-%C2%96-TMC222-RN > Was mir gleich auffällt, dass der 100uF aus der Referenzschaltung im > Datenblatt, bei euch verschwunden ist. > Was hat der Kondensator verbrochen? wundert mich gar nichts mehr. Können die Leute nicht lesen? http://www.trinamic.com/_scripts/download.php?file=_articles%2Fproducts%2Fintegrated-circuits%2Ftmc222%2F_datasheet%2FTMC222_datasheet.pdf • 2.7nF capacitors: 2.7nF is the minimum value, 10nF is the maximum value • the 1μF and 100μF must have a low ESR value • 100nF capacitors must be close to pins VBB and VDD • 220nF capacitors must be as close as possible to pins CPN, CPP, VCP and VBB to reduce EMC radiation. Gut, beim 100µF steht nicht explizit, dass er möglichst nahe am IC liegen sollte, aber die Angabe LowESR sollte einen schon stutzig machen. Gnd-Layout ist genauso wichtig. Die Power-Strompfade müssen getrennt von den Digitalen laufen und möglichst kleine Flächen aufspannen. Du hattest noch eine andere Frage, ob man den TMC wieder in den Power-On-State (ShutDown) bringen könnte. Beitrag "Schrittmotortreiber TMC222 zum schweigen bringen" Laut Datenblatt geht es, du musst die Figure 7: Internal handling of commands and flags und Table 8: Priority Encoder beachten. Es geht nur vom Stopped-State aus mit einem HardStop-Command. Von den anderen States RunInit, SoftStop, HardStop und GotoPos kommst Du nur über MotionFinished nach Stopped. Dazu muss vielleicht die ActPos ausgelesen und (mit SetPos) in TargetPos geschrieben werden.
Danke für die Diskussions-Anknüpfungspunkte. eProfi schrieb: > Können die Leute nicht lesen? > http://www.trinamic.com/_scripts/download.php?file=_articles%2Fproducts%2Fintegrated-circuits%2Ftmc222%2F_datasheet%2FTMC222_datasheet.pdf > • 2.7nF capacitors: 2.7nF is the minimum value, 10nF is the maximum > value > • the 1μF and 100μF must have a low ESR value > • 100nF capacitors must be close to pins VBB and VDD > • 220nF capacitors must be as close as possible to pins CPN, CPP, VCP > and VBB to reduce EMC radiation. Was habe ich mit dem Design bei Roboternetz am Hut? Das Datenblatt liefert mir doch alles frei Haus, inklusive der geforderten Kühlfläche. eProfi schrieb: > Ich behaupte mal, [...] dass bei einem > quietschenden, pfeifenden oder rauschenden Schrittmotor die Ansteuerung > suboptimal ist, was meist an einem undurchdachten Layout liegt Von der Behauptung halte ich nicht viel. Wenn die Spulen singen, ist das reine Physik. Das passiert auch bei sehr hochwertig aufgebauten Schrittmotortreibern wie z.B. der Beast von Benezan Electronics und den Leadshine-Treibern. eProfi schrieb: > [...] ohne den TMC222 zu kennen, [...] Ohne den TMC222 zu kennen, ist da eine sinnvolle Aussage doch kaum möglich. eProfi schrieb: > Laut Datenblatt geht es, du musst die Figure 7: Internal handling of > commands and flags und Table 8: Priority Encoder beachten. Es geht > nur vom Stopped-State aus mit einem HardStop-Command. Tja, wenn das so einfach wäre... Das Trinamic-Forum schreibt das Gegenteil: http://ttdg.trinamic.com/viewtopic.php?f=16&t=175&hilit=disable c-hater schrieb: > Wenn du nicht dazu in der Lage bist, Programme zu schreiben, die ohne > Resettaste funktionieren, dann bleibt dir nur die Strommessung, um zu > erkennen, wo der Treiber aktuell ist. Es ist nicht unmöglich. Aber es ist umständlich. Ich mag gerne Programme, die die Peripherie ungeachtet der Vorgeschichte frisch initialisieren können. c-hater schrieb: > Alternativ wäre auch möglich: Verzicht auf den Mikrostep-Betrieb, dann > ist der Motortreiber bei jedem Schritt an einer "leisen" Stelle. Das könnte sogar ein Ansatz sein. Zwischen Mikroschritt- und Halbschrittbetrieb kann ich problemlos umschalten. Da der Antrieb selbsthemmend ist, geht mir da nichts verloren.
Ich habe zum Thema hörbare Schrittmotoren bereits 2008 geschrieben: Beitrag "Schrittmotorsteuerung mit l6203" hier ein besserer Link zu besagter AN460 von Thomas L. Hopkins: http://www.st.com/st-web-ui/static/active/en/resource/technical/document/application_note/CD00003771.pdf siehe Abschnitt "Chopper Stability and Audio Noise". Zum TMC-Problem: ich kann mir kaum vorstellen, dass jahrelang ein fehlerhaftes Datenblatt kursiert. Wäre schön, wenn wir Licht ins Dinkel bringen und das Problem lösen könnten.
Walter T. schrieb: > Das könnte sogar ein Ansatz sein. Zwischen Mikroschritt- und > Halbschrittbetrieb kann ich problemlos umschalten. Da der Antrieb > selbsthemmend ist, geht mir da nichts verloren. Halt nur die Vorteile des Microstepbetriebs. Wenn du die in deiner Anwendung nicht benötigst: klar, dann ist meine Vorschlag ganz eindeutig mit weitem Abstand die einfachste Lösung. Aber bedenke: Der Sinn eines Antriebs ist normalerweise nicht, sich NICHT zu bewegen, sondern vielmehr, sich möglichst effizient zu bewegen. Und genau in dieser Situation hat halt der Microstep-Betrieb dermassen signifikante Vorteile, dass sich die Entwickler praktisch jedes neuzeitlichen Steppertreibers haben verführen lassen, diese Betriebsart jeweils darin einzubauen. Das haben die nicht aus Langeweile gemacht, oder einfach nur deswegen, weil es geht... Im Übrigen hast du es in der Hand, die Vorteile zu verknüpfen, sobald du auf die Möglichkeit für einen Reset zu "jedem beliebigen" Zeitpunkt verzichtest. Dann kannst du nämlich einfach mitzählen und bei Stillstand den Treiber immer noch die paar Microsteps bis zur nächsten stabilen Position weiter bewegen. Hat er die erstmal erreicht, darfst du dann auch deinen verschissen µC resetten, ohne das es laut wird. Naja, jedenfalls, wenn du dessen Initialierungsphase hardwaremäßig und softwaremäßig hinreichend im Griff hast, so dass sich nicht für den Treiber irgendwelche Steps ergeben...
Walter T. schrieb: > Stellen, in denen der Stromchopper laut ist und andere, bei denen er > fast lautlos ist. Wie sehen denn die Oszillogramme dazu aus? Evtl. kommt bei dieser Chopper-Frequenz etwas in Resonanz oder z.B. Abschaltspannungsspitzen beeinflussen die restliche Schaltung?
oszi40 schrieb: > Wie sehen denn die Oszillogramme dazu aus? Evtl. kommt bei dieser > Chopper-Frequenz etwas in Resonanz oder z.B. Abschaltspannungsspitzen > beeinflussen die restliche Schaltung? Es ist nicht wahnsinnig laut. Es ist sogar recht leise. So wie ein Röhrenfernseher, der kein Bild anzeigt. Und genauso wie bei einem Röhrenfernseher ohne Bild geht mir das Geräusch tierisch auf die Nerven, so daß ich gerne einige Zeilen Quelltext investiere, um es noch leiser zu bekommen, wenn der Motor steht. Wenn der Motor läuft, ist das Geräusch in Ordnung. Wenn sich etwas bewegt, darf es auch Geräusche machen. Im Stillstand nervt das aber.
Die Mikroschritte sind hauptsächlich dazu gedacht, um das Laufgeräusch zu senken. Positionieren sollte man aber nur auf Vollschritten. Beim Stehen auf nem Mikroschritt muß ja der Motor immer zwischen zwei Vollschritten mit der PWM hin und her vibrieren. Außerdem ist das Haltemoment erheblich reduziert.
> Beim Stehen auf nem Mikroschritt muß ja der Motor immer zwischen > zwei Vollschritten mit der PWM hin und her vibrieren. ?!? Solche Worte aus Deiner Hand verwundern mich. Sowohl durch die Spuleninduktivität als auch durch die Trägheit des Rotors bleibt von der PWM (vergleiche Periode mit Tau) so gut wie nichts übrig. > Außerdem ist das Haltemoment erheblich reduziert. Durch die Cos/Sin-Ansteuerung bleibt der resultierende Vektor (Wurzel aus x^2+y^2) doch immer gleich lang. Zurück zum Thema Abschalten des Spulenstroms beim TMC222: Was Walters These, dass der Spulenstrom nicht mehr abgeschaltet werden kann, unterstützt, ist die Tatsache, dass in der Table 8: Priority Encoder zwei Zeilen mit HardStop gibt, in der ersten (dabei könnte das HardStop-Kommando 0x83 gemeint sein, ist in der ersten Spalte nicht "--> ShutDown" eingetragen. Der Unterschied HardStop-Command und HardStop-Condition hätte besser (ausführlicher) beschrieben werden können.
Hallo Peter, > Die Mikroschritte sind hauptsächlich dazu gedacht, um das Laufgeräusch > zu senken. Positionieren sollte man aber nur auf Vollschritten. > Beim Stehen auf nem Mikroschritt muß ja der Motor immer zwischen zwei > Vollschritten mit der PWM hin und her vibrieren. Außerdem ist das > Haltemoment erheblich reduziert. Wie kommst du denn auf das dünne Brett? Es ist ja nicht so, dass die Spulen abwechselnd bestromt würden. Außerdem liegt die mechanische Zeitkonstante des Rotors mindestens eine Größenordnung unter der elektrischen. Mit freundlichen Grüßen Thorsten Ostermann
Hallo "eProfi" > Ich habe zum Thema hörbare Schrittmotoren bereits 2008 geschrieben: > Beitrag "Schrittmotorsteuerung mit l6203" Naja, zwischen dem L6203/L297 und dem TMC222 liegen Jahrzehnte der Entwicklung. Ich wage zu bezweifeln, dass man die Erkentnisse aus dem Thread auf das Problem hier übertragen kann. Allerdings dürfte tatsächlich ein schlechtes Layout die wahrscheinlichste Ursache für die Störgeräusche sein. @Walter: Der TMC222 hat doch einen integrierten "Motioncontroller", der via SPI ansprechbar ist. Unabhängig vom Reset deines Controllers kannst du also zu jeder Zeit die aktuelle Position auslesen und daraus errechnen, ob du in einer Voll- oder Mikroschritt-Position stehst. Im Stillstand sollte man auch (wenn die Anwendung das zulässt) den Motorstrom reduzieren, um unnötige elekrtische Verluste und eine entsprechende Erwärmung von Motor und Treiber zu vermeiden. Vielleicht macht der TMC das aber auch schon automatisch, wenn man ihn richtig konfiguriert? Mit freundlichen Grüßen Thorsten Ostermann
Walter T. schrieb: > Wenn sich etwas bewegt, darf es auch Geräusche > machen. Im Stillstand nervt das aber. Hast Du die Möglichkeit, im Stillstand die Versorgungsspannung zu reduzieren?
eProfi schrieb: > Sowohl durch die > Spuleninduktivität als auch durch die Trägheit des Rotors bleibt von der > PWM (vergleiche Periode mit Tau) so gut wie nichts übrig. Dann dürfte es ja keine Geräusche geben. Geräusche bedürfen einer mechanischen Bewegung. Ein stromloser Stepper will immer den Magnetfluß optimieren, d.h. auf einen Vollschritt einrasten. Mit einem zusätzlichen Haltestrom erreicht man dann noch eine optimale Bremswirkung.
Peter D. schrieb: > Dann dürfte es ja keine Geräusche geben. Geräusche bedürfen einer > mechanischen Bewegung. Es zwitschert aber nicht die Achse, sondern die Spulen. > Mit einem zusätzlichen Haltestrom erreicht > man dann noch eine optimale Bremswirkung. Diese bahnbrechende Erkenntnis würde ich mir patentieren lassen :-(
m.n. schrieb: > Diese bahnbrechende Erkenntnis würde ich mir patentieren lassen :-( Patentieren kann man nur, was nicht offensichtlich ist. Aber ich hab schonmal lachen müssen, als sich jemand abquälte, einen Stepper zu drehen, der noch unter Haltestrom stand.
Peter D. schrieb: > Stepper zu drehen, der noch unter Haltestrom stand. Das kommt nur auf die aktuelle Größe des Haltestroms an. :-) Rauschen und zischen kann er trotzdem je nach Ansteuerung. Auge auf Oszi und vergleichen.
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.