การใช้งานเทอร์โมคับเปิล

ดาวน์โหลดไฟล์ที่เกี่ยวข้อง> Thermocouple_demo.7z

กล่าวนำ

ทรานสดิวเซอร์ที่ใช้วัดอุณหภูมิมีอยู่หลายชนิดด้วยกัน เช่น อาร์ทีดี (RTD), เทอร์มิสเตอร์, ไอซีวัดอุณหภูมิแบบต่าง ๆ แต่ด้วยคุณสมบัติที่โดดเด่นของเทอร์โมคับเปิล คือ สามารถวัดอุณหภูมิได้ในช่วงกว้าง ทนอุณหภูมิสูง ๆ ได้ เวลาตอบสนองที่ไว ราคาถูก มีความทนทาน ใช้งานง่าย จึงทำให้เป็นที่นิยมในการใช้งานมาก [1] เช่น ใช้วัดอุณหภูมิในเตาเผา, เครื่องยนต์กังหันแก๊ส, เครื่องยนต์ดีเซล หรือกระบวนการอุตสาหกรรม ฯลฯ เป็นต้น

ข้อด้อยบางประการของเทอร์โมคับเปิลคือ ความเป็นเชิงเส้นยังน้อยกว่ามาก เมื่อเทียบกับ อาร์ทีดี หรือ ไอซีที่ถูกออกแบบมาโดยเฉพาะ ซึ่งจะมีความไว และความแม่นยำ ในการวัดอุณหภูมิที่สูงกว่า นอกจากนี้สัญญาณเอาต์พุตของเทอร์โมคับเปิลยังมีระดับต่ำมาก อยู่ที่ประมาณ 40 mV/°C สำหรับเทอร์โมคับเปิลชนิด K ทำให้ต้องมีการใช้วงจรปรับสภาพสัญญาณที่ค่อนข้างซับซ้อน เช่น ต้องมีความละเอียดสูง มีการขยายสัญญาณ มีการชดเชยอุณหภูมิ ฯลฯ เป็นต้น [2]

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

เทอร์โมคับเปิลคืออะไร

เทอร์โมคับเปิล (Thermocouple) คืออุปกรณ์สำหรับวัดอุณหภูมิแบบดิฟเฟอเรนเชียล ทำจากโลหะต่างกัน 2 ชนิด ชนิดหนึ่งจะถูกกำหนดให้มีขั้วเป็นบวก และอีกชนิดหนึ่งจะเป็นขั้วลบ ตารางที่ 1 แสดงคุณสมบัติของเทอร์โมคับเปิลชนิดต่าง ๆ [3] ซึ่งแต่ละชนิดจะมีย่านของการวัดที่แตกต่างกัน

ตารางที่ 1 ชนิดและคุณสมบัติของเทอร์โมคับเปิลแบบต่าง ๆ

ชนิดโลหะขั้วลบโลหะขั้วบวกย่านวัดอุณหภูมิ ( ° C)
K Alumel Chromel -270 to +1372
J Constantan Iron -210 to +1200
N Nisil Nicrosil -270 to + 1300
S Platinum Platinum/Rhodium +50 to +1768
T Constantan Copper -270 to +400
E Constantan Chromel -270 to +1000
R Platinum Platinum/Rhodium -50 to +1768

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

pic01

รูปที่ 1 หลักการทำงานของเทอร์โมคับเปิลอันเป็นผลมาจากปรากฏการณ์ของซีเบค

pic02

รูปที่ 2 หลักการของเทอร์โมคับเปิลที่ใช้กันโดยทั่วไป

 Vout = VH – VC                                                  (1)

Vout = α(TH – TC)                                               (2)

เมื่อ   VOUT คือ แรงดันไฟฟ้าที่เกิดขึ้นจากผลต่างระหว่างแรงดันไฟฟ้าที่วัดได้ที่จุดวัด (จุดต่อร้อน) กับจุดอ้างอิง (จุดต่อเย็น)

VH และ VC คือแรงดันที่เกิดจากผลต่างของอุณหภูมิระหว่างจุด 2 จุด

α คือ ค่าสัมประสิทธิ์ซีเบคซึ่งเป็นความสัมพันธ์ระหว่างแรงดันไฟฟ้ากับอุณหภูมิ

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

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

ยกตัวอย่างง่าย ๆ สมมุติว่าที่จุดต่อเย็นมีอุณหภูมิ 0°C ทำให้ TC = 0°C ดังนั้น VOUT = VHกรณีนี้ แรงดันไฟฟ้าที่วัดได้จะเท่ากับแรงดันไฟฟ้า ณ จุดต่อร้อนและหมายถึงอุณหภูมิจริง ณ จุดนั้น โดยเทียบแรงดันไฟฟ้าเป็นค่าของอุณหภูมิได้จากตารางมาตรฐานของ NBS (National Bureau of Standards) ซึ่งได้จัดทำตารางข้อมูลความสัมพันธ์ระหว่างแรงดันไฟฟ้ากับอุณหภูมิของเทอร์โมคับเปิลชนิดต่าง ๆ โดยอ้างอิงจากอุณหภูมิ ณ จุดต่อเย็นที่ 0°C

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

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

pic03

รูปที่ 3 ตัวอย่างของเทอร์โมคับเปิลชนิด K

 

การเลือกใช้งานเทอร์โมคับเปิล

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

– ย่านการวัดอุณหภูมิ

– การทนต่อการกัดกร่อนและสารเคมี

– การทนต่อการสั่นสะเทือน

– จุดที่นำไปติดตั้ง เช่น อาจจะต้องมีการขันน๊อต หรือมีรูเสียบ ฯลฯ

 ตัวอย่างของเทอร์โมคับเปิลรูปแบบต่าง ๆ ที่นิยมใช้ในอุตสาหกรรมแสดงตามรูปที่ 4

pic04

รูปที่ 4 เทอร์โมคับเปิลแบบต่าง ๆ ที่นิยมใช้ในอุตสาหกรรม

แนะนำ aMG Sense-Thermocouple

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

pic05

รูปที่ 5 โมดูลวัดอุณหภูมิดิจิตอล aMG Sense- THERMOCOUPLE

 

ข้อมูลโดยทั่วไป

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

  – ใช้ไอซีเบอร์ MAX31855KASA+ ของ Maxim Integrated

  – มีฟังก์ชันชดเชยจุดต่อเย็น (Cold-Junction Compensated)

  – รองรับเทอร์โมคับเปิลชนิด K แต่ถ้าหากต้องการใช้กับชนิดอื่นต้องหาไอซีรุ่นอื่นมาใส่แทน

  – ข้อมูลอุณหภูมิที่วัดได้ เป็นเลขฐานสองแบบคิดเครื่องหมายขนาด 14 บิต ให้ความละเอียดถึง 0.25°C

  – เชื่อมต่อไมโครคอนโทรลเลอร์ด้วยอินเตอร์เฟสแบบ SPI และสามารถอ่านได้อย่างเดียว

  – ย่านวัด -270°C ถึง +1800°C

  – ความแม่นยำ ±2°C สำหรับย่านวัดตั้งแต่ -200°C ถึง +700°C เมื่อใช้กับเทอร์โมคับเปิลชนิด K สำหรับย่านวัดที่เหลือ และเทอร์โมคับเปิลแบบอื่น ๆ ค้นคว้าเพิ่มเติมได้จากเอกสารอ้างอิง [1]

   –  สามารถตรวจจับการต่อลงกราวด์ หรือ VCC ของเทอร์โมคับเปิลได้

   – สามารถตรวจจับเมื่อไม่ได้ต่อเทอร์โมคับเปิลได้

   – มาตรฐาน RoHS

การนำไปใช้

   – เครื่องใช้ทั่วไป, อุตสาหกรรม, ระบบควบคุมอุณหภูมิ (HVAC), ยานยนต์

การต่อใช้งานในเบื้องต้น

โมดูลวัดอุณหภูมิ aMG Sense-THERMOCOUPLE มีจุดเชื่อมต่อสัญญาณ 2 จุดด้วยกัน จุด P1 เป็นสัญญาณเอาต์พุตของโมดูลที่จะต้องนำไปเชื่อมต่อกับไมโครคอนโทรลเลอร์ด้วยโปรโตคอล SPI ส่วนจุด P2 เป็นจุดต่อรับสัญญาณเอาต์พุตของเทอร์โมคับเปิล และจะต้องต่อขั้วตามเครื่องหมายที่กำกับให้ถูกต้องด้วย

pic06

รูปที่ 6 หน้าที่การทำงานของจุดต่อต่าง ๆ บนบอร์ด

pic07

รูปที่ 7 การต่อวงจรระหว่างโมดูลกับไมโครคอนโทรลเลอร์

ข้อแนะนำสำหรับการใช้งาน

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

–          แรงดันใช้งาน 3.0 – 3.6 VDC

–          กระแสแหล่งจ่าย 900 – 1500 mA

–          อุณหภูมิใช้งานภายนอก -40°C ถึง +125°C

หลักการทำงาน

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

VOUT = (41.276µV/°C) x (TH – TC)                                      (3)

เมื่อ      VOUT คือ แรงดันไฟฟ้าเอาต์พุตของเทอร์โมคับเปิล (µV)

  41.276 คือ ค่าสัมประสิทธิ์ (Sensitivity) (µV/°C)

  Tคือ อุณหภูมิ ณ จุดที่วัดได้ หรือที่จุดต่อร้อน (°C)

   Tคือ อุณหภูมิที่จุดต่อเย็น (°C)

 ประโยชน์ของฟังก์ชันนี้ เมื่ออุณหภูมิ ณ จุดต่อเย็นมีการเปลี่ยนแปลงจะส่งผลให้การทำงานของโมดูลยังคงวัดค่าได้อย่างถูกต้องต่อไป หลักการคำนวณหาอุณหภูมิที่จุดวัด (-270°C ถึง +1800°C) ของโมดูลนี้ อันดับแรกวัดจะอุณหภูมิภายในตัวชิป (-40°C ถึง +125°C) ด้วยตัววัดความแม่นยำสูง โดยอาศัยสมมุติฐานว่าควรจะมีค่าเท่ากันกับที่จุดต่อเย็น จากนั้นวัดแรงดันไฟฟ้าเอาต์พุตของเทอร์โมคับเปิลโดยใช้โมดูล ADC ค่าที่วัดได้ทั้งหมดจะนำไปใช้แก้สมการ (3) เพื่อหา TH ซึ่งเป็นค่าอุณหภูมิที่ได้รับการชดเชยแล้ว และแปลงให้อยู่ในรูปของเลขฐานสองแบบคิดเครื่องหมาย จะสังเกตได้ว่า ในบางย่านวัดอุณหภูมิ ณ จุดต่อร้อนจะมีค่าต่ำกว่า ณ จุดต่อเย็น

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

การเชื่อมต่อข้อมูลแบบอนุกรม SPI

รูปแบบของการสื่อสารข้อมูลระหว่างโมดูลนี้กับไมโครคอนโทรลเลอร์จะเป็นแบบ SPI ทิศทางเดียว ตามรูปที่ 8 คือจะสามารถอ่านข้อมูลได้อย่างเดียว โดยเริ่มจากไมโครคอนโทรลเลอร์สร้างลอจิก Lo ที่ขา CS

และจ่ายสัญญาณนาฬิกาที่ความถี่ 5 MHz เข้าที่ขา SCK โมดูลจะเริ่มส่งข้อมูลที่ประมวลผลเสร็จเรียบร้อยแล้วออกไปทางขา SO ค่าอุณหภูมิที่วัดได้และได้รับการชดเชยจุดต่อเย็นแล้ว ต้องการสัญญาณนาฬิกา 14 ลูก ข้อมูลทั้งหมดต้องใช้สัญญาณนาฬิกา 32 ลูก ข้อมูลบิตแรกที่ส่งออกมาคือบิตที่ 31 เป็นค่าที่แสดงเครื่องหมายของอุณหภูมิเทอร์โมคับเปิล ค่าผิดพลาดในระบบและค่าอุณหภูมิจะอัพเดทเมื่อลอจิกที่ขา CS กลับเป็น Hi อีกครั้ง

 pic08

รูปที่ 8 โปรโตคอล SPI ของโมดูล

จากตารางที่ 2 ข้อมูลของอุณหภูมิที่วัดได้จริงจะเริ่มจากตำแหน่งบิต D[30:18] เรียงลำดับจาก MSB ถึง LSB บิต D16 โดยปกติจะอยู่ในสถานะ Lo และจะเป็น Hi ในกรณีที่เกิดข้อผิดพลาดต่าง ๆ ขึ้น เช่น ไม่ได้ต่อเทอร์โมคับเปิล หรือมีการลัดวงจรของเทอร์โมคับเปิลกับ VCC หรือ GND ส่วนอุณหภูมิอ้างอิงจะมีขนาด 12 บิตเริ่มจากบิต D15 ถ้าจุดต่ออินพุต + และ – ของโมดูลไม่มีเทอร์โมคับเปิลต่ออยู่ บิตข้อมูล D31 จะเป็น 0 และ D[30:18] จะเป็น 1 บิต D0, D1, และ D2 ปกติจะอยู่ในสถานะ Lo บิต D2 จะ Hi เมื่อขั้วต่อของเทอร์โมคับเปิลลัดวงจรกับ VCC, บิต D1 จะ Hi เมื่อขั้วต่อของเทอร์โมคับเปิลลัดวงจรกับ GND, และบิต D0 จะ Hi เมื่อยังไม่ได้ต่อเทอร์โมคับเข้ากับโมดูล

ตารางที่ 2 การจัดรูปแบบข้อมูลเอาต์พุตส่งออกมาจากโมดูล

 14-BIT THERMOCOUPLE TEMPERATURE DATA RES FAULT BIT 12-BIT INTERNAL TEMPERATURE DATA RES SCV BIT SCG BIT OC BIT
BIT D31 D30 D18 D17 D16 D15 D14 D4 D3 D2 D1 D0
VALUE Sign MSB 2^10 (1024°C) LSB 2^-2 (0.25°C) Reserved 1 = Fault Sign MSB 2^6 (64°C)LSB 2^-4 (0.0625°C)Reserved 1 = Short to V CC 1 = Short to GND 1 = Open Circuit

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

TEMPERATURE
(°C)
DIGITAL OUTPUT
(D[31:18])
+16000110 0100 0000 00
+10000011 1110 1000 00
+100.750000 0110 0100 11
+250000 0001 1001 00
00000 0000 0000 00
-0.251111 1111 1111 11
-11111 1111 1111 00
-2501111 0000 0110 00

ตารางที่ 4 ตัวอย่างข้อมูลอุณหภูมิที่อ่านได้ของจุดอ้างอิง

TEMPERATURE
(°C)
DIGITAL OUTPUT
(D[15:4])
+1270111 1111 0000
+100.56250110 0100 1001
+250001 1001 0000
00000 0000 0000
-0.06251111 1111 1111
-11111 1111 0000
-201110 1100 0000
-551100 1001 0000

ตัวอย่างการทดลองใช้งานโมดูล

ตัวอย่างต่อไปนี้จะเป็นการทดลองใช้งานโมดูล aMG Sense-THERMOCOUPLE ร่วมกับชุดทดลอง aMG Lab Kit – F4 โดยใช้เทอร์โมคับเปิลชนิด K (-270 to +1372)

การทดลองที่ 1 การอ่านค่าจากเทอร์โมคับเปิลมาประมวลผลบนพีซี

อุปกรณ์ที่ใช้ประกอบด้วย

  • 1x บอร์ด aMG Sense-THERMOCOUPLE
  • 1x บอร์ด STM32F4DISCOVERY
  • 1x บอร์ด aMG F4 Connect 2
  • 1x aMG USB Converter – N2 
  • 1x เทอร์โมคับเปิลชนิด K

ประกอบบอร์ด STM32F4DISCOVERY และ aMG USB Converter – N2 เข้ากับบอร์ดมาสเตอร์ aMG F4 Connect 2 จากนั้นนำเทอร์โมคับเปิลชนิด K มาต่อกับขั้วอินพุตของบอร์ด aMG Sense-

THERMOCOUPLE ระวังต่อขั้วให้ถูกต้อง จากนั้นใช้สายคีบต่อวงจรตามรูปที่ 9 ส่วนของซอฟต์แวร์ตัวอย่างแสดงตามรูปที่ 10 – 12

pic09

รูปที่ 9 การต่อวงจรสำหรับการทดลองที่ 1

pic10

รูปที่ 10 ซอฟต์แวร์ในฝั่ง MCU

ที่ขา PE3 ของบอร์ด MCU กำหนดให้มีสถานะเป็น Hi เพื่อยกเลิกการใช้งานเซนเซอร์ชนิดอื่นที่ต่ออยู่ก่อนหน้านี้ กล่อง SPI Read จะอ่านข้อมูลและเก็บลงในตัวแปรขนาด 8 บิต ดังนั้นหากต้องการอ่านข้อมูลขนาด 32 บิต จึงต้องใช้ตัวแปรจำนวน 4 ตัว โดยข้อมูลตำแหน่งแรกที่อ่านได้จะเป็น LSB ดังนั้นหากต้องการจัดเรียงข้อมูลให้ตำแหน่ง MSB ออกมาก่อน จะต้องมีการสลับตำแหน่งของข้อมูลในกล่อง Send Data ตามรูปที่ 11

pic11

รูปที่ 11 การสลับตำแหน่งของข้อมูลในกล่อง Send Data

จากคู่มือตามเอกสารอ้างอิง [3] หน้า 4 เวลาสูงสุดที่ใช้ในการประมวลผลข้อมูลของโมดูลอยู่ที่ 100 mS ดังนั้นจึงกำหนด Sample Time ของกล่อง SPI Read ให้มีการอัพเดททุก ๆ 0.1 วินาที ซอฟต์แวร์ในส่วนของโฮสต์พีซีแสดงตามภาพที่ 12 ฝั่งรับข้อมูลบนพีซีใช้ตัวแปรแบบ 32 บิต ส่วนการแยกบิตที่ต้องการใช้งานออกมา ใช้กล่องคำสั่ง Extract Bits และการแปลงเลขฐานสองแบบคิดเครื่องหมาย (Signed Binary) ให้อยู่ในรูปของเลขฐานสิบใช้กล่อง Data Type Conversion และแปลงเป็นเลขทศนิยมด้วยการคูณด้วยตัวเกณฑ์ตามตารางที่ 2

pic12

รูปที่ 12 ซอฟต์แวร์ในส่วนของโฮสต์พีซี

การทดลองที่ 2 การอ่านค่าจากเทอร์โมคับเปิล 2 ตัว มาประมวลผลบนพีซี

อุปกรณ์ที่ใช้จะเหมือนกับการทดลองที่ 1 เพียงแต่เพิ่มบอร์ด aMG Sense-THERMOCOUPLE และเทอร์โมคับเปิลอีกอย่างละ 1 ชุด การต่อวงจรตามรูปที่ 13 โมดูลทั้งสองตัวใช้ขา VCC, GND, SO, SCK ร่วมกันและต่อเข้ากับ MCU ที่ตำแหน่งขาเดิม ส่วนขา CS ของโมดูลเดิมยังคงใช้ขา D12 แต่โมดูลที่เพิ่มเข้ามาใหม่ใช้ขา D11 ส่วนของซอฟต์แวร์ตัวอย่างแสดงตามรูปที่ 14 – 15

ซอฟต์แวร์ในฝั่งของ MCU ที่เพิ่มเติมเข้ามาก็คือ Counter Limited และ Logic Operator (NOT) ที่คอยทำหน้าที่สร้างสถานะลอจิก Hi – Lo สลับกันไปมาระหว่างขา D11 และ D12 เพื่อเลือกการติดต่อสื่อสารกับโมดูล โดยที่ลอจิก Lo จะเป็นการเลือกอ่านค่า ส่วนลอจิก Hi จะเป็นการหยุดอ่านค่า นอกจากนี้ยังได้ส่ง ID ของโมดูลมาพร้อมกับข้อมูลด้วยเพื่อป้องกันการสับสน

pic13

รูปที่ 13 การต่อวงจรสำหรับการทดลองที่ 2

pic14

รูปที่ 14 ซอฟต์แวร์ในฝั่งของ MCU

ซอฟต์แวร์ในส่วนของโฮสต์พีซีจะใช้กล่อง Compare To Constant เพื่อตรวจสอบว่าตอนนี้ข้อมูลที่ส่งมาเป็นของโมดูลตัวไหน ถ้าตรงกันก็จะให้เอาต์พุตลอจิกออกไปเป็น 1 เพื่อไปเอนเนเบิลให้แสดงค่าข้อมูลที่รับเข้ามา

ระหว่างที่มีการแสดงค่าอุณหภูมิสามารถทดลองถอดเทอร์โมคับเปิลออก หรือนำสายไฟมาลัดที่ขั้วต่อเทอร์โมคับเปิลกับ VCC หรือ GND แล้วสังเกตการณ์เปลี่ยนแปลงข้อมูลที่บิต 0, 1, 2 และ 16 จะต้องเป็น 1 ตามเงื่อนไขที่ถูกทดสอบ

pic15

รูปที่ 15 ซอฟต์แวร์ในฝั่งของโฮสต์พีซี

การทดลองที่ 3 การอ่านค่าจากเทอร์โมคับเปิล 2 ตัว และแสดงผลบนจอแอลซีดี

การทดลองนี้ เป็นตัวอย่างการต่อใช้งานเทอร์โมคับเปิลกับไมโครคอนโทรลเลอร์แบบตามลำพัง อุปกรณ์ที่ใช้รวมถึงการต่อวงจรจะเหมือนกับการทดลองที่ 2 เพียงแต่เพิ่มบอร์ด aMG CLCD 2 เข้ามา และถอดบอร์ด aMG USB Converter – N2 ออก แสดงการต่อวงจรตามรูปที่ 16 และซอฟต์แวร์ตัวอย่างในฝั่งของพีซีตามรูปที่ 17 (หากต้องการให้แอลซีดีแสดงผลชัดเจนให้ต่ออะแดปเตอร์จ่ายไฟจากภายนอกเพิ่มเติม)

pic16

รูปที่ 16 การต่อวงจรสำหรับการทดลองที่ 3 และการแสดงผลบนจอแอลซีดี

pic17

รูปที่ 17 ซอฟต์แวร์ในฝั่งของ MCU

การต่อใช้งานเทอร์โมคับเปิลมากกว่า 2 ตัวขึ้นไป

ตัวอย่างนี้แสดงเฉพาะไอเดียในส่วนของซอฟต์แวร์กรณีมีการต่อใช้งานเทอร์โมคับเปิลที่มีจำนวนมากว่า 2 ตัวขึ้นไป สมมุติว่าเป็น 5 ตัว สามารถเขียนซอฟต์แวร์ได้ตามรูปที่ 18 – 19

pic18

รูปที่ 18 ซอฟต์แวร์ในฝั่งของ MCU

กล่อง MATLAB Function ในส่วนของซอฟต์แวร์ฝั่งพีซี เป็นตัวอย่างการเขียนโปรแกรมหากลาง (ค่าเฉลี่ยเลขคณิต) ของค่าอุณหภูมิที่วัดได้จากโมดูลแต่ละตัว

 pic19

รูปที่ 19 ซอฟต์แวร์ในฝั่งของโฮสต์พีซี

เอกสารอ้างอิง

[1] Maxim Integrated, Implementing Cold-Junction Compensation in Thermocouple Applications, APPLICATION NOTE 4026, [Online] http://www.maximintegrated.com/app-notes/index.mvp/id/4026

[2] Sohail Mirza, “Overview of Sensor Signal Paths”, [Online] http://www.maximintegrated.com/app-notes/index.mvp/id/4699

[3] Maxim Integrated, MAX31855 Cold-Junction Compensated Thermocouple-to-Digital Converter Data Sheets, [Online] http://datasheets.maximintegrated.com/en/ds/MAX31855.pdf

[4] Omega, “Introduction to Thermocouples”, [Online] http://www.omega.com/prodinfo/thermocouples.html