bdring / FluidNC

The next generation of motion control firmware
Other
1.62k stars 386 forks source link

Possibility to impose a speed different from the maximum speed of the translation movement in G0 movements #1371

Closed Deltaplc closed 2 weeks ago

Deltaplc commented 2 weeks ago

Machine Context

Good morning I apologize for the inconvenience I use ligtburn to drive a laser where I installed your firmware.

Feature Description

To move (for example) from the starting point to the engraving area, use the G0 command, given that in my case I use a very high max travel speed, I wanted to know if it was possible to set a value for the movements in G0 mode other than the max travel value of the axes? Maybe even default to the entire firmware.... or it would be great if you could add a $ setting to do this! Thanks for the help

Other Approaches

--

How I Can Help

--

breiler commented 2 weeks ago

The G0 uses the max speed setting max_rate_mm_per_min: http://wiki.fluidnc.com/en/config/axes#axis-letter

If the current max speed is too fast you should consider lowering that value.

Since you are using FluidNC you might consider closing your GRBL issue at: https://github.com/gnea/grbl/issues/1259

Deltaplc commented 2 weeks ago

Thanks for the reply But if I lower the max_rate_mm_per_min...then when ligtburn uses the G1 with values ​​higher than max rate it is limited!! How can I solve this problem?

breiler commented 2 weeks ago

I don't understand your problem...

G0 will move at the maximum rate that the machine allows (the max_rate_mm_per_min).

G1 will use the speed defined in your job (the speed setting in LightBurn). If this is set to high it will be capped by the controller so that it doesn't exceed the max speed. image

Deltaplc commented 2 weeks ago

ligtburn uses the G0 command to approach the work area and for returning home etc... if I use the max rate it is too high! I would like these movements to be performed at a lower speed.... but ligtburn uses practice the command G0..... I need very high G1 speeds when it works! but if I lower the max rate for the G0 movement I consequently limit all movements in G1!! Non so come risolvere questo problema....?

breiler commented 2 weeks ago

I'll leave this up to the developers to decide if a config attribute for a max rapid speed should be introduced.

But to me this is a strange requirement. In what way is the rapid speed (G0) too high when returning to home or to work zero and not while running an actual job (G1, G2, G3)? I don't understand the use case.

Deltaplc commented 2 weeks ago

I would like the movements approaching the area to be worked and the return home after work to be slower....but since ligtburn uses the G0 command for these movements, I cannot lower their speed, otherwise it would affect on the max speed also of the G1 G2 G3 movements. In my opinion the max speed of movements in G1 G2 G3 should have a parameter not linked to the G0 speed! And right now I don't think it's possible?

breiler commented 2 weeks ago

I would like the movements approaching the area to be worked and the return home after work to be slower....

Yes, you keep writing that - and I am asking why?

And right now I don't think it's possible?

No it is currently not possible - the rapid movement commands will use the maximum machine speed.

Deltaplc commented 2 weeks ago

Sorry if I didn't explain myself well... I have no problems relating to the malfunctioning of the machine..... It's just that if I engrave at 300mm/s I would feel calmer because the approach and return home of the work point had a slower speed! And I think decoupling G0 command values ​​from the max speed of G1 commands(etc.) is a useful thing. Especially for those who use a cnc. What do you think?

MitchBradley commented 2 weeks ago

Everybody expects G0 to travel at the maximum configured rate because that is how it is supposed to work. If you need to go at a different rate, use M5 to turn off the laser and program a G1 move at the rate you want. We aren't going to change the meaning of G0 that has existed since forever to help you feel calmer.

MitchBradley commented 2 weeks ago

Maybe you can get the LightBurn people to add an option, in exchange for the money you paid for a license to use their non-free software.

bdring commented 2 weeks ago

However this is done, it requires a change to Lightburn.

G1 move is the best way.

Deltaplc commented 2 weeks ago

The problem is that it doesn't depend on me.... ligbtburn uses G0 to move to the area to be worked on and it cannot be modified!!! If the G0 speed and the G1-G2-G3 max speed were two separate parameters, in my opinion it would be better. And it would solve this problem!

Deltaplc commented 2 weeks ago

In ogni caso, è necessario apportare una modifica a Lightburn.

La mossa G1 è la soluzione migliore.

Yes of course they should create a parameter in G1 for approach moves etc!!

MitchBradley commented 2 weeks ago

We are not going to change that. It is only a problem for you and nobody else. We don't have time to code, document, and support an unusual parameterization on behalf of a single user. Sometimes we will add a feature on behalf of a single organization, but only if they pay us for our time. The work we do for free is for the benefit of multiple users.

Deltaplc commented 2 weeks ago

Ok thanks so much for your answers! Sorry if I wasted your time! Greetings!

bdring commented 2 weeks ago

G0 is defined as rapid motion. The machine is supposed to move as fast as possible. This is limited by the max_rate_mm_per_min value for each axis.

The actual rate of the end effector can exceed the values for the axes. If you have an XY G0 move at 45 degrees with equal max rates. The actual feedrate is 1.4x the max rates.

This the expected and defined behavior.

https://linuxcnc.org/docs/2.8/html/gcode/g-code.html#gcode:g0

Deltaplc commented 2 weeks ago

G0 è definito come movimento rapido. La macchina dovrebbe muoversi il più velocemente possibile. Questo è limitato dal valore max_rate_mm_per_min per ogni asse.

La velocità effettiva dell'effettore finale può superare i valori per gli assi. Se hai un movimento XY G0 a 45 gradi con velocità massime uguali. La velocità di avanzamento effettiva è 1,4 volte le velocità massime.

Questo è il comportamento previsto e definito.

https://linuxcnc.org/docs/2.8/html/gcode/g-code.html#gcode:g0

Thanks for the information....But unfortunately this doesn't help me solve the problem, I will try to make my thoughts known to the lightburn developers.

bdring commented 2 weeks ago

At any time (in IDLE) you can change the G0 speed like this $axes/x/max_rate_mm_per_min=200

The change is only temporary and will revert to the config value the next time the controller starts.

You can also change the acceleration value the same way. I suspect the real problem is your machine cannot handle that value.

Deltaplc commented 2 weeks ago

Thanks for your reply My machine manages the values ​​very well! In fact it approaches the work area and finally returns home at a very high speed! But in my opinion it is not necessary for it to go at those speeds for those movements! Unfortunately the problem is that lighburn uses G0 as a rule, without the possibility of using a speed established by the user!