Page 1 of 3 123 LastLast
Results 1 to 12 of 28

Thread: PID, brushed vs brushless

  1. #1
    Registered Swede's Avatar
    Join Date
    Dec 2003
    Location
    United States
    Posts
    383
    Downloads
    0
    Uploads
    0

    PID, brushed vs brushless

    I've been experimenting with two motors, one brushed, one brushless DC, both of similar torque characteristics. The brushless is definitely quieter and smoother. But I was very surprised when I did a fairly "scientific" test using software by Logosol.

    The servo amps are Logosol, and accept serial commands, outputting digital step/direction. A utility called DCN allows manipulation of the PID parameters, and further will graph position error during a sample move.

    I set up the software for a 4000 tick, high speed, high accel. move. For both, I manually manipulated PID to minimize error, yet keep the servos from vibrating themselves to death.

    The conclusion: The brushed motors perform significantly better than the brushless, at least in terms of position error. The graph of the brushed motor has the position error spiking upwards as the mass accelerates, then quickly correcting close to 0 for most of the move. As the mass decelerated, the error spiked in the other direction before settling down. The brushed graph was tighter and of lower magnitutde than the brushless.

    This was very surprising to me. I thought the lower inertia of the brushless would tip the test in its favor. Any suggestions or comments? I cannot see switching to the brushless unless I can get comparable performance.


  2. #2
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4,826
    Downloads
    0
    Uploads
    0
    I don't know, Swede, I've never tuned a brushless, but they are used successfully at higher speeds than brushed, so logic dictates that there must be a way.
    The graph of position error I try to keep within modest limits: it should look like a smooth exponential curve. If there is a spike, then the settings are too aggressive and hard on the machinery.
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  3. #3
    Registered
    Join Date
    Feb 2004
    Location
    Flagstaff,AZ
    Posts
    268
    Downloads
    0
    Uploads
    0
    Did you have a load on the motors? If not, you may get different results with a load.


  4. #4
    Community Moderator Al_The_Man's Avatar
    Join Date
    Dec 2003
    Location
    Canada
    Posts
    18,964
    Downloads
    0
    Uploads
    0
    One characteristic of DC brushless is the cogging at very low speeds (resembling a stepper) because of the construction and nature of switching, you would have to go to true AC servo's to get the comparable or better low speed performance. If you require very low speed operation with a BLDC it is best to use some form of reduction. Because BLDC and true AC servos have low armature mass and no brushes, higher speed and high acceleration are the recognized plusses.
    Al
    CNC, Mechatronics Integration and Custom Machine Design (Skype Avail).

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.


  • #5
    Registered Swede's Avatar
    Join Date
    Dec 2003
    Location
    United States
    Posts
    383
    Downloads
    0
    Uploads
    0
    The moves I programmed were pretty intense for this small machine, and under load only in the sense that the work table is the load, no cutting. In my research of PID and as much hands on play-time as I can do, I feel pretty comfortable tuning a servo with the software that I have. My understanding is to stress the machine for tests like this... high accel, decel, and high top speed. This will exaggerate errors as the mass is accelerated. Then, the PID parameters are slowly modified to minimize the error over the move. Minimizing position errors when the mill is stressed this way will result in even better performance during what might be called "normal" operation.

    I'll try to get some screen shots up to show what I refer to. I think that I am going to go brushless anyhow. Ultimately, they'll probably give better performance running actual g-code than the brushed.


  • #6
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4,826
    Downloads
    0
    Uploads
    0
    Sure, you should use high accel/decel and as high a speed as is practical.

    Doesn't a "spike" in a position error graph indicate overshoot? That may not be what you are referring to (I'll wait for your pics), but that is not something you want to allow.

    Do both motors have the same encoder resolution? I'm not sure of this, but I'm supposing that very high count encoders are used to give better control of the motor, not merely because we want to split hairs on positioning.
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  • #7
    Community Moderator Al_The_Man's Avatar
    Join Date
    Dec 2003
    Location
    Canada
    Posts
    18,964
    Downloads
    0
    Uploads
    0
    Swede, This is a copy of a Tuning manual I use on the Acroloop equipment. It has a built in 'scope in the software so you can see imediatly what the effect of tuning is.
    Although the parameters used here may not be exactly the same as is used in your case, it does give a pictorial view of what the effect is on changing tuning parameters and curing instability etc.
    They shoot for a following error of less than +/- 5 encoder counts for the entire range of RPM.
    The feedback encoder must yield at least 4000 counts/motor rev. Also the torque mode of operation is recommended.
    The PDF file is too large so here is the link ftp://www.compumotor.com/bbs/acr/torque.PDF
    Also see a very usefull ac servo Handbook ( you have to register with the site) by Sanyo Denki www.motiononline.com
    Al
    CNC, Mechatronics Integration and Custom Machine Design (Skype Avail).

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.


  • #8
    Registered Swede's Avatar
    Join Date
    Dec 2003
    Location
    United States
    Posts
    383
    Downloads
    0
    Uploads
    0
    Here's a screen shot of the PID utility w/ the brushed motor. I set distance (in encoder counts, 1000 line = 4000 counts = 1 turn), velocity, and accel/decel.

    Note the initial position error as the servo begins to move the table. It spikes to 25 counts as the table mass "lags" the commanded position. The system corrects and drives the error towards zero. As the table decelerates, the error occurs in the other direction, as the servo brakes the mass to a halt.

    The brushless curve is similar except it doesn't drive towards 0 as aggressively as this one does. Note the constant velocity error, which is +/- 5 counts, or +/- 0.0002".

    The KP, KD, KI, and IL are the primary parameters I have to mess with. It's fascinating stuff, I'm enjoying it thoroughly!
    Attached Thumbnails Attached Thumbnails PID, brushed vs brushless-dcn.jpg  


  • #9
    Moderator HuFlungDung's Avatar
    Join Date
    Mar 2003
    Location
    Canada
    Posts
    4,826
    Downloads
    0
    Uploads
    0
    Wow, Swede, you've really got KI cranked there. Is that a typical setting? I've never had anyone to bounce these adjustments off of, but I've always kept KI pretty low, like less than 10 or so. Otherwise, I'd get the mad oscillation effect. I'm open for comments and advice, though
    First you get good, then you get fast. Then grouchiness sets in.

    (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)


  • #10
    Registered Swede's Avatar
    Join Date
    Dec 2003
    Location
    United States
    Posts
    383
    Downloads
    0
    Uploads
    0
    This software has an "auto-tune" feature which will slowly adjust the parameters and zero-in on a minimum error state. The values it generates vary with the motion parameters I enter. A set of PID for slow motion will be different than one involving faster speeds. I've probably run 4 or 5 different servos through the auto-tune function, and one servo generated values near 8,000. The auto-tune works, but the servos are always "edgy" for lack of a better term. During rapids, they vibrate slightly, resonate, and simply aren't very smooth. I often back off on select values after auto-tuning to smooth it out. As I learn what the parameters do, I am becoming more comfortable with adjusting them manually.

    I'm wiring up yet another motor to see how it does. This one is a brushed NEMA34 which is overkill, but I'm curious to see if a more powerful motor will drop the overall error. Ultimately, when I get the mounting figured out, I'm going to test a pair of brushless vs. the brushed jobs that I have been using with a complex g-code.


  • #11
    Banned
    Join Date
    Apr 2004
    Location
    Norway
    Posts
    678
    Downloads
    0
    Uploads
    0
    Could you give us a block schematic of your setups?
    I'm a bit puzzled that you can drive a BLDC or a brushed DC using the same setup except the motor? It's a very interesting test. Please let us know more as you go.

    And kevincnc's comment may be a good point. Did you check that the ratio of inertia of the motor and the load is within the manufacturer's recommendations?

    Also make sure your motor mounts, couplings etc. is very stiff. If not, it will throw in a lot of unknown's. Especially when doing a step function that is very demanding also on the mechanics. You are not tuning the motor(s), but a complete system of interacting masses, compliance and other factors.


  • #12
    Registered
    Join Date
    Jun 2003
    Location
    Boalsburg PA
    Posts
    851
    Downloads
    0
    Uploads
    0
    I assume he's using the same brand, but different drives for the brushed and brushless. Of course, a brushless drive can handle a brushed motor given the proper programming -- there just would be an extra set of output transistors. AMC, Compumotor, MTS, and Electrocraft drives I have in my basement will do that.

    Integral gain will add oscillation and the derivitive gain would be all good except it adds noise.


  • Page 1 of 3 123 LastLast

    Similar Threads

    1. brushless motor as spindle?
      By limbo in forum DIY CNC Router Table Machines
      Replies: 24
      Last Post: 03-02-2005, 02:01 AM
    2. PID loop sample rates and resolution
      By arvidb in forum General Electronics Discussion
      Replies: 10
      Last Post: 11-12-2004, 06:09 PM
    3. Brushed vs Brushless
      By Swede in forum General Electronics Discussion
      Replies: 7
      Last Post: 09-07-2004, 01:01 AM
    4. AC Brushless vs DC Brushless
      By h3ndrix in forum General Electronics Discussion
      Replies: 5
      Last Post: 03-25-2004, 10:29 AM
    5. Pid
      By Swede in forum General Electronics Discussion
      Replies: 1
      Last Post: 01-04-2004, 02:22 PM

    Posting Permissions


     


    About CNCzone.com

      We are the largest and most active discussion forum from DIY CNC Machines to the Cad/Cam software to run them. The site is 100% free to join and use, so join today!

    Follow us on

    Facebook Dribbble RSS Feed


    Search Engine Friendly URLs by vBSEO ©2011, Crawlability, Inc.