본문 바로가기

[Microchip]/PIC16F

[PIC16F1509] FVR 테스트 - 레퍼런스 입력 없이 정밀한 전압 측정하기

[PIC16F1509] FVR 테스트 - 레퍼런스 입력 없이 정밀한 전압 측정하기

PIC16F1509를 사용하다 한가지 문제점이 발생했다. ADC채널이 부족해서 Vref핀을 사용할 수 없는 상황인데 정확한 레퍼런스 측정이 필요한 상황이다.

데이터시트를 찾아보니 FVR이 있다. 이를 이용하면 가능하지 않을까...

 

 

PIC16F1508 에는 FVR(FIXED VOLTAGE REFERENCE) 이 있어 레퍼런스 전압을 측정할 수 있다.

FVR은 3가지 고정 전압으로 설정 가능하다.

4.096V

2.048V

1.024V

 

이 출력 전압은 ADC, CMP 등의 레퍼런스로 사용할 수 있다.

 

 

 

 

 

 

FVR출력을 ADC 로 설정하면 31번 채널에서 ADC값으로 읽을 수 있다.

//VFR 초기화 코드

 ADFVR0 = 1;
 ADFVR1 = 1;
 FVREN = 1;

 

 

 

예로  ADC값이 500, AVR 값이 882 일 경우

V = 500/882*4.096 = 2.321V

로 Vref없어도 비교적 정확히 전압값을 읽을 수 있다.

 

 

그런데 정밀한 Vref는 아니기 때문에 흔들리긴 한다.

디지털 값으로 10정도 인데 계산해 보면 22mV정도 흔들리는것 같다. 외부에 정밀 레퍼런스를 연결하는것이 가장 정확하겠지만.. 여건상 또는 비용문제로 FVR을 이용하면 간단히 해결하기에 좋은것 같다.

 

한가지 아쉬운점은 FVR을 VREF로 직접 입력하지 못하는것인데..

새로출시된 PIC16F18xx는 가능하다고 한다.

 

ADPREF<1:0>: A/D Positive Voltage Reference Configuration bits
00 = VREF+ is connected to VDD
01 = Reserved
10 = VREF+ is connected to external VREF+ pin(1)
11 = Reserved (PIC16F18XX : FVR)

 

 

 

 

 

반응형