Ayuda programa simulacion de amanecer

Hola muy buenas. estoy realizando un circuito que simule gracias a un pic la simulacion del amanecer o atardecer gracias a una bombilla. el circuito se compone de una pequeña fuente de alimentacion, una deteccion de paso por cero con optoacopladores y un control de potencia con optoacopladores y triacs, asi todo el circuito lo adjunto junto este mensaje. El pic utilizado es un 16F818 ya que posee conversor analogico-digital y lo necesito para controlar el tiempo del amanecer mediante un potenciometro. el programa lo tengo realizado, pero no me funciona y me gustaria que le hecharais un vistazo por favor. Muchas gracias de antemano y un saludo[/img]
 

Adjuntos

  • programa_amanecer_368.txt
    1.5 KB · Visitas: 36
  • proyecto_entero_527.jpg
    proyecto_entero_527.jpg
    99.8 KB · Visitas: 71
eL detector de paso por cero puede ser mucho mas sencillo, simplemente conectando a una de las patillas del pic al secundario del transformador mediante una resistencia de 10k.

Si alimentas todo a 5V no es necesario poner divisores de tension.

Aunque no se que tipo optoacopladores utilizas, estos deberian ser del tipo transistor, o sea sin detector de paso por cero, en principio los tipo moc no te sirven.
Ademas, asi a simple vista me parece que los triac se pueden cebar solos al no tener ninguna resistencia entre el gate y A2. Debes revisar este punto.

El programa que adjuntas es muy basico pero muy mediocreo.

Lo ideal es hacerlo mediante interrupciones, una es la del paso por cero y la otra es la de un contador.


Rutina timer 0

Programas el timer0 para que genere una interrupcion cada (1/50)/64 seg. O sea es un semiperiodo genere por ejemplo 32 pulsaciones.
Estas pulsaciones incrementan un contador o control de angulo de disparo.
Ahora comparas el contador con una variable de cada bombilla, si es igual o mayor enciendes la bombilla.

Rutina int paso por cero:
Cada vez que se activa pone a cero el contador de fase.
Ademas puedes implementar algun tipo de reloj que ira sincronizado con la red que es una frecuencia mmmmuy estable (tema se sincronizacion de centrales electricas).



Programa principal:

Inicializa timer,variables...
Revisa pulsadores, LDR.


El truco esta en hacer bien estas dos rutinas de interrupcion.
Si en el programa principal varias las variables de las bombillas automaticamente quedan actualizadas, tan sencillo como hacer un mov.
Ademas una vez programadas las interrupciones te puedes despreocupar tranquilamente.

En cuanto a la resolucion de las bombillas, niveles de luz es un parametro critico, piensa que como mas niveles mas sobrecarga del micro.
Piensa que en esta rutina debe actualizar el timer, incrementar el contador y revisar todas las variables y todo esto antes del siguiente disparo del timer. Yo creo que 32 niveles o 64 por semiciclo tendras suficiente, si no deberas hacer algun truquillo para no sobrecargar el micro.
Como mas megas tenga el cuarzo mejor.


Tambien te recomiendo que utilices el mplab para simular,en el foro hay varios videotutoriales muy buenos donde sale el stopwatch y los stimulos a/sincronos.

Todo tu esfuerzo debe centrarse en estas dos interrupciones.


Pasate pro microchip y busca algun dimmer
 
Atrás
Arriba