Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
habra que accionarlo a través de un transistor ?
el tiristor no tiene ningun codigo se ve que estan borrados ,mañana voy a ir donde lo compre a ver si me dan los datos
A ver uds que opinan?
El BC558 es de 100mA no de 10mA, en teoria deberia de funcionar bien...Bueno ya hice las pruebas y funcionó , le tuve que cambiar el bc 558 por un bc327 por que con el primero no funcionaba , recien estuve viendo las hojas de datos y el 558 soporta una Ic de 10mA y el bc 327 una Ic de 80mA y como necesitabamos 60mA supongo que ese era el problema.
Pero me quedó una duda cuando hacia las pruebas, cuando recien arrancaba el motor y el pic hacia la primera comprobacion ,el generador se frenaba, por que con este tema que les mostre en el video anterior ,que patina la correa y no alcanza a subir a un regimen de vueltas en el que las correas ya no patinen,en este momento el pic no cortaba la excitacion me dejaba al scr conduciendo a fondo y si yo lo dejaba me frenaba el generador a cero ,asi que le cortaba la termica que le puse al campo, lo dejaba levantar vueltas y la accionaba .En el viedo que les subo ahora se ve en el inicio,esta posible falla, y digo posible por que tal vez sea el precario armado del generador con el motor ,pero fijense que el frrecuencimetro se va a fondo de escala para abajo y no corta, tube que cortarle la termica yo.Despues una vez que el generador esta a un regimen de vueltas aceptable ya funciona perfecto. Mi duda es no deberia cortar en ese momento ? o habra que bajarle el tiempo de conduccion del gate del scr que ahora es de 2 segundos y tal vez sea mucho ? Bueno no me quedo muy claro por que me hacia eso .
include <12F675.h>
#device adc=10
#FUSES NOWDT, INTRC_IO, NOCPD, NOPROTECT, NOMCLR, NOPUT, NOBROWNOUT
#use delay(clock=4000000)
#bit Led=0x85.1
int RPM=false;
short Sleep_Mode;
const int FMax=60; //frecuencia maxima de corte en Hz
const int FTyp=50; //frecuencia tipica de operacion en Hz
const int FMin=46; //frecuencia minima de corte en Hz
const int T_Retry=30; //tiempo de espera para reintentar activar campo en Segundos
const long Vmax=536; //Voltaje maximo de operacion en escala de 0 a 1024
const long VMin=488; //Voltaje minimo de operacion en escala de 0 a 1024
const long T_Auto=2; //Tiempo de activacion del campo antes de regulador en Segundos
long Freqcount(void)
{int cycles8, cycles;
long freq;
cycles8=0x00;
cycles=0x00;
set_timer1(0);
setup_timer_1(T1_External|T1_Div_By_1);
while (cycles!=0xFF)
{cycles8=0x00;
while (cycles8!=0xFF)
{delay_cycles(0x09);
cycles8++;}
delay_cycles(0x55);
cycles++;}
delay_cycles(0x8D);
setup_timer_1(T1_Disabled);
freq=get_timer1();
return(freq);}
void Turn_On(long Time)
{long Frq=0;
long VW=0;
long TO=0;
output_low(pin_a1);
output_high(pin_a4);
while ((VW<=VMin||frq<=FTyp-1)&&TO<=Time)
{frq= freqcount();
if (frq>=FTyp-1) RPM=true;
VW=Read_Adc();
if (VW>=Vmin) {output_low(pin_a2);output_low(pin_a4);}
TO++;
if (Time==0xFFFF)
{TO=0;if (led==0) output_float(pin_a1); else output_low(pin_a1);}}
if (TO>=Time)
{output_low(pin_a4);output_high(pin_a1);output_high(pin_a2);}}
void Turn_Off(void)
{output_high(pin_a1);
output_high(pin_a2);
RPM=false;}
#int_RA
void RA_isr(void)
{if (input(pin_a3)&&sleep_mode==true) sleep_mode=true;}
void main(void)
{long VD;
long msec,sec;
long Timer=0xFFFF;
delay_ms(200);
setup_adc_ports(sAN0|VSS_VDD);
setup_adc(ADC_Clock_Div_2);
setup_timer_0(RTCC_Internal|RTCC_Div_1);
setup_comparator(NC_NC);
setup_vref(false);
set_tris_a(0x29);
set_adc_channel(0);
enable_interrupts(Int_RA3);
enable_interrupts(Global);
output_low(pin_a4);
output_high(pin_a2);
output_float(pin_a1);
sleep_mode=true;
sec=0;
while (true)
{if (sleep_mode==true) sleep();
if (RPM==true)
{VD=Read_Adc();
if (VD>=VMin&&VD<=VMax) output_low(pin_a1); else output_high(pin_a1);
VD=freqcount();
if (VD<=FMin||VD>=Fmax) {Turn_Off();sec=0;Timer=T_Auto;}}
else if (sleep_mode==false)
{delay_ms(1);
msec++;
if (msec>=0x03E7)
{msec=0;sec++;if (led==0) output_float(pin_a1); else output_high(pin_a1);}
if (sec>=T_Retry) {Turn_On(Timer);sec=0;}}
if (!input(pin_a3))
{while(!input(pin_a3)) true;
if (RPM==true) {Turn_Off();output_float(pin_a1);sleep_mode=true;}
else
if (sleep_mode==true) {sleep_mode=false;sec=T_Retry;timer=0xFFFF;} else {sleep_mode=true;output_float(pin_a1);}
}
}
}
Mañana le mido el hfe al bc 327
Yo creo que no es necesario un pulsador, con darle 10 seg y ahi que haga la primera comprobacion estaria bien , ya que en el funcionamiento real tambien demoran en subir las vueltas.
En la practica debe ser siempre automatico , lo que si tiene es una termica de proteccion para cortar el campo se enciende el diesel se suben las vueltas y se sube la termica , con lo que me acabo de dar cuenta es que asi esta bien como esta desde un principio ja ja !!!