585,758 active members*
4,594 visitors online*
Register for free
Login
Results 1 to 9 of 9
  1. #1
    Join Date
    Sep 2008
    Posts
    100

    Emc and cnc drive.com closed loop

    Hi,

    I have a machine under Mach control at the moment, I use whale 3drives and ahdbb, dc brushed servos and adjustable resolution encoders.

    I aim for 50-80 steps/mm, rapids in the 10m/min range, cuts up to 4m/ min

    I need accel in the 40milli g range, my motioneering software suggests the motors are capable.

    Currently I cannot tune the pid loop in the drives to achieve this without a huge following error.

    I have been looking at a motion control card to remove the loop from the drive to try to improve this but I was wondering if ECM can help, I have read all about the real time kernel in the past but have been guilty of being comfortable with Mach.

    Can emc help? How would I go about connecting the encoders to the pp hardware wise?

    Do I then use the drives in torque mode as with a motion control device?

    Thanks a lot

    Matt

  2. #2
    Join Date
    Sep 2005
    Posts
    322
    I'd take a very close look at your motors vs. inertia calculations, and include friction values for your ways/linear guides. Make sure your power supply is capable of driving the motors to their full potential, and make sure you're not accidentally set to limit current on the Whale drives.

    Now the bad news... you can't remove the loop from the Whale drives. Like all (as far as I know) CNCdrives products, they must have an encoder connected to function. If you remove it, they'll just sit there in error mode regardless of what commands you send.

    A motion control board will only help here if you're having issues with the step command rate. For instance, if you have your encoders/gearing set up so that 1 step equals 0.02mm, to perform a rapid move of 10m/minute your hardware has to issue steps at a rate of 8.33khz ((50 steps/mm * 1000 * 10)/60)... if it can't do that, you won't get that speed, and it can also limit acceleration somewhat, depending on whether you expect to reach your max speed in a rapid move.

    A problem I had with the DG2S drives (successor to the Whale) was that I was using too high an encoder resolution. I have the variable resolution encoders too, and I was using them at the 2048 pulses/rev mode, which with my belt gearing, ballscrew and the 2x multiplier built into the drives gave me 40960 counts/inch. This was so much that the drives oscillated at the slightest touch... the only way I could get them to not do so was to use a very low gain, which kept me from accelerating at any reasonable speed. I turned down the encoders and retuned the drives and quadrupled the acceleration.

    Try changing the gain in your system significantly, and see if it helps your acceleration as much as you want. If it helps but you get oscillation, try lowering your encoder pulse count. I went with 512ppr, which is still plenty of resolution for my milling machine - about 0.0001 inch.

    Erik

    PS: Almost forgot. Emc (now called linuxcnc) is as capable as Mach and more, but it's got a much steeper learning curve. I don't think it would help you all that much in this case, unless your hardware (cpu and memory) are limiting Mach excessively.

  3. #3
    Join Date
    Sep 2008
    Posts
    100
    Thanks Erick

    I followed your thread on the encoders and tried the same but it made no difference to me.

    I have also tried increasing the gain a lot to see if it provides the response I would like, no it does not.

    If I sent you detailed specs of my machine and motors would you be interested in taking a look?

    I have been speaking with dmm tech and they have run tests to demonstrate that their 750w servos would Provide the performance I require and emc wasmy only other thought on the subject.

    Matt

  4. #4
    Join Date
    Sep 2005
    Posts
    322
    I'd be happy to have a look at your specs. If you're not shy, post them here and others will look as well. Otherwise, feel free to PM them to me.

    Erik

  5. #5
    Join Date
    Sep 2008
    Posts
    100
    Im not really in a position to be shy, i need help!

    My gantry is an old esab tracing machine cut down, it is about 7 feet wide, with two steel wheel running one side on top of a piece of machined railway track, one wheel on the other side, there are 4 bearings running on the sides of one side of the railway line to hold the gantry square to the railway line, it is exceptionally rigid, the gantry is somewhere in the region of 500kg.

    The y carriage runs on bearings around a machined square, it weighs about 50kg.

    Both directions use rack and pinion to drive, the x has 2.5mod and im not certain about the y as it is in inches, both drive with pinions with pith diameters around 30mm.

    The x axis is double drive, the y is single.

    The motors are electrocraft e586 brushed dc servo motor connected to a 10 : 1 low backlash planetary gearbox and then reduce a further 6 : 1 via two gears spring loaded together.

    here are the motor specs

    Cont Stall Torque 29 oz-in
    peak 240 oz-in
    max voltage 60vdc
    max rpm 6000
    Kt 9.6 oz-in/amp
    Ke 7.1 V/krpm 7.1
    inertia .0052 0z-in-sec^
    tach 14v/1000rpm
    armature ind. 3mH

    My supply volatge at the drives is 66vdc 1000w available.

    Im pretty sure my max current is set at 4.2 amps

    My drives are whale 3

    My steps/mm are approx 75 on the x and 125 on the y ( due to having changed encoder resolution on the x)

    using mach via the pp with a hd breakout board

    Anything else you need to know just ask

    Matt

  6. #6
    Join Date
    Sep 2005
    Posts
    322

    Ok...

    So, looking at the X axis first, your 2.5mod gear has an outer diameter of about 45mm, or 30mm pitch. That gives it about 95mm circumference, so to travel 1m, it has to rotate about 10.5 times. To travel 10m in one minute, it has to rotate 105 times.

    You're doing some heavy gearing to move that gantry around, total of about 60:1 combined. Your servo geared down has to rotate 60*105 times to move 10m. That's 6300. Based solely on the max speed of your servo, we can see you have between 9 and 10 m/minute (max for the servo is about 6000 rpm) speed, which is about what you wanted.

    Whether you can reach that speed depends on whether you can generate enough steps fast enough to get that rpm, and if your servos can accelerate fast enough in the space they have to reach that speed.

    For the steps, we look at the whale drives. Steps per mm of axis move for X depends on your encoder settings. Let's assume you're trying for about 125 steps/mm. On cncdrives' hardware, one step equals one encoder pulse. With your gearing, one rotation of the servo equals 1.58mm of axis move, which means you need about 2/3 of a rotation for 1 mm. With encoders set to 100 pulses/rev, the 2x logic in the drive makes one servo rotation equal 200 steps, so 1mm equals 132 steps.

    To move at full speed (6000 rpm) with that encoder setting, your step generator has to generate 6000 * 200 steps/minute, or 1.2million pulses/minute, or 20,000/second. That's within Mach3's pulse rate range, assuming Mach3 is working ok.

    Higher encoder settings will require higher rates. 1024 ppr on the encoder with the 2x logic means 2048 steps/rev, or 204khz pulse rate to reach 6000 rpm. Max speed for the Mach3 kernel per the docs is 100,000hz, so if your encoder is set to anything more than 512ppr, Mach can not reach that speed, and it'll go even slower if your control PC can't reach Mach3's max pulse speed. This is because for the Whale drives, 1 step equals one encoder count.

    If you suspect this is the case, you can try setting your whale drives to multiply step input or turn down the encoder resolution to see if it increases speed.

    As far as acceleration goes, the equation for torque to move a gantry can be found here: Torque and linear motion formula

    I'll do it in imperial units since that's what the web page and your servo motor units ratings are in.

    The formula is Torque = ((weight)(inches/revolution))/2(pi)(efficiency)

    If we assume 1100lbs weight (500kg), inches/rev of 0.0623 (95mm/60 converted to inches to get rotations of the drive train per inch of movement), and an efficiency of 90% (possibly too high), we get:

    1100*0.0623/6.28*0.90=12.125 lb/in of torque to move that gantry. That's about 194 oz-in. Your servos are rated at 240 oz-in peak, but they're not supposed to operate at peak for more than 1% of the time at most... if you're really moving a 500kg gantry, you're pushing your servos very, very hard. If that's the case, it's not surprising it would accelerate very slowly and move slowly, at least in that axis.

    Did I misunderstand the weight you're moving?

    Erik

  7. #7
    Join Date
    Sep 2005
    Posts
    322
    Also, your power numbers don't seem to add up.

    If your max amps is set to 4.2 on the drive, then the most torque you can get would be 40.3 oz-in. I'm not sure you could move your gantry at all if it's really that large.

    At max torque your servos could briefly draw 25 amps, but since your power supply is too small for that (it's only 1000w, needs 1500) the most your servos could draw for more than a very brief time is 15 amps, and that's one axis at a time. So you're not getting the peak power from the servos, most likely.

    Do your power supply and servos run hot?

  8. #8
    Join Date
    Sep 2008
    Posts
    100
    Thanks erik, thats the most useful info ive heard in a long while!

    I certainly havent noticed the drives or the power supply running hot but i dont often run at high speeds for a long time.

    Bear in mind in all of the calculations that there are 2 motors on the x axis so only 250kg can be attributed to each.

    Is the gantry really that heavy? Yes i think so, i cut about 1m off the end of the cantilever which i could just lift so was 50-75kg, there is 3m of it left, 150-200kg, the box section with the wheel in i wouldnt try to lift so must be 100kg, the triangular gusset would be 40-50kg and the idling wheels must be 50kg, the y carriage must be 50 ish kg, totalling 400-450kg.

    I recall some uncertainty when i set the max current in the drives so working on the conservative side, what number would you set it at?

    Clearly i may well be limited by my power supply if i raise the current setting.

    Thanks for the help

    Matt

  9. #9
    Join Date
    Sep 2005
    Posts
    322
    Well, if my math is right, you need all the torque you can get, so I'd raise the current limit in the drives to the max your power supply can deliver.. if you run 2 axes at once, only the X (which is the heaviest, right?) should need a lot at any one time. I'd set that one to allow up to 15 amps and see if it makes a difference in your acceleration.

    Again, IF my math is right it sounds like your servos are rather underpowered for that job. 60 volts and 4.2 amps is about 252 watts, so I can believe the bigger 750W servos would do a better job. Of course, you'll need a new power supply too, probably about a 1.5 - 2kw unit.

    I have a long term project in the planning stages that has a similar gantry weight, and for that one I'm going to be using servos rated at about 1.5kw, with about 5 kw peak power. Mine won't be geared down as much, though.

    Erik

Similar Threads

  1. Replies: 0
    Last Post: 03-13-2012, 11:15 PM
  2. Closed Loop Vector Drive for Spindle Motor
    By vishnu in forum Uncategorised MetalWorking Machines
    Replies: 0
    Last Post: 04-27-2011, 11:22 AM
  3. question on closed loop vs open loop (servo systems)
    By boonie in forum Servo Motors / Drives
    Replies: 20
    Last Post: 11-09-2007, 07:30 PM
  4. Looking for a closed loop AC motor/drive combo
    By pstockley in forum Phase Converters
    Replies: 4
    Last Post: 12-06-2005, 08:40 PM
  5. Closed Loop Driver vs. Closed Loop Computer
    By ojibberish in forum Gecko Drives
    Replies: 3
    Last Post: 06-08-2004, 05:30 PM

Posting Permissions

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