Generar PWM que obedezca ordenes de mando radio control

Hola buenas, haber si me podeis dar alguna idea.

Quiero generar una señal pwm para controlar un coche de radio control escala 1:8. Para esto tengo un mando RC del cual he decodificado el ciclo de trabajo tanto del giro como de la traccion.

La idea es generar una señal pwm diferente a la del mando, es decir, de una frecuencia diferente pero que el ancho del pulso de lo de el mando.

Para generar la señal periodica utilizo este codigo

  ini_T_giro_coche = TCNT1;


if((ini_T_giro_coche - ant_T_giro_coche) >= Tcoche)
  {
         ant_T_giro_coche = ini_T_giro_coche;


}

donde "Tcohe = 277 cuentas = 17.7 ms con un pre-scaler de 1024" es la varable donde marco el periodo de la señal que quiero generar pero no se como hacer para conmutar los estados entre 0 y 1 en funcion de las cuentas del ciclo de trabajo tanto del giro como de la traccion que como he mencionado antes los tengo decodificados no en tiempo ,sino en cuentas del contador del timer.

No se si me he explicado bien.

Alguna sugerencia para llevar acabo esto??.

Te recomiendo que le eches un vistazo al Datasheet del micro.

Creo que estás un poco perdido con el tema.

Datasheet ATMega328p

En el caso de que sea el UNO.

Pág. 111 para el TIMER1.

vaya que eres complicado para explicarte

donde "Tcohe = 277 cuentas = 17.7 ms con un pre-scaler de 1024" es la varable donde marco el periodo de la señal que quiero generar pero no se como hacer para conmutar los estados entre 0 y 1 en funcion de las cuentas del ciclo de trabajo

Mejora esto por favor que no lo entiendo.
Si que Tcoche es 277 cuentas y que equivale a 17.7 mseg con un prescaler de 1024 entonces puedes armar una funcón para traducirlo si quieres manejarte con mseg por ejemplo, y si hiciera falta.
Por lo visto usaras timer1 y es donde vas a modificar el DC (Duty Cycle)?

Quizás esto le ayude a entender un poco como funciona un PWM, en este caso para el ATMega328p.

Amigo.. vengo siguiendo a Bukanan y su proyecto de Radio control y te aseguro que no tiene las dudas que expresas.
Revisa sus posts anteriores. Click en su nombre y luego posts y verás de que hablo.

Como bien dice Surbyte, iburol, no estoy tan perdido como tu crees, eso tampoco quiere decir que me lo sepa todo, pero le he pegado unas cuantas leidas al datasheet del micro y se como funcionan los modos del micro, seguro que se me escapa algo, como a todos, y surbyte ....parece que lo de dar explicaciones no se me da muy bien...jejejej, pero es un poco dificil trasmitir tus ideas a traves de un foro, porq lo que tu tienes en tu cabeza, posiblemente no entre en la de todos, es decir, lo que tu puedeas llegar a enteder puede que otras personas no lo vean.

De todas formas sigo agradeciendo las respuesas y sugerencias que me dais aqui :).

Vamos a ver, la configuracion que tengo en cuanto al pre-scaler del micro es para tener una mayor resolucion en cuanto a tiempo. Esto lo necesito para una vez que he calculado los parametros que necesito, como son duty-cycle y periodo, poder verificar durante un tiempo limitado que todo esta correcto, es decir, una vez que los datos son ok espero 2 o 3 segundos para asegurarme de que todo esta bien y entonces generar la señal que controla el coche.

Por otro lado lo de Tcoche = 277 = 17.7ms, son los ciclos del coundel Timer1 necdesarios para tener el periodo que deseo en la señal, ok??.

Entonces la forma en la que quiero generar la señal es utilizando la funcion digitalWrite(), mediante la conmutacion de estados. Puedes decir porq no utilizas analogWrite??, porq como bien sabeis iburol, esta funcion genera una señal pwm pero de unos 409 Hz, cosa que no me vale, ok??, porq la señal que necesita el coche es de 56,5 Hz, de ahi el querer hacerlo con digitalWrite().

No se si he mejorado en cuanto a la explicacion, pero lo he intentado...jejej.

Espero haber alcarado un poco las dudas.

BUeno pero ajusta el timer1 para que trabaje a 56.5Hz con ducty cycle como el que deseas. Eso es lo que no sabes hacer?