Archiv verlassen und diese Seite im Standarddesign anzeigen : CNC-Steuerung
Hallo
ich bin dabei eine 4-Achsen Steuerung für CNC-Maschinen zu entwerfen und habe ein Problem wobei ich hoffe hier Hilfe zu bekommen :
Ich benutze für jede Achse eine L297 mit zwei L6203 Endstufen. Ich habe die Sleep-Funktion folgendermaßen aufgebaut : Die Clock´s vom LPT liegen paralell an den Treibern und einem PIC. Wenn nach 1sek kein Clock mehr kommt, soll das PIC einen Transistor schalten, das die Referenzspannung runtersetzt. Diese Funktiion gild für jede Achse seperat. Wenn das Programm (PCNC oder so) den Sleep schaltet, soll das PIC die Ströme von allen Achsen runterschalten....ist ja schön und gut. Wenn wieder ein Clock kommt wieder ein Clock kommt wird der Achsenstrom wieder hochgeschaltet. Aber hier ist das Problem. Der erste Schritt oder mehr laufen nur im Sleepmodus da das PIC und die Transistoren (BC548) ja auch eine Reaktionszeit haben.
Nun meine Frage : Muss ich die Clock- und Richtungssignale vor den Endstufentreibern verzögern damit ich Zeit habe um den eventuellen Sleepzustand abzuschalten? Und wenn ja wie ?
Danke für´s lesen im Vorraus 8-[
Du meinst, dass die schaltung den strom durch die Schrittmotoren drosseln/ausschalten soll, wenn diese eine weile stehen.
Erklär mal, wie du das meinst, denn durch die clock- oder CW/CWW-Signale hast du keinen einfluss darauf, wieviel strom durch die motorwindungen fliest, nur durch welche windungen. da müsstest du irgendwie die sense-eingänge von deiner H-Brücke (das ist doch die Funktion des L6203, oder) beeinflussen.
ich will mir gerade auch eine CNC-Fräse bauen, als nearly-nothing-cost-fräse, und kenn mich mit der ansteuerung von schrittmotoren eigentlich nur mit L297 als "taktgeber" und als H-brücke den L298 aus. aber da wird durch die SENSE 1 und 2 eingänge der spitzenstrom geregelt (spitzenstromregler). vlt ist da was zu machen.
als software hab ich mir auch schon PCNC und als simulationsprogramm WPC-View runtergeladen. gibts ja alles kostenlos als freeware für privatpersonen.
erzähl mal was über deine fräse.
Yossarian
01.05.2007, 19:57
Hallo
Wenn der PIC auch für die Taktausgabe zuständig ist, gib doch erst die Information für die Stromanhebung aus und dann den Takt.
Ansonsten würde ich es mit einem retriggerbaren Monoflop machen.
Mit freundlichen Grüßen
Benno
Hallo Yossarian
An einen NE555 hab ich auch schon gedacht aber die PIClösung gefällt mir besser. Aber da kommt auch ein Problem : Wenn ich alle Clock- und Richtungssignale um 1/2 Sekunde verzögere, muss ich bei maximal 5kHz ne menge zwischenspeichern was ne menge Aufwand ist da selbst der PIC16F876 ein zu kleinen EPROM hat und externen Flasch benötigen würde. Außerdem ist dann keine Echtzeitfahrt mehr möglich....blöd.
Also fahre ich die ersten paar Schritte nach dem Sleepmodus nur mit 50% Motorleistung. Ist bei der HP-Step glaube ich auch nicht anders.
Zu ALKI : Die motorleistung wird vom L297 über den Vref Eingang herabgesetzt : Wenn der Motorstrom görßer ist als eingestellt (an Vref) wird das Puls-Pausenverhältniss geändert.(siehe Datenblatt). Wenn ich alse Vref runterdrehe, drehe ich den Wiklungsstrom runter. An den Clock Signalen will ich nur "gucken" ob die Achse gefahren wird oder nicht : Wenn 1/2 Sekunde kein Clock kommt, merkt das PIC das und schaltet die Achse in den Sleepmodus.
Yossarian
02.05.2007, 17:36
Hallo
es gibt Steuerungen , die heben während der Beschleunigungsphase den Strom über Nennwert an, senken ihn während der Fahrt auf Nennwert und im Stand auf den Haltewert.
Von der (Not)Lösung, während der ersten Schritte im Sleepmodus zu fahren, halte ich nichts.
Gerade bei der Beschleunigung braucht der Motor Drehmoment.Entweder dehnst Du die Beschleunigungsphase entsprechend aus oder es kann passieren daß Schritte verloren gehen.Wenn Du z.B ein Rechteck fräst: die x Achse läuft, Y steht, dann kommt die nächste Seite , Y will loslegen , steht ja im Material, braucht also gleich volles Drehmoment.
Wenn es softwaremäßig nicht hinzukriegen ist, mach es per Hardware.
Mit freundlichen Grüßen
Benno
kalledom
02.05.2007, 19:17
Geeignet ist ein retriggerbares Monoflop, wie Yossarian es schon geschrieben hat. Auf Seite 4 von http://www.domnick-elektronik.de/download/smost.pdf ist eine entsprechende Schaltung.
Mit verzögerten Signalen kommst Du nicht sehr weit, denn gerade die Anlaufschritte brauchen viel Strom, um die Trägheit zu überwinden.
Du muß bei Deinen verwendeten Bauteilen eine geeignete 'Stelle' finden, wo der Monoflop-Ausgang den Schrittmotor-Strom auf den Halte-Strom reduziert. Ganz abschalten würde ich den Strom nicht.
den Vref-Eingang hatte ich ganz vergessen!
zum erkennen, wann der motor stehen/ sich drehen soll könnte man doch theoretisch nen Feldeffekttransistor durch den Clock-impuls mit steuern lassen, und mit dem FET dann die Vref-Spannung beeinflussen.
zwischen den schritten sinkt dann halt die spannung ab, ich weis nur nicht, ob das dann probs macht. (wäre mal son vorschlag, die von den eigentlichen "profis" sind wahrscheinlich eh besser)
Danke für eure antworten.
Das mit meiner automatischen Sleepfunktion lasse ich doch wohl lieber weg und überlass es PCNC den Sleepmodus über den LPT zu aktiwieren.
PCNC gibt doch ein "Boost" Signal aus. Ist das um, wie Yossarian beschrieben hat, die Leistung kurtzzeitig zu "überdrehen" ?
ich kann da leider wenig dazu sagen, aber da steht was dazu auf seite 109 der pdf-anleitung.
allerdings hat das irgendwie was mit rampenfahrt zu tun, wohl beim anfahren, damit der motor nicht beim anfahren überanstrengt wird.
Habe die Anleitung @ Home und kann jetzt nicht nachlesen. Könnte mir aber vorstellen das PCNC während der ersten paar Schritte der Anfahrrampe das Bit "Boost" setzt um ,wenn es die Endstufenschaltung zulässt, den Strom kurtzzeitig zu erhöhen. Ich werden mich die Tage mal mehr in diese Richtung schlau machen. Aber wenn jemand was weiß und mit dieser Funktion Erfahrung hat bin ich über jeden Tipp dankbar.
Mfg Mark
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.