เทอร์โมมิเตอร์บน ATmega8 และเซ็นเซอร์อุณหภูมิ DS18B20 ทำมันเอง: เครื่องวัดอุณหภูมิอิเล็กทรอนิกส์ที่ต้องทำด้วยตัวเอง วัดอุณหภูมิด้วยเทอร์โมคัปเปิลบน atmega8

บทความเกี่ยวกับการวัดอุณหภูมิด้วยตัวควบคุม Arduino จะไม่สมบูรณ์หากไม่มีเรื่องราวเกี่ยวกับเทอร์โมคัปเปิ้ล นอกจากนี้ยังไม่มีอะไรอื่นให้วัดอุณหภูมิสูงด้วย

เทอร์โมคัปเปิล (ตัวแปลงเทอร์โมอิเล็กทริก)

เซ็นเซอร์วัดอุณหภูมิทั้งหมดจากบทเรียนก่อนหน้าทำให้สามารถวัดอุณหภูมิในช่วงไม่กว้างกว่า – 55 ... + 150 °C สำหรับการวัดอุณหภูมิที่สูงขึ้น เซ็นเซอร์ที่พบบ่อยที่สุดคือเทอร์โมคัปเปิล พวกเขา:

  • มีช่วงการวัดอุณหภูมิที่กว้างมาก -250 ... +2500 °C;
  • สามารถปรับเทียบได้เพื่อความแม่นยำในการวัดสูง โดยมีข้อผิดพลาดไม่เกิน 0.01 °C;
  • มักจะมีราคาต่ำ
  • ถือเป็นเซ็นเซอร์อุณหภูมิที่เชื่อถือได้

ข้อเสียเปรียบหลักของเทอร์โมคัปเปิลคือความต้องการเครื่องวัดความแม่นยำที่ค่อนข้างซับซ้อนซึ่งจะต้องมี:

  • การวัดค่าต่ำของ thermo-EMF โดยมีค่าบนในช่วงสิบและบางครั้งก็เป็นหน่วย mV
  • การชดเชย thermo-EMF ของทางแยกเย็น
  • การทำให้เป็นเส้นตรงของคุณลักษณะเทอร์โมคัปเปิล

หลักการทำงานของเทอร์โมคัปเปิล

หลักการทำงานของเซ็นเซอร์ประเภทนี้ขึ้นอยู่กับเอฟเฟกต์เทอร์โมอิเล็กทริก (เอฟเฟกต์ Seebeck) ดังนั้นอีกชื่อหนึ่งของเทอร์โมคัปเปิลคือตัวแปลงเทอร์โมอิเล็กทริก

ในวงจร ความต่างศักย์จะเกิดขึ้นระหว่างโลหะที่ไม่เหมือนกันที่เชื่อมต่ออยู่ ค่าของมันขึ้นอยู่กับอุณหภูมิ ดังนั้นจึงเรียกว่าเทอร์โม-EMF วัสดุที่แตกต่างกันมีค่าแรงเคลื่อนไฟฟ้าความร้อนที่แตกต่างกัน

หากในวงจรข้อต่อ (ทางแยก) ของตัวนำที่ไม่เหมือนกันเชื่อมต่อกันเป็นวงแหวนและมีอุณหภูมิเท่ากัน ผลรวมของ thermo-EMF จะเท่ากับศูนย์ หากจุดต่อสายไฟอยู่ที่อุณหภูมิต่างกัน ความต่างศักย์รวมระหว่างจุดต่อสายไฟจะขึ้นอยู่กับความแตกต่างของอุณหภูมิ ด้วยเหตุนี้เราจึงมาถึงการออกแบบเทอร์โมคัปเปิล

โลหะสองชนิดที่แตกต่างกัน 1 และ 2 ก่อให้เกิดจุดเชื่อมต่อการทำงานที่จุดหนึ่ง จุดเชื่อมต่อการทำงานจะถูกวางไว้ตรงจุดที่ต้องการวัดอุณหภูมิ

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

เทอร์โมคัปเปิ้ลประเภทหลัก

เทอร์โมคัปเปิลที่ใช้กันอย่างแพร่หลายที่สุดคือ XK (โครเมล - โคเปล) และ XA (โครเมล - อลูเมล)

ชื่อ การกำหนด NSKH วัสดุ ช่วงการวัด°C ความไว µV/°C (ที่อุณหภูมิ °C) เทอร์โม-EMF, mV, ที่ 100 °C
THC (โครเมล-โคเปล) โครเมล, โคเปล - 200 … + 800 64 (0) 6,86
TCA (โครเมล-อลูเมล) เค โครเมล, อลูเมล - 270 … +1372 35 (0) 4,10
TPR (แพลตตินัม-โรเดียม) บี แพลทิโนโรเดียม, แพลทินัม 100 … 1820 8 (1000) 0, 03
TVR (ทังสเตน-รีเนียม) ทังสเตน-รีเนียม, ทังสเตน-รีเนียม 0 … 2500 14 (1300) 1,34

วิธีการวัดอุณหภูมิในทางปฏิบัติโดยใช้เทอร์โมคัปเปิล เทคนิคการวัด

คุณลักษณะคงที่ที่ระบุ (NSC) ของเทอร์โมคัปเปิลจะแสดงในรูปแบบของตารางที่มีสองคอลัมน์: อุณหภูมิของจุดเชื่อมต่อการทำงานและเทอร์โมคัปเปิ้ลแรงเคลื่อนไฟฟ้า GOST R 8.585-2001 มี NSCH ของเทอร์โมคัปเปิ้ลประเภทต่าง ๆ ที่ระบุไว้ในแต่ละระดับ สามารถดาวน์โหลดในรูปแบบ PDF ได้จากลิงค์นี้

หากต้องการวัดอุณหภูมิโดยใช้เทอร์โมคัปเปิล ให้ทำตามขั้นตอนเหล่านี้:

  • วัด thermo-emf ของเทอร์โมคัปเปิล (E รวม)
  • วัดอุณหภูมิของทางแยกเย็น (T ทางแยกเย็น)
  • ตามตารางเทอร์โมคัปเปิล NSH ให้กำหนดเทอร์โม-EMF ของทางแยกเย็นโดยใช้อุณหภูมิของทางแยกเย็น (E ทางแยกเย็น)
  • กำหนด thermo-EMF ของทางแยกการทำงานเช่น เพิ่ม EMF ของทางแยกความเย็นเข้ากับเทอร์โม-EMF ทั้งหมด (ทางแยกทำงาน E = E รวม + E ทางแยกเย็น)
  • ใช้ตาราง NSH กำหนดอุณหภูมิของจุดเชื่อมต่อการทำงานโดยใช้ thermo-EMF ของจุดเชื่อมต่อการทำงาน

นี่คือตัวอย่างวิธีที่ฉันวัดอุณหภูมิของปลายหัวแร้งโดยใช้เทอร์โมคัปเปิล TXA

  • ฉันสัมผัสจุดเชื่อมต่อการทำงานกับปลายหัวแร้งและวัดแรงดันไฟฟ้าที่ขั้วต่อเทอร์โมคัปเปิล ผลลัพธ์คือ 10.6 mV
  • อุณหภูมิโดยรอบเช่น อุณหภูมิจุดเชื่อมต่อเย็นประมาณ 25 °C EMF ทางแยกเย็นจากตาราง GOST R 8.585-2001 สำหรับเทอร์โมคัปเปิลชนิด K ที่อุณหภูมิ 25 °C คือ 1 mV
  • EMF ความร้อนของจุดเชื่อมต่อการทำงานคือ 10.6 + 1 = 11.6 mV
  • อุณหภูมิจากตารางเดียวกันคือ 11.6 mV คือ 285 °C นี่คือค่าที่วัดได้

เราจำเป็นต้องใช้ลำดับของการกระทำนี้ในโปรแกรมเทอร์โมมิเตอร์ Arduino

เทอร์โมมิเตอร์ Arduino สำหรับการวัดอุณหภูมิสูงโดยใช้เทอร์โมคัปเปิลชนิด TXA

ฉันพบเทอร์โมคัปเปิล TP-01A เทอร์โมคัปเปิล TCA โดยทั่วไปที่ใช้กันอย่างแพร่หลายจากผู้ทดสอบ นี่คือสิ่งที่ฉันจะใช้ในเทอร์โมมิเตอร์

พารามิเตอร์บนบรรจุภัณฑ์คือ:

  • ประเภทเค;
  • ช่วงการวัด – 60 … + 400 °C;
  • ความแม่นยำ ±2.5% สูงถึง 400 °C

ช่วงการวัดขึ้นอยู่กับสายไฟเบอร์กลาส มีเทอร์โมคัปเปิลที่คล้ายกัน TP-02 แต่มีโพรบยาว 10 ซม.

TP-02 มีขีดจำกัดการวัดสูงสุดที่ 700 °C ดังนั้นเราจะพัฒนาเทอร์โมมิเตอร์:

  • สำหรับเทอร์โมคัปเปิลประเภท TXA;
  • ด้วยช่วงการวัด – 60 … + 700 °C

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

ฟังก์ชั่นที่เหลือของเทอร์โมมิเตอร์จะเหมือนกับอุปกรณ์จากสามบทเรียนก่อนหน้า รวมถึงฟังก์ชั่นบันทึกการเปลี่ยนแปลงของอุณหภูมิด้วย

หมวดหมู่: . คุณสามารถบุ๊กมาร์กไว้ได้

เทอร์โมคัปเปิลถูกนำมาใช้กันอย่างแพร่หลายในกรณีที่จำเป็นต้องวัดอุณหภูมิสูงอย่างแม่นยำอุณหภูมิสูงถึง 2,500°C นั่นคือในกรณีที่เซ็นเซอร์ดิจิทัลจะตายทันทีเนื่องจากความร้อนสูงเกินไป จึงมีการใช้เทอร์โมคัปเปิล เทอร์โมคัปเปิลมีค่อนข้างน้อย แต่ชนิดที่ใช้กันอย่างแพร่หลายที่สุดคือเทอร์โมคัปเปิลโครเมล-อลูเมล (ชนิด K) เนื่องจากมีต้นทุนต่ำและมีการเปลี่ยนแปลงเทอร์โมพาวเวอร์เกือบเป็นเส้นตรง เทอร์โมคัปเปิ้ลประเภทนี้ติดตั้งในเครื่องทำน้ำอุ่นและเครื่องใช้ในครัวเรือนอื่น ๆ ที่มีการควบคุมอุณหภูมิซึ่งใช้กันอย่างแพร่หลายในการควบคุมอุณหภูมิเมื่อหลอมโลหะ ด้วยความช่วยเหลือของเทอร์โมคัปเปิ้ลเหล่านี้ความร้อนของปลายในสถานีบัดกรีจะถูกควบคุม ดังนั้นจึงจะมีประโยชน์มากหากได้รู้จักพวกเขามากขึ้น

เทอร์โมคัปเปิลคือตัวนำสองตัวที่ทำจากโลหะต่างกันและมีจุดสัมผัสร่วมกัน (ทางแยก) เมื่อถึงจุดสัมผัสนี้ อาจเกิดความแตกต่างที่อาจเกิดขึ้น ความต่างศักย์นี้เรียกว่าเทอร์โมพาวเวอร์และขึ้นอยู่กับอุณหภูมิที่จุดเชื่อมต่อตั้งอยู่โดยตรง โลหะถูกเลือกในลักษณะที่การพึ่งพาเทอร์โมพาวเวอร์กับอุณหภูมิความร้อนจะเป็นเส้นตรงมากที่สุด ช่วยให้การคำนวณอุณหภูมิง่ายขึ้นและลดข้อผิดพลาดในการวัด


ดังนั้น เทอร์โมคัปเปิลโครเมล-อลูเมลที่ใช้กันอย่างแพร่หลายจึงมีความเป็นเส้นตรงและความเสถียรในการอ่านค่าตลอดช่วงอุณหภูมิที่วัดได้ทั้งหมด
ด้านล่างนี้เป็นกราฟสำหรับเทอร์โมคัปเปิลโครเมล-อลูเมล (ประเภท K) ที่แสดงการขึ้นต่อกันของเทอร์โมพาวเวอร์ที่เกิดขึ้นกับอุณหภูมิจุดเชื่อมต่อ (ในตอนท้ายของบทความจะมีลิงก์ไปยังกราฟที่มีความละเอียดสูงกว่า):

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

ลองใช้วงจรขยายสัญญาณการดำเนินงานแบบไม่กลับด้านแบบมาตรฐาน:


อัตราส่วนของแรงดันไฟฟ้าขาเข้าและขาออกอธิบายได้ด้วยสูตรง่ายๆ:

วี ออก/วิน = 1 + (R2/R1)

อัตราขยายของสัญญาณขึ้นอยู่กับค่าของตัวต้านทานป้อนกลับ R1 และ R2 ต้องเลือกจำนวนการขยายสัญญาณโดยคำนึงถึงสิ่งที่จะใช้เป็นแรงดันอ้างอิง

สมมติว่าแรงดันไฟฟ้าของไมโครคอนโทรลเลอร์คือ 5V เป็นข้อมูลอ้างอิง ตอนนี้เราต้องตัดสินใจเกี่ยวกับช่วงอุณหภูมิที่เราจะวัด ฉันเอาขีดจำกัดการวัดไปที่ 1,000 °C ที่อุณหภูมินี้ เอาต์พุตของเทอร์โมคัปเปิลจะมีศักย์ไฟฟ้าประมาณ 41.3 mV ค่านี้ควรสอดคล้องกับแรงดันไฟฟ้า 5 โวลต์ที่อินพุต ADC ดังนั้น op-amp จะต้องมีเกนอย่างน้อย 120 ผลลัพธ์ที่ได้คือวงจรต่อไปนี้:


ในคลังของฉัน ฉันพบบอร์ดประกอบยาวที่มี opamp นี้ ซึ่งประกอบเป็นปรีแอมป์สำหรับไมโครโฟน ดังนั้นฉันจึงใช้มัน:


ฉันประกอบไดอะแกรมต่อไปนี้บนบล็อกบอร์ดเพื่อเชื่อมต่อจอแสดงผลสองบรรทัดกับไมโครคอนโทรลเลอร์:


เทอร์โมคัปเปิลไม่ได้ใช้งานเป็นเวลานาน - มันมาพร้อมกับมัลติมิเตอร์ของฉัน ทางแยกปิดอยู่ในปลอกโลหะ


รหัส Bascom-AVR สำหรับการทำงานกับเทอร์โมคัปเปิล:

$regfile = "m8def.dat"
$คริสตัล = 8000000

สลัวเช่นจำนวนเต็ม

"การเชื่อมต่อจอแสดงผลแบบสองบรรทัด

การกำหนดค่า จอแอลซีดีพิน = พิน Rs = พอร์ตบ 0, E = พอร์ต 7, DB4 = พอร์ต 6, DB5 = พอร์ต 5, DB6 = พอร์ตบี 7, DB7 = พอร์ตบี 6
การกำหนดค่า จอแอลซีดี= 16 * 2
เคอร์เซอร์ ปิด
Cls

"การอ่านค่าจาก ADC ผ่านการขัดจังหวะตัวจับเวลา

การกำหนดค่า เครื่องจับเวลา1= ตัวจับเวลา, พรีสเกล = 64
บน เครื่องจับเวลา1บัญชี

“การกำหนดค่า ADC

การกำหนดค่า แอดซี = เดี่ยว, พรีสเกลเลอร์ = อัตโนมัติ , อ้างอิง = เฉลี่ย

เปิดใช้งาน การขัดจังหวะ
เปิดใช้งาน เครื่องจับเวลา1

ทำ

Cls
อุณหภูมิเรม:
จอแอลซีดี "เต้เซปปาปา:"
เส้นล่าง
จอแอลซีดี


รอ 200

วนซ้ำ


“การร่วมงานกับเอดีซี

บัญชี:

เริ่ม Adc "เริ่ม ADC
= Getadc(1 )
= W/1. 28 "เราปรับการวัดตามอุณหภูมิจริง
กลับ

จบ

เทอร์โมคัปเปิลเป็นเซ็นเซอร์วัดอุณหภูมิชนิดหนึ่งที่สามารถใช้ในอุปกรณ์ตรวจวัดและระบบอัตโนมัติ มีข้อดีบางประการ: ต้นทุนต่ำ ความแม่นยำสูง ช่วงการวัดที่กว้างเมื่อเทียบกับเทอร์มิสเตอร์และวงจรไมโครเซ็นเซอร์อุณหภูมิแบบดิจิตอล ความเรียบง่ายและความน่าเชื่อถือ อย่างไรก็ตาม แรงดันเอาต์พุตของเทอร์โมคัปเปิลมีขนาดเล็กและสัมพันธ์กัน และวงจรของมิเตอร์เทอร์โมคัปเปิลนั้นซับซ้อน เนื่องจากมีข้อกำหนดที่เข้มงวดสำหรับการขยายสัญญาณจากเทอร์โมคัปเปิลอย่างแม่นยำและสำหรับวงจรชดเชย ในการพัฒนาอุปกรณ์ดังกล่าว มีวงจรไมโครเฉพาะที่รวมวงจรการแปลงและประมวลผลสัญญาณอะนาล็อกเข้าด้วยกัน เมื่อใช้ไมโครวงจรเหล่านี้คุณสามารถสร้างเครื่องวัดอุณหภูมิที่มีขนาดกะทัดรัดพอสมควรโดยมีเทอร์โมคัปเปิลเป็นเซ็นเซอร์ (รูปที่ 1)

หลักการ

Wikipedia กำหนดหลักการทำงานของเทอร์โมคัปเปิ้ลดังนี้:

หลักการทำงานขึ้นอยู่กับเอฟเฟกต์ Seebeck หรืออีกนัยหนึ่งคือเอฟเฟกต์เทอร์โมอิเล็กทริก มีความต่างศักย์หน้าสัมผัสระหว่างตัวนำที่เชื่อมต่ออยู่ ถ้าข้อต่อของตัวนำที่ต่ออยู่ในวงแหวนมีอุณหภูมิเท่ากัน ผลรวมของความต่างศักย์ดังกล่าวจะเท่ากับศูนย์ เมื่อข้อต่ออยู่ที่อุณหภูมิที่แตกต่างกัน ความต่างศักย์ระหว่างข้อต่อเหล่านั้นจะขึ้นอยู่กับความแตกต่างของอุณหภูมิ ค่าสัมประสิทธิ์สัดส่วนในการพึ่งพานี้เรียกว่าสัมประสิทธิ์เทอร์โม-EMF โลหะต่างชนิดกันมีค่าสัมประสิทธิ์เทอร์โม-แรงเคลื่อนไฟฟ้าต่างกัน ดังนั้นความต่างศักย์ที่เกิดขึ้นระหว่างปลายของตัวนำต่างกันก็จะแตกต่างกัน ด้วยการวางจุดเชื่อมต่อของโลหะที่มีค่าสัมประสิทธิ์เทอร์โม-EMF ที่ดีเยี่ยมในสภาพแวดล้อมที่มีอุณหภูมิ T1 เราจะได้แรงดันไฟฟ้าระหว่างหน้าสัมผัสตรงข้ามซึ่งอยู่ที่อุณหภูมิที่แตกต่างกัน T2 ซึ่งจะเป็นสัดส่วนกับความแตกต่างของอุณหภูมิ T1 และ T2 (รูปที่ 2 ).

รูปที่ 2.

เทอร์โมคัปเปิลมีหลายประเภท ขึ้นอยู่กับคู่ของวัสดุที่ใช้ (โลหะบริสุทธิ์หรือโลหะผสม) ในโครงการของเรา เราใช้เทอร์โมคัปเปิลชนิด K (โครเมล-อลูเมล) ซึ่งมักใช้ในเครื่องมือและเครื่องมือทางอุตสาหกรรม แรงดันเอาต์พุตของเทอร์โมคัปเปิลชนิด K อยู่ที่ประมาณ 40 µV/°C ดังนั้นจึงจำเป็นต้องใช้วงจรขยายสัญญาณที่มีการออฟเซ็ตแรงดันไฟฟ้าเล็กน้อยทั่วอินพุต

ตามที่กล่าวไว้ข้างต้น thermo-emf จะเป็นสัดส่วนกับความแตกต่างของอุณหภูมิระหว่างทางแยกเย็นและร้อน ซึ่งหมายความว่าต้องทราบอุณหภูมิของจุดเชื่อมต่อความเย็นเพื่อคำนวณอุณหภูมิของจุดเชื่อมต่อร้อนจริง ในการดำเนินการนี้ คุณจะต้องมีวงจรชดเชยจุดแยกความเย็น ซึ่งจะแนะนำการแก้ไขเทอร์โม-EMF ที่วัดได้โดยอัตโนมัติ (รูปที่ 3)

หากต้องการรับค่าอุณหภูมิโดยใช้เทอร์โมคัปเปิล คุณจะต้องมีวงจรแอนะล็อก เช่น ออปแอมป์ที่มีความแม่นยำและวงจรชดเชยจุดเชื่อมต่อเย็น อย่างไรก็ตาม มีวงจรไมโครเฉพาะหลายประเภทที่มีอินเทอร์เฟซเทอร์โมคัปเปิลในตัว ชิปเหล่านี้รวมวงจรแอนะล็อกข้างต้นเข้าด้วยกัน และทำให้การออกแบบง่ายขึ้นอย่างมาก ในกรณีของเราเราเลือกชิป MAX31855 จากบริษัท ประกอบด้วยวงจรแอนะล็อกและตัวแปลงแอนะล็อกเป็นดิจิทัลดังนั้นที่เอาต์พุตของไมโครวงจรเราจะได้รับข้อมูลดิจิทัล ก่อนที่จะซื้อไมโครวงจรจำเป็นต้องกำหนดประเภทของเทอร์โมคัปเปิลที่จะใช้ในอุปกรณ์ล่วงหน้า

ลักษณะสำคัญของชิป MAX31855:

  • ช่วงการวัดอุณหภูมิ: ตั้งแต่ -270 °C ถึง +1800 °C;
  • ความละเอียด: 14 บิต ขั้นตอน 0.25 °C;
  • อินเทอร์เฟซที่เข้ากันได้กับ SPI อย่างง่าย (โหมดการอ่านข้อมูล);
  • วงจรชดเชยจุดเชื่อมต่ออ้างอิงเทอร์โมคัปเปิล
  • วงจรสำหรับตรวจจับการลัดวงจรของสายเทอร์โมคัปเปิลไปยังพาวเวอร์บัสและบัสทั่วไป
  • วงจรตรวจจับการแตกหักของวงจรการวัด
  • รุ่นสำหรับเทอร์โมคัปเปิลประเภท K, J, N, T และ E;
  • แพ็คเกจ 8 พิน

การชดเชยจุดเชื่อมต่อความเย็นดำเนินการโดยใช้เซ็นเซอร์อุณหภูมิที่รวมอยู่ในชิป ดังนั้นเงื่อนไขที่สำคัญประการหนึ่งเมื่อประกอบมิเตอร์คือการวางชิปไว้ใกล้กับขั้วต่อเทอร์โมคัปเปิลโดยตรง เงื่อนไขที่สำคัญก็คือฉนวนของยูนิตนี้จากความร้อนภายนอก สำหรับการเชื่อมต่อ เราใช้ขั้วต่อที่แสดงในรูปที่ 4 สามารถใช้ขั้วต่อประเภทอื่นได้

แผนผังของเครื่องวัดอุณหภูมิแสดงในรูปที่ 5

หัวใจของอุปกรณ์คือไมโครคอนโทรลเลอร์ AVR ชิป MAX31855 เชื่อมต่อกับไมโครคอนโทรลเลอร์ผ่านอินเทอร์เฟซ SPI

ใช้แบตเตอรี่ LR1 ที่มีแรงดันไฟฟ้า 1.5 V เป็นแหล่งพลังงาน ในการจ่ายไฟให้กับไมโครคอนโทรลเลอร์และชิปอินเทอร์เฟซเทอร์โมคัปเปิล จะใช้วงจรบูสต์ตัวแปลง DC/DC โดยใช้ชิปซีรีส์ XC9111 ซึ่งให้แรงดันเอาต์พุต 3.0 V ไมโครคอนโทรลเลอร์ควบคุมพลังงานและตรวจสอบแรงดันไฟฟ้าของแบตเตอรี่

เนื่องจากใช้แบตเตอรี่ 1.5 V เป็นแหล่งจ่ายไฟ จึงเป็นการดีที่สุดที่จะใช้ตัวบ่งชี้ LCD แบบคงที่ส่วน TWV1302W ซึ่งใช้ในอุปกรณ์วัดอุณหภูมิแบบดิจิตอลเพื่อแสดงข้อมูล (รูปที่ 6) แรงดันไฟฟ้าในการทำงานของตัวบ่งชี้นี้คือ 3 V เมื่อใช้ตัวบ่งชี้ที่มีแรงดันไฟฟ้า 5 V จะต้องใช้วงจรแปลงแรงดันไฟฟ้าเพิ่มเติม (รูปที่ 7) ฟังก์ชั่นการควบคุมตัวบ่งชี้จะดำเนินการโดยไมโครคอนโทรลเลอร์ เมื่อใช้โซลูชันนี้ กระแสไฟฟ้าที่อุปกรณ์ใช้จะเป็น 4 mA และแบตเตอรี่จะมีอายุการใช้งานอย่างน้อย 100 ชั่วโมง

เทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A และ DS18B20 (DS18S20) - บทความที่มีคำอธิบายโดยละเอียดของวงจรเทอร์โมมิเตอร์หน่วยความจำและนอกจากนี้ความต่อเนื่องเชิงตรรกะของบทความที่ฉันเผยแพร่ก่อนหน้านี้บนเว็บไซต์ Yandex pichobbi.narod.ru เทอร์โมมิเตอร์นี้พิสูจน์ตัวเองได้ค่อนข้างดีและได้ตัดสินใจที่จะปรับปรุงให้ทันสมัยขึ้นเล็กน้อย ในบทความนี้ ฉันจะบอกคุณว่ามีการเปลี่ยนแปลงอะไรบ้างกับโครงร่างและโปรแกรมการทำงาน ฉันจะอธิบายฟังก์ชันใหม่ บทความนี้จะเป็นประโยชน์สำหรับผู้เริ่มต้น ต่อมาฉันแปลงเทอร์โมมิเตอร์เวอร์ชันปัจจุบันเป็น

เทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A และ DS18B20 (DS18S20) สามารถ:

  • วัดและแสดงอุณหภูมิในช่วง:
    -55...-10 และ +100...+125 ด้วยความแม่นยำ 1 องศา (ds18b20 และ ds18s20)
    -อยู่ในช่วง -9.9...+99.9 ด้วยความแม่นยำ 0.1 องศา (ds18b20)
    -ในช่วง -9.5...+99.5 ด้วยความแม่นยำ 0.5 องศา (ds18s20)
  • ตรวจจับเซ็นเซอร์ DS18B20 หรือ DS18S20 โดยอัตโนมัติ
  • ตรวจสอบความล้มเหลวของเซ็นเซอร์โดยอัตโนมัติ
  • จำอุณหภูมิที่วัดได้สูงสุดและต่ำสุด

เทอร์โมมิเตอร์ยังช่วยให้เปลี่ยนตัวบ่งชี้ 7 ส่วนจาก OK เป็นตัวบ่งชี้ที่มี OA ได้อย่างง่ายดาย มีการจัดขั้นตอนการเขียนลงในหน่วยความจำ EEPROM ของไมโครคอนโทรลเลอร์อย่างอ่อนโยน โวลต์มิเตอร์ที่พิสูจน์ตัวเองได้ดีมีการอธิบายไว้ในบทความนี้ -

แผนภาพวงจรของเทอร์โมมิเตอร์ดิจิตอลบนไมโครคอนโทรลเลอร์ได้รับการพัฒนาเพื่อความน่าเชื่อถือและการใช้งานในระยะยาว ชิ้นส่วนทั้งหมดที่ใช้ในวงจรไม่ขาดแคลน รูปแบบนี้ง่ายต่อการติดตามและเหมาะสำหรับผู้เริ่มต้น

แผนผังของเครื่องวัดอุณหภูมิแสดงในรูปที่ 1

รูปที่ 1 - แผนผังของเทอร์โมมิเตอร์บน PIC16F628A + ds18b20/ds18s20

ฉันจะไม่อธิบายแผนภาพวงจรทั้งหมดของเทอร์โมมิเตอร์เนื่องจากมันค่อนข้างง่ายฉันจะเน้นเฉพาะคุณสมบัติเท่านั้น

ใช้เป็นไมโครคอนโทรลเลอร์ PIC16F628Aจากไมโครชิป นี่เป็นคอนโทรลเลอร์ที่มีราคาไม่แพงและไม่ขาดแคลนอีกด้วย

เซ็นเซอร์ดิจิตอลใช้ในการวัดอุณหภูมิ DS18B20หรือ DS18S20จากแม็กซิม เซ็นเซอร์เหล่านี้มีราคาไม่แพง ขนาดเล็ก และข้อมูลเกี่ยวกับอุณหภูมิที่วัดได้จะถูกส่งแบบดิจิทัล วิธีนี้ช่วยให้คุณไม่ต้องกังวลกับหน้าตัดของสายไฟ ความยาว ฯลฯ เซนเซอร์ DS18B20,DS18S20สามารถทำงานได้ในช่วงอุณหภูมิตั้งแต่ -55… +125 °C

อุณหภูมิจะแสดงบนไฟ LED แสดงสถานะ 7 ส่วน 3 หลักพร้อมแคโทดร่วม (OK) หรือด้วย (OA)

หากต้องการแสดงอุณหภูมิสูงสุดและต่ำสุดที่วัดได้บนตัวบ่งชี้ คุณต้องใช้ปุ่ม SB1 หากต้องการรีเซ็ตหน่วยความจำ คุณต้องใช้ปุ่ม SB1 ด้วย

การใช้ปุ่ม SA1 คุณสามารถสลับเซ็นเซอร์ได้อย่างรวดเร็ว (ถนน บ้าน)

จำเป็นต้องใช้จัมเปอร์เพื่อเปลี่ยนสายไฟทั่วไปสำหรับไฟ LED สำคัญ!หากตัวบ่งชี้เป็นปกติเราจะวางจัมเปอร์ไว้ที่ตำแหน่งด้านล่างตามแผนภาพและประสานทรานซิสเตอร์ VT1-VT3 ที่มีค่าการนำไฟฟ้า p-n-p หากไฟ LED เป็น OA เราจะย้ายจัมเปอร์ไปที่ตำแหน่งด้านบนตามแผนภาพและประสานทรานซิสเตอร์ VT1-VT3 ที่มีค่าการนำไฟฟ้า n-p-n

ในตารางที่ 1 คุณสามารถดูรายการชิ้นส่วนทั้งหมดและการทดแทนที่เป็นไปได้ด้วยอะนาล็อก

ตารางที่ 1 รายการชิ้นส่วนสำหรับประกอบเทอร์โมมิเตอร์
การกำหนดตำแหน่ง ชื่อ อะนาล็อก/การเปลี่ยน
ซี1, ซี2 ตัวเก็บประจุเซรามิก - 0.1 μFx50V -
ค3 ตัวเก็บประจุด้วยไฟฟ้า - 220μFx10V
ดีดี1 ไมโครคอนโทรลเลอร์ PIC16F628A PIC16F648A
DD2,DD3 เซ็นเซอร์อุณหภูมิ DS18B20 หรือ DS18S20
GB1 แบตเตอรี่ AA 1.5V จำนวน 3 ก้อน
HG1 ไฟ LED แสดงสถานะ 7 ส่วน KEM-5631-ASR (ตกลง) พลังงานต่ำอื่นๆ สำหรับตัวบ่งชี้แบบไดนามิกและเหมาะสำหรับการเชื่อมต่อ
R1,R3,R14,R15 ตัวต้านทาน 0.125W 5.1 โอห์ม เอสเอ็มดี ขนาด 0805
R2,R16 ตัวต้านทาน 0.125W 5.1 kOhm เอสเอ็มดี ขนาด 0805
R4,R13 ตัวต้านทาน 0.125W 4.7 kOhm เอสเอ็มดี ขนาด 0805
R17-R19 ตัวต้านทาน 0.125W 4.3 kOhm เอสเอ็มดี ขนาด 0805
R5-R12 ตัวต้านทาน 0.125W 330 โอห์ม เอสเอ็มดี ขนาด 0805
SA1 สวิตช์ที่เหมาะสม
เอสบี1 ปุ่มชั้นเชิง
VT1-VT3 ทรานซิสเตอร์ BC556B สำหรับไฟแสดงที่มี OK/ทรานซิสเตอร์ BC546B สำหรับไฟแสดงที่มี OA KT3107/KT3102
เอ็กซ์ที1 เทอร์มินอลบล็อคสำหรับ 3 หน้าสัมผัส

สำหรับการดีบักเทอร์โมมิเตอร์แบบดิจิตอลเบื้องต้น มีการใช้แบบจำลองเสมือนที่สร้างใน Proteus ในรูปที่ 2 คุณสามารถดูแบบจำลองที่เรียบง่ายใน Proteus

รูปที่ 2 – แบบจำลองเทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A ใน Proteus

รูปที่ 3-4 แสดงแผงวงจรของเทอร์โมมิเตอร์แบบดิจิตอล

รูปที่ 3 - แผงวงจรพิมพ์ของเทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A (ด้านล่าง) ที่ไม่ได้ปรับขนาด

รูปที่ 4 – แผงวงจรพิมพ์ของเทอร์โมมิเตอร์บนไมโครคอนโทรลเลอร์ PIC16F628A (ด้านบน) ที่ไม่ได้ปรับขนาด

เทอร์โมมิเตอร์ประกอบชิ้นส่วนเริ่มทำงานได้ทันทีและไม่จำเป็นต้องแก้ไขจุดบกพร่อง

ผลลัพธ์ของงานคือรูปที่ 5-7

รูปที่ 5 - ลักษณะของเทอร์โมมิเตอร์

รูปที่ 6 - ลักษณะของเทอร์โมมิเตอร์

รูปที่ 7 - ลักษณะของเทอร์โมมิเตอร์

สำคัญ!ในเฟิร์มแวร์ของเทอร์โมมิเตอร์ ไม่ได้เย็บเข้าการโฆษณาสามารถใช้เพื่อความสุขของคุณได้

การแก้ไขโปรแกรมการทำงาน:

1 การตรวจจับอัตโนมัติของเซ็นเซอร์ DS18B20 หรือ DS18S20

2. เวลาในการเขียนใหม่ใน EEPROM ลดลง (หากตรงตามเงื่อนไขในการเขียนใหม่) จาก 5 นาทีเหลือ 1 นาที

3. เพิ่มความถี่การกะพริบของจุด

คำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับการทำงานของเทอร์โมมิเตอร์สามารถพบได้ในเอกสารซึ่งสามารถดาวน์โหลดได้ในตอนท้ายของบทความนี้ หากคุณไม่ต้องการดาวน์โหลดให้ไปที่เว็บไซต์ www.pichobbi.narod.ruอธิบายการทำงานของอุปกรณ์ได้อย่างสมบูรณ์แบบเช่นกัน

บอร์ดที่เสร็จแล้วเข้ากันได้อย่างลงตัวกับนาฬิกาปลุกจีน (รูปที่ 8, 9)

รูปที่ 8 – สิ่งของทั้งหมดที่อยู่ในนาฬิกาปลุกจีน

รูปที่ 9 - การกรอกนาฬิกาปลุกจีนทั้งหมด

วิดีโอ - การทำงานของเทอร์โมมิเตอร์บน PIC16F628A

แต่ประกอบเองได้ในราคาเพียงครึ่งเดียว
หากใครสนใจยินดีต้อนรับสู่แมวค่ะ

มาเริ่มกันตามลำดับ
เทอร์โมคัปเปิล...เหมือนเทอร์โมคัปเปิ้ล มิเตอร์เป๊ะๆ ชนิด K 0-800C

มันสามารถฝังเข้าไปในตัวเครื่องได้มีส่วนเกลียวที่หมุนได้อย่างอิสระ เส้นผ่านศูนย์กลาง 5.8 มม. ระยะพิทช์ - 0.9~1.0 มม. ดูเหมือน M6 x 1.0 มม. กุญแจครบวงจรสำหรับ 10


ทั้งหมดนี้ดีแล้ว จะทำอย่างไรต่อไป? จำเป็นต้องแปลงสัญญาณ (เทอร์โมพาวเวอร์) ให้เป็นสัญญาณดิจิทัลหรืออนาล็อกเพื่อที่จะอ่านด้วย Arduino สิ่งนี้จะช่วยเรา นี่คือตัวแปลงสัญญาณเทอร์โมคัปเปิลชนิด K เป็นดิจิตอล มีอินเทอร์เฟซที่เหมาะกับเรา
มาแล้วฮีโร่ของเรา - ($4.20)


ราคา 4.10 ดอลลาร์ แต่ไม่มีล็อตนั้นอีกต่อไป (ผู้ขายรายเดียวกัน)

เราจะเชื่อมต่อกับ Arduino คุณสามารถทำแบบง่ายๆ ($5.25 คุณสามารถหามันถูกกว่าได้ ที่นี่คุณเห็นอันนี้พอดี)


เราจะเขียนข้อมูลลงในการ์ดหน่วยความจำ (และในเวลาเดียวกันก็ส่งไปที่พอร์ต) โดยใช้เงิน 1.25 ดอลลาร์


อินเทอร์เฟซก็เป็น SPI เช่นกัน แต่ไม่ใช่ทุกการ์ดที่รองรับ หากไม่เริ่ม ให้ลองอันอื่นก่อน
ตามทฤษฎีแล้ว อุปกรณ์ SPI ทุกบรรทัด (MOSI หรือ SI, MISO หรือ SO, SCLK หรือ SCK) ยกเว้น CS (CS หรือ SS - ตัวเลือกชิป) สามารถเชื่อมต่อกับพินเดียวของ Arduino ได้ แต่ MAX6675 จะไม่ ทำงานอย่างเพียงพอ นั่นเป็นเหตุผลที่ฉันแยกทุกอย่างออกเป็นหมุดต่างๆ
ภาพร่างมีพื้นฐานมาจากตัวอย่างการทำงานกับการ์ดหน่วยความจำที่มี
ไลบรารี่และภาพร่างสำหรับ MAX6675 แผนภาพการเชื่อมต่อ MAX6675:

#รวม
#รวม

หน่วย Int = 1; // หน่วยเป็นอุณหภูมิการอ่านข้อมูล (0 = F, 1 = C)
ข้อผิดพลาดลอยตัว = 0.0; // ข้อผิดพลาดในการชดเชยอุณหภูมิ
ลอย temp_out = 0.0; // ตัวแปรเอาต์พุตอุณหภูมิ

MAX6675 temp0(9,8,7,หน่วย,ข้อผิดพลาด);

การตั้งค่าเป็นโมฆะ()
{
อนุกรมเริ่มต้น(9600);
Serial.print("กำลังเริ่มต้นการ์ด SD...");

พินโหมด(10, เอาต์พุต);
ถ้า (!SD.begin(10)) (
Serial.println("การเริ่มต้นล้มเหลว!");
กลับ;
}
Serial.println("การเริ่มต้นเสร็จสิ้น");

// ตรวจสอบว่ามีไฟล์ data.csv อยู่บนแผนที่หรือไม่ หากมี ให้ลบออก
ถ้า(SD.exists("temp.csv")) (
SD.remove("temp.csv");
}
//เปิดไฟล์. โปรดทราบว่าสามารถเปิดได้ครั้งละหนึ่งไฟล์เท่านั้น
// ดังนั้นคุณต้องปิดอันนี้เพื่อเปิดอันอื่น
myFile = SD.open("temp.csv", FILE_WRITE); //เปิดให้เขียนครับ


ถ้า (myFile) (
Serial.print("กำลังเขียนไปยัง temp.csv...");
// ปิดไฟล์:
myFile.close();
Serial.println("เสร็จสิ้น");
}
อื่น(


}

}
เป็นโมฆะวน()
{

Temp_out = temp0.read_temp(5); // อ่านอุณหภูมิ 5 ครั้งและส่งคืนค่าเฉลี่ยไปที่ var

เวลา = เวลา + 1; // เพิ่มเวลา 1

MyFile = SD.open("temp.csv", FILE_WRITE);

// หากไฟล์เปิดได้ตามปกติ ให้เขียนไปที่:
ถ้า (myFile) (
//บันทึกเวลา
myFile.print (เวลา);
Serial.พิมพ์(เวลา);
// เพิ่มเครื่องหมายอัฒภาค
myFile.print(";");
Serial.print(";");
// เขียนอุณหภูมิและการป้อนบรรทัด
myFile.println(temp_out);
Serial.println(temp_out);
// ปิดไฟล์:
myFile.close();
}
อื่น(
// และหากไม่เปิดขึ้น ให้พิมพ์ข้อความแสดงข้อผิดพลาด:
Serial.println("ข้อผิดพลาดในการเปิด temp.csv");
}
ล่าช้า (1,000); // รอสักครู่
}


ดาวน์โหลด:
 
บทความ โดยหัวข้อ:
ขีดจำกัดจุดเดือดที่อนุญาตสำหรับน้ำมันเครื่อง
หลักการทำงานของเครื่องยนต์สันดาปภายใน (ICE) ส่งผลให้ผลของการทำงานคือการปล่อยความร้อนจำนวนมาก ความร้อนภายในเครื่องยนต์ โดยเฉพาะอย่างยิ่งในกลุ่มลูกสูบ-กระบอกสูบจะสูงถึง 300°C และสูงกว่า หากเราพิจารณาเครื่องยนต์ดีเซล นั่นเป็นเหตุผล
Hyundai Genesis Coupe - รถสปอร์ตเหรอ?
Phil Collins ไม่เกี่ยวอะไรกับมัน ตอนนี้ฉันรู้วิธี 100% ที่จะทำให้คนขับที่เศร้าโศกที่สุดขับเร็วขึ้นได้ ทุกอย่างง่ายมาก - คุณเพียงแค่ต้องแท็กซี่ไปหาเขาจากด้านหลังด้วย Genesis Coupe เหลือบมองกระจกอย่างกระวนกระวายใจ คนจน ไม่รู้ว่าเป็นยังไงบ้าง
วิธีการเลือกเกียร์เปลี่ยน วิธีการเลือกเกียร์เปลี่ยน
สหภาพสาธารณรัฐสังคมนิยมโซเวียต (61) เพิ่มเติมจากผู้เขียน ใบรับรอง (22) ประกาศ 03/24/76 (21) 2339622/25-08 พร้อมการเพิ่มหมายเลขคำขอ (23) ลำดับความสำคัญ” (43) เผยแพร่ 03/05/78, กระดานข่าวหมายเลข 9 (45) วันที่เผยแพร่ ของคำอธิบาย 02/09/78 รัฐ
วงจรสำหรับป้องกันแบตเตอรี่ Li-ion จากการคายประจุมากเกินไป (ตัวควบคุมการคายประจุ)
การประเมินคุณลักษณะของเครื่องชาร์จเฉพาะนั้นเป็นเรื่องยากหากไม่เข้าใจว่าการชาร์จแบตเตอรี่ลิเธียมไอออนที่เป็นแบบอย่างควรดำเนินการอย่างไร ดังนั้น ก่อนที่จะย้ายไปยังไดอะแกรมโดยตรง เรามาจำทฤษฎีกันสักหน่อย กากี