Arduino AD8495 เทอร์โมมิเตอร์: 7 ขั้นตอน
Arduino AD8495 เทอร์โมมิเตอร์: 7 ขั้นตอน
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 ดั้งเดิมให้กับคุณ

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

แนะนำ: