Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

13/07/2016 #1


Desfase entre pulsos pic
Hola gente, necesito lograr un desfasado entre las dos señales PWM que salen del pic de 1uS y se como lograrlo. Adjunto el programa en C. Cualquier consejo es util. Muchas gracias ...
13/07/2016 #2

Avatar de Scooter

Para 1µs de precisión casi seguro que vas a tener que usar ensamblador.
13/07/2016 #3

Avatar de roberttorres

manuleaniz dijo: Ver Mensaje
Hola gente, necesito lograr un desfasado entre las dos señales PWM que salen del pic de 1uS y se como lograrlo. Adjunto el programa en C. Cualquier consejo es util. Muchas gracias ...
Buenas.
Creo que con el modulo ccp1 y ccp2 no podras generar un desfasage ya que ambos utilizan el timer2 para generar la señal.
Paso un ejemplo para generar un desfasado:

Pd: este ejemplo lo encontre aqui:
Edito
Pense que el compañero se referia a esto como desfase de dos señales pwm:
https://www.ccsinfo.com/forum/viewtopic.php?t=30607
Imágenes Adjuntas
Tipo de Archivo: jpg desfase.jpg (193,5 KB (Kilobytes), 90 visitas)
Archivos Adjuntos
Tipo de Archivo: rar Desface.rar (41,7 KB (Kilobytes), 10 visitas)
13/07/2016 #4

Avatar de Scooter

No conozco los pic en general, pero los módulos de comparación captura que suelen generar pwm, suelen ir "en fase", todos los pines empiezan a la vez y acaban según se programe.
13/07/2016 #5

Avatar de ruben90

Para "desfasar" la señal 180° utilizaría un inversor con transistor. También puedes usar un comparador, ya sea con los módulos del PIC o uno externo.
Imágenes Adjuntas
Tipo de Archivo: jpg desfase 180.jpg (89,2 KB (Kilobytes), 12 visitas)
19/07/2016 #6


Buen dia, roberttorres es exactamente eso lo que quiero lograr, pero con un pulso mas pequeño se podrá hacer? Muchas muchas gracias
19/07/2016 #7

Avatar de roberttorres

manuleaniz dijo: Ver Mensaje
Buen dia, roberttorres es exactamente eso lo que quiero lograr, pero con un pulso mas pequeño se podrá hacer? Muchas muchas gracias
Buenas.
No se que tan pequeño necesites los pulsos, pero he estado experimentando con el ejemplo que subí, y llegue hasta 150us en alto con un periodo de 300us. Luego menos de eso la onda cuadrada se comporta extraño, tal vez sea por el timer1.
Para que necesitas exactamente el desfase de las dos señales??.
20/07/2016 #8

Avatar de ruben90

Conseguí un "desfase" de 2us. La frecuencia de conmutación es de 5 kHz. La frecuencia de oscilación es de 8 MHz. Te dejo el código para que te guíes y consigas el 1us.



Código:
void main(void) {
  TRISB = 0x00;
  PORTB = 0x00;
  T2CON = 0x05;
    PR2 = 0x63;
CCP1CON = 0x0C;
 CCPR1L = 0x32;
while(1) {
RB5_bit = RB3_bit;
}
}
Imágenes Adjuntas
Tipo de Archivo: jpg Sin título.jpg (86,3 KB (Kilobytes), 6 visitas)
28/08/2016 #9


Agrega una línea de retardo a tu salida del i/o ... facil con un cap, una resistencia y 3 inversores TTL o CMOS, ahora si necesitas un delay programado (en grados electricos), de una señal de entrada, tienes que medir con el pic su periodo, usando la primera oscilacion de la señal y calcular el retardo en nsec que necesitas darle correspondiente a los grados electricos de defasaje y generar la señal en un i/o del pic.
Si quieres un retardo en cuadratura (90 grados de retardo), es el mismo procedimiento que el anterior pero sin la rutina para leer las entradas de tu circuito indicador de cuantos grados de retardo necesitas ( facil de hacer con thumbwheel switches).
28/08/2016 #10

Avatar de torres.electronico

al implementar los modulos CCP de los 16F87X, ambos comparten la frecuencia, pero el duty podes trabajarlo independienntemente. En el caso de los 18F ya cambia la cosa. Date una vuelta por aca para ver algunos conceptos e ideas : http://www.microchip.com/design-cent...trol-and-drive
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.