우선 사용한 온도센서는 Omega의 OS136-1 시리즈입니다.
그중에서도 4-20ma출력이 나오는 OS136A-1-MA 제품입니다.
왼쪽 위부터 제품과 브라켓, 그리고 아래는 레이저 포인터와 파워서플라이입니다.
그리고 센서를 위한 파워서플라이가 있는데, 플러그가 다릅니다.
이런 돼지코 변환 플러그를 사용하시면
일반 220V 플러그에서 사용 가능합니다.
온도센서에는 선이 4가닥이 있습니다.
전원 +(Red), 전원 -(Black), 센서 +(White), 센서 -(Green)
입니다.
전원선을 플러그에 연결해주시면 됩니다.
그리고 센서선은 테스트를 위해 UA20에 연결합니다.
UA20 연결방법은 RADIONODE의 UA20 사용방법 를 참고하세요.
가지고 있는 비접촉 온도센서를 이용하여 냉장고에서 꺼낸 캔커피의 온도를 측정하였습니다.
16.7℃가 나옵니다.
이제 OS136A-1_MA로 측정을 하였습니다.
UA20을 통하여 측정한 온도의 값은 17.62℃입니다.
센서의 스펙이 -18℃에서 202℃라서 스케일 설정시
4mA는 -18℃, 20mA는 202℃로 설정해 주셔야 합니다.
이제 Arduino에 적용합니다.
전원(Red, Black)은 24V를 넣어주고, 센서-(Green)도 Gnd에 연결합니다.
센서+(White)는 250Ω을 Gnd와 사이에 연결해 줍니다.
시간이 좀 지나서 캔커피의 온도가 올라 19.5℃입니다.
OS136A-1-MA로 비슷한 위치에서 측정합니다.
21~22℃정도 나오네요.
아마도 Arduino의 ADC가 10bit라 정확도가 조금 떨어지는듯합니다.
이제 소스코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int curSensor=0; void setup() { Serial.begin(115200); } void loop() { // put your main code here, to run repeatedly: float sensorValue = analogRead(curSensor); float Result; Result = (((sensorValue-204.0))/(1024.0-204.0)*220)-18; //204 is offset, 4mAmp is 0 Serial.print("Sensor Original:"); Serial.println(sensorValue); Serial.print("Sensor Output:"); Serial.print(Result); Serial.println(" ℃"); delay(500); // delay in between reads for stability } | cs |
저번에 했던 전류센서와 코드는 거의 같습니다.
차이점은 Line 10 부분인데 이 센서는 -18~202까지 220단계가 측정가능합니다.
그리고 -18℃부터 시작이므로 계산식이 조금 바뀌었습니다.
참고로 OS136-2-MA도 측정해 보았습니다.
OS136-2-MA는 149℃~538℃까지 측정가능합니다.
따라서 범위를 벗어나는 149℃미만의 값에서는 ADC값이 0으로 나타납니다.
주로 고온작업을 하는 곳에서 사용가능합니다.
'Study > Arduino' 카테고리의 다른 글
미세먼지 측정센서 PM2005 (0) | 2018.05.10 |
---|---|
PIR SENSOR(인체감지센서) Arduino로 코딩 (0) | 2018.05.09 |
DFRobot Digital Vibration Sensor V2 (0) | 2018.05.03 |
Arduino 1-Wire DS18B20 (온도센서 ) (0) | 2018.04.04 |
Software Serial 사용하기 (0) | 2018.03.28 |