domingo, 14 de abril de 2013

Práctica 4 Convertidor A/D




Esta práctica tiene como objetivo analizar señales analógicas y digitales, ésta puede convertirse en digital si es analógica y analógica si es digital, pero éste no es el caso.

Podemos observar el siguiente código utilizamos un servomotor y una LCD para demostrar a través de los mismos el comportamiento y desarrollo de la misma.

Codigo Fuente en MicroCode

    DEFINE LCD_DREG PORTB 
    DEFINE LCD_BITS 4
    DEFINE LCD_DBIT 0
    DEFINE LCD_RSREG PORTB
    DEFINE LCD_RSBIT 4
    DEFINE LCD_EREG PORTB
    DEFINE LCD_EBIT 5
    DEFINE LCD_COMMANDUS 5000
    DEFINE LCD_DATAUS 100
   
    ANSEL = $01
    ANSELH = $00   
    TRISA = $01
    TRISB = $00
    TRISC = $00
    ADCON1 = %10000000
    ADCON0 = %11000000

    Define ADC_BITS 10
    Define ADC_CLOCK 3
    Define ADC_SAMPLEUS 50
   
    A var word
    Temp var word
    X var word
       
Inicio:
    adcin 0,A
    Temp = a / 2
    LCDOut $fe, 1, "Temperatura: "
    LCDOUT $fe,$C0,Dec temp," ","Grados"
    PAUSE 100
    x= Temp + 55    
    PULSOUT PORTC.0,x
    PAUSE 15                                          
    gOTO INICIO         
    END

Este programa es una aplicación de un convertidor A/D ya que con este se hizo un termómetro digital y se pasó a una LCD para ver qué sucede, para esto anexamos la simulación.



Simulación del programa


En esta práctica, dependiendo de la entrada era mostrada en la LCD para ser visualizado el valor de este, así mismo se hizo una escala para el servo para que este visualizara que tantos grados avanzaba para verlo de manera gráfica también, y ver que todo va en base al convertidor.


Práctica 3 Comparadores





El objetivo de esta práctica es demostrar el comportamiento o resultado de la misma a través de una LCD, midiendo temperaturas, por ejemplo si ésta se encuentra debajo de una temperatura establecida, actúa una resistencia, pero si es mayor al valor establecido, se activa un ventilador.

Todo este proceso a través de la pantalla se muestra.



Realizamos nuestro programa en PicBasic como se muestra a continuación:

Código Fuente MicroCode

@DEVICE3F10H
    DEFINE LCD_BITS 4
    DEFINE LCD_DREG PORTB 
    DEFINE LCD_DBIT 0
    DEFINE LCD_RSREG PORTB
    DEFINE LCD_RSBIT 4
    DEFINE LCD_EREG PORTB
    DEFINE LCD_EBIT 5
    DEFINE LCD_RWREG PORTB
    DEFINE LCD_RWBIT 6
    DEFINE LCD_COMMANDUS 5000
    DEFINE LCD_DATAUS 100
    CMCON.1=%1
    CMCON.3=%0
    CMCON.4=%0
    VRCON=%10100011
    TRISB=$00
    TRISA=000001
    INICIO:
    IF CMCON.6=1 THEn
        LCDOUT $FE, 1
        LCDOUT $FE, $C0, "T<60C,calentando"
        PORTB.7=0
        PORTA.3=1
        PAUSE 2000
    ELSE
        LCDOUT $FE, 1
        LCDOUT $FE, $C0, "T>60C,enfriando"
        PORTB.7=1
        PORTA.3=0
        PAUSE 2000
    ENDIF
  GOTO INICIO
END 


Simulación

Después de haberlo realizado, comprobamos el funcionamiento correcto del mismo a través de una simulación del circuito de la práctica. 


En esta imagen se muestra una condición, la cual es que si la temperatura es mayor a 60˚C, ésta comenzaba a enfriar.




En esta otra imagen, se muestra la condición de que si la temperatura es menor a 60˚C, ésta iba a comenzar su aumento de temperatura.



Evidencia Física de la práctica


Esta fue la manera de comprobar el funcionamiento, como se puede observar había una cubeta que era donde estaba el LM35 protegido con una bolsa, y el calentador, así su alimentación a través desde el programador.