Page 3 of 5 FirstFirst 12345 LastLast
  1. #21
    In LinuxCNC you can specify a tolerance on the G64 command, so the controller sacrifices constant speed to maintain the toolpath within the specified tolerance. e.g. put 'G64 P0.05' at the begining of the G-code and the path will not deviate by more than the P from the true value.

    Quote Originally Posted by JAZZCNC View Post
    It's not critical and perfectly fine to have differant setting for each axis, Mach will only go fast has the slowest axis anyway when moving 2 axis at same time. Try it.!! . . Double the Speed of Y axis velocity (if machine can do it) and home the machine and jog away good distance and Type G1 X0 Y0 F ( Feed value abobe X axis velocity or same has Y axis velocity) in the MDI box.
    You've raised a mildly interesting point there, which I think is worth expanding to show why what you've observed occurs. The velocity of each axis cannot exceed the values in the motor tuning, however the speed of the machine (i.e. the feedrate) can, unless the machine is only moving in one axis. This occurs because when two axes are moving at given velocities, the resultant feedrate is the vector sum of these velocities. One way to visualise it is as a right angled triangle, where (for example) the velocities of X and Y are the sides adjacent to the right angle - the length of the hypotenuse will equal the feedrate.

    Example 1:
    Suppose you set your maximum velocity settings for X and Y both to 1000mm/min, home the machine (so it's at 0,0) then enter 'G0 X100 Y100'. Mach will move both X and Y as fast as it can (as it's a G0 move), so the feedrate you actually get is , assuming the machine can accelerate to that feedrate within the specified distance.

    The practical upshot of this is you can specify a feedrate higher than the velocity setting, and get that feedrate in some circumstances.

    Example 2:
    Same as example 1, except we enter 'G1 X100 Y200 F1100'.
    The required speed is 1100mm/min, so the following must hold: , where X and Y are the X and Y axis velocities.
    The Y axis must travel twice as fast as X to go in the correct direction (as 200/100=2), so we have
    We also have the condition ,due to the motor tuning settings.
    From (2), , so substitute that into 1:



    Whence,


    (You can also solve this graphically quite easily - which may be more intuitive.)

    So the X and Y velocities do not exceed 1000mm/min, yet the machine can in this example cut at 1100mm/min.

    In reality, it's probably not a good idea to use this 'feedrate bonus' as it makes the feedrate a function of the direction in which the machine is travelling, so unless you're cutting a single straight line the feedrate you actually get will vary (continuously if an arc move).
    Old router build log here. New router build log here. Lathe build log here.
    Electric motorbike project here.

  2. The Following 2 Users Say Thank You to Jonathan For This Useful Post:


  3. #22
    Quote Originally Posted by Jonathan View Post
    From (2), , so substitute that into 1:



    Whence,
    I see you like your new toy. . . . Lol . . .(Shame Nobody got F'#$ing clue what your saying. .)

  4. Some of us do :) but it's true J is playing with it. It's a nice new toy tho if I could make it work for me..

  5. #24
    Quote Originally Posted by JAZZCNC View Post
    I see you like your new toy. . . . Lol . . .(Shame Nobody got F'#$ing clue what your saying. .)
    Dean: its a recipe for a sponge cake anybody can see that ..Clive

  6. #25
    Dare I ask for a bit more clarification? Dangerous ground, here, perhaps! But here goes...

    What I'm not quite sure about here is the difference between G0 and G1. So, a few examples to see if I understand. In all cases, we start at (0,0).

    G0 X100 Y100
    This is a rapid move at max permitted machine speed. If max X and Y speeds are 1000mm/min, then Mach (or LinuxCNC, I presume) will move each axis at max permitted speed which actually moves the cutter at 1414mm/min across the bed (hypotenuse of right-angled triangle).

    G1 X100 Y100 F1000
    Mach/LCNC calculates the speed needed for each axis to achieve an actual cutting speed of 1000mm/min along the cutting path, which translates to a speed along each axis of 707mm/min, well within max permitted limits. So you could write G1 X100 Y100 F1400 and actually cut at that speed.

    What Jonathan has said is that (using these figures) the max cutting speed along either axis is 1000mm/min, but in principle you could ask for higher cutting speeds and if you are cutting along a diagonal, you might achieve them. What is also relevant, maybe, is that it doesn't matter if you have different max speeds along each axis; Mach/LCNC will do the sums needed to make sure you don't exceed either max although this may mean that rapid moves will achieve different speeds over the bed depending on direction.

    That all seems pretty straightforward, but it's the difference between G0 and G1 that I'm not quite clear about. G0 takes max speeds for each axis which you have defined for the machine, and will use them for G0 rapid moves and may even achieve speeds over the bed above the max for an axis if you happen to move along a diagonal. G1 needs a speed defined (either by setting it once in the gcode and using it as a default or by setting it in each G1 command) and will use this to calculate actual cutting speed whether along an axis or at some angle (or even around an arc), as long as max speed per axis is not exceeded. I think this means that if I stick a G0 move in at the top of my gcode file with a ridiculously fast F setting, then LinuxCNC will always give me the fastest rapids that preset max X and Y settings permit, but I should make sure that the F setting for g1 cuts is the actual cutting speed that I want. I use LinuxCNC, by the way, so maybe there is also a slight difference of interpretation compared to Mach 3.

    As far as the original question is concerned, all this means is that you can look at max speed and accel along each axis independently in order to avoid missing steps and other nastiness, and actual speeds over the bed are just an accident of geometry and don't affect design and tuning parameters. If you are missing steps along X, say, during rapid feeds you might choose to reduce accel or max speed on that axis but you don't necessarily have to change Y if that is working fine with its current settings. However, if you get skipping during cuts, then it's a bit more complicated and you probably need to reduce the F cutting speed parameter just to reduce load as you can't tune this by axis.

    And my apologies, guys - I was desperately trying to find an excuse for using nested integral signs and the odd greek symbol from the LaTeX library but just couldn't find a way to fit them in...
    Last edited by Neale; 16-01-2014 at 11:59 AM. Reason: Corrected typo - thanks, Jonathan!

  7. The Following User Says Thank You to Neale For This Useful Post:


  8. #26
    Quote Originally Posted by Neale View Post
    So you could write G1 X100 Y1000 F1400 and actually cut at that speed.
    I think you meant Y100 or X1000 there.

    Otherwise, nicely summarised.

    Quote Originally Posted by Neale View Post
    I think this means that if I stick a G0 move in at the top of my gcode file with a ridiculously fast F setting, then LinuxCNC will always give me the fastest rapids that preset max X and Y settings permit, but I should make sure that the F setting for g1 cuts is the actual cutting speed that I want.
    The 'F' command does not affect G0 moves. By definition, G0 moves the machine as fast as permitted by the motor tuning, unless you've overridden it using the feedrate adjustment, in which case the speed would be lower.

    Quote Originally Posted by Neale View Post
    As far as the original question is concerned, all this means is that you can look at max speed and accel along each axis independently in order to avoid missing steps and other nastiness, and actual speeds over the bed are just an accident of geometry and don't affect design and tuning parameters. If you are missing steps along X, say, during rapid feeds you might choose to reduce accel or max speed on that axis but you don't necessarily have to change Y if that is working fine with its current settings. However, if you get skipping during cuts, then it's a bit more complicated and you probably need to reduce the F cutting speed parameter just to reduce load as you can't tune this by axis.
    Yes, that's correct.

    Quote Originally Posted by Neale View Post
    And my apologies, guys - I was desperately trying to find an excuse for using nested integral signs and the odd greek symbol from the LaTeX library but just couldn't find a way to fit them in...
    Here's an easy way to get some different symbols in... derive a formula to find the direction (angle) for which the machine can travel at the highest feedrate, for given X and Y rapid speeds.
    It's just occurred to me that you could actually do something useful with that formula - potentially surface your bed faster by using a raster pass set to that angle.
    Old router build log here. New router build log here. Lathe build log here.
    Electric motorbike project here.

  9. #27
    Ooh, an excuse for some calculus! That'll get 'em rolling in the aisles...

    Thanks for pointing out typo, Jonathan - correction made.

    On the F setting and G0, though - my comment was based on my experience with LinuxCNC, and I wonder if I have misremembered or LCNC works a little differently to Mach 3 (which seems from casual observation on this forum to be much more popular). If I type G0 commands into LCNC to move the machine "manually", my recollection is that it bitches if it has not seen a previous F setting in a G0 context. I tend to have to type something like "G0 X100 Y100 F1200". Once I've done that, I don't need the F parameter for subsequent G0 commands. In other words, it doesn't seem to default to the max machine speeds. The way you describe it makes much more sense and I wish it worked like that on my system but it doesn't seem to. I'll have to experiment - I might have missed something subtle.

  10. #28
    Quote Originally Posted by Neale View Post
    If I type G0 commands into LCNC to move the machine "manually", my recollection is that it bitches if it has not seen a previous F setting in a G0 context.
    I don't remember... by all means check.
    According to the definition here, it shouldn't be a problem:
    G Codes

    Also notice that they mention what we just discussed - 'The maximum rapid traverse rate can be higher than the individual axes MAX_VELOCITY setting during a coordinated move.'
    Old router build log here. New router build log here. Lathe build log here.
    Electric motorbike project here.

  11. #29
    Quote Originally Posted by JAZZCNC View Post
    I see you like your new toy. . . . Lol . . .(Shame Nobody got F'#$ing clue what your saying. .)
    Hey Jazz, I was under the impression that you were into latex!!! G.

  12. #30
    Quote Originally Posted by GEOFFREY View Post
    Hey Jazz, I was under the impression that you were into latex!!! G.
    Nah but I do have a pallet of Latex I can sell you.???. . . .Gloves. . . .( Also Nitrile and Vinyl if that's your fetish. . Lol)

Page 3 of 5 FirstFirst 12345 LastLast

Similar Threads

  1. Workshop & Noise Help
    By kemo_2002 in forum Workshop & Equipment
    Replies: 7
    Last Post: 12-04-2014, 10:16 PM
  2. Dell monitor making a funny noise !
    By Lee Roberts in forum Monitors
    Replies: 1
    Last Post: 13-09-2013, 12:11 PM
  3. MDF CNC Router plans / parts for home build beginners
    By HiltonSteve in forum Gantry/Router Machines & Building
    Replies: 81
    Last Post: 10-06-2012, 02:33 PM
  4. Homepage occasionally displays incorrectly.
    By Jonathan in forum General Discussion
    Replies: 1
    Last Post: 08-06-2012, 09:15 AM
  5. Motor noise
    By M250cnc in forum General Electronics
    Replies: 4
    Last Post: 25-11-2010, 02:06 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •