Hola tengo este código que hice basándome en varios ejemplos de Internet, es para controlar la velocidad de giro de un motoreductor.
Muevo el potenciometro y se ajusta el PWM y con ello la velocidad
Bueno funciona bien con un led conectado pero le conecto un transistor para manejar el motor (un cooler de los que traen foquito del pc) y este parpadea como estrobo. le conecto un motor y funciona pero si lo tomo con las manos se apaga todo y ya no enciende hasta que desconecto y cxonecto
Espero y me ayuden si no pues ni modo ...
Muevo el potenciometro y se ajusta el PWM y con ello la velocidad
Código:
#include <18F2550.h>
#device adc=8
#fuses INTRC,NOMCLR,NOWDT,NOLVP,NODEBUG,CPUDIV1
#use delay(clock=4000000)
unsigned int8 valor;
void main()
{
set_tris_A(0b0000001); ///Lo declare asi para que sea entrada el adc
set_tris_C(0); //Asi porque el CPP1 es salida
output_low(PIN_C2);
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_64, 255, 1); //Esto no se que hace
setup_adc_ports(AN0|VSS_VDD);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
delay_us(50);
while(true)
{
valor=read_adc();
set_pwm1_duty(valor);
delay_ms(5);
}
}
Bueno funciona bien con un led conectado pero le conecto un transistor para manejar el motor (un cooler de los que traen foquito del pc) y este parpadea como estrobo. le conecto un motor y funciona pero si lo tomo con las manos se apaga todo y ya no enciende hasta que desconecto y cxonecto
Espero y me ayuden si no pues ni modo ...