hola buenas tardes, estoy desarrollando un control para cuatro sepic con señales pwm desfasada 10 us, 20 y 30us respectivamente. estoy tratando realizar lo primero con dos y he tenido problemas, ya que no logro el desfase, colo el código a ver si me echan una mano.
#define RETARDO 60
#define PWM 100
void setup() {
TCCR0A= 0x01;
TCCR0B= 0xA1;
OCR0A= PWM;
OCR0B =PWM + RETARDO;
delay(100);
analogWrite(11,127);
analogWrite(3,127);
}
void loop() {
}
Esto te puede ayudar.
Es para 3 señales defasadas 120 pero es un comienzo
http://forum.arduino.cc/index.php?topic=236778.0
Te voy a explicar el desfase de 180º de una señal cuadrada. Primero, tienes tu señal cuadrada normal a cierta frecuencia(f) con su respectivo periodo(T). Segundo, calculas (T/2) y en ese instante debe comenzar la nueva señal PWM (ya tienes desfasada la señal desfasada 180ºC).
El problema que para hacer esto con una arduino debes aprender a manipular timmers del arduino haciendo uso de la programación de manipulación de registros ya que debes manejar los tiempos a voluntad y generar tu propio PWM con interrupciones.
Sé que han pasado algunos años desde tu post. Sin embargo, si alguien más esta interesado, podría entrar en detalle para que lo consigan.
Nota: El PWM no debe superar su duty cicle del 50% . Ya que si lo haces con alguna aplicación de inversores a medio puente quemás toda la etapa de potencia.