I'm looking for an IC that will give me a minimum of 6 independent PWM channels for motor control, preferably with an SPI interface but this isn't critical. My micro will be busy with floating point calculations etc so I don't want to risk tying it up. Any suggestions?
Electronic – Dedicated 6 channel PWM controller
pwm
Related Topic
- Is this PIC micro-controller powerful enough to drive PWM LEDs
- Electronic – Multiple PWM signals from a single audio channel
- Electronic – PID control at small PWM values for a DC motor
- Electronic – LED-strip PWM works with Raspberry Pi, doesn’t work with Attiny45
- Electronic – How to control DC motor speed by motor driver with PWM input
Best Answer
You already have this:
There's no need to add another chip. As Olin and Steven stated, these hardware peripherals will probably use comparable CPU to an external peripheral. You do not risk typing your CPU up by employing hardware peripherals.
More importantly, floating point on an AVR is your bottleneck, not the PWM. Consider choosing a microcontroller with floating point hardware, adding a coprocessor with floating point, changing to a processor which has floating point and 6 PWM channels (likely a DSP or ARM9 that will be much more complex and expensive than your Atmega88), or (preferrably) modifying your algorithms to be faster and use fixed point arithmetic. Speeding up the PWM from 0.2% to 0.1% (if using an external PWM IC is actually that helpful) won't help if your floating point algorithms are taking 200% of your CPU time.