휴대형 500KHz급 주파수 카운터 제작

  S/W Source by Einstein.

 PIC16F84를 사용한 주파수 카운터를 소개합니다. 사용되는 부품이 적어 제작이 쉽고 액정 표시기를 사용하므로 전력소모가 작아서 휴대용으로 적합합니다.

사양

측정 주파수 범위 : 32Hz - 500KHz

샘플링 타임        : 16Sec - 0.98mSec

입력 전압           :  50mVpp - 5Vpp

표시 방식           :  LCD직독식

소비 전류           :  7mA at 6V

 

측정 원리

 일반적인 주파수 측정은 일정한 샘플링 시간에 통과하는 펄스를 카운트하는 방법으로 측정하지만, 이 제품은 반대로 일정한 펄스가 통과하는 시간을 측정하는 방법으로 주파수를 측정합니다. 그렇기 때문에 주파수가 낮으면 샘플링 시간이 길게 되고, 주파수가 높으면 샘플링 시간이 짧게 됩니다. 원리적으로는 DC(0Hz) 가깝게까지 측정할 수 있지만, 샘플 시간이 무한대 가 되므로, 사양상 허용되는 대기 시간을 16초로 하고, 최소 32Hz로 정했습니다. 측정 주파수의 상한은 PIC의 최대 카운트 성능인 500KHz가 상한이 됩니다.

회로도

 

 입력단에 TR를 사용해서 100배 정도의 이득을 얻고 있으며, 이것은 PIC의 과전압 보호의 목적도 있습니다. 만약, 입력 전압이 너무 높으면(0.5V이상) 출력이 왜곡되어 측정 정밀도에 다소 영향을 주기 때문에, 저항 10K 를 100K 정도로 변경하면 됩니다. 반대로 입력 전압이 너무 낮으면 카운트가 되지 않습니다. PIC의 RA4는 로직 입력이므로 무 신호시의 전압은 전원 전압의 거의 중간값이 되도록 설정했습니다. 이렇게 하는 것이 정확한 주파수 측정을 가능케 합니다. PIC는 PIC16F84 을 사용하시길 바랍니다. 레지스터 수가 달라서 PIC16C84 는 사용할 수 없습니다. 수정 발진자도 가능하면 30ppm 이하의 10MHz 를 사용하시고, LCD 모듈(1행 16자리수)은 히타치의 HD44780(LCD-II)드라이버 칩을 사용한 모듈을 쓰면 됩니다. Cont 는 콘트라스트 조절용의 단자입니다. 요즘엔 이 단자가 없는 모듈도 상당히 많습니다만 없으면 자동조절이 된다는 뜻이므로 그냥 쓰시길 바랍니다.

펌 웨어 해설

다운 로드 Fcounter.asm(13KB)

다운로드 Fcounter HEX File(4KB)

 PIC16F84 의 소프트웨어는 자료실에 있는 PICer을 사용해 어셈블하고 라이터를 이용하여 HEX 파일을 PIC에 프로그래밍하세요.

메인 루틴에서는 루프형태로 항상 카운트하고 있습니다. 이것이 측정값이 됩니다. RA4로 펄스가 입력되면 메인 루틴에서 시간을 카운트 해 주파수를 계산하고 표시합니다. 표시가 끝나면 메인 루틴의 카운트값을 "0"으로 클리어하고, 인터럽트 처리를 종료합니다. 표시는 38KHz 의 경우 "0000038000 Hz" 로 표시 합니다.

제작/사용 방법

 건전지 구동이므로 휴대가 가능합니다. 소비 전력이 낮아서 연속100시간은 사용할 수 있을 겁니다. 38KHz 의 수정 발진기를 측정해 보면 유효 정밀도는 3자리수로부터 4자리수 정도까지 보면 정확하다는 것을 느낄 겁니다. 시그널 제네레이터를 측정할 때는 250KHz 까지 문제없이 측정할 수 있습니다. 그러나 입력단에 Tr를 사용했으므로 Impedance를 높게 할 수 없어서 피측정 회로에 영향을 줄 수 있습니다.  TR 대신 FET를 사용하면 개선할 수 있습니다. 보다 높은 주파수를 측정하고 싶으면 프리스켈러 또는 분주회로를 Tr의 컬렉터 후단에 추가하고, 프로그램의 Display 부분을 수정하시면 됩니다.

 

뒤로