martes, 25 de junio de 2013

IMPLEMENTACION DE LA RUTINA DEL MODULO PWM CON ADC, POTENCIOMETRO Y ACTUADOR (LAB 4)





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 





miércoles, 19 de junio de 2013

MODULO ADC CON POTENCIOMETRO ( LAB - 3 )



IMPLEMENTACION DE LA RUTINA DEL MODULO ADC CON POTENCIOMETRO Y LED’S 

MATERIALES:

·         MICROCONTROLADOR 18F2550
·         8 LED’S
·         8 RESISTENCIAS
·         3 POTENCIOMETRO


PROGRAMA PRIMERA PARTE

#include <18F2550.h>                                                                                     // DEFINE EL 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
#byte portb= 0x06                                                                                                                          
int VALOR;                                                                                                          // VARIABLE ENTERA

void main() {
       set_tris_b(0x00);                                                                                        // PUERTO B COMO SALIDA
      SETUP_ADC_PORTS(AN0|VREF_VREF);                                                                  
      setup_adc(ADC_CLOCK_INTERNAL);                                                       // RELOJ INTERNO
     
      WHILE(TRUE) {
       set_adc_channel(0);                                                                                 //ACTIVA EL CANAL DEL CONVERSOR
      delay_us(20);                                                                                               //RETARDO DE MUESTREO
      VALOR = read_adc();                                                                                   // COLOCO EL EL RESULTADO DE LA                            
                                                                                                                             // CONVERSION EN VALOR
      output_b (VALOR);                                                                                       // ENVIO VALOR AL PUERTO B 
      }
}

ESTE PROGRAMA ESTA DISEÑADO PARA EVALUAR UN RANGO ENTRE OV (VALOR MINIMO) Y 5V(VALOR MAXIMO). TENIENDO COMO REFERENCIA VSS Y VSS
DIAGRAMA DE FLUJO


HARDWARE DEL CIRCUITO A


PROGRAMA SEGUNDA PARTE

#include <18F2550.h>                                                                                       // DEFINE EL 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
#byte portb= 0x06
int VALOR;                                                                                                          // VARIABLE ENTERA

void main() {
       set_tris_b(0x00);                                                                                          // PUERTO B COMO SALIDA
       SETUP_ADC_PORTS(AN0|VSS_VDD);
      setup_adc(ADC_CLOCK_INTERNAL);                                                         // RELOJ INTERNO
     
      WHILE(TRUE) {
         set_adc_channel(0);                                                                                 // ACTIVO EL CANAL DEL CONVERSOR
      delay_us(20);                                                                                                 // RETARDO DE MUESTREO
      VALOR = read_adc();                                                                                    // ENVIO LA CONVERSION A VALOR
      output_b (VALOR);                                                                                       //  ENVIO VALOR AL PUERTO B
        }
}




ESTE PROGRAMA ESTA DISEÑADO PARA EVALUAR UN RANGO ENTRE 1.6V (VALOR MINIMO) Y 3.3V(VALOR MAXIMO). TOMANDO COMO REFERENCIA VREF- VREF


 
DIAGRAMA DE FLUJO

HARDWARE DEL CIRCUITO B