Saturday, January 16, 2010

Is it a good approach to control a servo motor with the help of a DSP processor?

can a servo motor be controlled with the help of a dsp processor TMS320F240??Is it a good approach to control a servo motor with the help of a DSP processor?
My question is why do you need that much power?





Not that you can do it, but there are other things. I would probably look at using a micro controller first before throwing a DSP Chip at it.





Have Fun.Is it a good approach to control a servo motor with the help of a DSP processor?
A servo motor can be controlled by a DSP of course.





How it works..


I expect digital control of a motor to involve reading a tacho and/or position sensor for feedback, a H bridge for reversing, and PWM or DAC for motor drive, as well as a serial port for commands and readout. These features are readily provided by a micro-controller, which should be fast enough for motors with millisecond response times. Generally in software you may want to implement a 3 term controller, and take some account of stiction (starting and stopping). A more complex system might have several nested loops, to control torque/current/speed/acceleration. There is more than one possible servo function too - is the servo motor to provide a controlled position, speed, acceleration and so on.





About the I/O


A DSP board bought off the shelf will usually have an ADC and DAC and a serial port. The ADC and DAC may be AC coupled. This may only need simple mods to make it DC coupled, for a servo. A suitable DC power amplifier is used after the DAC, instead of the PWM. This is similar to an audio amplifier, but DC coupled, with dual rails so that the motor can be reversed. The DAC output may need to be offset (use an op-amp) to provide both polarities (directions) of drive. This is fine for smaller motors, but with a 30W servo a PWM drive might be more attractive.





System considerations..


In the end it depends just what you are doing, so sysem considerations come in to it. As I see it, a DSP is tending towards overkill, and would likely end up more expensive, larger, and possibly more development effort, depending on what you already have. If you are thinking of having other DSP functions, apart from the motor, it may make sense to have a separate processor for the servo, if the DSP functions may cause time clashes. A DSP could probably run several servo motors if the I/O is made suitable, and this may be more economical in a mass produced system. There could be some advantage in using a DSP for a really top end no compromise system, with all those nested loops and other features. A DAC drive has a faster response in that PWM is usually at a low frequency. Personally I would use a small microcontroller - perhaps an 8 pin device, and have one for each motor, a modular approach. A basic servo lends itself to analogue control, especially with smaller motors or less complex systems, or one off systems.
no

No comments:

Post a Comment