TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: vicent en 30 de Octubre de 2007, 22:55:21
-
Hola a todos!!
Estoy teniendo problemas con un dimmer que hice el año pasado para un belén que hace mi padre.
Funcionar, funciona, pero no bien del todo, os comento el problema:
El caso es que no ilumina todo lo que se supone que debe iluminar, solo ilumina hasta un 80 o 85% del máximo de las bombillas.
Como veis en el código, tengo una variable que llamo nivelMínimo que es la que marca el disparo del triac (de momento, después lo modificaré para que haga un efecto de amanecer-anochecer). Si le bajo el valor para que dispare antes, o no funciona o no funciona bien, no hay forma de que funcione bajando ese nivel de disparo.
Estoy totalmente bloqueado, no se como hacerlo ya.
Os pongo también el esquema a ver si la culpa fuera del circuito y no de la programación.
Hay puestas 2 bombillas de 100W y una de 200 en paralelo en la el triac 1, en los demás no hay nada.
Necesito que este año funcione bien del todo, si no mi padre me mata. Debe estar operativo como muy tarde para finales de noviembre, y no sé como continuar.
¿Alguien me puede echar una mano?
Muchísimas gracias.
Un saludo. Au.
-
Hola Vicent,
veo que disparas los triacs en una interrupción del timer, pero no sincronizas dicho timer con la alterna, para lo que deberías utilizar la interrupción externa.
Hay una cosa que me ha resultado chocante, lo cual no significa que no funcione. En tu circuito consigues dos tensiones +5V y -5V. Para alimentar la electrónica utilizas 0V y -5V. En teoría debe funcionar pero, ¿porqué lo haces así?
-
Manolo, es que el circuito no es mío, me ayudaron a hacerlo y me dijeron que lo hiciera así. Igual el circuito no es correcto del todo, pero me ayudó un chico que trabaja con PICS y tal.
Estoy pensando que igual me toca volver a hacerlo, pero no tengo muy claro que sea capaz, y solo tengo 1 mes.
En teoría el paso por 0 de la señal de alterna se detecta por una interrupción que se genera en el timer0, cuando entra un pulso por la pata T0CK1, incrementa el contador del timer 0, que está a 255, a punto de desbordarse, y salta la interrupción.
Creo que debería funcionar, pero no se porque no lo hace.
Muchas gracias Manolo por contestar, me esperaba que tu serías de los primeros. :)
Un saludo. Au.
-
Vale, entonces sí que está sincronizado, aunque me parece más simple hacerlo con la INT EXT.
Otra sugerencia: haz que la precarga del Timer1 sea la que dispare el Triac. Me explico: en lugar de ir incrementando una variable (nivel) en la interrupción del Timer1, haz que esa interrupción sólo salte cuando toque encender el triac. Para eso tendrías que cargarlo con un valor que dependa del nivel de iluminación que deseas.
Es que sólo en entrar en la interrupción del Timer y hacer la precarga y la comparaciónes pierdes unos ciclos preciosos, que pueden provocar esa disminución del rendimiento que observas.
-
Manolo, has dado en el clavo, ahora ya lucen las bombillas en todo su esplendor.
Solo me falta, hacer que suba y baje la intensidad, que espero no me de muchos problemas.
Muchas gracias maestro, lo haces mucho más fácil de lo que es.
A ver si cuando acabe esto me animo a hacer tu dsRRBOARD. Ya tengo casi todos los componentes, solo me falta el puñetero zócalo PCI, que no encuentro ninguna placa a la que pueda quitárselo bien, en todas va pegado. Acabaré por comprarlo, aunque me cueste uno o dos €.
Un saludo. Au.
-
Me alegro que lo hayas conseguido. ¿Cómo sabes que luce al 100%, con osciloscopio?
-
Manolo, hablé demasiado pronto, funcionaba perfectamente, pero ahora no se porque ha dejado de ir, ahora no se enciende nunca, lo tengo que revisar, pero ahora no tengo tiempo, a ver si mañana tengo un ratito.
No tengo osciloscopio, lo he hecho a ojo, he puesto una bombilla directamente a la luz, y he comparado, y se ven igual, :D
Un saludo. Au.
-
Yo me llevé muchas sorpresas cuando conseguí mirar la onda en el osciloscopio. Cuando pensaba que estaba ya bien, todavía le faltaba un trozo :D
-
Hola Amigos!, Manolo, el triac se dispara mas eficientemente en los 4 cuadrantes con extraccion de corriente, por lo que, con esa configuracion, se podria considerar como tal (es mas negativo el negativo :D )
Un abrazo
Norberto
-
Prometo que hoy todavía no he probado Ron, pero no te entiendo, gran jefe.
-
Ayer me dio un castañazo el dimmer porque no lo aislé bien de donde lo tenía apoyado y ha saltado un trozo de pista y un triac ha muerto.
El caso es que después de recomponer la pista y de poner las bombillas en otro triac, no funciona.
¿Podéis ver el código a ver si estoy haciendo algo mal, o es que la placa ha fallecido en acto de servicio?
Si ha fallecido la placa, ¿me podéis echar una mano para hacer una que funcione en menos de un mes?
Estoy bastante agobiado, porque antes funcionaba, aunque mal, y ahora no tengo nada.
Muchas gracias a todos.
Un saludo. Au.
Os adjunto el .c, que me dice que no queda espacio en el directorio de uploads.
#include "D:\Electronica\belen\belen.h"
#byte PORTB = 0x06
#bit TRIAC1 = PORTB.4
#bit TRIAC2 = PORTB.5
#bit TRIAC3 = PORTB.6
#bit TRIAC4 = PORTB.7
unsigned cuenta = 0;
#int_TIMER1
TIMER1_isr()
{
TRIAC2 = 0;// output_low(PIN_B4);
delay_us(200);
TRIAC2 = 1; // output_high(PIN_B4);
return 0;
}
#int_TIMER0
TIMER0_isr()
{
set_timer1(60335); //Cada paso del contador es 1 us -> 200 us
if(cuenta)
ext_int_edge(H_TO_L);
else
ext_int_edge(L_TO_H);
cuenta = !cuenta;;
set_timer0(255); //Reinicia el disparo al pasar por 0
return 0;
}
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_spi(FALSE);
setup_timer_0(RTCC_EXT_L_TO_H|RTCC_DIV_1);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
enable_interrupts(INT_TIMER1);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
setup_oscillator(False);
port_b_pullups(FALSE);
// TODO: USER CODE!!
set_timer0(255);
// Desactivamos las 4 salidas
// Se desactivan a nivel alto
output_high(PIN_B7);
output_high(PIN_B6);
output_high(PIN_B5);
output_high(PIN_B4);
for(;;)
{
}
}
-
Hola Vicente,me gustaria ayudarte, y si el circuito impreso ya sufrio daños, me
imagino que ya el PIC tambien, ese circuito que usa asi, es muy peligroso ya que una Subida de corriente no te funcionarias, yo lo separaria de la corriente Alterna con Optocoople y una fuente de alimentacion externa,pero falta ya muy poco para la navidad :D
bien aqui te dejo un link para que vea los precioso que es, dale aqui http://www.dv-fansler.com/Computer%20Lights/WizardsofWinter-SM.wmv, :-) que te divierta :mrgreen:
-
El pic lo he cambiado por uno nuevo por si acaso, pero nada, no hay manera.
¿Eso es tu casa?
¡Madre mía, que burrada!
Un saludo. Au.
-
je je... solo faltan las bolas espejadas!!!
no te puedo ayudar, no se "C" :?
pero por el problema que has tenido, aisla todo bien, y emplea algun optoacoplador (sin cruce por cero !!! ) tipo MOC3020
http://www.ortodoxism.ro/datasheets/fairchild/MOC3020-M.pdf (http://www.ortodoxism.ro/datasheets/fairchild/MOC3020-M.pdf)
suerte!
Norberto
-
Vicente ese link que te envie hay mil ideas como se puede realizar luces de navidad, improvisa algo,porque por lo poco que sabe no creo
que en poco tiempo ese circuito te funcione amigo
http://computerchristmas.com/christmas/link-how_to
aqui te mando ese link, hay muchas variedad de luces
:?
-
stk500, gracias por el link, pero no puedo improvisar, tengo que tener funcionando este cacharro o alguno que haga exactamente esto.
Después de unas cuantas pruebas, creo que falla el circuito, pero no solo por el castañazo de ayer, antes no iba tampoco bien del todo.
Creo que el fallo está en el detector del paso por 0, creo que no funciona bien este sistema.
Me va a tocar volver a empezar desde 0.
¿Que puedo utilizar para detectar el paso por 0?
¿Es necesario que utilice un transformador para la alimentación?
Creo que voy a utilizar el 16F88, como hasta ahora, veis algún inconveniente?
Os comento los requisitos:
Necesito una salida (o varias) de hasta unos 4 o 5 KW en total para una luz que haga efecto día y otra para 1KW más o menos que se encienda solo cuando es de noche, no se si me explico.
Es para un belén: La idea es que haya unas luces que sean como "el Sol" que hagan el efecto amanecer, estén al máximo un minuto más o menos, haga el atardecer, y esté en la noche otro minuto más o menos. (Los tiempos son aproximados)
A parte de la luz "sol" habrá una salida que cuando se hace de noche se encienda gradualmente, al estar en la etapa noche, luzcan al máximo y al amanecer bajen. (Esto es para las luces de las casas).
Lo que me preocupa es la alimentación del circuito, el detector de paso por 0 y la forma de disparar el triac.
La teoría la sé, es decir, si el circuito está bien hecho, creo que soy capaz de programarlo bien, pero en circuitos estoy bastante pez.
Espero vuestras respuestas y vuestra ayuda, porque con el tiempo que tengo, la voy a necesitar.
Muchas gracias.
Un saludo. Au.
-
Se me ha olvidado comentar que tengo para utilizar (si puedo aprovechar alguno) los triacs BTA16 800SW, BTA16 600B Y BTA12 700B.
Utilizando 2 o 3 BTA12 700B para el día y 1 para la noche, iría sobrado de potencia.
Un saludo. Au.
-
en el link que te paso stk500 , esta este circuito
(http://computerchristmas.com/tmp/myimages/71-picdimmer1.gif)
y justamente el cruce por cero es optoacoplado
saludo!
Norberto
-
Gracias por vuestros enlaces y sugerencias.
Creo que ya tengo casi todo claro.
He pensado utilizar el H11AA1 para la detección del paso por 0, como aparece en el esquema .
Para el optoacoplador, el MOC3020.
Los tengo localizados en internet, pero el H11AA1 tengo que comprar por lo menos 10, y yo solo quiero 2 o 3 (por si se me quema alguno).
He pensado utilizar los triacs que tengo aquí, para no gastarme más dinero.
Falta la parte de alimentación. Tengo un transformador que da 5.6V DC y 2A, creo que puede servir.
Mañana buscaré un hueco para hacer el esquema, a ver si me da tiempo a hacer algo.
Si alguien sabe donde puedo conseguir los componentes rápido y barato, que me lo haga saber. Por lo menos, me interesa rápido.
Por supuesto, admito sugerencias/criticas.
Un saludo. Au.
-
Os comento los requisitos:
Necesito una salida (o varias) de hasta unos 4 o 5 KW en total para una luz que haga efecto día y otra para 1KW más o menos que se encienda solo cuando es de noche, no se si me explico.
-------------------------------------------------------------------------------------------------------------
Pero amigo, usted se esta liando cada vez mas, 5KW de carga en una Fase no te lo aguantaria, al menos que en tu casa tenga corriente Industrial,necesitarias 32 amperio y los cable deberian tener en la conecciones del circuitos 4mm², y el circuito impreso donde va montando el TRIAC debe ser de una capa ancha y profunda, no me deseo que la casa de tu padre coja fuego amigo, te aconsejo que use un FI, ( un Diferencial de Corriente Alterna)
Es para un belén: La idea es que haya unas luces que sean como "el Sol" que hagan el efecto amanecer, estén al máximo un minuto más o menos, haga el atardecer, y esté en la noche otro minuto más o menos. (Los tiempos son aproximados)
A parte de la luz "sol" habrá una salida que cuando se hace de noche se encienda gradualmente, al estar en la etapa noche, luzcan al máximo y al amanecer bajen. (Esto es para las luces de las casas).
Lo que me preocupa es la alimentación del circuito, el detector de paso por 0 y la forma de disparar el triac.
La teoría la sé, es decir, si el circuito está bien hecho, creo que soy capaz de programarlo bien, pero en circuitos estoy bastante pez.
con ese Circuito lo veo dificil ponerle un dectetor de Face, ya que el circuito esta alimentados de la misma Face, de teoria, amigo ayudas de esta por aqui lo veo dificil si tu mismo no aprende electronica elemental, ahora bien para tu poner todas esas cargas deberia hacer 2 o 3 Circuitos y repartirlos en diferente Face, asi podra atacar ma Carga sin sobrepasar los Amperios :-)
Ok hasta aqui creo que queda muy claro todos.
:x
-
Vicent, si no encuentras ese opto, y vas a tener un transformador alimentando tu circuito, puedes hacer la detección del paso por 0 con un operacional simple, como el LM741. Tienes un ejemplo en mi Dimmer con mando (http://www.micropic.es/index.php?option=com_content&task=view&id=37&Itemid=40).
Bonito y divertido proyecto el tuyo. No te agobies verás como antes del plazo lo tienes acabado.
-
stk500, según mis cálculos, 5KW son 22 A. Supongo que no serás de españa, aquí la red eléctrica va a 230V y 50Hz.
De todas formas, no es para mi casa, va a estar en una iglesia, y puede dar esos 22 A sin problemas, eso no me preocupa. De todas formas, ya he comentado que no voy a utilizar toda la potencia, pero quiero que vaya sobrado, en vez de faltarle, por si acaso.
Manolo, el transformador que voy a utilizar es uno de estos de móvil, que ya tiene el conector de alimentación. De todas formas, le tendré que meter una toma de luz al aparato, así que puedo poner el amplificador a partir de esa toma.
El esquema de tu dimmer es lo que tengo delante ahora mismo, jejejej. A ver si me copio un poco, :D
Gracias por vuestras aportaciones.
Un saludo. Au.
-
A ver que os parece lo que llevo.
Dudas:
- ¿Qué valor le pongo a R4?
- ¿Dónde conecto la pata que me sobra del optoacoplador?
Muchas gracias a todos por lo que me estáis ayudando. Si me da tiempo a acabarlo, será gracias a vosotros.
Tengo problemas para subir el fichero, así que lo subo a mi servidor y os paso el link:
http://vicentdegodella.com/belen.pdf (http://vicentdegodella.com/belen.pdf)
Un saludo. Au.
-
Esa de 1K está bien, no es una resistencia cuyo valor sea crítico.
Oye, esas entradas que llegan al operacional, llamadas "Toma luz", ¿no serán 220V directos, verdad?
-
Hola Vicent!
Este es uno de los diseños que yo utilizo para contolar mis triacs:
(http://img210.imageshack.us/img210/1451/triacvicentsc.jpg)
Para que la parte del 'zero crossing' fuera simple, la tengo hecha con un optoacoplador (4N32) para una señal de unos 10V (que la cojo después de pasar los 220V por un trafo con toma central). Si quieres lo busco y lo pongo.
Un saludo desde Alicante.
-
Manolo, en teoría si venía directo de 220, pero me he dado cuenta que es una barbaridad, si le meto una resistencia gorda, ¿serviría?
Mañana quería ir a comprar los componentes que me faltan, así que ya no creo que os dé tiempo a decirme algo más si me falta, así que supongo que me tocará volver otro día si me falta algo.
Me parece que el cargador que tengo no me va a servir, porque es eso, un cargador, y no se entrega la corriente, igual no me funcione el circuito con él.
¿Me podéis aconsejar el voltaje del trafo que tengo que pedir y algún puente de diodos en IC?
¿Un transformador de unos 9V AC estaría bien? Con 500mA me sobrará, ¿no?
Me he dado cuenta de que también me falta un fusible, voy a ponérselo.
Azicuetano, me gusta tu circuito, voy a ver si te copio algo, jejeej.
No tengo ningún optoacoplador en las librerías de Protel como el vuestro, me tocará hacerlo a mano.
Muchas gracias.
Un saludo. Au.
-
He encontrado por aquí un alimentador universal conmutado regulable para 3, 4.5, 5, 6, 9 y 12, es decir, típico transformador con la tensión seleccionable estabilizada. Este supongo que si que me servirá, pero de todas formas, si podéis ayudarme con lo del transformador, ya lo tengo para algún otro proyecto.
Me está dando trabajo el proyectillo este, pero por lo menos, estoy aprendiendo un montón. Me voy a llenar la casa de bombillas regulables de intensidad, jajajajaj.
Un saludo. Au.
-
No necesitas un trafo muy gordo, con 500mA vas a ir sobrado, pero con 100mA probablemente también.
Yo supongo que el cargador que estás utilizando sí sirve. Lo único que tienes que hacer es sacar un cable del secundario, antes de la rectificación, para obtener una señal alterna de bajo voltaje que puedas ingresar directamente al operacional.
Si prefieres comprar un trafo, pues haz lo mismo: un cable del secundario directo y sin rectificar.
-
No necesitas un trafo muy gordo, con 500mA vas a ir sobrado, pero con 100mA probablemente también.
Yo supongo que el cargador que estás utilizando sí sirve. Lo único que tienes que hacer es sacar un cable del secundario, antes de la rectificación, para obtener una señal alterna de bajo voltaje que puedas ingresar directamente al operacional.
Si prefieres comprar un trafo, pues haz lo mismo: un cable del secundario directo y sin rectificar.
una pregunta manolo!
el mio me da 100Hz, es correcto para dimmar aqui en europa o debe cambiarlo, todavia no lo he probado por falta de tiempo pero hoy sabado lo montare
eso espero :shock:
-
¿100Hz en la salida del operacional?, deberías leer 50Hz. En realidad el dimmer trabaja en 100 semiciclos, 50 negativos y 50 positivos, pero si has leído con un frecuencímetro, que sólo cuenta flanco ascendente o descendente, deberías leer 50Hz.
-
¿100Hz en la salida del operacional?, deberías leer 50Hz. En realidad el dimmer trabaja en 100 semiciclos, 50 negativos y 50 positivos, pero si has leído con un frecuencímetro, que sólo cuenta flanco ascendente o descendente, deberías leer 50Hz.
Si manolo. lo medi con el frecuentimetro y me da justo 100Hz, como puede ver en el assembler esta configurado asi
; Phase control constants
Resolution EQU .256 ; Analogue dimming resolution
Mains_freq EQU .100 ; 100 Parts a second
Interupts_s EQU Mains_freq*Resolution ; Interupts per second
Amount_to_cnt EQU Instruction_rate/Interupts_s ; number to count in timer0
Timer0_cnt EQU .256-Amount_to_cnt ; invert value to count (timer0 counts till overflow)
Delay_Value EQU .40
a mi me es raro esto pero queria probarlo, hasta ahora tengo problema que el chip programado y no me va como tiene que ir, otra pregunta es que yo lo assemble
como puede ver aqui
And use them it to phase control mains
If Basic =1 For Model with two Leds
If basic =0 For Model with 7 Seg Display
en modo basic=1 para evitarme el rollo del display, me he metido en lio porque en verdad yo no necesito montarlo, solo lo hice para que las gente lo pudiera hacer :?
ya que diimmer tengo un moton en mi empresa :D
necesito tu consejo :mrgreen:
buenos dias europa :D
-
Pues lamentablemente no puedo ayudarte, el ASM y yo estamos peleados. :(
-
Pues lamentablemente no puedo ayudarte, el ASM y yo estamos peleados. :(
tranquilo manolo, ahora mismo estoy en eso, y lo queme con 50hz lo estoy probando
:D
me fue ahi ahi, recibia senales pero creo que era la frecuencia de cruce del zero Cross, cuando lo termine hare foto de su funcion y las pondre en mis projectos :mrgreen: eso espero :D
-
Si si Rafael, seguro que es la señal del cruce por cero para sincronizar el disparo, y es de 100HZ, para disparar en semiciclo positivo y negativo :mrgreen:
Norberto
-
Si si Rafael, seguro que es la señal del cruce por cero para sincronizar el disparo, y es de 100HZ, para disparar en semiciclo positivo y negativo :mrgreen:
Norberto
gracia noberto!
ahora no me va nada, porque la cambie y la puse a 50Hz
ya le envie un e-mail aö autor
pero mlo que veo raro es que los Led deberian encenderse al estar la Senal DMX invertida y no me lo hace, aparte si la Senal es correcta deberia encenderse uno de OK
y no me sale nada de eso
le cambie el Quarzo, le puse uno TLL mos y nada :x
si dentro de una semana el tipo no me contesta lo quitare de Foro :x
-
Si si Rafael, seguro que es la señal del cruce por cero para sincronizar el disparo, y es de 100HZ, para disparar en semiciclo positivo y negativo :mrgreen:
Norberto
gracia noberto!
ahora no me va nada, porque la cambie y la puse a 50Hz
ya le envie un e-mail aö autor
pero mlo que veo raro es que los Led deberian encenderse al estar la Senal DMX invertida y no me lo hace, aparte si la Senal es correcta deberia encenderse uno de OK
y no me sale nada de eso
le cambie el Quarzo, le puse uno TLL mos y nada :x
si dentro de una semana el tipo no me contesta lo quitare de Foro :x
estoy midiendo Senales de mi projecto donde debe ser 100Hz Sinus, pero me salen las onda chafadas :x
Alguien puede decirme algo de estos? :shock:
-
Hola Rafael!, eso es correcto, el sincronismo o disparo por cruce cero, son pulsos , es decir una onda rectangular, por eso es "recortada" por un zener
Y es de 100 hz porque se "rectifica" con el puente de diodos, y se emplea sin filtrar
Luego de tomar el micro, desde donde parte o nace la tension, realiza los retardos para disparar los triacs, y asi controlar el "angulo de disparo" (por cada semiciclo)
Un abrazo
Norberto
-
Hola Rafael!, eso es correcto, el sincronismo o disparo por cruce cero, son pulsos , es decir una onda rectangular, por eso es "recortada" por un zener
Y es de 100 hz porque se "rectifica" con el puente de diodos, y se emplea sin filtrar
Luego de tomar el micro, desde donde parte o nace la tension, realiza los retardos para disparar los triacs, y asi controlar el "angulo de disparo" (por cada semiciclo)
Un abrazo
Norberto
eso me imaginaba yo, pero es que estoy midiendo y no me sale cuadrada, por otra parte tengo la sensacion que el Quarz de pic de 20Mhz no me va bien :x
ya yo pensaba hacerlo como lo tiene el manolo en su pagina con un LM741 o TL071, pero cuando llegue a casa esta noche :lol:
mirate esto, es lo que usamos en mi empresa :lol:
Gracia Norberto
-
Hola Rafael, te falto colocar el link de lo que tengo que mirar ja ja :D :D :mrgreen:
Ok, no es perfectamente cuadrada ok? es bastante redondeada, pero no es para nada senoidal ok? :mrgreen:
-
Hola Rafael, te falto colocar el link de lo que tengo que mirar ja ja :D :D :mrgreen:
Ok, no es perfectamente cuadrada ok? es bastante redondeada, pero no es para nada senoidal ok? :mrgreen:
sorry, el stress del maldito dimmer :D
aqui esta http://www.dbaudio.com/es/systems/q_series/
usamos todos eso que tu vee ahi, y los Ampli
eso se super genial, controlar los ampli con Cobranet :D
-
Podría obtener el paso por 0 poniendo una resistencia gorda entre uno de los cables de entrada de 220 y la pata del operacional?
Voy a hacer el pedido de lo que me hace falta y quiero saber si me sirve el transformador rectificado que tengo o si tengo que pedir uno y su puente rectificador.
Muchas gracias.
Un saludo. Au.
-
Podría obtener el paso por 0 poniendo una resistencia gorda entre uno de los cables de entrada de 220 y la pata del operacional?
Voy a hacer el pedido de lo que me hace falta y quiero saber si me sirve el transformador rectificado que tengo o si tengo que pedir uno y su puente rectificador.
Muchas gracias.
Un saludo. Au.
ni te atrevas a ponerla,
lo que tiene que hacer es poner una resistencia de secundario de transformador y la entrada del LM741, la resistencia puede ser de 1Kohm
Suerte Vicente
-
Por que no has probado el clasico detector de cruce por cero, Una resistencia de 1M conectada directamente a INT_EXT y A.C.?''
Saludos
-
Es que el secundario del transformador no lo tengo accesible, porque tengo un transformador comercial, del que salen 3, 4.5, 5, 6, 9 o 12V en continua, no puedo sacar un cable del secundario del transformador.
Rulo, es que eso es lo que tenía puesto, y creo que no funciona bien.
No puedo poner una resistencia de 1Mohm a la pata - del operacional?
Gracias por tu respuesta.
Un saludo. Au.
-
Como que no anda, yo he usado este metodo y me parece que es bueno, directo al operacional no creo que sirva, pero directo a RB0 deberia funcionar.
Saludos :-)
-
Realmente, lo tenía a RA4/T0CK1, no a RB0, pero supongo que debería funcionar igual en uno que en otro, no?
De todas formas, acabo de encontrar un cargador viejo por aquí, lo he desguazado y he encontrado un transformador de 450mA y 9V de alterna en el secundario, así que creo que lo voy a utilizar.
Me falta un puente de diodos. Tengo uno por aquí, pero no se si sirve. Es el B40C800
Un saludo. Au.
-
Realmente, lo tenía a RA4/T0CK1, no a RB0, pero supongo que debería funcionar igual en uno que en otro, no?
De todas formas, acabo de encontrar un cargador viejo por aquí, lo he desguazado y he encontrado un transformador de 450mA y 9V de alterna en el secundario, así que creo que lo voy a utilizar.
Me falta un puente de diodos. Tengo uno por aquí, pero no se si sirve. Es el B40C800
Un saludo. Au.
Hola vicente la señal de Cero Cross debe meterla como esta en el Esquema
El B40C800 claro que te sirve, otras altenativa seria esta http://www.hoelscher-hi.de/hendrik/english/dimmer.htm
Atencion !!!!
Si ya lo tiene Separado de la RED con el opto coople nunca se te ocurra poner resistencia de Red directo al procesor, asi se te quemara otras vez el MCU :mrgreen: ok
-
gracias stk500!!
Pues entonces, voy a meter el transformador en el circuito impreso, aunque me va a quedar bastante más grande, pero el tamaño no me importa en este proyecto.
Solo me falta pedir el moc3020 que me falta y el amplificador. Cuando acabe el esquemático os lo pongo a ver que tal.
Un saludo. Au.
-
He leído que el MOC3020 se activa con una corriente de 30mA, y el pic tengo entendido que solo es capaz de entregar 25mA por cada pin, ¿funcionará bien? ¿o me tocará ponerle un transistor para que funcione?
Un saludo. Au.
-
El MOC3021 va perfecto desde un pin del PIC y una resistencia. Según la data su consumo máximo es de 15mA.
-
Ya lo he visto, pero es bastante más caro y tengo que pedir 10 mínimo, pero bueno, prefiero gastarme un poco más y que funcione seguro, a que después me toque hacer maravillas para que funcione (poner transistores)
Muchas gracias.
Un saludo. Au.
-
Uff, Vicent, no sé en Valencia, pero en Sevilla no cuesta nada encontrarlo por unidades sueltas y vale unos céntimos. Y si se encuentra en Sevilla, es que no es nada rarito.
-
Es que en la tienda donde voy siempre no tienen, y por internet vale a 1€ y poco cada uno, y tengo que pedir mínimo 10. El problema es que me urge bastante.
A lo largo de la tarde me pienso si busco más, y esta noche me decido.
Gracias.
Un saludo. Au.
-
En Madrid los compré hace menos de una semana por 0,35 eur la unidad.
-
Yo tengo algún MOC3020 que puedo desoldar y te lo puedo enviar mañana mismo (nuevos no tengo porque se me han acabado y aún no los he comprado). Eso si... no se lo que te tardará en llegar.
Ya me dices algo.
Un saludo desde Alicante.
-
Azicuetano, muchas gracias por el ofrecimiento, es un detalle muy bueno de tu parte. No hace falta que te molestes, así aprovecho y compro alguna cosilla más que necesito para otros proyectos.
He llamado a otra tienda de aquí de valencia y tienen el 3020 por 45 céntimos y también tienen el operacional (LM741) que tampoco lo encontraba, así que mañana me acercaré y los compraré.
¿Le pongo un transistor para que entregue los 30mA que necesita el 3020? ¿O no hará falta?
Es que poner un transistor en cada opto para 5mA me parece una faena, pero bueno, si es necesario, se pondrá.
Un saludo. Au.
-
Yo activo 4 tiristores con 4 MOC3020 y lo hago directamente desde la patilla del PIC. Pongo una resistencia de 330 para limitar la intensidad y ya está. Funciona perfectamente.
Un saludo desde Alicante.
-
:mrgreen: yo empleo una resistencia de 150 Ohms, mas un led , mas el opto, y al pin del pic, eso si, absorviendo corriente,... es decir (+), R, Led, pin del pic activa por cero :mrgreen:
Norberto
-
Azicuetano, perfecto, eso es lo que quería saber, muchas gracias.
todopic, ¿podrías poner un esquemita de lo que comentas?, no lo acabo de entender. Aunque sea con el paint.
Gracias.
Un saludo. Au.
-
Os pongo el enlace de lo que llevo hecho, a ver cuantos fallos tiene.
http://vicentdegodella.com/belen.pdf
Cuando tenga que routearlo me voy a querer morir, jejejej.
Un saludo. Au.
-
No carga, Vicent.
-
No carga, Vicent.
a mi me cargo manolo :mrgreen:
en el esquema esta bien, pero no se te olvide de poner los condensadores al TRIAC y la Resistencia
y el LM741 como lo tiene Nocturno, fijaste bien en su Esquema.
-
En este enlace (http://sound.westhost.com/appnotes/an005.htm) explican lo del detector de cruce por cero y me parece que el operacional no es la opción correcta, el primer esquema de la página produce un pulso cada vez que la señal de entrada pasa por cero, ideal para usar con RB0 sin tener que cambiar el flanco de disparo de la int_ext.
-
stk500, no se que condensadores dices, tengo los mismo que ha puesto manolo, y las resistencias también, menos la que va a RB2, que no se para que sirve. Ni pared-2, que no se porque va a esa pata.
Se me había olvidado alimentar el operacional, pero por lo demás está bien.
duende_azul, el esquema que me has enseñado tiene un transformador con 5 patas, y el mio solo tiene 4. Creo que no me sirve ese esquema.
Os vuelvo a subir el esquema a ver que tal.
http://vicentdegodella.com/belen.pdf
Un saludo. Au.
-
Duende, está muy bien esa paginita. Efectivamente se observa cómo hay distintos tipos de detectores de cruce por 0, el de la Figura 1 es el que tú sugieres, y el de la Figura 3 es el que yo utilicé.
En este caso, creo que es mejor el nº 3 porque la detección la hace justo en el momento del paso por 0. Si te fijas, el de la figura 1 lo hace un poco antes, lo que le aporta cierta imprecisión.
Vicent, sigo sin poder ver ese esquema que pones en PDF, no sé si será algún problema mío, pero si quieres mándamelo por mail. Con respecto a la resistencia que se ve en RB2, es una pullup que permite utilizar el interruptor de la pared. El conector PARED-2 es uno de los dos cables del interruptor, por el que leeremos un 0 cuando esté cerrado, y un 1 cuando esté abierto.
-
Manolo, el pdf si que puedo abrirlo yo, te lo envío a Hotmail.
Ya he comprado los componentes que me faltaban, en cuanto me déis el visto bueno, hago el enrutado y la insolo.
Gracias.
Un saludo. Au.
-
Ya he visto el PDF que me has enviado por mail. No veo nada raro, en principio todo correcto.
Quizás añadiría una resistencia de 10K en la entrada del operacional, para evitar que si hay algún consumo dentro, se lo coma todo el operacional. No debe ocurrir nada así, pero tampoco estorba esa resistencia.
Ánimo que ya lo tienes :-/
-
Manolo, la resistencia en que pata va, en la que viene del transformador, ¿no?
Si no véis ningún fallo más, mañana o pasado haré la pcb y la montaré, a ver si puedo tenerlo funcionando cuanto antes.
Gracias a todos.
Un saludo. Au.
-
Sí, mira el siguiente gráfico, extraído del enlace que publicó el Duende_azul:
(http://sound.westhost.com/appnotes/an005-f3.gif)
También lleva una pullup a la salida.
-
:-/ manolo una pregunta?
que creo que la Resistencia del Zero Cross,ahi leo pone 4,7Ohm en la entrada Int RB0, cree que asi esta bien o es 4k7?
porque claro a ese pin le entra muchas corriente :x
-
Seguramente será de 4k7, ahí el PIC no necesita corriente, así que un valor alto servirá.
-
Seguramente será de 4k7, ahí el PIC no necesita corriente, así que un valor alto servirá.
muchas gracia manolo! es que se me calentaba y la cambie ahora mismo 4k7 y el resultado es mas positivo :mrgreen:
pero nunca me ha dado tanta lucha en un dimmer como este :D
-
Os paso el enlace al último esquemático y su correspondiente PCB.
Falta el plano de masa, pero no lo voy a poner hasta que me digáis que está bien (cuando lo esté), jjejejej.
Las pistas de potencia son de 10mm de anchura, por lo menos en los tramos en los que es posible.
Un saludo. Au.
-
Pero, ¿porqué no lo pruebas antes en protoboard y te aseguras?
¡Qué bestia!, pistas de 10 mm :D
-
Pero, ¿porqué no lo pruebas antes en protoboard y te aseguras?
¡Qué bestia!, pistas de 10 mm :D
Este va a cargar todas una ciudad con ese DIMMER :D :D :D :D
-
¿El puente de diodos lo puedo hacer con 4 diodos normales verdad? Es que no encuentro el integrado que tenía por aquí.
¿Me he pasado mucho con 10mm de ancho de pista? Más vale que sobre, ¿no?
Es que en un momento dado pueden haber más de 2 o 3 KW, y no quiero quedarme corto.
Un saludo. Au.
-
Ya he encontrado el puente.
Otra pregunta, no tengo condensadores de 15pF para el cristal de 20Mhz, ¿sirven de 10pF o de 22pF? Es que ir aposta a por 2 condensadores de 15pF me parece un poco fuerte. Tampoco tengo condensadores de 47nF, pero no se si otros valores valdrían.
Muchas gracias.
Un saludo. Au.
-
¿El puente de diodos lo puedo hacer con 4 diodos normales verdad? Es que no encuentro el integrado que tenía por aquí.
¿Me he pasado mucho con 10mm de ancho de pista? Más vale que sobre, ¿no?
Es que en un momento dado pueden haber más de 2 o 3 KW, y no quiero quedarme corto.
Un saludo. Au.
Hola Vicente!
cuando te dije arriba en mi otros mensaje que deberia tener un poco mas cuidado con la carga, pero me demuestras tu poca experiencia en la electronica, ya una vez se te quemo la platina y eso fallos no deberian suceder y es por falta de Fusible rapido, sigue por favor mis consejos,
un fallo de esto podia provocar un incendio que ni Dios te lo perdonaria.
ahora bien para ayudarte, claro que te sirve 4 Diodo y si usa un Quarzo de 20Mhz te sirve un condesador de 10Pf, siendo asi en el circuito que tenia ante y te funcionaba, no debia haber variados nada, solo lo que te comenta por aqui sobre CERO CROSS, y por favor ponle en cada TRIAC Fusible adecuado a la carga y por su puestos la entrada de corriente que como me decia en tu mensaje en Mexico son 22Amperio o alli donde lo va a colocar y te aconsejo para evitar algun Apagon general en la Cometida donde lo usa, deberia usar Disyuntor o interruptor diferencial.
Vicente un error en corriente es un gran fracaso y puede ser un gran Suceso, evitalo por favor :mrgreen:
-
Lo del fusible general ya lo había pensado, pero como no dijisteis nada, lo dejé pasar, pero me parecía importante.
Lo de los fusibles para cada triac si que no se me había ocurrido, es tan necesario?
Por cierto, en la otra placa que hice, si que había fusible, pero creo que era de mas amperios que el magnetotérmico de mi casa, por eso saltó la luz.
Probaré con los condensadores de 10pF como me recomiendas.
Le pondré un fusible de 15A.
Muchas gracias.
Un saludo.
-
Lo del fusible general ya lo había pensado, pero como no dijisteis nada, lo dejé pasar, pero me parecía importante.
Lo de los fusibles para cada triac si que no se me había ocurrido, es tan necesario?
Por cierto, en la otra placa que hice, si que había fusible, pero creo que era de mas amperios que el magnetotérmico de mi casa, por eso saltó la luz.
Probaré con los condensadores de 10pF como me recomiendas.
Le pondré un fusible de 15A.
Muchas gracias.
Un saludo.
pero vicente nosotros no podemos pensar por ti! es evidente que un circuito con tantas cargas deba tener una seguridad,
con condensador de 10Pf deberia ir
Fusible 15A
te recomiendo 4 Fusible de 4AT (no olviden que sean AT) para cada Triac, asi si tiene Corto circuito en una linea solo se apagaran esa linea y asi sabra que linea tiene el fallo, pero como decia Nocturno porque no lo prueba en el protoboard ante de soldarlo en la platina y asi evitar fallos oportunos? no olvide que el circuito debe estar muy Aislado de la RED y que solo las Salida de los Optocoople debe estar unidad en RED, aqui ten muchos cuidados al tocarlo con las manos,claro :D
Te deseo muchas Suerte! :mrgreen:
-
stk500, ¿que significa AT? ¿No son fusibles normales?
Si, lo de tocarlo con las manos si lo tengo claro, ejejje.
Gracias. Espero acabarlo a tiempo, pero me van saliendo más problemas cada vez.
Un saludo. Au.
-
¿Qué consumo van a tener los dispositivos que van a colgar del dimmer?. En función de eso, habría que colocar el fusible adecuado, el grosor de pistas adecuado (con 10mm no vas a tener problemas, desde luego) y los disipadores adecuados en los TRIAC.
-
Los fusibles pueden ser FF (muy rápidos) F (rápidos) T (lentos) o TT (muy lentos).
Para que vale cada cual? Pues... depende de la aplicación. Por ejemplo, si queremos encender un trafo toroidal y queremos proteger el primario del mismo tenemos que poner fusibles lentos, porque, los picos de intensidad que demanda el toroidal en sus encendidos son brutales. Justo ayer me dió por medirlos y un trafo que saca 24V y 8.3A tiene unos picos de 80A durante unos 7ms.
Si ponemos un fusible F o FF en el encendido del trafo se fundirá. Sin embargo si ponemos uno T no.
Si miras en los datasheet de los fusibles (hasta ellos tienen :D) verás las tablas a las que el fusible pasa a la otra vida. Para que te hagas una idea, uno T de 6A aguanta picos de unos 70A durante 20ms.
De todas formas, lo de los fusibles es un tema que necesitaría muchas palabras para explicarlo bien. Yo compraría varios fusibles de varios tipos (eso si, todos T) y probaría como funciona la cosa.
Para asegurarte que no te has quedado corto dimensionando el fusible te recomiendo que, con paciencia, te sientes delante del circuito y que lo enchufes y desenchufes durante 45 o 50 minutos. Si pasa esa prueba puedes estar tranquilo que no te has quedado corto con el fuse :D
Un saludo desde Alicante.
-
Los fusibles pueden ser FF (muy rápidos) F (rápidos) T (lentos) o TT (muy lentos).
Para que vale cada cual? Pues... depende de la aplicación. Por ejemplo, si queremos encender un trafo toroidal y queremos proteger el primario del mismo tenemos que poner fusibles lentos, porque, los picos de intensidad que demanda el toroidal en sus encendidos son brutales. Justo ayer me dió por medirlos y un trafo que saca 24V y 8.3A tiene unos picos de 80A durante unos 7ms.
Si ponemos un fusible F o FF en el encendido del trafo se fundirá. Sin embargo si ponemos uno T no.
Si miras en los datasheet de los fusibles (hasta ellos tienen :D) verás las tablas a las que el fusible pasa a la otra vida. Para que te hagas una idea, uno T de 6A aguanta picos de unos 70A durante 20ms.
De todas formas, lo de los fusibles es un tema que necesitaría muchas palabras para explicarlo bien. Yo compraría varios fusibles de varios tipos (eso si, todos T) y probaría como funciona la cosa.
Para asegurarte que no te has quedado corto dimensionando el fusible te recomiendo que, con paciencia, te sientes delante del circuito y que lo enchufes y desenchufes durante 45 o 50 minutos. Si pasa esa prueba puedes estar tranquilo que no te has quedado corto con el fuse :D
Un saludo desde Alicante.
Muy bien explicado amigos :D
debo añadir M que son medio lento a T
se que es un lio pero es como tu dice, al amigo Vicente le hace falta un Tutorial Electronico :D
yo espero y me deseo le salga todos bien, pero si te fija al principio de sus mensaje, el no sabe cuanta Carga le va pone y calcula 5000Watio :D eso no lo aguanta la linea de 15Amp que el dice :-)
-
Gracias por la explicación de los fusibles, no sabía yo que tuvieran tanta historia.
La carga que le voy a poner depende un poco de lo que haga falta para que el belén se vea bien, pero no creo que sean más de 2000 o 2500W.
He dicho de más para no quedarme corto, pero no creo que lo alcance.
Disipadores tengo 2 por triac: uno un poco más pequeño que va por dentro del grande. El grande tendrá unos 4cm2 sin contar las aletas. Y el pequeño un pelín menos porque va por dentro. ¿Tendré suficiente?
Gracias a todos por vuestras aportaciones, a este paso me voy a hacer un experto, ajjajajjaja.
Un saludo. Au.
-
He hecho el montaje con un triac en una placa de prototipos y me ocurre algo extraño.
Está montado como me dijisteis, y al ponerle la señal que sale del transformador a la pata - del operacional, en la tensión del circuito que debería ser +5V, me salen +6.3V, ¿a qué puede deberse?
Lo raro es que hace un rato medio funcionaba, se encendía la bombilla, aunque no exactamente como quería, pero se encendía, ahora ya no hace nada, la interrupción externa no funciona.
No tengo osciloscopio para ver las señales, así que tengo un problema, :(
Un saludo. Au.
-
¿Dónde lees esos 6,3V?, ¿en Vcc, en la salida del operacional?
Eso es raro, ¿seguro que lo has conectado bien?
-
En VCC.
Si quito el cable ese, da 4.8 o 4.9V, pero si le pongo el cable, da 6.3.
No lo entiendo. Creo que lo tengo todo bien conectado.
Gracias.
Un saludo. Au.
-
Ya no se que probar, he probado a ponerle una resistencia de 4K7 entre la alterna de 9V y el operacional. Baja la tensión en VCC a lo que debe, pero no funciona el operacional correctamente.
¿Se os ocurre algo?
Muchas gracias
-
Haría falta un osciloscopio o un frecuencímetro para analizar un poco eso. ¿No tiene tu multímetro opción de medir frecuencias?, si es así podrías ponerlo a la salida del operacional a ver si te encuentras los 50Hz.
Si no están saliendo es que hay avería o en el operacional, o en las conexiones.
-
Me he comprado un nuevo multímetro con frecuencimetro y eso es lo que leo:
Con la señal senoidal directamente a la entrada del operacional, leo 6.3V de continua en VCC y si mido alterna tengo 2V también en VCC.
A la salida del operacional tengo 1.6V de alterna. Midiendo continua tengo 3.6V.
Con una resistencia de 330ohms entre la senoidal y el operacional, a la salida del operacional hay una señal 50Hz, pero creo que no hay tensión suficiente para la interrupción.
Como no tengo osciloscopio, no puedo ver exactamente que está ocurriendo, pero ya no se que hacer, voy a deshacer todo lo que tengo y volver a empezar, a ver si hay suerte y suenan campanas.
He encontrado este circuito para hacer un osciloscopio que se pueda conectar a la tarjeta de sonido del pc, a ver que os parece: http://xoscope.sourceforge.net/hardware/hardware.html
El operacional lo puedo cambiar por el 741 ?
Muchas gracias.
Un saludo.
-
Me he comprado un nuevo multímetro con frecuencimetro y eso es lo que leo:
Con la señal senoidal directamente a la entrada del operacional, leo 6.3V de continua en VCC y si mido alterna tengo 2V también en VCC.
A la salida del operacional tengo 1.6V de alterna. Midiendo continua tengo 3.6V.
Con una resistencia de 330ohms entre la senoidal y el operacional, a la salida del operacional hay una señal 50Hz, pero creo que no hay tensión suficiente para la interrupción.
Como no tengo osciloscopio, no puedo ver exactamente que está ocurriendo, pero ya no se que hacer, voy a deshacer todo lo que tengo y volver a empezar, a ver si hay suerte y suenan campanas.
He encontrado este circuito para hacer un osciloscopio que se pueda conectar a la tarjeta de sonido del pc, a ver que os parece: http://xoscope.sourceforge.net/hardware/hardware.html
El operacional lo puedo cambiar por el 741 ?
Muchas gracias.
Un saludo.
Hola Vicente!
si te llega 50Hz a la salida del OP deberia funcionar, ahora deberia medir en las salida del pci hacia los Optocoople a ver que te sale, deberia salir algo, si hasta ahi te llega senal, entonce mira que este bien conectados los TRIAC, con el Gate y los Filtro R/C, tambien deberia medir donde esta el quarzo, si hay corriente alli, lastima no tiene un Osci para medir ahi, si todos en eso lugares hay corriente, entonce me imagino que el Pic no lo programaste bien, o los FUSEBIT.
el OP741 lo puede cambiar pero mira a ver si son compartible con los pines.
Muchas suerte amigos,
-
Creo que voy a ir a comprar un transformador y un puente de diodos, porque como no sea eso, no lo entiendo.
Ahora como lo tengo montado, que es como vosotros me dijisteis, se calienta bastante el operacional. Tengo solo montada la parte de paso por 0 y la parte de la alimentación.
Que puente de diodos y que transformador me recomendáis?
Un saludo. Au.
-
Creo que voy a ir a comprar un transformador y un puente de diodos, porque como no sea eso, no lo entiendo.
Ahora como lo tengo montado, que es como vosotros me dijisteis, se calienta bastante el operacional. Tengo solo montada la parte de paso por 0 y la parte de la alimentación.
Que puente de diodos y que transformador me recomendáis?
Un saludo. Au.
Pero Vicente Dios mio!
Ante Dijiste que iba a poner el Esquema completo,
danos los dato del Trafo y del puente, y si usa un Regulador de 5Voltio para el pic.
yo no creo que sea el Trafo, si se te calienta es algo que a conectados mal.
por favor pon el diagrama y datos del trafo.
el trafo te sirve de 9Voltio secundario y de 500MA minino, puede poner 4 Diodo de IN4001 y un condensandor de 407uF 25Voltio, no olvide 100Nf condensadores
-
Algo raro hay y no lo hemos encontrado aún. El operacional no debe calentar nada de nada, la tensión de Vcc no debe verse afectada por meter alterna al operacional.
Revisa bien, Vicent.
-
Os pongo el esquemático que estoy siguiendo y una foto de la proto, a ver si veis algo raro.
Lo he vuelto a enchufar y ya no se calienta, se ve que había algún mal contacto.
La línea de bajo de la protoboard es GND y la otra VCC.
Midiendo otra vez me he dado cuenta que tengo lo mismo en VCC que en la entrada senoidal, y creo que eso no es correcto.
http://vicentdegodella.com/belen.pdf
http://fotos.vicentdegodella.com/dimmerproto.jpg
Muchas gracias por estar tan pendientes.
Un saludo. Au.
-
No me cuadra lo que veo en el esquema y lo que veo en la foto.
Repasemos cómo tienen que ir los pines del operacional:
1- Offset null: no conectado
2- Inv. Input: GND
3- Non. inverting input: alterna, directo desde el trafo
4- V-: GND
5- Offsen null: no conectado
6- Output: salida a tu PIC
7- V+: Vcc (+5V)
8- No conectado
-
Manolo, no veo que tengo mal, lo tengo conectado como dices.
Que ves mal?
-
Que dices que la línea inferior de la protoboard es GND, y sin embargo los pines 2 y 4 los tienes conectados en la superior.
-
Perdón, me he equivocado, las lineas son al revés, la de bajo es VCC :z)
-
Creo que ya funciona, porque la bombilla se enciende, pero, ahora el programador no me reconoce el pic, me da dispositivo desconocido.
Voy a ver que encuentro sobre eso, creo que me he cargado sin querer, porque en VPP tengo -1V y pico, :(
Siempre me pasa igual, cuando algo va, otra cosa falla, que mala suerte que tengo.
Utilizo el GTP-USB Plus y el Winpic800 para programarlo.
Un saludo. Au.
-
Saca el PIC de la protoboard e intenta programarlo aparte. Así te aseguras que no sea un problema de conexiones.
-
Ya puedo programar el pic, pero tengo que sacarlo del circuito, los +6.3V en VCC están haciendo que no vaya bien.
Lo que funcionaba creo que era porque casualmente, la interrupción del timer0 caía sobre el momento justo, y activaba el triac.
Con este código no funciona. Debería, ¿no?
/********************************************************/
/* Proyecto regulador de luces para belén */
/********************************************************/
#include <16F88.h>
#FUSES NOWDT, HS, NOPUT, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT, FCMEN, NOIESO, NOMCLR
#use delay(clock=20000000)
#use fast_io(A)
#use fast_io(B)
#byte PORTB = 0x06
#bit TRIAC1 = PORTB.1
#bit TRIAC2 = PORTB.2
#bit TRIAC3 = PORTB.3
#bit TRIAC4 = PORTB.4
/******************************************************/
/* Declaración de variables */
/******************************************************/
int i = 0;
int disparo = 0;
// Contador de pasos según el timer0, se pone a 0 en cada cruce por 0
int Pasos = 0;
// El valor que le damos al timer para que la interrupción se produzca cada 50 microsegundos -> 1 paso cada 0.4us
int Periodo = 131;//131;
#int_EXT
void CrucePor0()
{
Pasos = 0;
delay_ms(1);
Triac1 = 0;
delay_us(500);
Triac1 = 1;
Triac2 = !Triac2;
if (i == 0)
{
i = 1;
ext_int_edge(H_TO_L); // La próxima interrupción será de bajada
}
else
{
i = 0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
}
#int_TIMER0
void TIMER0_isr()
{
set_timer0(Periodo);
Pasos++;
disparo = 50;
if(Pasos == disparo)
Triac1 = 0;
if(Pasos == disparo+20)
Triac1 = 1;
}
void main()
{
set_tris_B(0b11000001);
set_tris_A(0xFF);
// setup_timer_0(RTCC_INTERNAL|RTCC_DIV_2);
enable_interrupts(INT_EXT);
// enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
ext_int_edge(L_TO_H);
// set_timer0(Periodo);
Triac1 = 1;
Triac2 = 0;
// Triac3 = 1;
// Triac4 = 1;
for(;;)
{
}
}
El Triac2 tiene conectado un led con su resistencia. Lo he puesto para ver si pasa por la interrupción externa, pero nada, ni se inmuta el led ese.
Un saludo. Au.
-
Andate con ojo vicent, a ver si vas a meterle 220V al led.
Si lo que querías decir es que en lugar de escitar la gate del triac lo que haces es escitar a un led... es posible que se encienda y apague tan rápido que parece que está siempre apagado.
Yo primero haría un programa que cada vez que detecta una interrupción externa encienda el triac.
Después el mismo programa, pero, que lo enciende tras pasar 2 ms.
Después lo mismo pero que enciende el triac despues de pasar 5 ms.
Y lo mismo tras pasar 8 ms.
Programa 1
#int_EXT
void CrucePor0()
{
Triac1 = 0;
Triac1 = 1;
if (i == 0)
{
i = 1;
ext_int_edge(H_TO_L); // La próxima interrupción será de bajada
}
else
{
i = 0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
}
Programa 2
#int_EXT
void CrucePor0()
{
Triac1 = 0;
delay_ms(2);
Triac1 = 1;
if (i == 0)
{
i = 1;
ext_int_edge(H_TO_L); // La próxima interrupción será de bajada
}
else
{
i = 0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
}
Programa 3
#int_EXT
void CrucePor0()
{
Triac1 = 0;
delay_ms(5);
Triac1 = 1;
if (i == 0)
{
i = 1;
ext_int_edge(H_TO_L); // La próxima interrupción será de bajada
}
else
{
i = 0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
}
.
.
.
Déjate de TIMER0 y demás historias, ya las pondrás después. Con esto tienes que ver como con el primer programa la bombilla tiene que estar siempre encendida, con el 2º un poco más apagada, con el tercer programa casi apagada y así sucesivamente.
Si esto te funciona ya sabes que el triac lo estás manipulando bien y ya te puedes meter con la interrupcion del TIMER0.
Un saludo desde Alicante.
-
Azicuetano, he probado las tres formas que me has dicho, y no funciona de ninguna manera, he añadido una instrucción más, y no enciende el led. Por cierto, si, lo excito con una salida del pic, no con 220!!!
#int_EXT
void CrucePor0()
{
Triac1 = 1;
delay_ms(5);
Triac1 = 0;
Triac2 = 1;
if (i == 0)
{
i = 1;
ext_int_edge(H_TO_L); // La próxima interrupción será de bajada
}
else
{
i = 0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
}
Sigue dando 6 y pico V en VCC.
Se os ocurre que puede ser?
-
Te entra en la interrupción?
Graba un valor en la eeprom cada vez que te entre en la interrupción. Así podrás asegurar que ese trozo de código se ejecuta.
Si tienes algún optoacoplador yo probaría a ponerlo para detectar así el cero crosing. Con un simple 4n25 o un 4n32 y la señal del secundario del trafo lo podrás hacer sin ningún problema.
Otra cosa, no es normal que tengas 6 y pico V en VCC. Yo recomendaría que fueras anulando partes del circuito hasta que obtengas los típicos 5V.
Desconecta todo el circuito y mide a la salida del 7805. Si tienes 5V conecta sólo el PIC y vuelve a medir. Así sucesivamente hasta que detectes donde tienes la mala conexión.
Seguro que es alguna tontería y en cuanto encuentres el fallo te va todo como la seda.
En internet podrás encontrar muchos cero crosing hechos con optoacopladores, en cualquier caso, si quieres que te pase el que yo utilizo siempre, avisa y lo cuelgo.
Venga que ya te queda menos :mrgreen:
Un saludo desde Alicante.
-
Si sé cuando sube de 5V, es cuando le pongo la señal de alterna del secundario del transformador a la pata del operacional, pero no se porque lo hace.
Creo que voy a cambiar el detector de cruce por 0 por otro que no me de problemas, pero Manolo lo tiene así en su dimmer, y en teoría funciona.
No tengo ningún optoacoplador de esos que dices, pero supongo que no me costará mucho encontrarlo, pon el esquema cuando puedas, por favor.
Muchas gracias por tus respuestas.
Un saludo. Au.
-
En la práctica también funciona, pero eso no significa que no te encabezones con él. Prueba otras opciones hasta que lo consigas.
-
En la práctica también funciona, pero eso no significa que no te encabezones con él. Prueba otras opciones hasta que lo consigas.
Si, se que funciona, he visto un video en tu web, :D
Voy a ver alternativas por los mensajes anteriores.
Un saludo. Au.
-
Manolo, he visto que en tu minidimmer utilizas una resistencia de 1MOhm, puedo utilizarla yo metiendola en la interrupción externa?
-
Me parece menos arriesgado lo del operacional, pero sí, también se puede hacer con la resistencia directa a la interrupción externa.
Si le vas a meter la alterna de 9V que sale del trafo, tendrás que ponerle una resistencia más pequeña: quizás con una de 10K sea suficiente.
-
Hola a todos. Por una vez traigo una buena noticia.
He hecho funcionar el dimmer, pero con algunos cambios.
Le he cambiado el PIC por el 12F683, y para el detector de paso por 0 he quitado el operacional que no funcionaba bien y le he puesto una resistencia de 10k directamente del secundario del trafo.
Os pongo el esquema y lo véis.
http://vicentdegodella.com/belen.pdf
Aún así tengo un pequeño problema, pero creo que es de software.
Cuando llega a 4 o 5ms, hace cosas raras, la luz parpadea (como si solo se disparara el triac uno de los dos ciclos del seno) y se queda más tiempo del que debiera con poca luz, no se que debe ser, lo miraré más detenidamente.
Aquí os pongo el código también:
#include <12F683.h>
#FUSES NOWDT, HS, NOCPD, NOPROTECT, MCLR, PUT, BROWNOUT, IESO, NOFCMEN
#use delay(clock=20000000)
int i;
int subida = 1;
int nivel = 0;
int disparo = 1;
#int_EXT
void EXT_isr()
{
nivel++;
if(nivel == 100)
{
if(subida)
disparo++;
else
disparo--;
if(disparo == 9 && subida)
subida = 0;
if(disparo == 1 && !subida)
subida = 1;
nivel = 0;
}
delay_ms(disparo);
output_low(PIN_A0);
delay_us(200);
output_high(PIN_A0);
// output_toggle(PIN_A1);
if (i == 0)
{
i = 1;
ext_int_edge(H_TO_L); // La próxima interrupción será de bajada
}
else
{
i = 0;
ext_int_edge(L_TO_H); // La próxima interrupción será de subida
}
}
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
enable_interrupts(INT_EXT);
enable_interrupts(GLOBAL);
output_high(PIN_A0);
// TODO: USER CODE!!
for(;;)
{
}
}
Os iba a poner un video, pero no se aprecia bien el efecto, así que no lo pongo, da igual.
Un saludo. Au.
-
Venga, venga, que te va a dar tiempo para tenerlo antes de montar el belén.
-
Aquí os dejo el esquema y el pcb definitivo (en teoría).
Digo en teoría porque me falta acabar la parte software, pero de momento funciona.
Espero entre mañana y pasado tenerlo todo acabado para montarlo en el belén el sábado.
Cuando lo tenga, colgaré el .hex y el código para quien lo quiera.
http://vicentdegodella.com/belen.pdf
http://vicentdegodella.com/placa.pdf
Un saludo. Au.
-
:-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/
-
Que bien!!
Cuelga también una foto real del sistema!!!
Era cuetión de tiempo que te saliera, te has esforzado y... se veia venir. :mrgreen:
Un saludo desde Alicante.
-
:-/ :-/ :-/ :-/ Bravo Vicente :-/ :-/ :-/ :-/
Por fin lo resolviste :-/ :-/ :-/ :-/
a ver cuando lo suber para verlo :-/ :-/ :-/ :-/ :-/ :-/
-
Apoyo la petición de Iván Azicuetano, fotos, fotos cuando este todo en marcha y funcionando. :D :D :D
Muchas felicidades. Y por supuesto unos cuantos de estos ... :-/ :-/ :-/ :-/ :-/
-
Gracias por vuestro apoyo!!
Por supuesto que cuando lo tenga funcionando le haré unas fotos, que menos después de lo que me habéis ayudado.
Una última (o penúltima) pregunta, jejejej: ¿Cómo veis la pcb esta? La quiero insolar ya y montarla, porque creo que el pic no hace buen contacto con la de pruebas y no funciona bien.
http://vicentdegodella.com/pcb.pdf
El plano de masa no lo he puesto ni en la parte del trafo ni en la parte de potencia, está bien así, ¿no?
Sed críticos, para no encontrarme problemas después.
Muchas gracias.
Un saludo. Au.
-
Gracias por vuestro apoyo!!
Por supuesto que cuando lo tenga funcionando le haré unas fotos, que menos después de lo que me habéis ayudado.
Una última (o penúltima) pregunta, jejejej: ¿Cómo veis la pcb esta? La quiero insolar ya y montarla, porque creo que el pic no hace buen contacto con la de pruebas y no funciona bien.
http://vicentdegodella.com/pcb.pdf
El plano de masa no lo he puesto ni en la parte del trafo ni en la parte de potencia, está bien así, ¿no?
Sed críticos, para no encontrarme problemas después.
Muchas gracias.
Un saludo. Au.
Vicente debe poner la masa de corriente continua en todos sus puntos menos al TRIAC que debe ser completamente aislado del circuitos,
[/quote]
El plano de masa no lo he puesto ni en la parte del trafo
[/quote]
Aqui te refiere a la toma de tierra?
:? :?
si es la toma de tierra deberia ponerla en el mueble donde lo va a montar si es de metal claro.
por eso te decia de usar diferencial y asi proteger el circuito y la gente que lo manipula :D :D
-
El plano de masa no lo he puesto ni en la parte del trafo
El plano de masa lo utilizo para evitar ruido en el circuito, no es para la toma de tierra.
Lo voy a tener sobre una madera, para evitar problemas de cortocircuitos.
Respecto a lo del diferencial, en la tienda me han dado precios de un diferencial y un magnetotérmico, el magnetotérmico de 16 A vale 11 €, pero el diferencial es bastante caro, unos 70 o 80€.
He pensado que con un magnetotérmico de 10A me sobra, solo voy a tener 2 salidas, cada una de 5A, ¿no?
Gracias.
Un saludo. Au.
-
No hace falta que le pongas plano de masa. Además, si no lo pones disminuirás el riesgo de cortocircuitos porque evitarás que la masa pase cerca de los pines de potencia.
Yo estoy peleado con tu dominio y nuevamente no puedo ver el pdf :?
-
Estoy insolando la placa ahora mismo. Bueno, estoy insolando otra más pequeña de otro proyecto porque no controlo bien las cantidades de sosa y después del ácido y el agua oxigenada.
En cuanto acabe esta, haré la de las luces.
Si me sale bien os pondré unas fotos. :D
Manolo, he quitado el plano de masa como me has dicho.
Un saludo. Au.
-
Ya funciona bien, pero hay un pequeño problema, cuando lleva unos 13 segundos de crecimiento de luz, la luz da un salto a más intensidad, se mantiene así y a los 18 segundos vuelve a donde estaba para seguir creciendo.
En el descenso de luz pasa lo mismo en el momento equivalente.
De momento voy a dejarlo así porque tengo que montarlo hoy para que mañana esté en marcha.
Os dejo el código a ver si me podéis echar una mano.
¿Se os ocurre algo?
Muchas gracias.
Un saludo. Au.
-
He probado a enchufarlo en su sitio, y con una carga de 1KW hace lo que le da la gana, solo funciona bien a mitad, es decir, cuando se encienden entre un 30 o 40 y 60 o 70%.
¿Puede ser que no mantenga el triac encendido lo suficiente para que se enganche?
Igual no lo mantengo lo suficiente para tanta carga, pero con 200W solo que lo probaba yo si que funcionara más o menos bien.
Un saludo. Au.
-
Hola a todos, vuelvo a meterme en este asunto, ya que quiero arreglarlo de una puñetera vez, para que vaya bien.
He hecho pruebas aumentando la luminosidad desde el mínimo hasta el máximo en una salida y desde el máximo hasta el mínimo en la otra salida. El resultado es que a cierta potencia, la luz parpadea mucho, como si solo funcionara en uno de los dos semiciclos correctamente. Pasa en ambas salidas.
Como no tengo osciloscopio, no puedo ver exactamente lo que está pasando, así que tendré que ir haciendo pruebas hasta que vea por que falla.
La verdad es que estoy un poco bloqueado, y no se por donde tirar. A ver si me inspiro un poco con la almohada.
Si alguien ha tenido alguna experiencia similar, agradecería comentarios.
Buenas noches.
-
Buenop ya somos 2, pero a diferencia de tu dimmer el mío es a 110Vac y 60Hz...tratando de volver a cojer el ritmo en los pics, decidí despues de hacer un secuenciador de 4 canales para esta navidad, dedicarme a un sistema autodimmer usando el PIC12F508 para iluminar el pesebre, y busque algunos ejemplos para saber como se hace y encontré este PDF en Microchip hilo (http://ww1.microchip.com/downloads/en/AppNotes/2_008.pdf) hice algunas variaciones para acondicionarlo a los 60hz pero no me va.
En este hilo (http://www.todopic.com.ar/foros/index.php?topic=23338.0) dejé la modificación para saber en que estoy fallando.
Por ahora voy a descansar un rato que llevo 8 horas de seguidas y no logro avanzar...estas cosas que pasan cuando se deja de practicar :mrgreen:
Saludos
-
Yo tambien estoy interesado en realizar este proyecto, se acercan las navidades y me gustaria montarlo. En assembler entiendo algo pero en en C ni torta. Tengo osciloscopio, con las formas de onda te puedo ayudar....
-
Hola, estoy montando el circuito y me dispongo a programar el pic. Me surge la duda como compilar en C, ¿como lo paso a hex para quemarlo en el pic? Igual que en assembler, con el MPASMWIN??
-
Hola, estoy montando el circuito y me dispongo a programar el pic. Me surge la duda como compilar en C, ¿como lo paso a hex para quemarlo en el pic? Igual que en assembler, con el MPASMWIN??
Creo que no, debes bajarte el CCS y el plugin para el MPLAB....desafortunadamente no uso el C.
Vicent, aún necesitas depurar el autodimmer? ya logré hacerlo pero solo trabajo Assambler, en lo único que puedo colaborarte es con el diagrama de flujo para que te hagas una idea...más tarde pondré un video de como me quedó...lo bueno es que puedo modificar la velocidad a mi antojo.
Saludos
-
Bueno, despues de estar un dia largo para entender como se compila en C, me da errores en la compilacion. No se si es porque el CCS es una demo o hay algun error en el codigo. A ver si algun experto en C me orienta un poco.
(http://img152.imageshack.us/img152/7818/errorwi3.png)
-
No soy un experto en C pero tratare de echarte una mano, tiene un problema de Path y en el programa, porque no postea el programa para ver donde estan los errores?
porque te esta haciendo un lio con todos.
-
Gracias stk5000 por el interés. El programa es de Vicent, el que esta más arriba, belen.c Intento compilarlo, para aprender algo en C. Estube ojeando por el foro, hay unos videos muy buenos de Leo, pero me quedé atascao aqui. Voy a seguir investigando a ver si doy con el problema...
-
pues a mi me compila, te doy un consejo lee un tutorial de CCS y sigue los paso, ahora si tiene un version DEMO no va a poder hacer nada