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(;

{
}
}