마하전자기술연구소 LOGO

제품검색 고객센터053-604-2355
기술자료실

Home > 기술자료실 기술자료실

제 목 23. PC용 온도계
첨부파일

 

                  PIC16C711를 사용한 2 채널의 온도계측계입니다.
                  이번은 PC에 짜넣었습니다만 범용입니다.
 


범용 온도계 유니트

PIC16C711를 사용한 2 채널의 온도계



【개요】

PIC16C711의 A/D변환 기능을 사용한 2 채널 온도계입니다.
범용이므로 무엇이라도 사용할 수 있습니다. 온도계측범위는, 0℃에서 64℃까지
입니다. 온도 센서에는, 나쇼세미의 LM35D를 사용하고 있습니다.


【온도 센서】

여기서 온도계로서는 중요한 기능을 한다
온도 센서의 상세를 소개해 둡니다.
사용한 온도 센서는, 왼쪽의 사진과 같이
트랜지스터와 완전히 같은 형태를 한 IC로 내셔널
반도체 사제입니다.

이 센서의 규격은 아래 표와 같이, 섭씨 온도에 비례해, 게다가 0℃의
때에 0 V라고 하는 전압 출력이 나오게 되어 있어 매우 편리하게 사용하는 것
(을)를 할 수 있습니다.

파라미터

LM35A

LM35D

단위

비고

계측 범위

-55~150

  0~100

이번 사용한 것은 LM35D

정밀도

±0.2
±0.4

±0.6
±0.8


at 25℃
at Tmax

비직선성

±0.18

±0.2

전온도 범위

출력

10±0.1

10±0.2

mV/℃

0℃으로 0 mV출력

실제의 사용법은 밑그림과 같이 합니다. 이번은 좌측의 기본 회로로 사용해
했다.
섭씨 온도 1때마다 10 mV라고 해요 셋집 들이마셔 특성이 되고 있기 때문에
이 후의 처리가 편합니다.


【온도계의 설계】

우선, 온도계로서 측정하는 온도 범위를 결정합니다. PIC의 A/D변환
(은)는 8비트이기 때문에, 256의 분해가능이 됩니다.
지금부터 꼭 계산하기 쉬운 범위는, 아래와 같은 2 종류가 됩니다. 즉
프로그램으로 취급하기 쉽다고 하는 의미입니다.
  
  (1) 0~128℃  0.5℃ 스텝
  (2) 0~64℃   0.25℃스텝

여기서 PC내의 온도계측에는 64℃나 있으면 충분하기 때문에,
분해가능의 높은(2)의 (분)편을 채용하기로 했습니다.
이렇게 하면(자) 센서의 출력은 아래와 같이가 됩니다.

 온도 측정 범위 0~64℃  → 센서 출력 0~640mV

그러나 이 값을 직접 PIC에 접속하려면 , 전압이 너무 낮습니다.
거기서, 유효증폭기로 적당한 값까지 증폭합니다. 이 유효증폭기
의 설계는 아래와 같이 합니다.

0~640 mV를 앰프 출력 0~5V (으)로 하니까
필요한 앰프의 게인은 5÷0.64 = 약 7.8배 됩니다.
이것은 유효증폭기로서는 편하게 실현될 수 있는 값입니다.

게다가 PIC의 입력에 높은 전압을 주는 것이 없게, 5 V의
단일 전원으로 동작하는 유효증폭기를 선택합니다.

이것에 형편이 좋은 유효증폭기는, LMC662 그렇다고 하는 나쇼세미사
의 유효증폭기가 최적입니다.
이 IC는 8 pinDIP 타입으로, 유효증폭기가 2개 들어가 있습니다.
5~15 V의 단일 전원으로 동작해, 게다가 Rail-to-rail 라고 해, 출력
하지만 거의 0~5 V의 풀 스윙이 가능한 CMOS 유효증폭기입니다.

【전체 구성】

완성의 형태는, 왼쪽의 사진과 같이, DOS/VPC
의 타워형 케이스의 전면 패널에 달아,
상시 PC 내부의 2개소의 온도를 측정할 수 있도록(듯이)
되어 있습니다.

사진의 CD-ROM아래에 실장되고 있는 것이
온도계입니다.


이 패널의 자세한 것은 왼쪽의 사진과 같이,
제작한 프린트 기판을 PC의
전면 패널에 달아 전원 연결기
(와)과 온도 센서를 연결기로 달아
있습니다.
사진에는 센서는 보이고 있지 않습니다.

이 프린트 기판의 회로는 밑그림과 같이 되어 있습니다.
중심이 되는 것은, PIC16C711로, 이 A/D변환의 입력에, 온도
센서의 출력을 앰프로 증폭해 접속하고 있습니다.
앰프는, 전면적 즉 64℃로 5 V가 되는 것처럼 하고 있습니다.
2개의 센서의 어느 쪽을 표시할까는 스윗치의 전환에 의하는 것과
했습니다.
표시는 3자리수의 세그먼트(segment) 숫자 표시 발광 다이오드로 해, 다이나믹
점등 제어를 합니다.
발광 다이오드의 드라이브는, 각 세그먼트(segment)는 직접 PIC의 입출력 핀
그리고 실시합니다. 전류 제한용으로 각각 200Ω의 저항을 개입시키고 있습니다.
코먼은 세그먼트(segment)의 화의 전류가 흐르기 때문에, PIC로 직접 드라이브
(은)는 불가능하므로, 트랜지스터로 드라이브 합니다.
주의가 필요한 것은, RA4 핀으로, 이 핀만 오픈 드레인에
되어 있기 때문에, 저항으로 5 V에 pull-up 해 줄 필요가 있습니다.
소수점은 상시 표시로 좋기 때문에, 단순하게 저항을 통해 5 V에 접속
합니다.

 ★ 온도계 회로도(클릭하면 표시합니다)

 ★ 온도계 패턴도
   (다운로드해 해동해, WinBord로 봐 주세요)
 

【조립】

온도계의 조립에는. 자작 프린트
기판을 사용했습니다.
부품 점수도 적기 때문에 상당히 소형으로 한다
일을 할 수 있습니다.

위의 사진이 기판의 완성 사진입니다. 유효증폭기에는 증폭율이 조정 성과
같게 볼륨이 붙어 있습니다. 이것으로, 적당한 온도로 실제의 온도
에 교정하면 조정은 OK입니다.
온도 센서는 좌측의 흰 연결기에 접속합니다.

조립으로 주의하는 것은, 특별히 없습니다만, 숫자 표시의 발광
다이오드를 패널면으로부터 보이도록(듯이) 하기 때문에, 스윗치 이외의 부품
의 높이가, 이 발광 다이오드보다 높게 안 되게 합니다.

아래의 사진은, 프린트 기판을 PC의 전면 패널의 1매에 달았다
곳입니다. 전원은 PC의 12 V로부터 꺼냅니다. 하드 디스크나
팬용으로 나와 있는 것을 빌립니다.

온도 센서는 좌측의 연결기에 접속
합니다.
2심의 쉴드(shield)선을 사용합니다.


【프로그램】

그런데 상기 온도 센서를 제어하는 프로그램입니다만, 구성은 단순합니다.
세치기도 사용하지 않습니다.

단, 발광 다이오드의 표시를 다이나믹점등 제어하기 때문에, 상시
이 반복의 프로그램을 실행하고 있는 것이 필요합니다.
거기서, 이 점등 제어의 반복 회수를 카운트 하는 것으로, 대개 0. 5
초주기때에, A/D변환을 동작시켜, 온도 데이터를 갱신합니다.
표시는, 메모리에 쓰여진 온도 데이터를 단순하게 반복 표시한다
뿐입니다.

전체의 흐름을 플로차트(flow chart)로 표현하면(자) 밑그림과 같이 됩니다.


입출력의 모드 설정




다이나믹점등의 반복
회수로 시간을 판정한다.








A/D변환의 1바이트의 바이너리
데이터를 3자리수의 10 진수에 변환
한다.

1회에 1자리수의 표시 출력만
다음번에 다음의 자리수에 진행된다.


이 프로그램 중(안)에서는, 온도의 1바이트 바이너리 데이터를 10 진수 3자리수에 변환
할 필요가 있습니다만, 여기가 조금 귀찮은 처리가 필요합니다.
그렇다고 하는 것도, 0~64℃의 표시로 합니다만, 0~255의 바이너리 데이터를
변환하려면 , 4분의 1으로 할 필요가 있습니다. 4분의 1으로 하는 것 그것
(은)는, 오른쪽으로 2비트 쉬프트 하는 것만으로 간단합니다만, 문제는 소수점 이하의
1자리수를 어떻게 표시할까입니다.
0. 25℃단위가 되는 것이므로, 0, 3, 5, 8으로 표시하기로 하겠습니다. 거기서
A/D변환 결과의 데이터의 하위 2비트를 봐 상기 4 종류의 표시로 매듭짓습니다.
그리고는 상위 6비트를 10 진수로 변환할 뿐입니다.

아래와 같이에 실제의 프로그램의 원시 파일을 다운로드할 수 있습니다.
LZH로 압축되어 있기 때문에, LHA등으로 해동해 사용해 주세요.


  ★ 온도계 프로그램 원시 파일

목록보기

www.1chip.com, www.1chip.co.kr
www.micom114.com
자료실바로가기

대구광역시 북구 산격2동 1629 산업용재관 10동 13호 (2층) / Tel. 053-604-2355 / Fax. 053-383-2354 / E-mail. maha@paran.com