Wollte den ST L6470 Schrittmotortreiber verwenden und mit dessen Stall Detection eine Art sensorless Homeing zu realisieren. Hab mir dazu folgende Platine geholt: https://www.sparkfun.com/products/retired/10859 Datenblatt des ICs: http://cdn.sparkfun.com/datasheets/Robotics/dSPIN.pdf Allerdings weiß ich nicht, ob diese Funktion dafür überhaupt gedacht/geeignet ist. Aber wofür dann eigentlich überhaupt? Da man den Wicklungsstrom bei diesem Treiber nur indirekt über einen K_VAL einstellen kann, den Stromvergleichswert für die Stall Detection aber in mA angeben muss, erweist sich das schon mal unnötig kompliziert. Ich messe also mit der Peak-Funktion meines MM den Wicklungsstrom im Motor bei festem K_VAL (KVAL_HOLD, KVAL_RUN, KVAL_ACC and KVAL_DEC = 40, entspricht gemessen ca. 1230 mA_RMS) und nun müsste ich einen Wert für STALL_TH (Stall Threshold) finden, der gerade noch nicht auslöst, wenn der Motor normal verfährt, aber auslöst, wenn irgendwas blockiert? Also 1230 mA_RMS = 1740 mA_peak. Wenn ich nun aber z.B. den Wert 1875 mA als Stall_Threshold nehme (Werte darunter führen zum Gleichen Ergebnis), dann löst er entweder direkt beim Fahren ohne Belastung aus (Step Loss A / Step Loss B Bit im Status Register wird gelöscht -> Step Loss auf Wicklung A oder B erkannt -> Stall Detection erkannt) oder falls die Stall_Threshold über dem Maximalwert liegt (z. B. 2250mA) überhaupt nicht (also auch nicht, wenn ich mit der Hand den Motorschaft bremse). Ganz kurios ist es beim Wert 2000mA. Da zeigt er mir beim Verfahren immer Step_LossA oder Step_Loss_B an , aber wenn ich dann den Motorschaft mit der Hand blockiere, verschwindet die Fehlersignalisierung so lange. Ich kenne aus dem Netz die Funktion des sensorless Homeings von den Trinamic Treibern und da wird es unter dem Begriff stallGuard in 3D-Druckern eingesetzt um ohne Endschalter den Maschinennullpunkt zu finden. Ich dachte der Treiber hat die selbe Funktion, die ich nutzen könnte. Kennt jemand den Treiber?
Ok scheinbar haben im Netz viele Probleme die richtige Einstellung zu finden: https://community.st.com/s/question/0D50X00009Xkgpd/l6470-stall-detect-issue https://www.eevblog.com/forum/beginners/l6470-sensorless-stall-detection/ Einzige Möglichkeit scheint nach meinen Versuchen, dass man die den KVAL_RUN (also letztendlich den Parameter für die Spannung und damit den Wicklungstrom, wenn der Motor läuft) so niedrig ansetzt, dass das Drehmoment gerade noch ausreicht um eine Referenzfahrt auszuführen und den Stall-Wert dann so ermitteln, dass er bei leichten Blockierungen überschritten wird.
Auf Block Fahren um eine Referenz zu haben war noch nie eine gute Idee.... viel zu ungenau, da das System (Maschine) mechanisch auf Spannung geht. Danach passt nichts mehr..... Gruß Thomas 10 Jahre im CNC Steuerungs und CNC Maschinenbau .....
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.