Arduino with Max6675
วันนี้มาทำการอ่านค่า อุณภูมิจาก IC Max6675 โดยใช้ Arduino เป็นตัวอ่านค่าแล้วแสดงผที่ได้ ออกทาง serial monitor
arduino version ที่ใช้ในการทดลอง Arduino0022
เทอร์โมคัปเปิล (Thermocouple)
เทอร์โมคัปเปิล คืออุปกรณ์วัดอุณหภูมิโดยใช้หลักการเปลี่ยนแปลงอุณหภูมิหรือความร้อนเป็นแรงเคลื่อนไฟฟ้า (emf) เทอร์โมคัปเปิลทำมาจากโลหะตัวนำที่ต่างชนิดกัน 2 ตัว (แตกต่างกันทางโครงสร้างของอะตอม) นำมาเชื่อมต่อปลายทั้งสองเข้าด้วยกันที่ปลายด้านหนึ่ง เรียกว่าจุดวัดอุณหภูมิ ส่วนปลายอีกด้านหนึ่งปล่อยเปิดไว้ เรียกว่าจุดอ้างอิง หากจุดวัดอุณหภูมิและจุดอ้างอิงมีอุณหภูมิต่างกันก็จะทำให้มีการนำกระแสในวงจรเทอร์โมคัปเปิลทั้งสองข้าง ปรากฎการณ์ดังกล่าวนี้ค้นพบโดย Thomus Seebeck นักวิทยาศาสตร์ชาวเยอรมันในปี ค.ศ.1821
ข้อมูลเกี่ยวกับ MAX6675:
- ใช้แรงดันไฟเลี้ยง Vcc: +3.0V .. +5.5V
- ตัวถังแบบ 8-Pin SOIC
- เชื่อมต่อแบบ SPI: ขา CLK, DO, /CS และส่งข้อมูลออกมาแบบ MSB First ขนาด 16 บิต
- มีขา T+ (สำหรับ Chromel) และ T- (สำหรับ Alumel) เพื่อต่อกับเทอร์โมคัปเปิล
- ใช้กับ Thermocouple แบบ K-Type เท่านั้น และวัดอุณหภูมิในช่วง 0°C to 1023.75°C (ด้าน Hot Junction)
- ข้อมูลสำหรับค่าอุณหภูมิ มีขนาด 12 บิต และมีความละเอียด 0.25 °C
- มีการชดเชยอุณหภูมิที่ด้านรอยต่อเย็น (Cold-Junction Compensation)
- ระยะเวลาในการแปลงค่า (Conversion Time) : 0.22 sec (max.)
หน้าตา module Max6675
การต่อใช้งานระหว่าง Arduino กับ Module Max6675
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
code ตัวอย่างการใช้งาน จะแสดงค่า อุณภูมิออกทาง Serial monitor
library https://code.google.com/p/max6675-arduino-library/downloads/list
#include "max6675.h"
int thermoDO = 4;
int thermoCS = 5;
int thermoCLK = 6;
MAX6675 thermocouple(thermoCLK, thermoCS, thermoDO);
int vccPin = 3;
int gndPin = 2;
void setup() {
Serial.begin(9600);
// use Arduino pins
pinMode(vccPin, OUTPUT); digitalWrite(vccPin, HIGH);
pinMode(gndPin, OUTPUT); digitalWrite(gndPin, LOW);
Serial.println("MAX6675 test");
// wait for MAX chip to stabilize
delay(500);
}
void loop() {
// basic readout test, just print the current temp
Serial.print("C = ");
Serial.println(thermocouple.readCelsius());
Serial.print("F = ");
Serial.println(thermocouple.readFahrenheit());
delay(1000);
}
ให้ดูค่า อุณภูมิออกทาง Serial monitor
Clip การต่อใช้งาน