페이지

글목록

2017년 2월 18일 토요일

[PSOC5] TR(MMBT3904),열전대 온도측정(프로그램 첨부)

이전 글에 TR(MMBT3904)의 내부 다이오드를 이용해서 오도 측정하는 방법 중, 
H/W 상의 설명은 충분하다고 생각이 됩니다.
(사실 저도 정확하게 잘 모릅니다. 그냥 실제로 써 먹을 수만 있으면 된다고 생각하고 있습니다. ^^)

다이오드 온도 센싱을 위해 수학함수 쓰다가 컴파일러 오류 나서 고치고,
온도 값을 받아서 UART 에 floating point 로 출력하다가 컴파일러 오류나서 고치다 보니 한동안 멍~하네요.

이제 겨우 본론으로, 간단하게(저도 잘 모르는 관계로) 다이오드 온도측정과 열전대 온도측정에 관해서 말씀 드리겠습니다.
일단 동작은 모두 잘 됩니다.

다이오드(TR 내부의 다이오드) 온도센싱의 회로도와 열전대 회로도를 다시 한번 올려 보겠습니다.

[#1 다이오드 온도측정 회로도]




[#2 열전대 온도측정 회로도]



추가로 이번에 안 사실인데, 열전대를 거꾸로 달면 온도가 올라갈수록 전압이 낮아져서 온도가 떨어지는 것처럼 동작하더군요.
주의 : 열전대는 방향이 있습니다. 


다음은 PSOC5 의 콤포넌트를 배치하는 Topdesign.cysch 입니다.


다른 MCU와 좀 색다른 프로그램 환경이지만, 
1. Differential 20-Bit ADC 5ch 사용하고, 
2. current mode DAC 1개 , 
3. 칩내부 온도 센싱 (프로그램에서는 사용 안했음),
4. 열전대 온도 테이블 계산 콤포넌트,
5. UART 1개
를 사용했습니다.

[첨부한 예제 프로그램 설명]
Diode 로 측정된 온도를 프로그램에서는 Cold Junction Temperature 라고 부르고,
열전대로 측정한 온도를 Hot Junction Temperature 라고 부르더군요.
2개의 온도를 측정해서(물론 여러가지 처리를 합니다. sw 노이즈 필터, 열전대 테이블 보상 등등),
서로 더해주면 최종 열전대로 측정된 온도가 나옵니다.
이것을 UART로 출력 합니다.

이정도면 됐을까요? 이해 안되시면 댓글에 질문하시고, 저도 잘 모르지만 한번 해 본 것밖에 차이는 없습니다. ^^

예제 파일 첨부합니다. [link file]

댓글 없음:

댓글 쓰기