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

Temas similares

11/05/2012 #1

Avatar de angeldemx

dimmer pic16f877 Iniciar el timer0 cuando se genere la interrupción externa se puede?
Saludos compañeros, espero alguien me pueda aconsejar.

Como en estos días ando desocupado , me propuse a avanzar con un proyecto que tenia guardado, en concreto es un control dimmer digital el cual ya funciona muy bien.

Aquí un vídeo que le tome cuando estaba armado.


En ese momento se me ocurrio probarlo con una secadora de pelo y un generador de vapor, principalmente por curiosidad y por que quería probar el triac a 24 amperes .

Pero la desventaja es que solo funciona para un elemento, osea solo una salida, por lo cual se me ocurrió agregar mas salidas.

Por experiencia de otro proyecto (control 8 servos) se me ocurrió implementar el código del control de los servos .

Pero necesito sincronizar la señal de la linea CA a 60Hz para que en cada cruce por cero, osea cada interrupción externa inicie el contador del timer0 e implementar el control pwm.

Ahora ando con una falla mental y por el momento no se me ocurre nada, quizá sea algo sencillo de solucionar, así que si alguien puede ayudarme de antemano se lo agradezco, si el proyecto avanza no dudare en subirlo al foro.
12/05/2012 #2

Avatar de ByAxel

Hola:
El TMR0 no tiene un bit de On/Off como el TMR1 o TMR2. Solo se me ocurre que cuando ocurra la interrupción limpies el registro del TMR0 a cero para que inicie la cuenta. Otra es que implementes el On/Off del Timer0 por medio de una variable y que verifique la variable contantemente al momento de generar los pulsos con el timer0, entonces si la variable es '0' no hace nada y si es '1' genera los pulsos.

Saludos
12/05/2012 #3

Avatar de angeldemx

ByAxel dijo: Ver Mensaje
Hola:
El TMR0 no tiene un bit de On/Off como el TMR1 o TMR2. Solo se me ocurre que cuando ocurra la interrupción limpies el registro del TMR0 a cero para que inicie la cuenta. Otra es que implementes el On/Off del Timer0 por medio de una variable y que verifique la variable contantemente al momento de generar los pulsos con el timer0, entonces si la variable es '0' no hace nada y si es '1' genera los pulsos.

Saludos
Saludos amigo axel, gracias por la respuesta, me parece interesante tu consejo, ya lo pruevo y comento los resultados.
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.