# stepgen.03.maxvel is too big for current step timings & position-scale, Clipping

19 Nov 2023 18:23 #285934

I used 360mm because that is the number of degrees of a circle

That makes sense only for a 114.594938724 mm shaft diameter.
For 50mm shaft
50x3.1415=157.075mm for one rotation.

19 Nov 2023 18:34 #285937 by Muecke
Then this is the new calculation.

Calculation:
Corner of travel: 157.075 mm / revolution
microsteps 1/2 =400 steps per revolution
reduction 40/1 = 16000 steps per revolution

157.075 mm = 16,000 Steps
1 mm = (1*16,000) / 157.075 mm
1 mm = 101,862168 Steps / mm

Then this is the new calculation.

New value
SCALE = 101.862168

I will test it

19 Nov 2023 18:47 #285939 by Muecke
The current values:

INI
```[AXIS_Y]
MIN_LIMIT = -1e99
MAX_LIMIT = 1e99
MAX_VELOCITY = 1500
MAX_ACCELERATION = 750

[JOINT_3]
CARD = 0
TAB = 3
AXIS = Y
MIN_LIMIT = -1e99
MAX_LIMIT = 1e99
MAX_VELOCITY = 1500
MAX_ACCELERATION = 750
TYPE = LINEAR
SCALE = 101.862168
DRIVE = SK8060
STEP_INVERT = False
DIR_INVERT = False
STEPGEN_MAX_VEL = 1800.00
STEPGEN_MAX_ACC = 900.00
DIRSETUP = 10000
DIRHOLD = 10000
STEPLEN = 2500
STEPSPACE = 2500
FERROR = 0.1
MIN_FERROR = 0.01
P = 20
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0
BIAS = 0
MAX_OUTPUT = 0
MAX_ERROR = 1
HOME =
HOME_IGNORE_LIMITS = False
HOME_USE_INDEX = False
HOME_IS_SHARED = False
HOME_SEQUENCE = 1```

The engine runs, but then stops sporadically and squeaks.
I would say that the motor cannot cope with the fast movements.

Solution: ?? do you have any ideas?
1) Different gear ratio 20/1
2) other motor and driver
3) ?
4) ?
5) ?

19 Nov 2023 21:03 #285956 by Muecke
I thought that if I went to
[JOINT_3]
MAX_VELOCITY = 800
that the axis can never move faster than 800.
But it does when I move the axis with the keyboard (arrows).

Where am I making a mistake?
How can I limit the axis to a maximum, even when idling?

The Vel: in LinuxCNC (Coordinates area shows how fast the axis is currently moving?

-- DE --
Ich dachte das wenn ich unter
[JOINT_3]
MAX_VELOCITY = 800
angebe das die Achse nie schneller als 800 Fahren kann.
Doch das tut sie, wenn ich mit der Tastatur (Pfeile) die Achse bewege.

Wo habe ich meinen Denkfehler?
Wie kann ich die Achse auf ein Maximum, auch im Leerlauf begrenzen?

Das Vel: in LinuxCNC (Koordinaten Bereich zeigt doch an, wie schnell die Achse sich gerade bewegt?

#### File Attachment:

File Name: nov_23_ini...1-19.txt
File Size:6 KB

##### Attachments:

19 Nov 2023 22:23 #285963
What motor and drive?
Steppers do not like to spin fast as they loose torque drastically at higher speeds.
Still, using a very low inductance stepper motor with a good drive that can handle 160V can do pretty much 2000-3000 RPM with enough torque to actually be useful.
www.mechapro.de had LAM Technologies drives that can take 160V DC nut now only 90V DC left there, they also have some low inductance motors, go for 2-2.5mH only.
Beware that the price of one of those drives and one of those motors will get very close to the price of a cheap servo drive with motor, so in your case i would go for a servo for this task.
The following user(s) said Thank You: Muecke

20 Nov 2023 02:23 - 20 Nov 2023 02:56 #285985 by Tchefter

Ich dachte das wenn ich unter
[JOINT_3]
MAX_VELOCITY = 800
angebe das die Achse nie schneller als 800 Fahren kann.
Doch das tut sie, wenn ich mit der Tastatur (Pfeile) die Achse bewege.

Wo habe ich meinen Denkfehler?
Wie kann ich die Achse auf ein Maximum, auch im Leerlauf begrenzen?

Das kannst Du normalerweise über JogSpeed ändern.
Das ist der Slider über der MaxVecolity.
Zum verringern oder erhöhen über die Tastatur mit Punkt und Komma.
Last edit: 20 Nov 2023 02:56 by Tchefter.

20 Nov 2023 07:07 #285995 by Muecke
Ich kenne die Schieberegler und habe sie bisher kaum benutzt.
Aber was ich nicht verstehe.
Alle Achsen haben unterschiedliche Maximalgeschwindigkeiten, warum wird eine Achse, die auf 800 steht, mit 3600 betrieben?
Hat die Einstellung der Maximalgeschwindigkeit dann überhaupt keinen Sinn?

Ich bin davon ausgegangen, dass "MAX_VELOCITY = 800" das Maximum der Achse im Allgemeinen ist. Nicht nur für den G-Code, sondern auch für den Jog (wird das so genannt?).

Denn der Slider ändert sich ja nicht, je nachdem welche Achse ich auswähle, oder doch, und das habe ich bisher nur nicht gesehen und bemerkt?

27 Nov 2023 20:27 #286636 by Muecke
Ich möchte eine Tabelle erstellen (die mir die Werte berechnet), um zu überprüfen, ob ich meine Grenzwerte für Motor / Treiber / Messkarte überschreite.

Ich habe mir gedacht:
Daten, die man eingeben kann, diese kommen auch in der INI (Grün) so drin vor.
MAX_VELOCITY
MAX_ACCELERATION

SCALE (Berechnung)
Motorschritt/Umdrehung
Treiber Microstep
mm/U

STEPGEN_MAX_VEL
STEPGEN_MAX_ACC

DIRSETUP
DIRHOLD
STEPLEN
STEPSPACE

Dann kann ich die maximalen kHz für den Treiber und die MAX_VELOCITY berechnen und sehen, ob meine kHz MAX_VELOCITY kleiner als die kHz Treiber ist, wenn das nicht der Fall ist, dann habe ich ein Problem.

Und ich habe noch die Drehzahl des Motors bei MAX_VELOCITY berechnet.
Damit man dann sehen kann wie das Drehmoment laut Datenblatt noch sein müsste.

Ich habe meine Excel Tabelle angehängt und würde mich freuen wenn ihr euch das anschaut und mir sagen könnt ob ich das richtig gemacht habe, denn irgendwie bin ich mir nicht sicher ob das was ich mache richtig ist.

Wofür ist STEPGEN_MAX_VEL und STEPGEN_MAX_ACC kann oder solte ich da auch etwas prüfen?

gruß Mücke

P.S. Umbenennen der Datei in xlsx, das Forum erlaubt diese Endung nicht.

#### File Attachment:

File Name: Motor-Kopie_xlsx.txt
File Size:11 KB

##### Attachments:

28 Nov 2023 17:13 - 03 Dec 2023 09:49 #286709 by CNC_ANDI
800 ist nicht deine geschwindigkeit.... das ist eine errechnung von linux cnc... ich z.b habe dort 100 stehn und fahre 6000mm/min. bei einer 5mm Spindelsteigung und 2000 Steps

dein Motor wird ein 1.8 grad sein, das heißt dein Motor hat 200 Schritte Pro Umdrehung bei Fullsteps....
wenn du also an deiner Endstufe 2000 Schritte eingegeben hast, trifft folgendes zu....

2000 / 200 = 10
du hast also einen multiplikator von 10

jetzt brauchst du noch deine spindelsteigung bei mir 5mm
2000 Schritte / 5mm Spindelsteigung = 400 StepScale

wie genau sich die Velocity errechnet kann ich dir auch nicht sagen...
Last edit: 03 Dec 2023 09:49 by CNC_ANDI.

28 Nov 2023 17:34 #286711 by Muecke
Hallo Andi,

ich kann dir nicht ganz folgen.

Ja mein Motor macht 1.8grad, somit 200 Step/U
Meine Endstufe steht auf 1/64

demnach muss ich doch rechnen.
Step/U = 200 Step/U * 64
Step/U = 12800 Schritte

Steigung: Schritte pro mm

Jetzt muss man wissen, was bei einer Umdrehung zurückgelegt wird, bei mir ist das ein Spindel mit 10mm/U.

10mm = 12800 Schritte (oben berechnet)
1mm = StepScale

StepScale = (1 x 12800) / 10
StepScale = 1280 Schritte pro mm

LinuxCNC sollte nun wissen, wie viel Schritte pro Millimeter gemacht werden müssen.
Daraus sollte man doch dann auch Speed etc. errechnen können.

oder rechnet LinuxCNC da anderst. ?

Hast du dir meine Excel Tabelle angeschaut?