What chip? 6 channels of 16 bit pwm

I want to drive 6 servos at high precision using just hardware timers. The servos have to be spot on. I have code that could do 2 using the pwm pins on timer 1 on an UNO. If I had a chip with 3 of those style timers my problem would be solved. Or if you know of another way to get 16 bit or better servo control in a hardware kind of way.

It is my understanding that LED PWM drivers like the TLC5940 can be used for such things.

I want to drive 6 servos at high precision using just hardware timers.

Meaning that you want something with a crystal instead of a resonator?

Have you looked at Polulu's offerings?

Yes, I've already got crystals for 16MHz, but I'm not averse to buying others. I haven't looked at Pololu. Really, I haven't given it a ton of thought yet. I wrote code for a laser show thingy for a friend of mine that used timer1 on a 328 to drive the two servos. I have a 6dof arm and I was thinking of extending the idea to that. It's more of an exercise than anything else. My arm is jittery and the servos buzz when I use the servo library with all 6. It's barely noticeable but I know it would be rock solid if I did it all with hardware timers. I guess I could use a 328P and have two servos in "high resolution mode" and four running on 8 bit timers. But where's the fun in that when I can learn a new chip?

Was kind of hoping Crossraods would be here in a minute to tell me the 1284 can do it. EDIT: Just looked at the data sheet. Guess that ain't happening.

I guess a better question would be, how can I get 3 equivalents of Timer 1 on the 328 without having to resort to 3 chips?

Delta_G:
My arm is jittery and the servos buzz when I use the servo library with all 6.

Odd. What else is the code doing?

As far as I know, this is the only AVR processor that has three output channels on one timer...
http://www.atmel.com/devices/ATTINY861.aspx

Have you considered an AVR Teensy? I believe they have three or four 16 bit timers.

I guess a better question would be, how can I get 3 equivalents of Timer 1 on the 328 without having to resort to 3 chips?

You just can't. One 16 bit timer with two output channels. That's why the Servo library exists.

Do the Atmega 1280/1281/2560 have enough of the right kind of timers?
“Four 16-bit Timer/Counter with Separate Prescaler, Compare- and Capture Mode”

I would have thought blink without delay using micros() would be sufficient. You’re only talking a 1-2mS wide pulse every 20mS, doesn’t seem like it would be that much trouble.

Here’s my Mini2561, might be a good test for it.
2561_top.jpg

Let me see if I get this right.
You want to divider the 1mS pulse into 65536 pieces (16-bit).
So each piece is 15.25 nanosecond wide.
The equivalent of a 32.787Mhz square wave.
Which you might need an MCU running at ~120Mhz for.
Or do you want a PWM chip that spends 18/20 or 19/20 of the time doing nothing.
With the 65536 parts spread out over the total time of 20mS.
Do you think the feedback (pot) and mechanics of the servo are accurate enough for 65536 positions.
I don't know, so please enlighten me.
Leo..