สารบัญ:

Arduino AD8495 เทอร์โมมิเตอร์: 7 ขั้นตอน
Arduino AD8495 เทอร์โมมิเตอร์: 7 ขั้นตอน

วีดีโอ: Arduino AD8495 เทอร์โมมิเตอร์: 7 ขั้นตอน

วีดีโอ: Arduino AD8495 เทอร์โมมิเตอร์: 7 ขั้นตอน
วีดีโอ: How to Measure a Thermocouple Probe using an Amplifier Circuit 2024, กรกฎาคม
Anonim
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์
Arduino AD8495 เทอร์โมมิเตอร์

คู่มือฉบับย่อวิธีแก้ปัญหาของคุณด้วยเทอร์โมมิเตอร์ชนิด K นี้ เราหวังว่าจะช่วยได้:)

สำหรับโครงการต่อไปนี้คุณจะต้อง:

1x Arduino (แบบไหนก็ได้ ดูเหมือนเราจะมี Arduino Nano ฟรี 1 ตัว)

1x AD8495 (โดยทั่วไปจะมาพร้อมกับชุดเซ็นเซอร์และทุกอย่าง)

สายจัมเปอร์ 6x (เชื่อมต่อ AD8495 กับ Arduino)

หัวแร้ง & ลวดบัดกรี

ไม่จำเป็น:

แบตเตอรี่ 1x 9V

ตัวต้านทาน 2x (เราใช้ 1x 10kOhms & 2x5kOhms เพราะเราเชื่อมต่อ 2x5k เข้าด้วยกัน)

โปรดใช้ความระมัดระวังและระมัดระวังนิ้วของคุณ หัวแร้งอาจทำให้เกิดการไหม้ได้หากไม่จัดการด้วยความระมัดระวัง

ขั้นตอนที่ 1: โดยทั่วไปทำงานอย่างไร

มันทำงานอย่างไรโดยทั่วไป
มันทำงานอย่างไรโดยทั่วไป

โดยทั่วไปเทอร์โมมิเตอร์นี้เป็นผลิตภัณฑ์ของ Adafruit ซึ่งมีเซ็นเซอร์ประเภท K ซึ่งสามารถใช้ได้กับเกือบทุกอย่างตั้งแต่การวัดอุณหภูมิที่บ้านหรือชั้นใต้ดินไปจนถึงการวัดความร้อนของเตาเผาและเตาอบ สามารถทนต่ออุณหภูมิได้ตั้งแต่ -260 องศาเซลเซียส ถึง 980 และด้วยการปรับพาวเวอร์ซัพพลายเพียงเล็กน้อยก็ทำได้ถึง 1380 องศาเซลเซียส (ซึ่งค่อนข้างน่าทึ่ง) และค่อนข้างแม่นยำด้วย +/-2 องศา การเปลี่ยนแปลงของมันมีประโยชน์อย่างน่าทึ่ง หากคุณสร้างมันเหมือนที่เราทำกับ Arduino Nano คุณสามารถแพ็คมันในกล่องขนาดเล็กได้เช่นกัน (พิจารณาว่าคุณจะทำกล่องของคุณเองซึ่งไม่รวมอยู่ในบทช่วยสอนนี้)

ขั้นตอนที่ 2: การเชื่อมต่อและการเดินสายที่เหมาะสม

การเชื่อมต่อและการเดินสายไฟที่เหมาะสม
การเชื่อมต่อและการเดินสายไฟที่เหมาะสม
การเชื่อมต่อและการเดินสายไฟที่เหมาะสม
การเชื่อมต่อและการเดินสายไฟที่เหมาะสม
การเชื่อมต่อและการเดินสายไฟที่เหมาะสม
การเชื่อมต่อและการเดินสายไฟที่เหมาะสม

ตามที่เราได้รับแพ็คเกจเป็นแบบนี้ตามที่คุณเห็นจากรูปภาพด้านบน คุณสามารถใช้สายจัมเปอร์เพื่อเชื่อมต่อกับบอร์ด Arduino ได้ แต่ฉันขอแนะนำให้บัดกรีสายไฟเพราะมันทำงานบนแรงดันไฟฟ้าที่น้อยมาก ดังนั้นการเคลื่อนไหวเพียงเล็กน้อยอาจทำให้ผลลัพธ์เสียได้

ภาพถ่ายด้านบนนี้ถ่ายจากการที่เราบัดกรีสายไฟบนเซ็นเซอร์ สำหรับโครงการของเรา เราใช้ Arduino Nano และอย่างที่คุณเห็น เราได้ปรับเปลี่ยน Arduino ของเราเล็กน้อยเช่นกันเพื่อให้ได้ผลลัพธ์ที่ดีที่สุดจากการวัดของเรา

ขั้นตอนที่ 3: ประเภทการใช้งาน

ประเภทการใช้งาน
ประเภทการใช้งาน

ตามเอกสารข้อมูล เซ็นเซอร์นี้สามารถใช้วัดได้ตั้งแต่ -260 ถึง 980 องศาเซลเซียส ด้วยแหล่งจ่ายไฟ 5V ของ Arduino ปกติ หรือคุณสามารถเพิ่มแหล่งพลังงานภายนอกบางส่วน และนั่นจะทำให้คุณมีโอกาสวัดได้ถึง 1380 องศา แต่ระวังถ้าเทอร์โมมิเตอร์ให้มากกว่า 5V กลับไปที่ Arduino เพื่ออ่านมันอาจทำให้ Arduino ของคุณเสียหายและโครงการของคุณอาจถึงวาระที่จะล้มเหลว

เพื่อแก้ปัญหานี้ เราได้วางตัวแบ่งแรงดันไฟไว้บนอุปกรณ์ ซึ่งในกรณีของเราคือ Vout ที่แรงดัน Vin ครึ่งหนึ่ง

ลิงค์ไปยังแผ่นข้อมูล:

www.analog.com/media/en/technical-documenta…

www.analog.com/media/en/technical-documenta…

ขั้นตอนที่ 4: ปัญหาใหญ่เกี่ยวกับรหัสเมื่อทำการวัด

ปัญหาใหญ่ของโค้ดเมื่อทำการวัด
ปัญหาใหญ่ของโค้ดเมื่อทำการวัด

ตามแผ่นข้อมูลสำหรับเทอร์โมมิเตอร์ แรงดันอ้างอิงคือ 1.25V ในการวัดของเรา ไม่ได้เป็นเช่นนั้น… ขณะที่เราทดสอบเพิ่มเติม เราพบว่าแรงดันอ้างอิงเป็นตัวแปร และเราทดสอบบนคอมพิวเตอร์สองเครื่อง ทั้งสองมีความแตกต่างกัน (!?!) เราติดหมุดบนกระดาน (ดังแสดงในภาพด้านบน) และใส่บรรทัดในโค้ดเพื่ออ่านค่าแรงดันอ้างอิงทุกครั้งก่อนทำการคำนวณ

สูตรหลักคือ Temp=(Vout-1.25) / 0.005

ในสูตรของเราเราทำได้: Temp=(Vout-Vref) / 0.005

ขั้นตอนที่ 5: รหัส ตอนที่ 1

รหัส ตอนที่ 1
รหัส ตอนที่ 1
รหัส ตอนที่ 1
รหัส ตอนที่ 1

const int AnalogPin= A0; //ขาอะนาล็อกสำหรับ temp readconst int AnalogPin2= A1; //ขาอนาล็อกสำหรับอ่านค่าอ้างอิงค่า float Temp; //Temperaturefloat Vref; //อ้างอิง voltagefloat Vout; //แรงดันหลังจาก adcfloat SenVal; //ค่าเซ็นเซอร์ลอย SenVal2; //ค่าเซ็นเซอร์จากการตั้งค่า pinvoid อ้างอิง () {Serial.begin(9600); } วงเป็นโมฆะ () { SenVal = analogRead (A0); //ค่าอนาล็อกจากอุณหภูมิ SenVal2 =analogRead(A1); //ค่าแอนะล็อกจาก pinVref อ้างอิง = (SenVal2 *5.0) / 1024.0; //แปลงแอนะล็อกเป็นดิจิทัลสำหรับค่าอ้างอิงVout = (SenVal * 5.0) / 1024.0; //แปลงอนาล็อกเป็นดิจิตอลสำหรับอุณหภูมิที่อ่านค่าแรงดัน Temp = (Vout - Vref) / 0.005; //การคำนวนอุณหภูมิ Serial.print("Temperature=");Serial.println(Temp);Serial.print("Referent Voltage=");Serial.println(Vref);delay (200);}

รหัสนี้ใช้เมื่อคุณใช้พลังงานจาก Arduino (ไม่มีแหล่งพลังงานภายนอก) การดำเนินการนี้จะจำกัดการวัดของคุณไว้ที่ 980 องศาเซลเซียสตามเอกสารข้อมูล

ขั้นตอนที่ 6: รหัสตอนที่ 2

The Code ตอนที่ 2
The Code ตอนที่ 2
The Code ตอนที่ 2
The Code ตอนที่ 2

const int AnalogPin= A0; //ขาอะนาล็อกสำหรับ temp readconst int AnalogPin2= A1; //ขาอะนาล็อกจากจุดที่เราอ่านค่าอ้างอิง (เราต้องสร้างสิ่งนี้เพราะค่าอ้างอิงของเซ็นเซอร์ไม่เสถียร)float Temp; //Temperaturefloat Vref; //อ้างอิง voltagefloat Vhalf; //แรงดันไฟฟ้าบน Arduino อ่านหลังจาก dividerfloat Vout; //แรงดันไฟฟ้าหลังการแปลงfloat SenVal; //ค่าเซ็นเซอร์ลอย SenVal2; //ค่าเซ็นเซอร์จากตำแหน่งที่เราได้รับการอ้างอิง valuevoid setup() {Serial.begin(9600); } วงเป็นโมฆะ () {SenVal = analogRead (A0); // ค่าเอาต์พุตแบบอะนาล็อกSenVal2 = analogRead (A1); //เอาต์พุตแบบอะนาล็อกจากตำแหน่งที่เราได้รับค่าอ้างอิงVref = (SenVal2 * 5.0) / 1024.0; //การแปลงค่าแอนะล็อกจากพินอ้างอิงเป็นค่าดิจิตอลVhalf = (SenVal * 5.0) / 1024.0; //แปลงค่าอนาล็อกเป็นดิจิตอลVout = 2 * Vhalf; // การคำนวณแรงดันหลังจากแบ่งแรงดันครึ่งหนึ่ง Temp = (Vout - Vref) / 0.005; //การคำนวณสูตรอุณหภูมิSerial.print("Temperature=");Serial.println(Temp);Serial.print("Vout= ");Serial.println(Vout);Serial.print("Reference Voltage=");Serial.println(Vref);ล่าช้า (100);}

นี่คือรหัสหากคุณใช้แหล่งพลังงานภายนอก และด้วยเหตุนี้ เราใช้ตัวแบ่งแรงดันไฟฟ้า นั่นเป็นเหตุผลที่เรามีค่า "Vhalf" อยู่ภายใน ตัวแบ่งแรงดันไฟฟ้าที่ใช้ (ดูในส่วนที่ 3) คือครึ่งหนึ่งของแรงดันไฟฟ้าขาเข้า (R1 มีค่าโอห์มเท่ากับ R2) เนื่องจากเราใช้แบตเตอรี่ 9V ดังที่ได้กล่าวไว้ข้างต้น แรงดันไฟฟ้าที่สูงกว่า 5V สามารถสร้างความเสียหายให้กับ Arduino ของคุณได้ ดังนั้นเราจึงทำให้มันได้รับสูงสุด 4.5V (ซึ่งเป็นไปไม่ได้ในกรณีนี้ เนื่องจากเอาต์พุตกำลังสูงสุดจากเซ็นเซอร์หลังจากตัวแบ่งแรงดันไฟฟ้าสามารถมีค่าประมาณ 3.5V)

ขั้นตอนที่ 7: ผลลัพธ์

ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์
ผลลัพธ์

ดังที่คุณเห็นจากภาพหน้าจอด้านบน เราได้ทดสอบแล้วและใช้งานได้ นอกจากนี้เรายังได้จัดเตรียมไฟล์ Arduino ดั้งเดิมให้กับคุณ

แค่นี้แหละ เราหวังว่ามันจะช่วยคุณในโครงการของคุณ

แนะนำ: