IMPLEMENTACION DE LA RUTINA DEL MODULO PWM
CON ADC, POTENCIOMETRO Y ACTUADOR (LAB 4)
MATERIALES:
·
MICROCONTROLADOR 18F2550
·
MOTOR
·
TIP31C
·
RESISTENCIAS
·
PROTOBOARD
·
POTENCIOMETRO
·
PUENTE H (L293)
·
COMPUERTA NEGADORA(LM7404)
PROGRAMA:
#include
<18F2550.h> //
DEFINIR PROCESADOR
#device
adc=8 //
NUMERO DE BIT’S A UTILIZAR
#fuses HS, NOWDT, NOPROTECT, NOLVP, NODEBUG, USBDIV,
PLL3, CPUDIV1, VREGEN
#use delay(clock=12000000) //
CRISTAL 12MHz
int VALOR; //
VARIABLE ENTERA
void main() {
SETUP_ADC_PORTS(AN0|VSS_VDD); //
PUERTO A ANALOGICO
setup_adc(ADC_CLOCK_INTERNAL); //
RELOJ INTERNO ADC
setup_timer_2(t2_div_by_16,1023,16); //
CONFIGURACION TMR2
setup_ccp1(ccp_pwm); //
CCP1 EN MODO PWM
while(true) {
set_adc_channel(0); //ACTIVA
CANAL DE CONVERSION
delay_us(20); //
RETARDO MUESTREO
VALOR= read_adc(); // RESULTADO DE LA CONVERSION EN
// VALOR
set_pwm1_duty(VALOR); //
A DUTY DE PWM
}
}
DIAGRAMA
DE FLUJO:
HARDWARE 1
HARDWARE 2