Fragen eines absoluten Anfängers

Hallo zusammen,

ich benötige sehr viel Hilfe. Ich bin technisch nicht sonderlich versiert, weshalb mir das auf Englisch nochmal erheblich schwerer fällt.

Ich habe die MPCNC Primo mit einem SKR V1.3 Board.

  1. Besteht nicht die Möglichkeit, die MPCNC direkt über Estlcam zu steuern, da ich Marlin auf dem Board habe?
    Es funktioniert mit CNC.js
    In Estlcam kann man ja Einstellen, dass eine Umdrehung x mm sind. Wie funktioniert das mit CNC.js?

  2. Kann man irgendwie eine Position einstellen, in die die MPCNC zurück fährt? Ist das dann das Homing und wenn ja, wie stelle ich das ein? Und funktioniert das auch noch, wenn ich die Achsen mal händisch bewege?

  3. Wie funktioniert das mit den Endstops? Ich würde gerne welche Einbauen, da ich (aktuell ja noch komplett unwissend und untalentiert :wink: gerne mal mit der Steuerung spiele und dann in die falsche Richtung oder auch zu weit fahre. Hört sich dann nicht gut an, wäre also schön, wenn sie das dann merkt und anhalten würde.

Das waren erstmal meine Hauptfragen.
Ich danke euch schonmal für eure Geduld :wink:

Viele Grüße

I used Google translate, so I hope I’m getting the gist of your questions.

First, the noise from driving into the ends of the machine sound bad, but the motors aren’t strong enough to do significant damage to the machine frame, so don’t worry too much about that.

It is my understanding that the ESTLCAM application can only directly control a machine running ESTLCAM firmware. I run grbl and use cncjs to control my machine, so I don’t have a lot I can help you with on this question.

Homing and end stop switches (or other sensors) work in conjunction. The machine is told to move toward the switch, and the controller starts paying attention to the switch state. When the controller senses the switch is triggered, it sets the coordinate for that axis to the defined value. This is often zero, but doesn’t have to be. For example, on my 3D printer, the X endstop is at the left end of the travel of the axis, but when triggered the nozzle is 3 mm outside of my print area, so I have that endstop location programmed as -3 mm. The homing cycle triggers the switch, but when I later command a move to X 0 Y0 the nozzle ends up at the front left corner of my build area. Once you’ve got homing sorted out, it is pretty simple to define a “parking area” that the machine can move to so it is out of the way when loading or unloading materials for jobs.

An advanced feature with the V1 dual-end stop version of the Marlin firmware is auto-squaring of the machine. This requires each stepper be run by a dedicated driver, and that each axis have two end stops, one on each rail but both at the same (generally minimum) end of the axis (I hope google translate makes that clear). When the homing cycle is triggered the machine moves to trigger the end stops, then moves one side a pre-programmed corrective amount to ensure the X and Y axis are perpendicular to one another. The motors only run independently during this auto-squaring correction during the homing cycle, otherwise they move exactly the same as one another.

Thank you for your answer, it helps a lot.
Good to know, that my mistakes in driving the MPCNC won’t harm the frame…it really sounds bad.

I’m a little afraid of installing the endstops, because I can’t find an easy instruction for “dummies”. I think my choice for the skr 1.3 was not my best.

Can you tell me, how cncjs knows which distance equals one rotation of the motor? I know you can set this in Estlcam (if you can control your cnc with it).

grbl (firmware) knows how many steps-per-mm from a parameter stored in eeprom. Cncjs just commands a move of a given distance.

Sorry for the terse reply earlier - call called in to an emergency work problem.

You might want to take a look at the Software Workflow section of the Docs on this site (hopefully Google translate won’t mangle it too badly). This section breaks down the difference between what the CAM software does (turn this model/shape into gcode commands), what the gcode sender does (delivers commands to the machine’s firmware to move X positive 20 mm), and what the firmware does (converts the gcode command to a specific number of steps to the X motors). I think it will be helpful to have a clear understanding of each of these roles, especially if you’re going to try and use (different, but integrated) features of Estlcam to do them all.

Vielen Dank, der Software Workflow war wirklich aufschlussreich.

Nur leider verstehe ich noch nicht, wie die Firmware weiß, wie viele Umdrehungen des Motors beispielsweise 2 mm im Gcode sind. Ist das auf der V1 Software “vorinstalliert”? Nicht dass ich vergessen habe das irgendwo einzustellen.

Endstops habe ich nun bestellt und meine auch zu verstehen, wie diese funktionieren und wie ich sie anschließen muss. Nur das ganze dann in der Firmware einzustellen, oder eine neue aufzuspielen, davor habe ich etwas Angst.

Aber ich glaube wenn ich noch etwas suche, werde ich auch hierfür eine Anleitung finden :slight_smile:

Vielen Dank für deine Geduld mit meinen Anfängerfragen

The firmware has parameters for “steps per mm”.

X and Y are set to 100. Z is set to 400.

You can calculate them using unit analysis

16 microsteps / full steps *
200 full steps / rotation *
1 rotation / 16 teeth *
1 tooth / 2 mm

= 100 microsteps / mm

Danke, jetzt macht das in meinem Kopf Sinn

Gibt es irgendwo gute deutschsprachige Anleitungen um bei Null anzufangen und das ganze technische zu verstehen? Weiß das jemand?

Ich habe nun festgestellt, dass ich mit meinen TMC2209 ja irgendwie sensorless homing machen kann und die mechanischen Endstops nicht wirklich brauche, bzw nicht nutzen kann

Soweit ich das verstanden habe, kann man mit den Endstops “nur” das homing nutzen. Gibt es auch die Möglichkeit solche Stops zu nutzen, falls man zum Beispiel Mist baut und die Maschine während des Fräsens “über den Rand hinaus will”?

The V1 docs don’t have any translation. Sorry. There are some German YouTube channels. Maybe someone who disks German will share their experience.

Google translate can translate the docs (not perfectly, but pretty good).

https://docs-v1engineering-com.translate.goog/?_x_tr_sl=auto&_x_tr_tl=de&_x_tr_hl=en&_x_tr_pto=wapp

The firmware does not set up sensorless homing. I would recommend using The physical microswitches. They are more reliable, accurate, and simple to use.

The endstops are only enabled when homing. The machine will not hurt itself if it reaches its limits. If endstops were doing motion at the ends, then a loose wire would ruin a job.

Also, you do not need endstops at all. You can do a lot of work without them. It might be useful to get some experience with the machine before trying to set up any endstops.

Thank you very much for your answers, and sorry for the late response, I had a hand surgery and was not able to try anything.

So I don’t have endstops and want to learn the basics with the machine first.

I use Estlcam to control the MPCNC with a Ramps 1.4 and Arduino mega. And finally it is working.
BUT… There are strange noises when I’m moving the y-axis. If I’m moving the axis manually everything is fine, but moving with the motors sounds not good. It’s a loud crack.

Unfortunately I’m not allowed to upload a video, so I don’t know how to describe it better :confused:

Im Marlin gibt es ja den Punkt “Motion”.

Da gibt es ein “Auto Home” und jeweils für die einzelnen Achsen (X,Y,Z) ein Homing. Ich habe mir an alle drei Achsen einen Endstop gebaut. Somit kann ich die Maschine über Auto-Home an eine definierte Position fahren von der die Maschine aus dann startet.

Für die Z-Achse ist eigentlich kein Endstop vorgesehen - daher wäre für Dich nur ein Home-X und Home-Y sinnvoll. Die Z-Achse fährt ohne Endstop ins Unendliche. Aber dennoch, X und Y Achse über Endstop nach Hause zu fahren macht auf jeden Fall Sinn.

Der Vorteil ist, dass Du immer weißt, das die Maschine an einer Stelle startet die “sicher” für den nachfolgenden Fräsvorgang ist. Dafür musst Du nur im ESTLCAM die Größe deiner Arbeitsfläche (CNC)definieren. Dann kann deine CNC nämlich nicht mehr irgendwo vor die Wand fahren wenn Du die Teile innerhalb dieser Fläche platzierst.