05-05-2010 08:46 PM
05-05-2010 10:31 PM
What is your PID rate set at? Have you tried slowing down the PID loop rate?
Have you verified that your encoder is working correctly (I usually disable the motor and turn 1 revolution by hand and see if my encoder count is about where it should be). If your feedback isn't working right, that could explain control loop problems.
Hope those ideas help
05-06-2010 12:13 AM
05-06-2010 05:30 AM
05-06-2010 08:24 PM
Thanks Brian - yes I'm quite aware with the operation of a PID controller and the parameters other than proportional gain. The point of only mentioning P was to highlight the fact that I suspect I have a problem with the feedback count being too high and thus requiring a gain of less than one, or some other way of pre scaling the encoder count in the 7344 settings. That question is still open. I'm not an expert on the 7344 (or other NI motion control cards) and all of the possible settings, although I have used it in a number of different motion control applications. I should mention that the Dynaserv controller has a demand range of ~+/8V which has already been accounted for, and that I have achieved reasonable stability and responsiveness by reducing the demand signal electrically, with the drawback of being unable to achieve maximum torque. I really want someone to confirm my thoughts regarding the high encoder count or tell me what blindingly obvious thing I'm missing!
Cheers,
S
05-07-2010 06:16 AM
Shane-
Gain values may change because of feedback resolution, but you shouldn't care. Proportional Gain should be whatever it needs to be to properly tune. If it is less than 1, it doesn't matter. Take the analog scaling back to give you peak torque at +/-8VDC, then start tuning. Don't get hung up on what the values are. What kind of load is on the motor? I can tell you from experience that if you are only tuning the motor, you will have problems getting it tuned real well. Without any load to dampen it, the motor becomes unstable pretty quickly.
05-08-2010 07:30 AM
Shane-
Sorry, I should have looked at the gain setting limits of the 7344 before I made my comments. Many controllers allow non-integer values to be input, but this does not. Increasing integral gain should prevent overshoot. My comment about tuning an unloaded motor still stands, though. Is the shaft connected to anything?
05-10-2010 04:03 AM
Shane,
I agree with your assumption, that the issue is caused by the high resolution of the encoder. If you increase the encoder resolution, this has exactly the same effect as increasing Kp.
So compared to a standard 2000 counts/rev encoder, your encoder scales Kp with a factor of about 213. As the 73xx boards run the PID loop on a DSP without floating point unit, this encoder eats up all the headroom for your Kp value.
From a functional point of view, such a high resolution encoder rarely makes sense, as all the mechanical positioning errors of your system are typically much higher than the resolution of the encoder, so it doesn't add real accuracy to your system. In fact it may even add more issues if you want to run the motor at higher velocities, as thie means very high frequencies that need to pass the encoder cable. The 7344 supports up to 20 MHz encoder input signals, but at these frequencies cable damping and noise can become serious problems.
So if possible I recommend to exchange the encoder with a lower resolution version. By the way, is this a real quadrature encoder or are you using an emulated encoder signal, that is generated by your drive (typical setup for BLDC motors). In this case you may be able to reduce the resolution in the drive's configuration.
Kind regards,
Jochen Klier
National Instruments