Liste der Anhänge anzeigen (Anzahl: 3)
CNC mit Gleichstrommotoren
Hi,
so hier ist mein Projekt das ich komplett aufbaue mit Stahlführungen und mit Gleichstrommotoren. Für Gleichstrommotoren hab ich mich entschieden da ich ein gutes dynamisches Verhalten erreichen will, also hohe mögliche Verfahrgeschwindigkeit (ca Fmax1800 == 1800mm/min) mit gleichzeitig guten Eigenschaften was Präzision angeht. Vor allem will ich das gleiche Konzept umsetzen wie es in regulären Fräsmaschinen eingesetzt wird.
Die Regelung der Antriebe baue ich auf mit einem ATmega64 der mit einer modifizierten PID Regelung die Gleichstrommotoren via PWM steuert. Die Regelung ist/wird so implementiert das sie als Basis die PID Logik benutzt (also wirklich PID und nicht etwa PD) mit einem modifizierten Integralanteil, der erkennt das "er" sich dem Zielpunkt nähert und dann aktiv abbremst statt einfach nur die Steuerspannung zu reduzieren wie dass eine normale PID Regelung macht. Hierzu habe ich mir ein Modell überlegt das mittels Regelungs-Parametrisierung die Massenträgheit der Abtriebseinheit (incl Rotor des Motors) wiederspiegelt und für jede Achse entsprechend der mechanischen Eigenschaften Parametrisierbar ist.
Das Ganze ist in einer Simulation die ich hierfür schrieb schon ganz ordentlich gelaufen, die Graphen U-t, v-t, s-t und a-t sind schon einigermassen stetig und haben kaum "Hacker" im Verlauf, so dass der Antrieb nicht übermässig belastet werden dürfte.
Hier im Forum habe ich nur Projekte gefunden mit Schrittmotoren die mit käuflichen Controllerkarten gesteutert werden. Aber ich wollte alles selbst aufbauen und eben keine vorgefertigten Schaltungen benutzen.
Die mechanische Seite beruht auf Lineareinheiten die mit einer T-Führung ausgestattet sind und über Kreutz miteinander verschraubt werden. Die Linearführungen sollen so Stabil werden, dass ich auch Stahl damit fräsen kann, zumindest in kleinen Zustelltiefen.
Als Basis benutze ich eine gewöhnliche Säulenbohrmaschine die mir die Z-Achse gleich mitliefert.
Hier ein paar Konstruktionszeichnungen der geplanten Maschine im Solid-View noch ohne Antriebe:
Anhang 35711
Detail: Kreutzschlitten
Anhang 35710
Detail: Kreutzschlitten andere Ansicht
Anhang 35709
Detail: Gesamtansicht
Wenn ich wieder ein Stück weiter gekommen bin werd ich das hier berichten.
Was denkt Ihr davon?
Gruss,
O.
Liste der Anhänge anzeigen (Anzahl: 1)
Hi @all,
@Bammel:
Zitat:
...eine steuerung bauen die auch mit dem takt richtungssignal läuft?
Die Geschwindigkeit wird mittels PWM an einem Ausgang des µC gesteuert und die Richtung mit einem anderen Ausgang, zwei Signal-Leitungen also pro zu steuernder Achse. Das Ganze ist realisiert auf einer extra Leistungsplatine mit drei Kanälen, für jede Achse ein Kanal. Mit je einer TLE5205-2 H-Brücke und vorgeschalteter NAND Logik habe ich die Leistungstreiber der Achse(n) realisiert.
Die Vorschaltlogik ist nur dazu da, dass der Motor ohne angeschlossenen µC nicht läuft und damit PWM auch in beide Richtungen mit Freilauf geschaltet wird. Der TLE5205-2 ist in der Hinsicht ohne externe Logik etwas seltsam beschaltet. Das Ganze ist dann mit Opto-Kopplern isoliert, damit mir das "Bürstenfeuer" nicht irgentwie den µC nervt.
Anhang 35712
...und so siehts aus. (Nur ein voll aufgebauter Kanal bis jetzt.)
@hardware.bas:
Muste grinsen als ich deinen Post gelesen habe. Klar sprech ich da Gross-Auf, aber ohne ein Ziel kein Weg..... richtig?
Das ganze Thema reitzt mich einfach schon ewig und deshalb wollte ich das hier öffentlich durchführen, dass falls ;) etwas total in die Hose geht mir der ein oder andere vom Schlauch helfen kann auf dem ich dann vielleicht gerade steh...
Die modifizierte PID Regelung ohne Lasteinkopplung der Abtriebe geht aber wie oben beschrieben bereits ganz ordentlich. Genauere Messungen kann ich erst durchführen wenn die erste Führung aufgebaut ist, bin gerade dabei den Flachstahl zu besorgen. Ohne reelle Belastung des Antriebs kann ich die Parameter der Regelung ja schliesslich nicht vernünftig bestimmen und das Umkehrspiel schon gar nicht.
Sobald das erledigt ist und die Achse bewegt sich werd ich hier mal einen Video einstellen, dann kannst Du sehen wie gut/schlecht das bis jetzt geht.
Ach ja die Einregelgeschwindigkeit:
Einregeln 020 Schritte der Encoder-Scheibe ==> ~1sec
Einregeln 050 Schritte der Encoder-Scheibe ==> dito
Einregeln 100 Schritte der Encoder-Scheibe ==> ~2sec
(100 Schritte entsprechen ca 1/3 Umlauf des Motors)
Zeiten hab ich mit Sekundenzeiger der Uhr abgelesen, also Pi mal Daumen.
Gruss,
O.
Liste der Anhänge anzeigen (Anzahl: 1)
Hi Bammel,
die Steuerung funktioniert ganz anders als bei Schrittmotoren und ich verwende keinen PC sondern einen Micro Prozessor von Atmel. Prinzipiell geht das aber auch beinahe genauso mit einer PC Steuerung.
Beim Schrittmotor hast du eine Leitung für den Takt (n Steps/min) die Richtung (vor/rück) evtl. eine für Halbschritt und meist eine Enable/Disable Leitung (Steuerung ein/aus).
Bei der Gleichstrommotor Lösung kann man mit 2 oder 3 Leitungen Auskommen. Da ich mit meiner Schaltung auf die Bremsfunktion verzichtet habe reichen mir 2 Leitungen.
Leitung 1: Richtung (vor/rück)
Leitung 2: PWM (U/min)
PWM(Puls Weiten Modulation) ist einfach eine Schwingung mit gleicher Periode und einstellbarer Pulsweite. Meine PWM Grundfrequenz ist ca. 28KHz, so dass das Ganze nich hörbar ist.
Anhang 35713
Legende: PWM (https://www.roboternetz.de/wissen/in...itenmodulation)
Das Problem bei PWM ist dass wenn man z.B. PWM im Intervall ]0,255[ einstellen kann nicht etwa 1 die langsamste Geschwindiogkeit ist, 127 mittel schnell und 255 die schnellste. Meine empirischen Werte für den jetzigen Motor sind z.B. folgendermassen.
Das Losbrechmoment(bis er beginnt zu drehen) wird erreich bei folgenden PWM Einstellungen:
vorwärts: ~87
rückwärts: ~112
Hysterese von der Losbrechmoment PWM Einstellung bis wieder zum Stillstand ist bei mir ca. 6-8 Einheiten weniger.
Die Angaben beziehen sich hier auf eine Vorsteuerspannung von ~10V.
Ein Motor läuft halt noch nicht Los bei einer Effektiv Spannung von 0,5V wenn er eine Nennspannung von 8,0V hat sondern erst bei ca 4,5V, dann aber gleich mit 1000U/min.
Der Trick für die Lageregelung die ich baue ist jetzt der, die Steuer PWM Einstellung so geschickt zu wählen dass der Motor exact so weit Dreht wie das vom ISO Programm (G-Code/M-Code) vorgegeben wurde.
Soll der Motor z.B. eine Umdrehung durchführen (entspricht 1mm Verfahrweg) muss die Motor-Regelung dafür sorgen dass:
1) das Losbrechmoment überwunden wird
2) der Motor auf die Solldrehzahl beschleunigt
3) die Solldrehzahl einen bestimmten Weg lang hält
4) wieder rechzeitig abbremst um genau an der richtigen Position stehen zu bleiben
Dummerweise sind die Punkte 1-4 nicht wirklich trivial, da sich die Parameter für jede Achse unterscheiden und in der Praxis sogar von der Werkstückgrösse abhängen. In der Praxis kann eine Stahlplatte leicht mal 500Kg wiegen worauf die Antriebe natürlich dementsprechend reagieren müssen. Für meine Mini-Fräsmaschine ist das aber vermutlich unrelevant. O:)
Erst mal Stahl für die Lineareinheit besorgen beim freundlichen Stahlhändler und dann schaun wir mal weiter.
O.
Liste der Anhänge anzeigen (Anzahl: 1)
moin moin,
sorry ging nicht früher, das Hundebaby ist da...
Im Anhang das Foto von meinem Testaufbau.
Schrittmotor(1,9Nm)-Kupplung-Kugelumlaufspindel (575mm Weg) mit Linearführung.
Die kleine Platine ist der Schrittmotortreiber.
So im Leerlauf kann der Stepper mit 10Khz getaktet werden, das sind dann 100mm/s = 6000mm/min. Mit Last allerdings weniger.
MfG
Peter
Liste der Anhänge anzeigen (Anzahl: 3)
Hi,
Gut Ding will Weile haben....
Hab jetzt die erste Achse aufgebaut und angepasst so dass alles flutscht.
Den ursprünglichen Maus-Rotationsencoder musste ich durch einen besseren ersetzen (GP1A038RBK), da die Grenzfrequenz bei nur ca. 2Khz lag und die Regelung über dieser Geschwindigkeit schlichtweg mit Vollgas zu laufen begann. Die neuen Encoder haben jetzt eine Grenzfrequenz von 20Khz was wohl bis Vmax reichen sollte.
Bei den ersten (Geh-)Versuchen hab ich den Rotencoder auch nur mit einem Gummi an den Motor gekoppelt was auch noch Schlupf in die Regelung eingebracht hat. Jetzt ist die Teilscheibe direkt an der Gewindestange angebracht.
Sobald die Firmware für die Regelung der 1. Achse fertig ist werd ich dann mal ein Vidscho einstellen das die Schose in Aktion zeigt, Bilder der Achse kann ich evtl. schon heute Abend einstellen.
@vohopri:
Zitat:
Eine Bohrmaschine ist keine Fräse, ....
Die Z-Achse werde ich auch noch selber bauen und an einen Ständer, der noch konstruiert werden muss, anflanschen. Die Bohrmaschine ist bei weit ausgefahrener Pinole doch ziemlich labil....
Das Ganze zieht sich doch länger als ich wollte und ich hab leider nicht immer Zeit an dem Gerät zu bauen, da ich auch den "W.A.F." berücksichtigen muss.... :)
Gruss,
O.
EDIT: (--Fotos--)
Während des Aufbauens der Achse ...
Anhang 35714
... noch mit provisorischem Mouse-Encoder ...
Anhang 35715
Zusammengebaut mit aufgesetzter Teilungsscheibe ...
Anhang 35716