Veo que usas el canal 1, pero en el código sólo estás estableciendo como entrada RA0.
Por lo tanto, RA1 quedará funcionando como salida.
Elimina la instrucción TRISA = 1 para dejar el puerto A como entradas. (Por defecto)
Si el sensor mide hasta 30 amperes y se obtiene 1 ampere por cada 0.066 V, entonces...
0.066 * 30 = 1.98 V.
30 Amperes será tu valor de lectura máximo y 1.98 V será el voltaje de entrada máximo al conversor AD.
Aquí conviene usar el voltaje de referencia VRef+ para establecer un limite y poder realizar un ajuste.
Mira este código de ejemplo para que lo entiendas:
El voltaje de referencia que debe ser de 1.98 V, lo puedes obtener con un CI TL431 y un potenciómetro como divisor de tensión.
Por lo tanto, RA1 quedará funcionando como salida.
Elimina la instrucción TRISA = 1 para dejar el puerto A como entradas. (Por defecto)
Si el sensor mide hasta 30 amperes y se obtiene 1 ampere por cada 0.066 V, entonces...
0.066 * 30 = 1.98 V.
30 Amperes será tu valor de lectura máximo y 1.98 V será el voltaje de entrada máximo al conversor AD.
Aquí conviene usar el voltaje de referencia VRef+ para establecer un limite y poder realizar un ajuste.
Mira este código de ejemplo para que lo entiendas:
PHP:
;*******************************************************************************
@ Device PIC16F877A ; Microcontrolador utilizado
; Palabra de configuración:
@ Device XT_OSC,WDT_OFF,PWRT_ON,LVP_OFF
;*******************************************************************************
; Definición de pines para la pantalla.
Define LCD_DREG PORTD ; Puerto de datos.
Define LCD_DBIT 4 ; Bit de inicio de datos.
Define LCD_RSREG PORTD ; Puerto de RS (Register Select)
Define LCD_RSBIT 3 ; Pin para RS
Define LCD_EREG PORTD ; Puerto de E (Enable)
Define LCD_EBIT 2 ; Pin para E
; Declaración de variables:
Valor_ADC Var Word
Amperes Var Byte
Inicio:
Define ADC_BITS 10 ; 10 bits de resolución
ADCON1 = %10000101 ; Just. Der. Canales 0,1, VRef+ AN3
Inicia_LCD:
LCDOut $FE,$83,"AMPERIMETRO"
Programa:
ADCIn 0,Valor_ADC
Amperes = ((30 * Valor_ADC) / 1024)
LCDOut $FE,$C4,Dec2 Amperes," Amps."
GoTo Programa
End