586,051 active members*
3,712 visitors online*
Register for free
Login
Results 1 to 5 of 5
  1. #1
    Join Date
    Dec 2006
    Posts
    2

    R2010 Tuning Software

    I'm trying to tune a set of 2010 drives running some N42 servos (6A/80V/4000rpm, W/500 line differential encoders) on a bridgeport type mill.

    The bdi pdf file is very vague about many items & I'd like to get some clarity here for all to be able to search & refer to later.

    1. SPI interpolation points, this affects the "effective servo loop time", since no one uses SPI except in this tuning utility, what should this be set at to have relevant results when using the drive in step/dir mode?

    2.Is there a way to determine the optimum servo loop time for a system? (it seems to have a huge effect on the tuning!)

    3. Current limit, what should this be set at, continuous rated current or peak current or something else? The instructions just say that it is represented in .2A increments. I have the current limit set to the rated current for the motor/.2, yet I still get overcurrent trips at times when the current is apparently well below the threshold, and the peak current displayed goes well above the value entered. I also noted that set too low it has a detrimental effect on performance so knowing what to set it at to balance performance & protection is essential information.

    4. What is the recommended tuning procedure, I know it should be P, then D / D-Index, then I, but what benchmarks are you looking for at each stage? How do you know when you have enough (or too much) P gain to move on?

    4. D-Index, What is the benefit of the D-Index value? Is it desirable to have a higher or a lower number, or more for one type of system and less for another? It looks like the D-Index just backs off the D setting which seems redundant without knowing the purpose of the factor.

    5. The step response tuning is an SPI function that gives a virtual instant jump in commanded position to the controller, but how can you test the drive under normal (step/dir) operating conditions to check for following error along the path of a move? The step response tuning doesn't really ensure that the path is being followed & the test profiles are SPI as well. Also I've actually had stable results in the step response process that looked like the graphs in the bdi, then with a test profile move it proved unstable.

    6. Finally, I can't find many posts of what the K factors are for given installations, it seems to me that there must be some commonality for similar installations and it may be helpful to people to know what others have done. I can't believe it is totally "finger in the wind" as some have posted, there must be a predictable relationship between the setpoints.

    I'd appreciate it if other users would reply to this & list their installation results as much as possible including:

    machine type
    drive (i.e. 2010, 2020, etc.)
    servo continuous ratings i.e V/A/RPM
    encoder lines, 4x or 1x reading (I think it effects the loop time) or PPR instead of lines
    servo loop time (& interpolation points)
    current limits
    Kp
    Ki
    Kd/Kd-Index
    a sample of your end results, i.e. following error at a given test move.

    ...and whatever else you think may have had a bearing on your system tuning.

    I'll be posting mine when I get it done.

  2. #2
    Join Date
    Dec 2006
    Posts
    2

    Results

    After much trial & error I discovered that the encoder selections & loop timing are as important a factor as anything else in tuning these drives.
    Since I want high speed on this machine I have to compromise accuracy to get it down to a manageable pulse rate. What I did initially that set me back was to set the encoder to read in lines instead of in 4x lines. In this set-up I was able to set Kp at 30,000 (max) and still not achieve a non-settling oscillation. Also, even with everything else "cranked up" it still wasn't performing smoothly.
    It dawned on me that I could set the encoder to a higher resolution (4x) and then set the pulse multiplier to 4 to achieve the same result in terms of pulse rate vs velocity. The effect is that the drive is using 4x higher feedback resolution even though my controller doesn't have to output 4x the pulse rate. This made a huge difference in tuning. I was then able to reach P only instability (which is the normal benchmark in analog tuning) at Kp 4000. Now I felt like I was getting somewhere.
    The D factor with some D-Index was very effective at dampening the P, however at a certain point it starts causing growling & I discovered that got worse with a higher D-Index number. I eventually went with a 0 there since although it made the final settling perfect, it also made less than rapid speed motion rough & growly.
    The I factor is an odd one, It seems to be a time/following error amplifier, in that it amplifies the output on the basis of how long it has been in error rather than how great the error is like the P factor. I was shy of this one because in some earlier attempts it introduced wild oscillations at very low numbers, but I think that with the servo loop period set correctly you can turn up this gain to great effect.
    The loop time was the most curious. The loop time appears to have 2 effects. One is that the I gain seems to be amplified by a lower loop time & if the loop time is too low then the I gain causes instability, which if this is a time factor makes sense. The second & perhaps not unrelated to the first is that a higher loop time introduces a dampening effect, and it seems more natural than the dampening of the D factor, too much, however reduces accuracy. There was a point on the scale where the D factor gain ceased to improve performance, but the system clearly still needed more dampening, increasing the loop time did the job.
    Lastly, I didn't tune it so much with the step response screen, I started there, but found that results that looked like the bdi file there didn't necessarily translate into smooth and accurate motion at slower than full speed moves. I ended up in the test profile screen using trapezoidal & sinusoidal moves & watching the +/- error peaks as well as listening to the motor sounds while moving. This was much more effective after the initial P & D tuning in the step response screen. I ended up higher than I expected judging by the bdi info.
    Lastly though I still would like some guidance on the current limit setpoints. During the process I got frequent overcurrent trips, invariably at times when the drive was in a steady state, drawing only a fraction of an amp, why? Also the software needs a couple important updates, #1, if a fault occurs you have to reset the drive & loose all your current values to continue, this is very annoying, it should hold the present values during a reset, or the current reset could remain as is & you should be able to clear the fault by another means that doesn't wipe out your current values. #2 is the test profile data entry, it is too cryptic, you should be able to fix a distance of travel in counts, then vary the time to complete & acceleration rate &/or max velocity
    and accel rate. The current system is quite difficult to get the results you want.

    End results:
    Bridgeport type knee mill w/4:1 belt reduction on screws
    R2010 brush type drive running at 82v nominal
    Motor = 80V, 6A cont. 53A peak 4k rpm
    Encoder= 500line in 4x mode = 2000 PPR
    Loop time = 1ms (1 point interpolation also = 1ms effective loop)
    Current limit = 40 (*.2=8A) ( I think this is too low but ?)
    Kp = 8000
    Ki = 900
    Kd = 9000
    Kd Index = 0
    Summary, Very tight, I cannot turn the motor shaft by hand more than 2 counts of error & even that is difficult. In rapid moves I repeatably get no more than a +/- 8 count error at rapid & +/- 4-5 in slower moves with an accel of 100 (per the profile page). 1 count = .0001" on this machine. I'm not exactly sure what the actual rapid rate is because the displayed velocity on the profile page is not accurate, except maybe for the square profile which isn't a profile you can test error with. All in all it is tight & fast with a smooth motion.

  3. #3
    Join Date
    Oct 2003
    Posts
    170
    Foxprints and others:

    I feel I should at least offer a little imput here. I'm afraid you may be a little disappointed with what I have to offer, however.

    Foxprints has really given a very detailed report here. Thank you for this.

    I seldom go to the trouble getting the tuning as precise as you did. I do rather quick tests on drive /motor combinations and in my test environment do not normally bother to get it just right.

    I always recommend that users just begin to tune slightly, say do a quick tune with kp first, then kd, spending only minutes doing this. Then try different servo loop times, and doing both step and run profile tests select the servo loop time that seems to work best, trying each one out. For small light motors, try fast servo loop times. For larger motors, try longer times like 1 ms.

    Then I go about tuning the pid.

    As far as the current limit is concerned, I only want to give you the limits that I have found work for me. I would not try higher than a setting of 35 on the R2010 drives. Some are getting away with higher settings and it is hard for me to know what circumstances this works ok with. In general terms, I consider this kind of an average current over a brief period of time. It is not the peak current that the drive can put out instantaneously, and it is not the average current over all. If you run the cutting tool into a wall and let it just keep struggling to push the wall out of the way, the current will rise to the current trip point, and after two seconds it will fall back to the current fall back setting, which I usually set to 10. It allows just enough power to move the tool back off the "wall." I think with lower voltages, the current trip can be set a little higher.

    On the R2020 drives, I have blown drives doing the above test at 95 vdc, and with the current trip setting to 75. I think it should be able to do better than this, but the heat sinking capacity of the anodized aluminum plate that the drive is mounted to cannot sink the current fast enough. If you put your finger on the back of the plate and hold it there while you crash the cutting tool into the wall, the mosfets will heat up the plate so hot before two seconds ever get there that the drive will blow with a setting of 75 and a VM of around 100 vdc. Vladimir is working on an improvement to this on the next production run of the R2020 drives. For the R2020's I limit my current trip settings to 60 with around 95 volts VM. Again, I set the fall backs to a setting of 10.

    I am not trying to defend the specs. of the drive. I am only reporting my findings at this point. I am hoping that Vladimir's changes will help the drives to survive better in the current trip test.

    They still drive large motors well, and in my humble opinion, still give the most bang for the buck.

    By the way, I always leave all the faults disabled until I am almost through with my tuning. In the real world, with acceleration and deceleration provided for in the cnc control, the machine should never see these instantaneous stresses, and it is a pain in the neck trying to tune with faults going off all the time. Get your tuning done, then turn on the fault limit parameters. The step response has no accel or decel in it. It is a raw command to move a preset distance. I never change the settings for the step response test. I leave them the way Vladimir has set them up.

    I do change the run profile parameters. Increase them gradually and observe the affects. Then you can know how to make longer and faster run profile tests.

    I hope this helps a little. I know it is very general. Thanks again, foxprints for your detailed contributions. I would prefer to let Vladimir get more technical than this if he chooses. I will forward these posts to him.

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

  4. #4
    Join Date
    Oct 2005
    Posts
    105
    They still drive large motors well, and in my humble opinion, still give the most bang for the buck.
    No pun intended of course.....Tom? lol....

    Would a thicker plate for the heat sink allow more thermal absorption and take more heat away from the mosfets more rapidly? Just a thought.......

    dan k

  5. #5
    Join Date
    Oct 2003
    Posts
    170
    Dan,

    Yes, a thicker heat sink will help. The trouble is that the drives are spaced very closely when plugged into the mother board, and there is not enough space for a thicker plate...yet. This is probably going to be implimented along with some other changes this spring. I don't make promises on schedules for changes, however, Vladimir is studying this problem.

    Thanks for the tip.

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

Posting Permissions

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