Frecuencia PWM, Contador 16 bits

Estoy en un proyecto controlando las conmutaciones de fuentes conmutadas, ocupo 6 pwm a una frecuencia de 135 KHZ, ya he logrado el PID a la frecuencia que ocupo, pero solo en los pines que ocupan los Contadores de 8 bits, hasta el momento tengo problemas con los de 16, solo logro un PWM con frecuencia de 62.5 KHZ.
En el caso de los contadores de 8 bits utilizo los TCCR de esta manera logrando los 135KHZ que ocupo:

TCCR0A = _BV (WGM00) | _BV (WGM01) | _BV (COM0B1);
TCCR0B = _BV (WGM02) | _BV (CS00);
TCCR2A = _BV (WGM20) | _BV (WGM21) | _BV (COM2B1);
TCCR2B = _BV (WGM22) | _BV (CS20);
OCR0A = ((F_CPU)/ frecuencia) - 1;
OCR2A = ((F_CPU)/ frecuencia) - 1;

Y en los de 16 bits el siguiente :

TCCR1A = _BV (WGM10) | _BV (COM1B1);
  TCCR1B = _BV (WGM12) | _BV (CS10);
  OCR1A = (F_CPU/ frecuencia) - 1;

Utilizo otro modo de operación, ya que si utilizo el mismo que en los contadores de 8 bits
solo logro obtener un PWM a 16 KHZ. Estoy utilizando Arduino Mega.

¿135 KHz con PWM de 8 bits? No te creo a menos que hayas utilizado un cristal de mayor frecuencia.

Debo decirte que a menos de que utilices un microcontrolador con un reloj más rápido, tendrás que aumentar la inductancia de las bobinas de la fuente. Nunca he visto un AVR que va a 16 MHz, generar una señal PWM mayor a 62.5 KHz sin tener que sacrificar la resolución.

Pues mira que en la imagen esta el tren de pulsos de los dos PWM generador por cada uno
de los timers que ya mencioné.

IMG_20170719_155420220.jpg

AdalSC:
Pues mira que en la imagen esta el tren de pulsos de los dos PWM generador por cada uno
de los timers que ya mencioné.

Tendré que medir mi propio Arduino Mega porque tal parece que me he perdido de algo...

AdalSC:
Utilizo otro modo de operación, ya que si utilizo el mismo que en los contadores de 8 bits
solo logro obtener un PWM a 16 KHZ. Estoy utilizando Arduino Mega.

Quizá sea porque te faltó setear el bit para el contador A. Creo que debería quedar así:

TCCR1A = _BV (WGM10) | _BV (COM1A1) | _BV (COM1B1);

Lucario448:
Tendré que medir mi propio Arduino Mega porque tal parece que me he perdido de algo...

Y mira que lo he hecho en Arduino UNO y MEGA, pero aun no he logrado configurar en mas de 62KHz el PWM en los timers de 16 bits.

Creo que lo tengo.

En el registro TCCR1B setea el bit WGM13, WGM12 y CS10. El registro ICR1 se encargará de controlar la frecuencia, pero vigila que OCR1A y OCR1B no sean mayores que ICR1.