585,951 active members*
3,721 visitors online*
Register for free
Login
Results 1 to 14 of 14
  1. #1
    Join Date
    Jan 2012
    Posts
    222

    A Axis Rotation Speed

    Hello!

    I am having trouble with my new A axis. It is a Sherline rotary table (3700) mounted to my X3 via A2ZCNC's tool plate. The A axis will jog and shuttle very fast so I know that its close to being set up correctly. If I tell it to turn 360 it does one revolution and it will move with alarming speed if told to do so.

    The problems arise when I feed in a file to cut. For some reason the file makes the A axis spin so slowly that it is just crazy! I will include the file below but instead of 15 inches per minute its more like 15 degree per minute! When it hits line 6 its over with, it feels like it will take 2 years to cut this despite the fact the CAM software says 2 hours.

    So, is this a LinuxCNC set up thing I've messed up or did the CAM software write out the wrong instructions?

    %
    G17 G20 G40 G49
    G64 P0.01
    G0 X0.0000 Z0.9995 A0.0000
    G1 Z0.8045 F15.0 S2000
    G1 A360.0000 F15.0
    G1 X0.0123 F15.0
    G1 A0.0000 F15.0
    G1 X0.0368 F15.0
    G1 A360.0000 F15.0
    G1 X0.0613 F15.0
    G1 A0.0000 F15.0
    G1 X0.0858 F15.0
    G1 A360.0000 F15.0
    G1 X0.1103 F15.0
    G1 A151.1688 F15.0
    G1 Z0.8071 A149.6104 F15.0
    G1 Z0.8090 A148.0519 F15.0
    G1 Z0.8094 A146.4935 F15.0
    G1 Z0.8093 A144.9351 F15.0
    G1 Z0.8086 A143.3766 F15.0
    G1 Z0.8073 A141.8182 F15.0
    G1 Z0.8056 A140.2597 F15.0
    G1 Z0.8045 A138.7013 F15.0

  2. #2
    Join Date
    Jun 2007
    Posts
    61
    Check in your configs. Set A axis to angular and set to degrees per second. I set mine up by increasing the speed until it failed and then backed off 20%. Notice it is degrees per second, not minute.

    Ed.

  3. #3
    Join Date
    Jan 2012
    Posts
    222
    Thanks atex57,

    Sadly, the problem comes from the RS274NGC specification, which is a NIST standard. Since NIST started LinuxCNC as EMC way back when, LinuxCNC is RS274NGC compliant.

    RS274NGC states that A, B and C axis rotation is in degrees. The rest of the world uses distance/time. As a result, LinuxCNC's use of a A axis is horribly limited if not completely unusable. So you cannot mix axis like X, Y or Z with the A, B or C movements because they take two different units of speed! Only one F function is allowed per line. If you mix moves to one line, you either over speed the X, Y or Z or you wait for 9.4 degrees per minute to complete a 360 degree travel.

    There is a reason very few use this software. I guess you get what you pay for, right? So, I'm looking at better driver software. Get rid of the open source crap. What a waste of time!

  4. #4
    Join Date
    Jul 2003
    Posts
    1754
    I am paraphrasing and might not have it 100% but as I understand it.. If a rotory axis movmemnt is combined with xyz motion - the feed is along the xyz trajectory (in/min) and the rotory axis will start and stop with that motion. If a rotory move is comanded by itself - the F is in deg/min...
    CNC Machine Overview

    Normally combined rotory/linear motion is done in 'inverse time' mode...
    G Code Overview
    G Codes
    sam

  5. #5
    Join Date
    Jul 2003
    Posts
    1754
    Really? Lots of people are using mixed rotory and linear axis... Like I say - when doing motion like this - inverse time mode is normally used..

    PMC Mini 5-axis CNC machining (??????) - YouTube

    sam




    Quote Originally Posted by subnoize View Post
    Thanks atex57,

    Sadly, the problem comes from the RS274NGC specification, which is a NIST standard. Since NIST started LinuxCNC as EMC way back when, LinuxCNC is RS274NGC compliant.

    RS274NGC states that A, B and C axis rotation is in degrees. The rest of the world uses distance/time. As a result, LinuxCNC's use of a A axis is horribly limited if not completely unusable. So you cannot mix axis like X, Y or Z with the A, B or C movements because they take two different units of speed! Only one F function is allowed per line. If you mix moves to one line, you either over speed the X, Y or Z or you wait for 9.4 degrees per minute to complete a 360 degree travel.

    There is a reason very few use this software. I guess you get what you pay for, right? So, I'm looking at better driver software. Get rid of the open source crap. What a waste of time!

  6. #6
    Join Date
    Jun 2007
    Posts
    61
    I think you might be confusing things. I am using EMC2 ver 2.3.4 which is rather old but is applicable. In the Trajectory Planner section I have the "default_angular_velocity" set to 25 and in the #fourth_axis section it is "Type=angular" and "max_velocity=25". The 25 is degrees per second. What is the maximum speed your A axis can do?

    Any feed rate you give is along the X,Y, or Z axis and it waits for the A axis if it cannot keep up. Simultanious X,Y,Z,and A moves are possible and I have done it as an experiment.

    If you tell it to go X4a120 it will move to x4 while turning A at a speed to match,You cannot mix F rate for X and A on the same line without conflict.

    LinuxCNC is VERY capable but you must have the depth and put the effort to learn into it It has been set up in fashions that Mach3 can only hope for, BTW Mach is a direct descendant of the NIST EMC.

  7. #7
    Join Date
    Jun 2007
    Posts
    61
    I see Samco beat me to quite a bit of it.

    Subnoize: Please post your .ini files and maybe we can get you set up better.

    Ed.

  8. #8
    Join Date
    Jan 2012
    Posts
    222
    I will post it in a moment but another thing, what CAM app do you all use? Is there a 4 axis CAM app that uses degrees on a A axis by itself (aka RS274NGC)?

    I researched what I though was a pretty exhaustive list of software and the cheapest CAM with 4 axis support (and not even true 4 axis) was DeskProto. Did I miss something?

    Ok, INI here in a bit... got git over there and get it booted...

  9. #9
    Join Date
    Jan 2012
    Posts
    222
    # Generated by stepconf at Mon Jun 3 19:06:40 2013
    # If you make changes to this file, they will be
    # overwritten when you run stepconf again

    [EMC]
    MACHINE = X3
    DEBUG = 0

    [DISPLAY]
    DISPLAY = axis
    EDITOR = gedit
    POSITION_OFFSET = RELATIVE
    POSITION_FEEDBACK = ACTUAL
    MAX_FEED_OVERRIDE = 1.2
    INTRO_GRAPHIC = linuxcnc.gif
    INTRO_TIME = 5
    PROGRAM_PREFIX = /home/john/linuxcnc/nc_files
    INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
    PYVCP = custompanel.xml

    [FILTER]
    PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
    PROGRAM_EXTENSION = .py Python Script
    png = image-to-gcode
    gif = image-to-gcode
    jpg = image-to-gcode
    py = python

    [TASK]
    TASK = milltask
    CYCLE_TIME = 0.010

    [RS274NGC]
    PARAMETER_FILE = linuxcnc.var

    [EMCMOT]
    EMCMOT = motmod
    COMM_TIMEOUT = 1.0
    COMM_WAIT = 0.010
    BASE_PERIOD = 100000
    SERVO_PERIOD = 1000000

    [HAL]
    HALUI = halui
    HALFILE = X3.hal
    HALFILE = custom.hal
    POSTGUI_HALFILE = custom_postgui.hal

    [HALUI]
    # add halui MDI commands here (max 64)

    [TRAJ]
    AXES = 4
    COORDINATES = X Y Z A
    MAX_ANGULAR_VELOCITY = 50.00
    DEFAULT_ANGULAR_VELOCITY = 5.00
    LINEAR_UNITS = inch
    ANGULAR_UNITS = degree
    CYCLE_TIME = 0.010
    DEFAULT_VELOCITY = 0.20
    MAX_LINEAR_VELOCITY = 2.00

    [EMCIO]
    EMCIO = io
    CYCLE_TIME = 0.100
    TOOL_TABLE = tool.tbl

    [AXIS_0]
    TYPE = LINEAR
    HOME = 0.0
    MAX_VELOCITY = 2.0
    MAX_ACCELERATION = 60.0
    STEPGEN_MAXACCEL = 75.0
    SCALE = 2032.004064
    FERROR = 0.05
    MIN_FERROR = 0.01
    MIN_LIMIT = -1.0
    MAX_LIMIT = 13.0
    HOME_OFFSET = 0.0

    [AXIS_1]
    TYPE = LINEAR
    HOME = 0.0
    MAX_VELOCITY = 2.0
    MAX_ACCELERATION = 60.0
    STEPGEN_MAXACCEL = 75.0
    SCALE = 2032.004064
    FERROR = 0.05
    MIN_FERROR = 0.01
    MIN_LIMIT = -1.0
    MAX_LIMIT = 5.0
    HOME_OFFSET = 0.0

    [AXIS_2]
    TYPE = LINEAR
    HOME = 0.0
    MAX_VELOCITY = 0.4
    MAX_ACCELERATION = 60.0
    STEPGEN_MAXACCEL = 75.0
    SCALE = 2612.57665371
    FERROR = 0.05
    MIN_FERROR = 0.01
    MIN_LIMIT = -7.0
    MAX_LIMIT = 7.0
    HOME_OFFSET = 0.0

    [AXIS_3]
    TYPE = ANGULAR
    HOME = 0.0
    MAX_VELOCITY = 50.0
    MAX_ACCELERATION = 120.0
    STEPGEN_MAXACCEL = 150.0
    SCALE = 80.0
    FERROR = 1
    MIN_FERROR = .25
    MIN_LIMIT = -9999.0
    MAX_LIMIT = 9999.0
    HOME_OFFSET = 0.0

  10. #10
    Join Date
    Jun 2007
    Posts
    61
    Two things catch my eye.

    Under [TRAJ] it lists default angular velocity as 5.0 which is 5 degrees per second, I see max angular is set to 50. mine is set to 25 and gives a little over 4 RPM.

    Under [AXIS_3] it lists scale as 80, you need your steps per revolution in there, mine uses 13333.33.

    As for CAM, my uses are simple enough that I program by hand, no recommendations.

    What drives are you using?

    Ed.

  11. #11
    Join Date
    Jan 2012
    Posts
    222
    My drivers and steppers came from here;

    X3 CNC Conversion Stepper Motor Driver Kit - X3 CNC Conversion Stepper Motor Driver Kit

    The fourth axis is an extra smaller driver and stepper listed here. My LinuxCNC setup for the A axis was blessed by Sherline in general (aka they helped me over the phone). Its their PN 3700 CNC table. I might go lower on the max, it does scare the pooh out of me when it does rapids or the jog it set to high. I can just see getting a finger caught in it.

    I am doing very complex 4 axis stuff so hand coding is out of the question until I know a bit more about what I am doing. My current subject is Venus De Milo (just her head for the moment, and maybe one day I will give her her arms back ;-). The last file was 22 megabytes and the surface detail wasn't really what i wanted. Just the standard 3 axis flat cut of her was over 9 megs.

    So, while every cut won't be 4 axis, I'm hoping most will be. I don't really see me doing this by hand. That is probably why you haven't had problems like I have had. The vast majority of the CAM app guys under $5,000 don't even recognize the need to support RS274NGC, too small a market for them i guess. Imagine my surprise to find this out! What was worse was for a long period, nobody even would answer me. I found out 90% of this by trail and error and through the NIST.

    So, really my problem is a CAM issue no so much a LinuxCNC issue. From what the CAM developers told me (basically go buy a real CNC machine) I was pooh out of luck and LinuxCNC was worthless anyways. To Lex Lennings credit, the guy building DeskProto, he said he would look into supporting it in the next version. That is when I started looking around for other software again because I can't wait a year or longer. I emailed a whole bunch of company's and lost all hope!

    So companies where just plain ugly, others were nice and asked $10,000 to make my problems go away....

    Thank you guys for answering my questions though!

  12. #12
    Join Date
    Jul 2003
    Posts
    1754
    I think this is inverse time mode which is something linuxcnc can do...


    G93 - is Inverse Time Mode. In inverse time feed rate mode, an F word means the move should be completed in [one divided by the F number] minutes. For example, if the F number is 2.0, the move should be completed in half a minute.

    When the inverse time feed rate mode is active, an F word must appear on every line which has a G1, G2, or G3 motion, and an F word on a line that does not have G1, G2, or G3 is ignored. Being in inverse time feed rate mode does not affect G0 (rapid traverse) motions.
    Quote Originally Posted by subnoize View Post
    The rest of the world uses distance/time. As a result, LinuxCNC's use of a A axis is horribly limited if not completely unusable. !

  13. #13
    Join Date
    Jan 2012
    Posts
    222
    Quote Originally Posted by subnoize View Post
    So, really my problem is a CAM issue not so much a LinuxCNC issue. From what the CAM developers told me (basically go buy a real CNC machine) I was pooh out of luck and LinuxCNC was worthless anyways. To Lex Lennings credit, the guy building DeskProto, he said he would look into supporting it in the next version. That is when I started looking around for other software again because I can't wait a year or longer. I emailed a whole bunch of company's and lost all hope!
    I want to apologize to Lex Lennings and to commentators to this topic here on CNCZone. Lex feels that I made him seem hostile towards LinuxCNC when in fact he has been nothing but supportive.

    DeskProto is a very cool product with an impressive feature set. The customer support is top notch and the man behind it is passionate about his work.

    I believe that DeskProto may eventually support these protocols (RS274/NGC) and would recommend it even if you use LinuxCNC today. I have been very happy with the 3 axis cuts DeskProto created and highly recommend it to people who are new to this hobby.

  14. #14
    Join Date
    Aug 2012
    Posts
    181
    I agree, it's a very cool product.

Similar Threads

  1. VH 65 A axis rotation
    By timo2le in forum Fadal
    Replies: 5
    Last Post: 09-08-2018, 10:13 AM
  2. 4th Axis rotation speed
    By LRF in forum Tormach Personal CNC Mill
    Replies: 18
    Last Post: 04-23-2013, 01:04 AM
  3. Rotating speed for rotation nut.
    By dimasik3 in forum Linear and Rotary Motion
    Replies: 0
    Last Post: 04-30-2011, 09:31 PM
  4. B axis rotation
    By fitzpatrick2362 in forum MetalWork Discussion
    Replies: 0
    Last Post: 10-12-2009, 12:06 PM
  5. X axis to A rotation
    By quemast in forum G-Code Programing
    Replies: 6
    Last Post: 06-18-2006, 02:36 AM

Posting Permissions

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