Forum: Mechanik, Gehäuse, Werkzeug Proxxon MF70-CNC-Ready Einstellungen


von Jack L. (Firma: -Privat_) (jack_lear)


Lesenswert?

Guten Tag und Hallo an alle Leute hier in diesem hilfreichen Forum !


Inspiriert wurde ich durch diese Homepage mir eine Fräsmaschine zu zu 
legen
http://www.herberts-n-projekt.de/basteleien-1/cnc-umbau-proxxon-mf70/

Meine Ahnung von CNC war aber gleich Null.

Ich kam sehr günstig an eine fertige Fräsmaschine von Proxxon ran.

Nun habe ich mich 14 Tage lang sehr intensiv mit diesem Thema 
auseinander gesetzt und gerade hier in diesem Forum viel gelernt und 
auch einiges verstanden.


Eine Vorstellung meiner Hard/Software :

Meine CRC-Maschine ist eine MF 70 CNC-Ready:
http://www.proxxon.com/de/micromot/27112.php

also mit von Proxxon installierten Steppermotoren
http://de.nanotec.com/fileadmin/files/Datenblaetter/Schrittmotoren/ST4118/L/ST4118L1804-A.pdf

Meine drei Stepperplatinen :
http://wirbel.htpc-forum.de/cnc/TB6560/index2.html

Mein Netzteil 24V 6,5 A
http://www.pollin.de/shop/dt/OTk0ODQ2OTk-/Stromversorgung/Netzgeraete/Festspannungs_Netzgeraete/Schaltnetzteil_MEANWELL_RS_150_24_24_V_6_5_A.html

und einen Arduino-Uno R3 (Nachbau)


Mein Zeichenprogramm ist Librecad, danach Estlcam um die Fräswege zu 
setzen und der G-Code den dieses Programm ausgibt gebe ich dann weiter 
an SerialCNC. Ein wirklich geniales Programm (Auch von mir ein herlich 
fester Händedruck-Dank an Albert M. !!!).

Ich habe den Arduino mit dem grbl-hex-File geladen welches bei SerielCNC 
dabei ist.
http://www.serialcominstruments.com/cnc.php  Version 0.9f geladen.

Wenn ich nun im Librcad z.B. ein kleines Haus zeichne und dies über 
Estlcam  an das SerialCNC schicke, so zeigt mir SerialCNC bei dem Reiter 
GRAPHIC genau die Wege, die eine Fräse abfahren würde.
Schaut wirklich gut aus.
Bis dahin bin ich der Meinung habe ich alles richtig gemacht.

Doch nun bin ich an einem Punkt angelangt wo ich nicht weiterweiss und 
hoffe hier nun nicht nur eine Antwort zu bekommen :
Und zwar geht es um die Einstellung der Steppermotoren durch grbl.

Ich starte SerialCNC und verbinde mich mit dem Arduino und
bei dem Befehl $$ gibt mir der arduino folgendes aus

$$
$0=200 (step pulse, usec)
$1=200 (step idle delay, msec)
$2=200 (step port invert mask:11001000)
$3=50 (dir port invert mask:00110010)
      [die Zeit zwischen einzelnen Befehlen]
$4=0 (step enable invert, bool)
         [was machen ab hier die Einstellungen]
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.020 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=500.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$100=250.000 (x, step/mm)
$101=250.000 (y, step/mm)
$102=250.000 (z, step/mm)
$110=500.000 (x max rate, mm/min)
$111=500.000 (y max rate, mm/min)
$112=500.000 (z max rate, mm/min)
$120=10.000 (x accel, mm/sec^2)
$121=10.000 (y accel, mm/sec^2)
$122=10.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)
ok

Meine Motoren sind wie oben geschrieben : Nanotec-ST4118L1804
Weitere Infos aus dem Handbuch der Fräse :

Typ_______________________:_Bipolar
Strom_____________________:_1,8A/Phase
Haltemoment_______________:_0,5 Nm
Schrittweite______________:_1,8°
Gewicht___________________:_0,34kg
Rotorträgheitsmoment______:_66,5 gcm2
Widerstand pro Wicklung___:_1,75 Ohm
Induktivität pro Wicklung_:_3,3 mH

Auch habe ich auf der Seite

https://www.lxrobotics.com/produkte/arduino-shields/cnc-shield/cnc-shield-inbetriebnahme

unter Abschnitt 5d  folgende Aussage gefunden :

---- zitat -----
Bei der Proxxon MF70 Fräse entspricht eine volle Umdrehung (360°) der 
Achse einem Verfahrweg
von 1 mm. Damit ergibt sich die Auflösung für x,y,z-Achse zu 200 
Schritten / mm.

Das Setzen der Werte wird durch Eingabe von

    $0=200 [Enter]
    $1=200 [Enter]
    $2=200 [Enter]

im Input Control Textfeld durchgeführt. Jede Eingabe wird durch grbl mit 
ok quittiert.
---- zitat Ende -----

Das habe ich auch verstanden.
Aber was sagen die Werte ab $4 in der GRBL genau aus. Eine Übersetzung à 
la Google ergibt für mich keinen Sinn, den ich auch verstehe.

Kann mir da jemand helfen ?

Zwar ist es am einfachsten, wenn jemand den $$ Code fertig hier 
uploadet, aber ich würde gerne verstehn, was die einzelnen Befehle für 
eine Bedeutung haben.

Was dann auch noch wäre, wäre die Verkabelung vom Arduino zu den 
Stepperplatinen.
http://up.picr.de/25474064vo.jpg

Ich kann unter Estlcam auswählen zwischen folgenden Einstellungen die 
auch dann den arduino weiter gegeben werden :

GRBL sicher
GRBL
GRBL PWM
Estlcam
GRBL Laser.

Ich  habe mich für GRBL-SICHER entschieden.
Laut der Abbildung rechts im Programm sehe ich nun, daß ich X-Y-Z von 
2-3-4  und 5-6-7 abgreifen kann.
Kann ich bei den  9-10 Endschalter einfach so die Endschalter der 
Proxxon anschliessen ?

Was hat es mit PIN 8 auf sich (Stepper enable)
Sowie die PINs A0=Fehlereingang, A3=Ausgang1, A5=Sensoreingang ?

Fragen über Fragen.....



Wenn jetzt einer denkt : Nicht schon wieder...... so möchte ich gerne 
folgendes zur Kenntniss schreiben :

Als ich vor zwei Wochen hier in das Forum kam, verstand ich gar kein 
Wort von dem was hier abgeht.
Alles was ich wie oben schon erreicht habe, habe ich durch dieses Forum 
und andere gelernt und auch verstanden.
An Alle hier ein herzliches Dankschön !!!

Doch wie beschrieben bin ich nun an meine Grenze gestossen.
Würde mich über Reaktionen sehr freuen.

Ich wünsche jedem einen wunderschönen Sonntag

hier aus dem Saarland

Jack Lear

: Verschoben durch User
von Tany (Gast)


Lesenswert?

Jack L. schrieb:
> $3=50 (dir port invert mask:00110010)
>       [die Zeit zwischen einzelnen Befehlen]

Nein, das ist nicht richtig.
Die letzten 3 Bits von dem Wert, also ...mask: xxxxx000 bestimmen die 
Drehrichtung deiner Motoren für Achsen zyx.
Wenn der "0" steht, dreht der Motor z.B im Uhrzeigerrichtung, wenn "1" 
umgekehrt.

Jack L. schrieb:
> $4=0 (step enable invert, bool)
>          [was machen ab hier die Einstellungen]

Ebenfalls die letzten 3 Bits für die Achsen zyx:
 -0: der Motor soll Stromlos
- 1: Der Motor soll bstrommt werden
oder umgekehrt. Vorrausgesezt, du verbindest die Anschlüsse (EN+ und 
EN-) von der Motorendstufe mit dem Arduino (Stepper enable).

siehe auch
https://github.com/grbl/grbl/wiki/Connecting-Grbl
https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

Jack L. schrieb:
> Bei der Proxxon MF70 Fräse entspricht eine volle Umdrehung (360°) der
> Achse einem Verfahrweg
> von 1 mm. Damit ergibt sich die Auflösung für x,y,z-Achse zu 200
> Schritten / mm.
>
> Das Setzen der Werte wird durch Eingabe von
>
>     $0=200 [Enter]
>     $1=200 [Enter]
>     $2=200 [Enter]

Nur, wenn Vollschritt in deiner Enstufe eingestellt ist.
Wenn du auf 1/2 Schritt einstellst, dann 200 X 2 =400
und wenn  1/4 : 200x4 =800
usw...
d.h aber dann z.B bei 1/4 Schritt: $100=800 für x-Ache.(x step/mm)
und NICHT $0=800!

Die Einstellung von Estlcam  kenne ich leider nicht.

von Jack L. (Firma: -Privat_) (jack_lear)


Lesenswert?

Tany schrieb:

> $4=0 (step enable invert, bool)
>          [was machen ab hier die Einstellungen]
>
> Ebenfalls die letzten 3 Bits für die Achsen zyx:
>  -0: der Motor soll Stromlos
> - 1: Der Motor soll bstrommt werden
> oder umgekehrt. Vorrausgesezt, du verbindest die Anschlüsse (EN+ und
> EN-) von der Motorendstufe mit dem Arduino (Stepper enable).

Es ist doch besser, wenn er bestromt wird, oder ? Ich denke an eine 
Aussage die behauptet : Wenn z.B. Z stromlos ist und xoderY bewegt wird, 
sollte die Welle gehalten werden. Müßte ich demnach $4=1 eingeben ?

> siehe auch
> https://github.com/grbl/grbl/wiki/Connecting-Grbl
> https://github.com/grbl/grbl/wiki/Configuring-Grbl-v0.9

leider bin ich dem englischen nicht Herr und Tante Google's Deutsch ist 
da für mich auch nicht verständlich genug.

> Nur, wenn Vollschritt in deiner Enstufe eingestellt ist.
> Wenn du auf 1/2 Schritt einstellst, dann 200 X 2 =400
> und wenn  1/4 : 200x4 =800
> usw...
> d.h aber dann z.B bei 1/4 Schritt: $100=800 für x-Ache.(x step/mm)
> und NICHT $0=800!

wie aus meinem Bild
http://up.picr.de/25474064vo.jpg
zu ersehen ist habe ich 8 eingestellt
Siehe Switchs. Ist dies richtig für den Steppermotor  ?
Und nach Deiner Rechnung wären es dann ja 200x8=1600 ?!
muss ich dies dann bei $100 eingeben ?

Du merkst schon, ich komme mit diesen $-Einstellungen nicht so gut 
zuerecht

> Die Einstellung von Estlcam  kenne ich leider nicht.
das macht nichts....

Ich habe durch Deinen Beitrag wieder etwas gelernt. Danke !

Abendgrüße aus dem Saarland

Jack

: Bearbeitet durch User
von Tany (Gast)


Lesenswert?

Deine Einstellung könnte so aussehen:

$0=10 (step pulse, usec)
$1=25 (step idle delay, msec)
$2=0 (step port invert mask:00000000)
$3=0 (dir port invert mask:00000000)
$4=0 (step enable invert, bool)
$5=0 (limit pins invert, bool)
$6=0 (probe pin invert, bool)
$10=3 (status report mask:00000011)
$11=0.010 (junction deviation, mm)
$12=0.002 (arc tolerance, mm)
$13=0 (report inches, bool)
$14=1 (enable hysterese, bool)
$20=0 (soft limits, bool)
$21=0 (hard limits, bool)
$22=0 (homing cycle, bool)
$23=0 (homing dir invert mask:00000000)
$24=25.000 (homing feed, mm/min)
$25=250.000 (homing seek, mm/min)
$26=250 (homing debounce, msec)
$27=1.000 (homing pull-off, mm)
$30=1000. (rpm max)
$31=0. (rpm min)
$100=1600.000 (x, step/mm)
$101=1600.000 (y, step/mm)
$102=1600.000 (z, step/mm)
$110=250.000 (x max rate, mm/min)
$111=250.000 (y max rate, mm/min)
$112=250.000 (z max rate, mm/min)
$120=20.000 (x accel, mm/sec^2)
$121=20.000 (y accel, mm/sec^2)
$122=20.000 (z accel, mm/sec^2)
$130=200.000 (x max travel, mm)
$131=200.000 (y max travel, mm)
$132=200.000 (z max travel, mm)
$140=0.025 (x hysterese, mm)
$141=0.020 (y hysterese, mm)
$142=0.010 (z hysterese, mm)

gute Nacht.

von Jack L. (Firma: -Privat_) (jack_lear)


Lesenswert?

Hallo Tany !

Ich verneige mich vor Dir !!
Vielen Dank für diese Mail.

Habe alles so eingegeben, wobei ich die Werte von $30-$31 und $140ff 
nicht eingeben konnte, da sagte grbl : invalit...

Dann habe ich meine Anlage unter Strom gesetzt und sie da :

HURRA ... meine Maschine reagiert so wie ich es erwartete.
Sage ich einen mm nach X+   dann machte sie 1 mm nach rechts.
Habe ich 10 mm eingegeben, fuhr die Maschine auch genau 1 cm.
Hoch runter, rechts links, vor und zurück. Alles klappt !!
Echt klasse !
Nur die Begrenzung am Ende der Wege (Endschalter) die muss ich noch 
aktivieren. Sonst haut der Steppermotor bei übersteuerung immer an das 
Ende und rattert.

Dennoch nochmals :     Herzlichsten Danke an Dich, Tany !

Möchte nochmals drauf hinweisen auch für andere Nachbauer :
Mit Kenntniss Null habe ich mich an das Thema Fräse ran gewagt und kann 
heute 14Tage nach Tag Null sagen :

Ich hab's geschafft.
Fast sogar alleine geschafft.
Also traut Euch.
Traut Euch aber auch Fragen zu stellen, wenn man vor einem Problem 
steht.

Werde mich dennoch weiter mit dem Thema grbl beschäftigen, denn es 
könnte ja sein, daß ich mal was anderes mit Steppermotoren bauen werden 
und dann muss ich es ja verstanden haben was die $$-Befehle bedeuten.

Saarländische Grüße

Jack Lear

von Max G. (l0wside) Benutzerseite


Lesenswert?

Man muss dir auch lassen: du hast dir Mühe gegeben, a) das Problem 
selbst zu lösen und b) eine sinnvolle Problembeschreibung zu geben.
Beides ist nicht selbstverständlich.

Max

von Jack L. (Firma: -Privat_) (jack_lear)


Lesenswert?

Halloe Max G. !

Danke, aber so sehe ich es, erst die Infos, dann die Fakten, denn nur 
dann kann mir geholfen werden.

Habe nun auf der Suche nach der Einstellung der Entschalter aber etwas 
gefunden, daß hätte ich vorher finden sollen :

! GRBL auf Deutsch !

Hier zwei Seiten zur Info :

http://wiki.myhobby-cnc.de/doku.php?id=myhobby-cnc:grbl-konfiguration&#abc_der_grbl_settings

und

http://www.cramernetz.de/fraese/GRBL-Params.png

Ich kann garnicht genug danken, wie einem hier geholfen wurde/wird.

Sonnige Grüße aus dem Saarland

Jack Lear

von Jakob S. (jakob_s)


Lesenswert?

Hallo Jack,
als erstes einmal Danke für diesen Beitrag! Durch ihn hab ich mich 
endlich getraut mir die MF 70 CNC zuzulegen, die ich zwar schon ne Zeit 
lang auf dem Schirm hatte, aber an die ich mich mangels 
Erfahrungsberichten noch nicht ranwagen wollte.
Jetzt hab ich mir erlaubt dein Setup, faul wie ich bin, einfach 
weitestgehend zu kopieren. Soweit man es ohne den Stecker für die 
z-Achse, der noch nachgeliefert werden muss, beurteilen kann, läuft das 
ganze auch einigermaßen (naja, bis auf SerialComCNC), nur die 
Endschalter machen nicht was sie sollen. Das heißt, bei jeder Bewegung 
einer Achse gibt der zugehörige Endschalter Alarm. Direkt verwunderlich 
ist das bei meiner Verkabelung nicht, aber ich denke es könnte helfen zu 
wissen, wie du den Anschluss der Taster gelöst hast. Am Stecker (ich 
benutze eine Sub-D Anschlussplatine von Pollin, die als Bausatz recht 
billig war 
[http://www.pollin.de/shop/dt/MjE5OTgxOTk-/Bauelemente_Bauteile/Bausaetze_Module/Bausaetze/Bausatz_SUB_D_Anschlussplatine.html]) 
liegen die Kontakte von Sensor- und Motorkabel ja ungünstig nah 
beieinander und Masseanschlüsse sind es insgesamt ja 12 oder 15, dass es 
da chaotisch wird, das mit einem Pin am Arduino halbwegs elegant zu 
realisieren, braucht auch nicht zu wundern. Allerdings weis ich in 
beiden Fällen nicht, wie man es besser machen könnte, wenn mir jemand 
mit ein wenig mehr Erfahrung im verkabeln helfen könnte wäre ich sehr 
dankbar. Ohne Endschalter stell ich es mir schwierig vor, den eh schon 
knapp bemessenen Arbeitsbereich der Fräse noch effektiv nutzen zu 
können.
Schon mal danke im voraus für jede Art von Tipp, Rat und Anpfiff für 
schlechte Kabelführung :)

von Alfred Posch (Gast)


Lesenswert?

Hy Leute bin gerade erst dazugestoßen:)) Meine grundsätzliche  Frage an 
Tany wo gehört dieser Monstercode eingegeben ? LG Martin

von Käsemann (Gast)


Lesenswert?

@Alfred
Die musst du ins Terminal eingeben zB in der Arduino Software im 
SerialMonitor oder halt in der CNC Software.
Jede Zeile einzeln... (oder gibts ne cfg funktion?)

....weiter

von Käsemann (Gast)


Lesenswert?

Ich habe auch ein paar Verständnis Fragen.
Ich habe ein ähnliches Setup wie der TE.
MF70 mit Nema23 @2A + TB6560 + Arduino.
Soweit funktioniert alles, nur das mit den X Y Achsen +/- scheint 
verdreht zu sein.
Ich habe alles korrekt Angeschlossen. (A+- B+-)
Aber wenn ich zB G-Code in den GBRL Plotter lade, muss ich es Spiegeln, 
damit er richtig verfährt.
Die einfachste Möglichkeit wäre es per Software zu ändern, mit dem "$3 
dir port invert" Befehl.
An die MF70 Besitzer, habt ihr auch invertierte Achsen?
Ist es evtl besser die Motoren umzupolen?

Und was bedeutet eigentlich +/-  auf den XY Achsen?
zB wenn die X Achse ein + Befehl bekommt, bewegt sich das Werktstück 
nach rechts oder sollte es nach links fahren und die feststehende 
Spindel im Werkstück nach rechts?

Hat der Enable Pin eine Bedeutung oder kann man ihn weglassen?
Welchen praktischen Nutzen hat man?

Seitdem ich die Step/mm auf 1600 gestellt habe, läuft er mm genau, aber 
die Auflösung scheint gesunken zu sein. Zumindest sieht die Vorschau im 
GBRL Plotter so aus.
Mit den standard Einstellungen musste ich die Zeichnung aufzoomen, um 
auf die gleiche Größe zu kommen, war dann natürlich nicht mehr mm genau.
Und die Max Geschwindigkeit musste reduziert werden auf 250, damit die 
Motoren nicht heulen.
Aber ist damit der Vorschub, mit 250 Schritten in der Skalierung, nicht 
zu wenig.

Danke...

von Stefan S. (kami)


Lesenswert?

Hallo zusammen,

ich habe auch meine Proxxon umgebaut und spiele nun gerade an den 
Settings von ESTLCam rum. Ich wollte mal fragen welche Werte ihr da 
genommen habt. Zur Zeit nutze ich Nema 17 Motoren und habe 1600 
Umdrehungen und 1,0mm Wege je Umdrehung eingestellt. Meine Teile werden 
aber glaube ich zu klein. Hätte vielleicht mal jemand eine kleine 
Beispieldatei um ein einfaches PCB-Layout zu fräsen mit einem 1,4mm 
Fräskopf. Bin leider noch nicht so tief eingestiegen um das Gcode File 
selber zu erstellen.

Vielen Dank.

Gruß kami

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.