요새 기술이 대단하네요. TR 크기가 1x1 mm 밖에 안되네요. 헐~~. 그것도 듀얼(2-ch).


[NPN-2-Channel]




[PNP-2-Channel]


이전 글에 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로 출력 합니다.

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

예제 파일 첨부합니다. 


제품에 온도 센서로, 일반적으로 흔히 사용하는 TR(MMBT3904)를 적용해 봤습니다.
20bit - ADC 를 사용해서 CPU 가격이 올라가서 부담되시면 12비트 ADC 회로도 Cypress에서 제공하고 있습니다.

저는 열전대를 사용해야 하므로 좀 더 정밀한 ADC가 필요해서 20비트 ADC를 사용하다 보니,
TR쪽도 남은 ADC 채널에 연결했습니다. 열전대는 각 단자의 온도차만 센싱을 할 수 있어서, 기준 온도가 필요합니다.
그래서 열전대가 위치한 가장 가까운 곳에 이 TR 온도센서를 연결하게 되었습니다.
이 TR 센서는 다른 온도센서보다 정말 저렴합니다. 10원정도 밖에 안하거든요. ^^


범용 트랜지스터를 선택하는 이유는 덜 엄격한 정확도 요구 사항과 함께 매우 낮은 트랜지스터 비용입니다.

[왜 TR의 다이오드를 사용하는가?]
일반 다이오드 제조사와 종류가 어마어마 하게 많고 특성도 각각 많이 달라서, 그나마 Transistor에 들어있는
다이오드가 훨씬 더 규격적이고 제조사마다 차이가 적어서 그렇다고 합니다.

[실제 회로기판에 장착된 사진]




참고자로로서 Cypress 의 AN60590 문서가 있고, 샘플 프로그램도 함께 제공되어 있어서 사용했습니다.
 
문서를 좀 더 자세히 읽어 봐야 하는데, 읽어 봐도 너무 어려운 수학,물리 계산식들이 나와서 정확히 적용은 못하고 있습니다.
하지만 온도에 따라서 값이 오르고 내리는 것은 확실헀습니다.

테스트를 해 보니, TR을 딥타입 --> SMD 타입으로 바꿔서 사용해서 그런지 온도 값이 너무 높게 나오더라고요. ^^
아마도 딥타입(TO-92)과 SMD 타입(SOT-23)의 특성이 좀 다른 것 같습니다.
TR 자료를 좀 더 찾아보니 다음과 같은 내용이 있네요. TR이 패키지마다 온도 특성이 다르네요.



이 내용으로 적당한 계산값을 찾아 봐야 할 것 같은데, 해 보고 자료 업데이트 하겠습니다.

[업데이트]
좀 더 구글링을 해서 자료를 찾아봤습니다. 그 결과, 온도의 차이는 Package의 차이때문에 생기는 문제는 아닌 것 같습니다.온도의 차이는 IDEALITY FATOR 에 따라 발생하는데,  제조 회사마다 IDEALITY FATOR가 조금씩 다르다고 합니다.다음은 MICROCHIPS 사에서 제공하는 TR 특성 조사 문서입니다.

여기서 테스트에 사용한 TR에도 MMBT3904가 있었습니다. 제가 사용한 TR의 제조사를 몰라서 팩터값을 잘 모르겠네요.만약 TR로 온도를 측정하려고 한다면 제조사와 파트넘버를 잘 보고 사야겠습니다.
아니면 IDEALITY FATOR를 측정하는 방법을 알아야 하고, 측정 장비도 있어야 겠고 고생할 시간도 있어야 겠죠.

다음은 위의 링크에서 추출한 제조사 별 TR 특성표입니다.




다음은 제가 PSOC5에서 적용한 TopDesign.cysch 회로입니다.



참고로 한 AN60590 문서의 ref 회로는 다음과 같고요.



이 예제 프로그램에서 TR의 특성에 따른 상수(Ideality Fator)가 있는데, 
이 값을 일단은 대 충 바꿔서 현재 온도와 비슷하게 맞췄습니다.
아직까지 실제 온도와는 좀 다른 것 같은데, 이 값을 고치는 것은 맞는 것 같습니다.
다음은 이 상수가 위치해 있는 singleDiode.h 파일의 내용입니다.
(위의 Microchips 사의 TR 특성표 참조)

예제의 값은 다음과 같고, 
1
2
3
4
/* For the 2N3904 transistor that comes with the CY8CKIT-025 kit,
*  the ideality factor of 1.004 is used.
**********************************************************************************/
#define IDEALITY_FACTOR ((float)1.004)
cs

제가 수정한 값은 다음과 같습니다.
1
2
3
4
5
/* For the 2N3904 transistor that comes with the CY8CKIT-025 kit,
*  the ideality factor of 1.004 is used.
**********************************************************************************/
//#define IDEALITY_FACTOR ((float)1.004)
#define IDEALITY_FACTOR ((float)1.15)
cs

00001838A.pdf


이번에 테스트 한 접촉식 수위 센서를 구현해 봤습니다.


물을 감지하면 LED가 켜지는 구조이고 감지가 잘 됩니다. 첨 해 본 건데, 나중에 문제 생기면 후기 올리겠습니다.
요새는 비접촉식 수위 측정 센서들이 조금씩 나오는 듯 한데, 자신 없으면 접촉식.. 
아직 확실한 비접촉식 센서는 없는듯 보입니다.


전원 분리된 24V DC 쪽 접점 입력 회로입니다.


요새는 소자들이 좋아져서 옛날 회로 처럼 복잡하게 구성하지 않아도 되는 것 같습니다.
전 옛날 회로 이해도 못해서 그냥 최신 소자랑 레퍼런스 회로 참고해서 구현했습니다.

지금까지 모두 동작 잘되는 것은 확인했습니다. ^^


대전력 아마 이 트라이악 소자가 30A 까지 가능 한가 그럴겁니다. 

하지만 제가 감이 안와서 방열판을 얼마나 크게 해야 할지, 회로 패턴 굵기는 얼마로 할지  몰라서 10A 미만 정도로 예상합니다.

원래는 5KW 전열기를 직접 제어 하려고 했는데 자신이 없어서.. ^^




이 회로는 소전력 AC 로드(솔밸브,마그네틱 스위치,릴레이)에 사용 가능 합니다.


ISOLATE FET 드라이브만한데, 최대 900mA 까지 출력이 되서 쓰임새가 많을 것 같습니다. ^^




얼마 전에 올린 회로인데 다시 전력제어 시리즈니까 ^^ 


아, 참.. 이 회로는 아직 테스트 안해봤으니 해 보고 후기를 올리겠습니다.



이전에 올린 글의 기본 회로에 붙여서 사용하면 DC 출력이 되는 회로입니다.


부저,릴레이,기타 등등으로 소량의 전류를 사용하는 부하에 사용 가능합니다.
앞단의 TR의 스펙을 올리면 좀 더 큰 전력 제어도 가능합니다.



안녕하세요, 저는 전원 분리를 노이즈가 있거나 환경이 열악한 상황에서 중요한 콘트롤 장치를 보호 하려고 사용했습니다.


외부 전력제어 소자들에 의해서 , 특히 모터가 있고 온도 센싱도 열전대를 사용하는 바람에 20비트 ADC 를 써야하니 
노이즈가 커지면 치명적일겁니다.
그렇게 ADC를 해도 노이즈가 많아 디지탈 필터를 프로그램으로 해 넣어야 안정적으로 데이터를 뽑아 낼 수 있었습니다.

제가 우선 전력전자 전공은 아니라서, 여차저차 구글링해서 디지키에서 최근 나온 소자로 회로를 설계해서 
테스트를 해 보고 올려 봅니다.

MCU 전원은 24V 에서 DCDC-CONVERTER 로 5V (400mV)를 만들어서 썼고,
이렇게 분리된 전원으로 24V 쪽에 붙어 있는 DC-Motor,부저,릴레이를 출력으로 제어 했습니다.
입력으로 분리된 24V 로 물에 전기를 통하게 하여 접촉식 수위 센서를 구현했고, 접점입력 들을 구현했습니다.
그리고 제가 좀 약한 대전력 제어인데, 게다가 AC220V 제어입니다.
솔벨브나 마그네틱 스위치는 용량이 얼마 안되서 AC220V,900mA 를 출력할 수 있는 트라이악이 단일 소자로 나와서 간단했습니다.
여기서 5KW 전열기를 제어하는 소자는 자신이 없어서 마그네틱 스위치로 제어했습니다.
그리고 조금 대전력으로 볼 수 있는 1KW 급 약간 못 되는 AC모터는 대용량 트라이악으로 제어를 했습니다.

이 (출력)제어 대상의 기본이 되는 것이 전원 분리 후, 전류를 소싱하는 회로입니다.
(한번에 다 쓰 면 가독성과 찾기가 불편에서 글이 짧아도 이해 바랍니다.)

기본 회로는 다음과 같습니다. 이 출력에 붙이는 회로에 따라 여러가지가 나옵니다.




+ Recent posts