potencia para motores dc con pic 8f4550 con pwm.docx
TRANSCRIPT
Potencia para Motores DC con PIC 8F4550 con PWM
El momento de crear el programa, se debe habilitar el PWM
#include <pingpwm.h>
signed int16
int16 trabajo=200;
void main()
{
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_CLOCK_DIV_2);
// setup_pp(PMP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_1,99,1);
setup_ccp1(CCP_PWM_FULL_BRIDGE|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_L);
setup_ccp1(CCP_PWM);
set_pwm1_duty(trabajo);
setup_comparator(NC_NC_NC_NC);
//TODO: User Code
while (TRUE){
output_d(0x01);
if (input(pin_a0)==0){
trabajo=trabajo+10;
if (trabajo>=400) trabajo=400;
}
if (input(pin_a1)==0) {
trabajo = trabajo-10;
if (trabajo<=0) trabajo = 0;
}
set_pwm1_duty(trabajo); delay_ms(50);
}
}
En caso de que no aparezca la señal adecuada en el osciloscopio, es debido al tipo de proteus que se tenga.
La resistencia del PIC al puente H no es del todo necesaria.