- ส่วนประกอบที่ต้องการ:
- แผนภูมิวงจรรวม
- เทอร์มิสเตอร์
- การคำนวณอุณหภูมิโดยใช้เทอร์มิสเตอร์:
- รหัสเทอร์มิสเตอร์ Arduino
- การวัดอุณหภูมิด้วยเทอร์มิสเตอร์และ Arduino:
การใช้เทอร์มิสเตอร์เป็นวิธีที่ง่ายและราคาถูกในการตรวจจับอุณหภูมิ และในการวัดอุณหภูมิที่แน่นอนด้วยเทอร์มิสเตอร์จำเป็นต้องใช้ไมโครคอนโทรลเลอร์ ดังนั้นเราจึงใช้Arduino กับ Thermistor เพื่ออ่านอุณหภูมิและ LCD เพื่อแสดงอุณหภูมิ มีประโยชน์ในโครงการต่างๆเช่นสถานีตรวจอากาศระยะไกลระบบอัตโนมัติในบ้านและการป้องกันและควบคุมอุปกรณ์อุตสาหกรรมและอุปกรณ์อิเล็กทรอนิกส์
ในการกวดวิชานี้เราจะไปติดต่อ Thermistor กับ Arduino และแสดงอุณหภูมิบนหน้าจอ LCD คุณสามารถสร้างโครงการที่ใช้วงจรอิเล็กทรอนิกส์ต่างๆโดยใช้เทอร์มิสเตอร์บางส่วนมีดังต่อไปนี้:
- พัดลม DC ควบคุมอุณหภูมิโดยใช้เทอร์มิสเตอร์
- สัญญาณเตือนไฟไหม้โดยใช้ Thermistor
ส่วนประกอบที่ต้องการ:
- NTC เทอร์มิสเตอร์ 10k
- Arduino (ทุกรุ่น)
- ตัวต้านทาน 10k โอห์ม
- การเชื่อมต่อสายไฟ
แผนภูมิวงจรรวม
เทอร์มิสเตอร์ให้ค่าอุณหภูมิตามการเปลี่ยนแปลงของความต้านทานไฟฟ้าในนั้น ในวงจรนี้ขาอะนาล็อกใน Arduino เชื่อมต่อกับเทอร์มิสเตอร์และสามารถให้ค่า ADC เท่านั้นดังนั้นจึงไม่คำนวณความต้านทานไฟฟ้าของเทอร์มิสเตอร์โดยตรง ดังนั้นวงจรจึงถูกสร้างให้เป็นเหมือนวงจรแบ่งแรงดันดังแสดงในรูปด้านบนโดยการเชื่อมต่อความต้านทาน 10k โอห์มในอนุกรมกับ NTC การใช้ตัวแบ่งแรงดันไฟฟ้านี้เราสามารถรับแรงดันไฟฟ้าข้ามเทอร์มิสเตอร์และด้วยแรงดันไฟฟ้านั้นเราสามารถได้รับความต้านทานของเทอร์มิสเตอร์ในขณะนั้น และในที่สุดเราก็สามารถหาค่าอุณหภูมิได้โดยใส่ความต้านทานของเทอร์มิสเตอร์ในสมการ Stein-Hart ตามที่อธิบายไว้ในส่วนด้านล่าง
เทอร์มิสเตอร์
ส่วนประกอบสำคัญในวงจรนี้คือเทอร์มิสเตอร์ซึ่งถูกใช้เพื่อตรวจจับการเพิ่มขึ้นของอุณหภูมิ เทอร์มิสเตอร์เป็นตัวต้านทานที่ไวต่ออุณหภูมิซึ่งความต้านทานจะเปลี่ยนแปลงไปตามอุณหภูมิ มีสองประเภทของเทอร์มิสเตอร์ NTC (ประสิทธิภาพร่วมอุณหภูมิเชิงลบ) และ PTC (อุณหภูมิร่วมที่มีประสิทธิภาพเชิงบวก) เราใช้เทอร์มิสเตอร์ชนิด NTC เทอร์มิสเตอร์ NTC เป็นตัวต้านทานที่ความต้านทานลดลงเมื่ออุณหภูมิสูงขึ้นในขณะที่อยู่ใน PTC จะเพิ่มความต้านทานเมื่ออุณหภูมิสูงขึ้น
การคำนวณอุณหภูมิโดยใช้เทอร์มิสเตอร์:
เรารู้จากวงจรแบ่งแรงดันไฟฟ้าว่า:
V ออก = (V ใน * Rt) / (R + Rt)
ดังนั้นค่าของ Rt จะเป็น:
Rt = R (Vin / Vout) - 1
ที่นี่ Rt จะเป็นความต้านทานของเทอร์มิสเตอร์และ R จะเป็นตัวต้านทาน 10k โอห์ม คุณยังสามารถคำนวณค่าจากเครื่องคำนวณตัวแบ่งแรงดันไฟฟ้านี้
สมการนี้ใช้สำหรับการคำนวณความต้านทานเทอร์มิสเตอร์จากค่าที่วัดได้ของแรงดันเอาต์พุต Vo เราสามารถรับค่าของ Voltage Vout จากค่า ADC ที่ขา A0 ของ Arduino ดังแสดงในรหัส Arduino ที่ระบุด้านล่าง
การคำนวณอุณหภูมิจากความต้านทานของเทอร์มิสเตอร์:
ในทางคณิตศาสตร์ความต้านทานเทอร์มิสเตอร์สามารถคำนวณได้ด้วยความช่วยเหลือของสมการ Stein-Hart เท่านั้น
T = 1 / (A + Bln (Rt) + Cln (Rt) 3)
โดยที่ A, B และ C เป็นค่าคงที่ Rt คือความต้านทานของเทอร์มิสเตอร์และ ln แสดงถึงบันทึก
ค่าคงที่สำหรับเทอร์มิสเตอร์ที่ใช้ในโครงการนี้คือ A = 1.009249522 × 10 -3, B = 2.378405444 × 10 -4, C = 2.019202697 × 10 -7ค่าคงที่เหล่านี้สามารถหาได้จากเครื่องคิดเลขที่นี่โดยป้อนค่าความต้านทานสามค่าของเทอร์มิสเตอร์ที่อุณหภูมิต่างกันสามค่า คุณสามารถรับค่าคงที่เหล่านี้ได้โดยตรงจากแผ่นข้อมูลของเทอร์มิสเตอร์หรือคุณสามารถรับค่าความต้านทานสามค่าที่อุณหภูมิต่างกันและรับค่าคงที่โดยใช้เครื่องคิดเลขที่กำหนด
ดังนั้นในการคำนวณอุณหภูมิเราต้องการค่าความต้านทานเทอร์มิสเตอร์เท่านั้น หลังจากได้ค่า Rt จากการคำนวณที่ให้ไว้ข้างต้นให้ใส่ค่าในสมการ Stein-hart และเราจะได้ค่าของอุณหภูมิในหน่วยเคลวิน เนื่องจากมีการเปลี่ยนแปลงเล็กน้อยในแรงดันขาออกทำให้อุณหภูมิเปลี่ยนแปลง
รหัสเทอร์มิสเตอร์ Arduino
รหัส Arduino ที่สมบูรณ์สำหรับการเชื่อมต่อเทอร์มิสเตอร์กับ Arduino มีให้ในตอนท้ายของบทความนี้ ที่นี่เราได้อธิบายบางส่วนของมัน
สำหรับการดำเนินการทางคณิตศาสตร์เราใช้ไฟล์ Header “ #include
LiquidCrystal LCD (44,46,40,52,50,48);
สำหรับการติดตั้ง LCD ในตอนเริ่มต้นเราต้องเขียนโค้ดในส่วนการตั้งค่าที่เป็นโมฆะ
การตั้งค่าเป็นโมฆะ () {lcd.begin (16,2); lcd.clear (); }
สำหรับการคำนวณอุณหภูมิโดยสมการ Stein-Hart โดยใช้ความต้านทานไฟฟ้าของเทอร์มิสเตอร์เราจะทำการคำนวณสมการทางคณิตศาสตร์อย่างง่ายในรหัสตามที่อธิบายไว้ในการคำนวณด้านบน:
ลอย a = 1.009249522e-03, b = 2.378405444e-04, c = 2.019202697e-07; ลอย T, logRt, Tf, Tc; เทอร์มิสเตอร์ลอย (int Vo) {logRt = log (10000.0 * ((1024.0 / Vo-1))); T = (1.0 / (A + B * logRt + C * logRt * logRt * logRt)); // เราได้ค่าอุณหภูมิเป็นเคลวินจากสมการ Stein-Hart นี้ Tc = T - 273.15; // แปลงเคลวินเป็นเซลเซียส Tf = (Tc * 1.8) + 32.0; // แปลงเคลวินเป็นฟาเรนไฮต์ส่งคืน T; }
ในโค้ดด้านล่างฟังก์ชันเทอร์มิสเตอร์กำลังอ่านค่าจากพินอนาล็อกของ Arduino
lcd.print ((เทอร์มิสเตอร์ (analogRead (0))));
และค่านั้นจะถูกนำมาใช้ในโค้ดด้านล่างจากนั้นการคำนวณจะเริ่มพิมพ์
เทอร์มิสเตอร์ลอย (int Vo)
การวัดอุณหภูมิด้วยเทอร์มิสเตอร์และ Arduino:
ในการจัดหาแหล่งจ่ายให้กับ Arduino คุณสามารถจ่ายไฟผ่าน USB ไปยังแล็ปท็อปของคุณหรือเชื่อมต่ออะแดปเตอร์ 12v LCD เชื่อมต่อกับ Arduino เพื่อแสดงค่าอุณหภูมิและเทอร์มิสเตอร์เชื่อมต่อตามแผนภาพวงจร ขาอะนาล็อก (A0) ใช้เพื่อตรวจสอบแรงดันไฟฟ้าของพินเทอร์มิสเตอร์ทุกช่วงเวลาและหลังจากการคำนวณโดยใช้สมการ Stein-Hart ผ่านรหัส Arduino เราสามารถรับอุณหภูมิและแสดงบน LCD ในเซลเซียสและฟาเรนไฮต์