Beiträge von Skyline94

    So, neuer Tag, neues Pech^^


    Also: Mein Programm gibt nicht wie oben beschrieben einen G84 Code raus, sondern einen G92. Da habe ich mich vertan. Pech an der Sache ist, G92 wird nicht nur nicht unterstützt, es ist auch anderweitig belegt. Fällt also komplett raus als Option.


    Und als ich gerade den G33 schreiben wollte fiel mir wieder ein, warum er nur bedingt für Gewinde schneiden geeignet ist. Ich dachte zu erst nur an den Aufwand, da man alles für jeden Schnitt wiederholen muss, aber ein Gewinde in mehreren Schnitten zu fahren ist damit leider gar nicht erst möglich. Der Befehl bietet mir zwar die Möglichkeit an, synchron zur Drehzahl zu arbeiten, aber nicht immer wieder an der gleichen an zu setzen :( Es wäre dann also immer Zufall, wo er beim nächsten Schnitt einsticht.


    Q0 habe ich versucht ohne eine Änderung feststellen zu können.



    Ich bin auch am überlegen, warum das bei 63 P/U auf einmal ging? Mein Zahnrad das, ich mit Hilfe einer Lichtschranke, zur Drehzahl Messung missbrauche, hat 62 Zähne und natürlich auch 62 Täler.




    Bis dahin

    Matthias

    Hallo Dieter,


    habe mir mal das Programm herunter geladen und kurz meine Werte eingetippelt, dass kam dabei raus:


    G21

    G77 r XX x17.88 k0.0 z XX

    G76 p3.0 r17.88 x15.652 h0.705 i29.5 k11.1 z-18.0 l360 q0


    Damit kann meine Maschine leider nichts anfangen :( G77 kennt sie nicht und mit G76 wird sie Probleme bekommen weil die Parameter anders definiert sind als bei LinuxCNC. Z.B. ist i bei mir die Offset Angabe zur Driveline, also der Versatz zum (freien) Fahrweg und hier ist es als die Winkelangabe vom Drehmeißel definiert.


    Habe jetzt auch leider keine Möglichkeit gesehen, dass Programm auf LinuxCNC (EMC2) um zu stellen.


    Danke für den Versuch und liebe Grüße

    Matthias

    Ehr weniger. Das Programm das ich habe gibt einen G84 Code aus, der wird offiziell nicht unterstützt. Aber, da ich ja eh gerade nur am rumprobieren bin, könnt ich es einfach mal versuchen. Dabei fällt mir auch ein, es gibt auch ein G33 Befehl mit dem man, wenn auch nicht so bequem, eigentlich auch Gewinde schneiden könnte.

    Wenn ich dazu komme, werde ich die beiden mal testen und euch berichten was die kleine damit anstellt^^


    Um nochmal zum G76 zurück zu kommen:

    Also der sollte eigentlich schon richtig sein.


    G0X19Z5

    G76 P3 Z-5 I-1 J0.05 R1 K0.8


    Mit der ersten Zeile fahre ich auf den Ausgangspunkt x19 und z5


    Dann G76

    die Steigung ist P = 3mm

    Z ist die Länge die geht bis -5

    I ist die Entfernung zur "Driveline" welche durch den Startpunkt festgelegt wird, das wäre bei x19. I-1 heißt dann also, ansetzen bei x18 was dann einen Durchmesser von 36mm entspricht.

    J ist die Tiefe je Durchgang. Also immer 0.05mm tiefer schneiden je Durchgang.

    R1 sagt, dass er konstant immer die 0.05 runter gehen soll

    K gibt an, wie tief es am Ende werden soll, nämlich 0.8mm


    Und das steht alles genau in der Reihenfolge wie es auf der LinuxCNC Seite beschrieben wird.

    Was ich mal noch versuchen könnt, wäre ein Q0 dahinter zu stellen. Ich habe bisher glaube nur Q29.5 Q30 und Q90 versucht. Aber nahm bisher immer an, er geht von Q0 aus wenn nichts weiter angegeben.

    Den Code schreibe ich selbst nach den Angaben von LinuxCNC auf die Peter verwiesen hat.

    Aber so Fragen sind durchaus gut, meist ist es ja irgendwas einfaches was man übersieht weil man direkt davor steht.


    So, ich war heute Abend natürlich nicht faul und hatte noch einen Einfall welcher kuriose Ergebnisse brachte.

    Und zwar dachte ich mir, ich setze die Impulse pro Umdrehung in Linux einfach mal auf 63 statt 62.


    Das Ergebnis: Mit meinem Testcode


    G76 P3 Z-5 I-1 J0.05 R1 K0.8


    kommt ein echtes Gewinde raus! :D Hurra! Dachte ich schon. Endlich! ABER, zu früh gefreut.


    Nächster Gedanke: Jetzt will ich es mal länger als 5mm haben damit man auch richtig was sieht.

    Was macht es, es fängt an viele Gewindegänge zu fahren, sprich, es setzt scheinbar willkürlich wieder an einem anderen Punkt an und am Ende ist dann das ganze Teil einfach nur noch abgeschruppt und gar kein Gewinde zu erkennen.


    Na gut, wieder zurück zu 5mm Länge. Wie sieht es da mit 1mm statt 0.8mm Tiefe aus?

    Es entsteht eine Rampe wie man sie ganz oben im ersten Post im Bild erkennen kann, nur diesmal nach links statts rechts. Ergo, der Drehmeißel sticht jedes mal einen Hauch zu spät ein.

    Und was macht er bei 0.6mm statt 0.8mm Gewindetiefe, er macht wieder eine Rampe nach rechts. Genau so, wie er es auch die ganze Zeit gemacht hat.


    Ich bin ratlos, kann mir keinen Reim darauf machen und musste bei der Erkenntnis fast schon lachen^^



    Damit das Rätsel zum Sonntag und liebe Grüße

    Matthias

    Also Elektronik denke ich ja. Ich kann mir nicht vorstellen wie sie zu früh einsetzten soll. Sie bekommt ja erst den Befehl und dann setzt sie ein. Also muss der Befehl zu früh kommen.

    An die Mechanik habe ich auch schon gedacht, habe demletzt mal mit backlash nochmal am Umkehrspiel rumprobiert, leider ohne Verbesserung.

    Was mich so fuchst ist vor allem, dass er jeden Schnitt gleichmäßig weiter nach vorne versetzt.

    Also quasi erster Einstich bei 0.0 zweiter bei 0.1 dritter bei 0.2 vierter bei 0.3 usw. Die laufen dann genau parallel, also mit der gleichen Steigung, zum ersten Schnitt. Als würde das Programm sagen, es muss beim nächsten Schritt jeweils 0.1 früher ansetzen.

    Das kann ich mir dann auch durch einen mechanisches Problem nicht mehr erklären, weil dann dürfte sich der Versatz nicht immer weiter nach vorne verschieben.

    Bei mir sind auch alle Achsen Direkt angetrieben, als eine ungenaue Übersetzung fällt auch weg.

    Hallo Goldschmiedel,


    ja, die Umdrehungen stimmen. Die Steigung der Gewindes ist auch richtig, nur die Flanke ist verschoben dadurch, dass er den jeweils nächsten Schritt einen Hauch VOR den davor setzt. Deswegen denke ich auch, dass es nicht an der elektrischen Seite liegt, da er ja zu früh und nicht zu spät einsticht.


    Danke und liebe Grüße

    Matthias

    Hallo Peter,


    heute bin ich mal wieder dazu gekommen. Du liegst vollkommen richtig, ich stelle den Motor an und dann richtet dich die CNC nach dem Eingangssignal des Sensores an der Spindel. Und das funktioniert eigentlich auch. Wenn ich die Spindel schneller drehen lasse, ist die Vorschubgeschwindigkeit höher, bei langsamer langsamer und wenn ich den Motor aus mache, verfolgt es schön noch den Nachlauf bis zu, Stillstand und steht dann auch still.


    Danach verstehe ich leider nicht mehr so viel. Was ich noch sagen kann und was ich heute noch probiert habe ist:

    Ja, ich lasse mir die Spindeldrehzahl auf den Bildschirm ausgeben.


    Probiert habe ich heute mal


    net spindle-phase-a <= parport.0.pin-12-in zu net spindle-phase-z <= parport.0.pin-12-in setzen.


    Einfach weil ich mir gedacht habe, a brauch ich doch eigentlich nicht, die z Achse muss doch synchron sein. Resultat: Die Maschine fährt in die Startposition an und bleibt dort stehen. Beginnt als nicht mit dem Schneiden.


    Dann hab ich mir überlegt ob das was damit zu tun hat, dass ich erst etwas in der .hal ändern musste bevor die Maschine überhaupt synchron zur Spindel gelaufen ist. Damals habe ich


    net spindle-index encoder.0.phase-Z zu net spindle-phase-a encoder.0.phase-Z geändert.


    Also habe ich es wieder zu net spindle-index encoder.0.phase-Z gemacht. Das Ergebnis bleibt aber leider gleich. Fährt zur Startposition und rührt sich dann nicht mehr. Als letztes habe ich dann noch versucht


    net spindle-phase-a <= parport.0.pin-12-in und net spindle-phase-z <= parport.0.pin-12-in


    gleichzeitig zu setzen. Das brachte einen Error und das CNC Programm startete nicht. Liegt das daran, weil beide auf Pin 12 zugreifen möchten?


    Dann hatte ich noch die Idee


    net spindle-phase-a encoder.0.phase-Z zu    net spindle-phase-z encoder.0.phase-Z zu machen. Leider wieder nur Stillstand.


    Als letztes dann noch in Kombination mit


    net spindle-phase-z <= parport.0.pin-12-in aber leider immer noch nur Stillstand.


    Jetzt ist wieder alles auf a eingestellt und sie läuft wie bisher. Leider.




    Wieder ein liebes Dankeschön, aber leider immernoch offen für neue Ideen.



    Liebe Grüße

    Matthias

    Hallo Peter,


    danke für deine neuen Ansätze. Bin gerade dazu gekommen sie zu probieren. Also:


    -G97 vorher weg zu lassen brachte leider keine Veränderung. Ergebnis sieht genau gleich aus.

    -der Beispielcode läuft, aber ich finde ihn wenig aussagekräftig oder ich verstehe was falsch. Zumindest ist er, so wie er dort steht, erst einmal ohne Wirkung. Bei einer Driveline von 0.2, einem Innenversatz von -0.075 und einer Schnitttiefe von 0.045, was insgesamt 0.12 macht, berührt er damit nicht einmal das Werkstück. Wenn ich die Driveline dann auf 0.05 setze, bekomme ich zwar ein Ergebnis, aber bei einer Steigung von 0.05 kann ich leider nichts erkennen.


    -in meiner Hal habe ich mal nachgeschaut, ich meine, sie würde alle Anforderungen erfüllen. motion.spindle-at-speed und encoder.0.phase-Z sind vorhanden. Bei mir ist es allerdings encoder.0.phase-Z statt encoder.n.phase-Z . Ich weiß nicht, wo der Unterschied liegt oder ob das etwas aus macht. Damit kenne ich mich leider zu wenig mit der Hal aus. Ich poste sie mal mit. Vielleicht fällt ja dir oder jemand anderem ein Fehler auf.


    -hab eben auch grad nochmal schnell die 0 durch das n ersetzt, damit startet es dann das Programm nicht mehr sondern gibt nur eine Fehlermeldung aus




    Besten Dank und liebe Grüße

    Matthias

    Hallo liebe CNC-Area Gemeinde!


    Ich stehe seit Wochen vor einem Problem auf dessen Lösung ich nicht komme und zu dem mir so langsam auch die Ideen ausgehen.


    Und zwar weigert sich meine selbst auf CNC umgebaute Drehmaschine, ordentliche Gewinde zu produzieren.


    Da Bilder ja bekanntlich mehr als 1000 Worte sagen, fange ich damit an:




    Das sollte eigentlich ein "normales" metrisches Gewinde sein mit 60° Winkel, 3mm Steigung und 0,8mm Tiefe.

    Verwendet haben ich hierfür einen Meißel für Außengewinde, der schon die passenden 60° hat.

    Das System ist ein LinuxCNC das noch mit der parallelen Schnittstelle arbeitet.

    Der G-Code dafür sieht folgendermaßen aus:

    %

    (GEWINDE TEST)

    M3

    G97S85

    G0X19Z5

    G76 P3 Z-5 I-1 J0.05 R1 K0.8

    G0X16Z180

    M5

    %


    Wie man sieht, oder vielleicht auch nicht weil G-Code ja sehr unterschiedlich definiert sein kann, drehe ich das Gewinde bei 85 U/min. Vorm einstechen hat die Maschine 5mm Weg um sich zur Spindel zu synchronisieren.



    Wenn das Gewinde geschnitten wird, kann man schön erkennen, dass der jeweils nächste Schnitt, leicht versetzt vor dem letzten statt findet. Diese laufen dann immer parallel. Das Gewinde verschiebt dich dadurch also immer weiter nach links, was dann links den definierten 30° Winkel entstehen lässt und rechts, nun ja, diese Rampe da...

    Bisher dachte ich fälschlicher weiße, dass der nächste Schnitt immer leicht hinter dem ersten liegt. Das also die CNC zu spät einschneidet oder zu langsam wäre. Wie auch immer ich das so lange glauben konnte ^^ Die CNC setzt, wie oben beschrieben, definitiv zu früh ein. Sie kann also, zumindest würd ich das jetzt mal denken, nicht zu langsam sein.


    Und genau dazu habe ich jetzt überhaupt keine Idee mehr. In meinem Kopf schwirrt ein "Zu früh? Wtf?"

    Für einen Moment dachte ich vielleicht ein eine Korrektur die LinuxCNC ausführt, aber ich habe nirgends etwas entsprechendes eingestellt.



    Was ich bisher schon alles versucht habe:

    -PC neu aufgesetzt

    -anderen PC versucht

    -LPT Kabel frei gelegt und weit von jedem Störeinfluss verlegt (Kabel ist erst 2 Jahre alt)

    -SPP, EPP, ECP, EPP+ECP und "Normal". Falls es ver. Versionen gab hab ich auch diese getestet.

    -verschiedene U/min an der Spindel

    -habe mit dem G76 Befehl rumprobiert, wobei nichts raus kam was mich einer Lösung näher brachte



    Noch ein paar Daten (falls mehr benötigt werden, bitte einfach sagen welchen):


    -DB25-1205 Breakout Board

    -Motoren laufen in 1/8 Schritten

    -Drehzahlsensor: 62 Impulse pro Umdrehung


    Und ganz wichtig: Die Maschine läuft ansonsten einwandfrei! Ich habe schon mehrere Teile gedreht, die sie selbst, ganz alleine gefahren hat. Alles funktioniert genau so wie es soll. Außer Gewinde:cursing:^^




    So, ich hoffe ich habe alles wichtige geschrieben und ihr könnt mich retten:)


    Gespannt und mit Grüßen verbleibend

    Matthias

    Hallo Klaus,


    tut mir Leid, hat wieder etwas länger gedauert die Zeit für alles zu finden...
    Nochmals danke für deine Hilfe und Mühe.
    Ich habe es jetzt hinbekommen! :D Alle 4 Motoren laufen wann ich will, wohin ich will, so schnell ich will und mit Kraft.


    Die Lösung:
    Die Pinbelegung der mitgelieferten Beschreibung war völlig falsch-.- Am Ende waren glaube ich grad mal 1-2 Pins an der richtigen stellen...
    Habe in mühevoller Kleinarbeit in den letzten Tagen die richtigen Pinbelegungen durch gezieltes ausprobieren aller Möglichkeiten heraus bekommen.
    Jetzt läuft die Steuerung auch mit den 12V des PC Netzteils kraftvoll.


    Ich danke dir nochmals für deine Hilfe :)


    Beste Grüße
    ein glücklicher Matthias.

    Hallo Klaus,


    gestern wurde es dann doch etwas spät aber heute bin ich dazu gekommen.


    Also, mehr Spannung brachte etwas. Ab 28 Volt setzt er sich ratternd in Bewegung. Allerdings extrem schwächlich. Wenn er gegen den Finger fährt dreht er die Drehrichtung um. Sonst lässt sich die Drehrichtung nicht ändern.
    Kam mir sehr komisch vor weswegen ich mal die Anschlüsse gemessen habe. Er läuft leider nur auf einer Spule. Die andere ist Spannungsfrei. Egal, wo ich ihn anschließe.


    Mir schleicht der verdacht, als wäre irgendetwas falsch eingestellt, aber ich finde den Fehler nicht...
    Kann das etwas mit der Belegung der parallelen Schnittstelle zu tun haben oder wird das Problem ehr auf dem Board an sich und seiner Einstellung liegen? Dann kann ich vielleicht etwas konkreter suchen und versuchen.


    Gruß
    Matthias


    P.s. Lieber Klaus, es ist nicht schlimm wie du mich nennst, ich reagiere auch auf Martin. Aber man darf natürlich auch Matthias sagen :) Also, nicht böse gemeint :)

    Hallo CNC-Area,


    da dies mein erster Beitrag ist, möchte ich mich kurz vorstellen:
    Mein Name ist Matthias, 20 Jahre jung und Mechatronik Student. Komme aus dem Ried und beschäftige mich gerne mit Modellbau und auch allen möglichen anderen Basteleien.
    Mein Ziel ist es zur Zeit, meine Drehbank (Atlas Metric) auf CNC um zu rüsten sowie einen 3D-Drucker und eine Portalfräse zu bauen. Also viel vor dieses Jahr :thumbsup:
    Vorweg nehmen möchte ich noch, dass ich keine Profiqualität erwarte und demnach auch mein Material sich dort nicht bewegen wird ;) Allein schon preislich :whistling:


    Um mit der ganzen CNC Sache warm zu werden, habe ich mir günstig ein Treiberboard mit 4 x TB6560AHQ und ein paar Sonceboz 8110R003 Schrittmotoren organisiert. Angesteuert wird mit EMC2 (oder auch LinuxCNC) über die parallele Schnittstelle.
    Habe alles eingerichtet und Konfiguriert und das Board reagiert auf meine Befehle. Soweit so gut.
    Zum Test hängen zur Zeit 2 der Motoren dran und das Board wird über die 12V des Netzteils gespeist.


    Bis dahin hat erstmal alles geklappt. Und nun zu dem Punkt, an dem ich mir gestern den ganzen Tag die Zähne ausgebissen habe :cursing:


    Die Motoren zittern/vibrieren nur, wenn ich sie ansteuere. Wenn nicht, lassen sie sich ganz leicht drehen. Haben also keinen Haltestrom (nennt man das hier so?).
    Sie vibrieren je nachdem in welcher Geschwindigkeit ich sie ansteuere und ob ganz, halb oder achtel Schritt, schneller oder langsamer. Man kann auch, wenn man die Beschleunigung auf niedrig stellt, schön spüren, wie der Motor seine Frequenz erhöht und danach auch wieder langsamer wird. Bei langsamen Impulsen kann man die Motor auch ruckartig in den Pausen ein Stück weiter drehen. Ansonsten sind sie Bombenfest, bzw. ist es wirklich sehr sehr schwer sie zu bewegen.
    Um das vibrieren etwas genauer zu beschreiben: Wenn man den Motor still liegen lässt hört man nur so ein leichtes Surren im Pulstakt. Hört sich nach einem sehr leise fahrenden Drucker an. Wenn man dann nun mit den Fingern den Motor versucht zu drehen, werden die Vibrationen stärker und deutlich spürbar, wenn sie nicht gerade so schnell sind, dass der Motor reagiert als wäre er im "Haltemodus". Da blockiert er dann nur noch. Überraschend fest für so einen kleinen Motor.


    Zwischendrin noch kurz die Daten zum Motor (der Treiber sollte bekannt sein? Ansonsten versuche ich da gerne noch etwas nach zu liefern):


    Sonceboz 8110R003
    Nema 17
    5V
    0,37A
    18 Ohm
    200 Schritte


    Ich habe bereits folgendes Versucht:
    -Um eine falsche Verkabelung der Motoren aus zu schließen, habe ich alle 8 Anschlussmöglichkeiten der Kabel ausprobiert. Es passiert interessanter weiße immer Haar genau das gleiche...
    -Habe die Spulen der Motoren jeweils einzeln getestet mit 5V. Alle funktionieren und ziehen an. Die Haltekraft hätte ich auf die hälfte geschätzt (was meinem Verständnis nach auch Sinn ergibt). Lässt sich schwer drehen, aber besser machbar.


    -Habe voll, halb und achtel Schritt versucht. Natürlich auch jeweils auf dem Board und in der Software eingestellt.
    -Habe den Decay Mode auf dem Board auf fast, 25%, 50% und slow probiert. Kein Unterschied fest zu stellen.
    -Habe mal die Stromstärke von 25% (0,875A) auf 50% (1,75A) und auch 100% (3,5A) hoch gesetzt. Keine Änderung. Bei den kurzen Tests wurde der Motor auch nicht warm dadurch. Schätze mal, durch die 12V kommen nicht all zu viel durch.


    -Habe Step Time und Space im Programm geändert: 100.000ns, 50.000ns, 5.000ns, 1.000ns. Parallel dazu auch Direction Hold und Setup: 100.000ns,100.000ns, 10.000ns, 5.000ns. Habe keine Änderung feststellen können.
    -Base Pariode Maximum Jitter ist bei mir im Worst Case bei wirklich vielen Programmen, Videos und Musik bei 14.926ns. Eingestellt habe ich sicherheitshalber 17.000ns.
    -Anzahl der mm pro Umdrehung ist 2 eingestellt. Max. Geschwindigkeit 1mm/s. Das ergibt in meinem Kopf 30 U/min. Das sollte nicht zu viel verlangt sein. Beschleunigt wird schön langsam mit 3mm/s²


    Ich glaube das war alles... War auf so vielen Seiten und so viel was ich gestern alles versucht habe :wacko:



    Ich würde mich sehr freuen, wenn ihr mir noch ein paar Tipps geben könnt oder sogar in der Lage seit den Fehler zu benennen :love:
    Wenn ihr noch irgendwas braucht, sagt bitte kurz bescheid. Dann versuche ich das nach zu liefern. Wie gesagt, ist mein erstes CNC Projekt.


    Mit besten Grüßen
    Matthias


    P.s. Wenn mir jemand sagen könnte wie man dieses komische [SIZE] weg bekommt, wäre ich ebenfalls dankbar :thumbsup: Das sieht ja grauenhaft aus....und wird mir beim Bearbeiten nicht angezeigt :?:[size=10] [/size]