Motor dreht unkontrolliert im Handbetrieb (MDX61B + CMP50S)

Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, die Minimaldrehzahl 15 bei einem geregelten Servomotor hat mich auch schon sehr gewundert.

Solange nur die Drehzahlregelung (Betriebsart Servo) genutzt wird, ist das schon ok. Sobald aber Lageregelung oder Halteregelung ins Spiel kommt, pendelt der Antrieb ständig zwischen +/-- 15 U/min hin und her - und das mit einer Frequenz zwischen 50 und 500 Hz - das hört man dann schon schön ;)
 
Danke für die Hinweise.
Die Minimaldrehzahl ist auf 0 eingestellt
Mit dem Servotunig warte ich noch. Mache ich erst wenn die Achsen dran hängen.
Aber erst mal die 3. Achse in Linuxcnc Konfigurieren und In-betrieb nehmen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK,

nun habe ich doch noch Fragen. Ich hoffe Ihr habt soviel Geduld mit mir.

Ich habe die 3. Achse nun auch in Betrieb genommen.
Es ist ein MDX6B0055 mit einem CMP71M.
Vorweg, ich habe ihn im Handbetrieb getestet. Er läuft etwas ruppig an und bei Drehzahlwechsel reagiert er auch etwas Ruppig,
ansonsten läuft er super. Ich denke mal das liegt an den zu kleinen Rampen.

Im Positionierbetrieb sieht es allerdings anders aus.
Hier läuft der Servo extrem Rau und ratternd, gut das ich ihn ordentlich befestigt habe.
Die Ursache ist die Steuerung, sie übermittelt kontinuierlich neue Positionswerte (Bahnsteuerung).
Der Servo reagiert entsprechend heftig darauf indem er ständig abbremst und wieder beschleunigt.
Im Gegensatz zu dem Anderen Servo der erst gar nicht wollte. Dieser läuft schön ruhig.
Ich würd ihn gerne weicher Einstellen und habe bisher folgendes versucht.

Par910: Verstärkung 3.69 > 1
Par911: Pos Rampe1 1
Par912: Pos Rampe2 1
Par916: Ruckbegrenzt
Par933: Ruckzeit 0.005

Leider ohne Erfolg.
Könnte es an der Steifigkeit liegen?, diese liegt bei 1.15


Gruß

Andre
 
Wenn die Erweiterte Buspositionierung verwendet wird, werden die Parameter 911 und 912 durch die Vorgabe vom Bus überschrieben.
Die Ruckzeit sollte in dem Fall mal auf 0.1 oder 0.2 eingestellt werden. Hierdurch wird der Anstieg der Beschleunigung reduziert.
Die Verstärkung P910 ist nur für den Lageregler, um den Drehzahlregler weicher einzustellen, würde ich die Steifigkeit auf 1 oder sogar auf 0,9 einstellen.
In welchem Intervall erhält der MDX neue Lagesollwerte?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
guten Morgen,

Steuerungsseitig:
der Servo-thread läuft mit 0,8ms, Ethercat-bus Abtastrate 0,1ms.

Profibus:
Der Task-zyklus der Profibusklemme ist 1ms
Der Profibus läuft mit 12M im DP/MC Modus, Telegramm 6PD.

Weitere Einstellungen:
Beschl/ Abbremsrampe: 0
Die Steuerung übernimmt die Rampenfunktion mittels Drehzahlvorgabe.
Die Steifigkeit hab ich am Wochenende bis 0,7 getestet (Grenzwertig) und hab aktuell 0,9 eingestellt.
Lastträgheit 0
Kürzeste Rampe 0,3
Zeitraster 0,1s

Der P910 (Danke für die Information) steht bei 2.00
P933 steht bei 0.08, hier werde ich die Größeren Werte mal eintragen.
P938 5
P939 4

Schleppfehler:

Vf1000 mm/min (40 1/min) = ca.1,6 mm
Vf2000 mm/min (80 1/min) = ca. 3,6 mm
Vf3000 mm/min (120 1/min) = ca. 7 mm

Ich werd mal ein Video Einstellen, wo man sieht/ hört wie die 3 Servos laufen.

Ansonsten denke ich, wäre es Sinnvoll das Telegramm auf 3PD zurückzustellen.
Das Ganze ohne ipos. Die Ansteuerung per Drehzahlvorgabe und Auswertung der Istposition über den Profibus.

Oder Hybrid, Analog von Außen über die Klemmen und Auswertung Istposition per Profibus.

Gruß

Andre
 
Hallo zusammen,

ich muss mal das Thema wieder Auftauen.
Im Prinzip funktioniert der Aufbau, aber ich bin nicht zufrieden.
Ich will weg vom Profibus, da er viel zu langsam ist und mir massive Schleppfehler einhandelt.
Nur so als Gedankenspiel:
Die MDX61 unterstützen den Master Slave-betrieb.
Könnte man da nicht den X14 als Pulseingang benutzen und den SEW darüber steuern?
Also praktisch A/B Phase bzw. Pulse-sign

Gruß

Andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir empfehlen dies beim Gedankenspiel zu belassen, da die Klemme X14 u.a. als Inkrementalgeber-Eingang vorgesehen ist, um bspw. als Slave mittels Internem Synchronlauf einem Geber oder auch einem anderen Umrichter zu folgen. Jedenfalls sind (uns) Anwendungsfälle wie im Gedankenspiel erwähnt nicht bekannt, bei der eine Art Pulsgenerator als Sollwertquelle dient. Im speziellen Fall könnte aber vielleicht ein laufzeitoptimiertes IPOS-Programm helfen, um hier auf die Ansteuerung über den Feldbus schneller reagieren zu können, sofern im Umrichter ein Applikationsmodul zum Einsatz kommt!?
 
Hallo zusammen,

ich muss mal das Thema wieder Auftauen.
Im Prinzip funktioniert der Aufbau, aber ich bin nicht zufrieden.
Ich will weg vom Profibus, da er viel zu langsam ist und mir massive Schleppfehler einhandelt.
Nur so als Gedankenspiel:
Die MDX61 unterstützen den Master Slave-betrieb.
Könnte man da nicht den X14 als Pulseingang benutzen und den SEW darüber steuern?
Also praktisch A/B Phase bzw. Pulse-sign

Gruß

Andre

Irgendwo hab ich was von Linux-CNC gelesen.
Ich denke es wäre sinnvoller die MDX als reine Drehzahlregler zu betreiben. Evtl. sogar über Analog-Eingang.
Je nach Geber kannst du die Gebersignale der CMP-Motoren auskoppeln und mit Linux-CNC verheiraten.Oder du arbeitest mit eigenen Gebern für Linux-CNC
 
Hallo zusammen,

jetzt muss ich mal zum Thema etwas länger ausholen.
Ja ich betreibe die Umrichter über Linuxcnc.
Aktuell ist die Topologie so:
Linuxcnc > Ethercat_hal_driver > Ethercat > el6731_Profibus > Profibus_12M > 3x SEW MDX61B
Telegram: 12M mit 3PD
Der Aufwand das ganze zum laufen zu bekommen war wahnsinnig aufwändig.
Ich musste die el6731 mit dem Ethercat-configurator komplett konfigurieren, auslesen und dann eine entsprechende xml für den Ethercat_hal_driver schreiben.
Zusätzlich musste ein Modul (in C) geschrieben werden um das LOW-Byte mit dem HIGH-Byte zu tauschen.
Zunächst hatte ich die Umrichter mit direkten Fahrbefehlen (6 PD) betrieben.
Das hat aber überhaupt nicht funktioniert, da die Umrichter kein Fahrmodus mit verschleifen unterstützen.
Das heißt, mit jedem Fahrbefehl baut der Umrichter eine Abbremsrampe und Beschleunigungsrampe ein, auch wenn diese auf 0 bzw minimalwert eingestellt ist.
Dies zu umgehen ist scheinbar unmöglich.
Da Linuxcnc im Motion-Modus arbeitet, wird mit jedem Taskzyklus (Nanosek) ein neuer Zielpunkt berechnet und ausgegeben und der Bus mit entsprechenden Wegbefehlen befeuert. Die Servos sind mir vor lauter Brummen und kreischen bald vom Tisch gefallen und der Schleppfehler war > 20mm.
Also hab ich die ganze Sache umgeschrieben und betreibe die Servos im Drehzahlmodus.
Jetzt laufen sie ruhig aber den Schleppfehler bekomme ich nicht unter Kontrolle. Selbst wenn ich über das Werkstück schleiche, bekomme ich nie genaue Konturen hin.
1,6mm sind zuviel. Problem ist einfach die Zykluszeit vom Profibus und Ethercat.
Ich will den Profibus entfernen und Ethercat für die I/O belassen.

Jetzt evaluiere ich 2 Möglichkeiten:

a:
Ich gehe über den DEH11B und nutze den SLAVE-Modus.
Wobei ich nicht weiß wie gut das funktioniert und wie schnell die SEW reagieren.
Wär aber halt kostengünstig weil schon da.
oder

b:
Ich besorge mir eine Analogkarte, in dem Fall eine MESA fpga.
Kostenpunkt 300€++ mit dem Risiko, das es nicht besser wird.
Für mich als Privatperson sind 300€ nicht ohne.

Gruß

Andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Um dieses alte Thema nochmal hochzuholen, ich stehe vor dem gleichen Thema. Also Movidrive B + LinuxCNC.
Wie ist das Thema ausgegangen?

Ich tendiere ja zu entweder einer DHR41b als Gateway von Sbus auf Ethercat (das unterstützt linuxCNC) oder aus der Hiperface Karte die Encoder rauszuschleifen (emulierte Encoderausgänge) und über eine spezielle MESA Karte die servos anzusteuern bzw encoder auszulesen.
 
Um dieses alte Thema nochmal hochzuholen, ich stehe vor dem gleichen Thema. Also Movidrive B + LinuxCNC.
Wie ist das Thema ausgegangen?

Ich tendiere ja zu entweder einer DHR41b als Gateway von Sbus auf Ethercat (das unterstützt linuxCNC) oder aus der Hiperface Karte die Encoder rauszuschleifen (emulierte Encoderausgänge) und über eine spezielle MESA Karte die servos anzusteuern bzw encoder auszulesen.
Von der Antriebsseite her betrachtet gibt's nur 3 Möglichkeiten:

1. Antrieb analog ansteuern, Geberspuren von DEH11 mittels Inkrementalgebernachbildung an die CNC weitergeben.

2. Sbus direkt. Das macht nur Sinn wenn du eine CAN-Karte in einer CNC betreibst, deren Timing du genau im Griff hast.

3. EtherCAT

Alle anderen Lösungen, die von einem anderen Bussystem auf Sbus umsetzen oder auf anderen Feldbuskarten aufsetzen sind viel zu langsam.
 
Tach,

ich hab umgestellt auf MESA 7i97 (Analog)
Encoder feedback über DEH11B
Alles andere hat leider keinen Sinn. Der Controller der Fu's ist für solche Aufgaben nicht ausgelegt.
Es gibt da mehrere unlösbare Probleme. Falls Interesse besteht, könnte ich die näher erläutern.

grüße

Andre
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Andre,

ich verwende eine Mesa 6i25 mit 7i77 Analogkarte um eine Fräsmaschine mit Linuxcnc zu betreiben. Hab genau wie du 3x MDX61B Servoendstufen mit CMP63L Motoren für die 3 Achsen. Die Ist-Position wird über Glasmaßstäbe erfasst.
Die Servo´s laufen einigermaßen aber die Reglerparameter in den Endstufen sind noch lange nicht optimal eingestellt. Wäre super wenn du ein paar Tips hättest wie man da ma besten vorgeht. Die vorgeschlagenen Werte aus der SEW Inbetriebnahmesoftware funktionieren jedenfalls gar nicht.

Gruß
Markus
 
Hallo Andre,

ich verwende eine Mesa 6i25 mit 7i77 Analogkarte um eine Fräsmaschine mit Linuxcnc zu betreiben. Hab genau wie du 3x MDX61B Servoendstufen mit CMP63L Motoren für die 3 Achsen. Die Ist-Position wird über Glasmaßstäbe erfasst.
Die Servo´s laufen einigermaßen aber die Reglerparameter in den Endstufen sind noch lange nicht optimal eingestellt. Wäre super wenn du ein paar Tips hättest wie man da ma besten vorgeht. Die vorgeschlagenen Werte aus der SEW Inbetriebnahmesoftware funktionieren jedenfalls gar nicht.

Gruß
Markus
Ein paar Grundregeln:
  1. Die automatische Ermittelung der Lastträgheit ist vor allem bei sehr kleinen Motoren heikel, rechne das lieber selber nach und gib die Lastträgheit beim "Drehzahlregler optimieren" manuell ein
  2. Das Verhältnis Lastträgheit (also Masse der Last umgerechnet auf die Motorwelle) zu Massenträgheitsmoment der Motorwelle darf nicht größer als 25:1 sein - alles über 10:1 ist heikel.
  3. Die Lageregler-Verstärkung (Verstärkung X-Regler) muss bei allen 3 Achsen identisch sein
  4. Wenn das alles nichts bringt, dann beim Drehzahlregler auf das alte Kochrezept aus Analogzeiten zurückgreifen:
    1. P-Verstärkung im Stillstand hochdrehen bis der Motor brummt
    2. reduzieren bis das Brummen aufhört
    3. anschließen um weitere 30% reduzieren
 
Ein paar Grundregeln:
  1. Die automatische Ermittelung der Lastträgheit ist vor allem bei sehr kleinen Motoren heikel, rechne das lieber selber nach und gib die Lastträgheit beim "Drehzahlregler optimieren" manuell ein
  2. Das Verhältnis Lastträgheit (also Masse der Last umgerechnet auf die Motorwelle) zu Massenträgheitsmoment der Motorwelle darf nicht größer als 25:1 sein - alles über 10:1 ist heikel.
  3. Die Lageregler-Verstärkung (Verstärkung X-Regler) muss bei allen 3 Achsen identisch sein
  4. Wenn das alles nichts bringt, dann beim Drehzahlregler auf das alte Kochrezept aus Analogzeiten zurückgreifen:
    1. P-Verstärkung im Stillstand hochdrehen bis der Motor brummt
    2. reduzieren bis das Brummen aufhört
    3. anschließen um weitere 30% reduzieren
Hallo maxder2te,

danke für deine wertvollen Tips. Der Schlüssel zur Lösung war das Lastträgheitsmoment selbst auszurechnen. Die automatische Ermittlung liefert falsche Werte. Ist natürlich bei einem Retrofit nicht ganz so einfach da ich nicht weiß wie schwer die Achsen sind. Hab dazu auch nix gefunden (ist ne Thiel 159 ähnlich Deckel FP3). Aber mit 200kg sollte das ungefähr passen. Verhältnis Lastträgheit zu Motor ist ca 2:1. Und siehe da - die von movitools vorgeschlagenen Werte konnte ich 1:1 übernehmen. Im Stillstand grummelt der Antrieb noch- kann das Geräusch nicht besser beschreiben. Es schwingt nix (nicht sichtbar jedenfalls) und es wird auch nix warm. Eine Achse piept, aber nicht extrem. Bei 1500 mm/min hab ich einen Schleppfehler von 0,14mm. Bei kleineren Vorschüben quasi null. Geht bestimmt noch besser aber dann muss ich ins Feintuning. Eventuell mit dem scope-Tool irgendwelche Werte aufzeichnen...keine Ahnung.
Wäre für jeden Rat dankbar wie man sinnvoll vorgeht und welche Hilfsmittel man da nutzt. Einfach rumprobieren macht ja vermutlich keinen Sinn.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

nach rumrecherchieren im Netz, bin ich auf den Thread hier gestoßen.

Kurzum, auch ich will mir eine Fräsmaschine via MDX61B, CMP63M Motoren und Linux CNC bauen. Ich bin aber noch bei der Konzepterstellung. Mein anfänglicher Optimismus war aber nach lesen der Beiträge hier direkt wieder weg :D

Es ergeben sich folgende Fragen:
- Ergibt es Sinn hier eine Movi-PLC CCU einzubinden? Ich dachte an die INB dann via CCU-Applikationsmodul HandlingKinematics - Modell: CARTESIAN_GANTRY_LLLLR_XYZA_M20. Jedoch erschließt sich mir hier noch nicht die zuverlässige G-Code Abarbeitung (Import/Weiterleitung aus LinuxCnC).
- Habt Ihr Euer Setup via MESA Karten Analogwertvorgabe und DEH11B inzwischen zuverlässig am laufen? Oder ratet Ihr eher davon ab und es sind die typischen China JMC`s besser geeignet?

Danke Euch.

Gruß Max
 
Zurück
Oben