Motor osziliert mit ca. 1Hz. Warum?
07 Jan 2020 22:46 #154272
by StormBP
Motor osziliert mit ca. 1Hz. Warum? was created by StormBP
Hallo zusammen,
ich habe ein Einstellungsproblem mit meiner umgerüsteten Fräse. Es handelt sich um eine SiegSX4. Habe diese mit Kugelumlaufspindel und mit JMC Servomotoren iHSV60-30-40-48 mit PUL/DIR Eingangssignal versehen.
Zur Hardwarekonfiguration gehört eine Mesa 5i25 mit einer 7i85s. Es handelt sich um ein Closed Loop System mit linear Encoder (Auflösung 200 counts/mm). Also 0,005mm.
Die Einrichtung der Mesakarten mit LinuxCNC hat gut funktioniert. Die HAL und INI ist so weit, dass die CNC sich bewegt. Jog per Richtungstasten funktioniert. Encoder Signale kommen bei LinuxCNC an. Scales sind richtig eingestellt.
Zu meinem Problem:
Sobald ich ein ersten Jog mache z.B. 5mm fährt die CNC von 0 auf 5mm. Am Ende oszilliert der Motor mit einer Frequenz von ca. 1Hz um ca. +-0,015 mm. Je nachdem wie ich den P-Wert im PID wähle kann das auf +-0,03 steigen. Also die Endposition steht nicht still sondern oszilliert. Wenn ich den P-Wert runtersetzte dann oszilliert es nur langsamer. Wenn ich den P-Wert aber zu weit runtersetzte, dann wird die Position nicht mehr geregelt/korrigiert.
Ich habe herausgefunden, dass wenn ich den DEADBAND Wert auf ca. 0,00045 setzte, dann das oszillieren aufhört. Jedoch summiert sich der ferror Wert mit jedem JOG. Das Fräsergebnis verliert so an Wert.
Weiß vielleicht jemand wo das Problem liegt? Hat jemand ein Tipp?
Vielen Dank schon mal für eure Unterstützung.
ich habe ein Einstellungsproblem mit meiner umgerüsteten Fräse. Es handelt sich um eine SiegSX4. Habe diese mit Kugelumlaufspindel und mit JMC Servomotoren iHSV60-30-40-48 mit PUL/DIR Eingangssignal versehen.
Zur Hardwarekonfiguration gehört eine Mesa 5i25 mit einer 7i85s. Es handelt sich um ein Closed Loop System mit linear Encoder (Auflösung 200 counts/mm). Also 0,005mm.
Die Einrichtung der Mesakarten mit LinuxCNC hat gut funktioniert. Die HAL und INI ist so weit, dass die CNC sich bewegt. Jog per Richtungstasten funktioniert. Encoder Signale kommen bei LinuxCNC an. Scales sind richtig eingestellt.
Zu meinem Problem:
Sobald ich ein ersten Jog mache z.B. 5mm fährt die CNC von 0 auf 5mm. Am Ende oszilliert der Motor mit einer Frequenz von ca. 1Hz um ca. +-0,015 mm. Je nachdem wie ich den P-Wert im PID wähle kann das auf +-0,03 steigen. Also die Endposition steht nicht still sondern oszilliert. Wenn ich den P-Wert runtersetzte dann oszilliert es nur langsamer. Wenn ich den P-Wert aber zu weit runtersetzte, dann wird die Position nicht mehr geregelt/korrigiert.
Ich habe herausgefunden, dass wenn ich den DEADBAND Wert auf ca. 0,00045 setzte, dann das oszillieren aufhört. Jedoch summiert sich der ferror Wert mit jedem JOG. Das Fräsergebnis verliert so an Wert.
Weiß vielleicht jemand wo das Problem liegt? Hat jemand ein Tipp?
Vielen Dank schon mal für eure Unterstützung.
Please Log in or Create an account to join the conversation.
08 Jan 2020 08:52 #154291
by blue0cean
Replied by blue0cean on topic Motor osziliert mit ca. 1Hz. Warum?
ich denke das das Deadband zu klein ist da der Regler immer versucht den Wert zu erreichen. Ich hab Liniearmaßstäbe an meiner Maschine mit der gleichen Auflösung mit einem Daeaband von 0.001 schau dir mal die Anleitung von Talla an hier wird viel für den Praktiker erklärt:
Blue0cean
Blue0cean
Please Log in or Create an account to join the conversation.
08 Jan 2020 10:50 #154297
by StormBP
Replied by StormBP on topic Motor osziliert mit ca. 1Hz. Warum?
Danke blue0cean für dein Feedback,
habe die Videos von talla83 studiert
Habe auch nach diesen meine Maschine eingerichtet.
Wenn ich den DEADBAND hochsetze, dann tritt folgender Effekt auf:
Z.B. Ich JOG in X um 1mm von 0 auf 1, dann positioniert die Maschine auf 1,015. Wenn ich jetzt wieder um um 1mm in X JOG, dann positioniert die Maschine auf 1,030. Der Fehler von 0,015mm summiert sich also mit jedem JOG. Wenn dieser Fehler "absolut" bleiben würde, wäre es ja ein Kompromiss.
Ich habe auch schon versucht den step-type auf velocitymodus zu stellen:
also in der HAL:
step-type 2
Wie hoch ist der Fehler bei dir? Summiert sich dieser auch?
habe die Videos von talla83 studiert
Habe auch nach diesen meine Maschine eingerichtet.
Wenn ich den DEADBAND hochsetze, dann tritt folgender Effekt auf:
Z.B. Ich JOG in X um 1mm von 0 auf 1, dann positioniert die Maschine auf 1,015. Wenn ich jetzt wieder um um 1mm in X JOG, dann positioniert die Maschine auf 1,030. Der Fehler von 0,015mm summiert sich also mit jedem JOG. Wenn dieser Fehler "absolut" bleiben würde, wäre es ja ein Kompromiss.
Ich habe auch schon versucht den step-type auf velocitymodus zu stellen:
also in der HAL:
step-type 2
Wie hoch ist der Fehler bei dir? Summiert sich dieser auch?
Please Log in or Create an account to join the conversation.
08 Jan 2020 12:05 - 08 Jan 2020 12:06 #154302
by blue0cean
Replied by blue0cean on topic Motor osziliert mit ca. 1Hz. Warum?
nein bei mir passt es.
Ich würde mal ohne Encoder fahren und Prüfen ob das Passt. Stimmt deine Übersetzung mit deiner Berechnung überein oder korrigiert dein Regler einen Übersetzungsfeher/Berechnugnsfehler ständig. Hast Du eine Scope Aufzeichnung gemacht hier kommt man sehr schnell auf sowas...
Ich würde mal ohne Encoder fahren und Prüfen ob das Passt. Stimmt deine Übersetzung mit deiner Berechnung überein oder korrigiert dein Regler einen Übersetzungsfeher/Berechnugnsfehler ständig. Hast Du eine Scope Aufzeichnung gemacht hier kommt man sehr schnell auf sowas...
Last edit: 08 Jan 2020 12:06 by blue0cean.
The following user(s) said Thank You: StormBP
Please Log in or Create an account to join the conversation.
08 Jan 2020 15:18 #154313
by PCW
Replied by PCW on topic Motor osziliert mit ca. 1Hz. Warum?
Einige Sachen:
1. Entfernen Sie alle Anweisungen "pid.N.maxerror = .0005" in der hal-Datei
Diese führen auf einem metrischen Computer zu folgenden Fehlern.
2. Sie möchten wahrscheinlich nicht step_type 2, dies ist eine Quadraturausgabe anstelle von step / dir
Geschwindigkeitsmodus wird über "control_type = 1" eingestellt
Ist der akkumulierte Fehler ein physikalischer Fehler oder was wird in der Digitalanzeige angezeigt?
1. Entfernen Sie alle Anweisungen "pid.N.maxerror = .0005" in der hal-Datei
Diese führen auf einem metrischen Computer zu folgenden Fehlern.
2. Sie möchten wahrscheinlich nicht step_type 2, dies ist eine Quadraturausgabe anstelle von step / dir
Geschwindigkeitsmodus wird über "control_type = 1" eingestellt
Ist der akkumulierte Fehler ein physikalischer Fehler oder was wird in der Digitalanzeige angezeigt?
The following user(s) said Thank You: StormBP
Please Log in or Create an account to join the conversation.
08 Jan 2020 19:20 #154337
by StormBP
Replied by StormBP on topic Motor osziliert mit ca. 1Hz. Warum?
Hallo PCW,
es war die Nr. 1 !!
Nachdem ich den "pid.N.maxerror = .0005" in der HAL entfernt habe, ist die Oszillation sofort verschwunden und ich konnte über den Halscope den ferror fein justieren. Danke für den super Tipp!
Gibt es Vorteile von dem Velocity-modus zum Geschwindigkeitsmodus?
Ich würde gerne die zwei Modi vergleichen.
Was muss man denn alles umstellen um die Modis zu wechseln?
es war die Nr. 1 !!
Nachdem ich den "pid.N.maxerror = .0005" in der HAL entfernt habe, ist die Oszillation sofort verschwunden und ich konnte über den Halscope den ferror fein justieren. Danke für den super Tipp!
Gibt es Vorteile von dem Velocity-modus zum Geschwindigkeitsmodus?
Ich würde gerne die zwei Modi vergleichen.
Was muss man denn alles umstellen um die Modis zu wechseln?
Please Log in or Create an account to join the conversation.
08 Jan 2020 20:12 - 08 Jan 2020 20:13 #154342
by PCW
Replied by PCW on topic Motor osziliert mit ca. 1Hz. Warum?
Der Positionsmodus wird nur für Step / Dir-Systeme mit offenem Regelkreis verwendet
Sobald Sie Encoder-Feedback an LinuxCNC verwenden, benötigen Sie
Geschwindigkeitsmodus und eine PID-Schleife.
Auch für Open Loop Step / Dir-Systeme ist der PID + Velocity Mode stepgen
bietet eine bessere Leistung als die im Positionsmodus eingebauten Treiber, insbesondere mit
Berücksichtigung der Toleranz von Host-Servo-Thread-Jitter.
Sobald Sie Encoder-Feedback an LinuxCNC verwenden, benötigen Sie
Geschwindigkeitsmodus und eine PID-Schleife.
Auch für Open Loop Step / Dir-Systeme ist der PID + Velocity Mode stepgen
bietet eine bessere Leistung als die im Positionsmodus eingebauten Treiber, insbesondere mit
Berücksichtigung der Toleranz von Host-Servo-Thread-Jitter.
Last edit: 08 Jan 2020 20:13 by PCW.
The following user(s) said Thank You: StormBP
Please Log in or Create an account to join the conversation.
Time to create page: 0.090 seconds