วิธีการวัดอุณหภูมิโดยใช้เทอร์มิสเตอร์ NTC


17

ฉันมีเทอร์มิสเตอร์TTC103 NTC มันมีความต้านทานศูนย์พลังงาน 10 kΩที่ 25 ° C และ B25 / 50 ค่า 4050 ฉันจะใช้มันเพื่อวัดอุณหภูมิได้อย่างไร


เฮ้ฉันมีเทอร์มิสเตอร์เดียวกันแน่นอน :)
อับดุลลาห์ Kahraman

คำตอบ:


12

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

สมการSteinhart – Hartเป็นแบบจำลองความต้านทานของสารกึ่งตัวนำที่อุณหภูมิต่างกัน สมการคือ:

1T=A+Bln(R)+C(ln(R))3

ที่อยู่:

  • คืออุณหภูมิ (เป็นเคลวิน)T
  • คือความต้านทานที่ T (เป็นโอห์ม)RT
  • , B , และ Cคือสัมประสิทธิ์ Steinhart – Hartซึ่งแตกต่างกันไปขึ้นอยู่กับประเภทและรุ่นของเทอร์มิสเตอร์และช่วงอุณหภูมิที่น่าสนใจ (รูปแบบทั่วไปที่สุดของสมการที่ใช้มีคำว่า ( ln ( R ) ) 2แต่มักจะถูกละเลยเพราะมันมักจะมีขนาดเล็กกว่าค่าสัมประสิทธิ์อื่น ๆ มากและดังนั้นจึงไม่แสดงด้านบน)ABC(ln(R))2

- สมการ Steinhart-Hart - Wikipedia, สารานุกรมเสรี

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

ที่ให้ค่าสัมประสิทธิ์ B-สามารถใช้ในสมการ Steinhart-ฮาร์ทง่ายตามที่อธิบายไว้ในบทความวิกิพีเดีย Thermistor ใต้ "B พารามิเตอร์สม"


1
คำตอบทั้งสามนั้นดูดี แต่คำตอบนี้ช่วยฉันได้มากที่สุด
AndrejaKo

1
คุณไม่จัดการกับวิธี ? ln
abdullah kahraman

2
ทำไมฉันต้องไปที่วิกิพีเดียเพื่อทำสมการ คุณให้ที่นี่ไม่ได้เหรอ
Federico Russo

คุณพูดถึงความอดทนในการผลิต แต่ฉันจะกำหนดความอดทนได้อย่างไรถ้าฉันมี B ความอดทนของ B ความอดทนของ R25 เช่นเดียวกับ NTCLE203
thexeno

@thenoeno เสียบค่าสูงสุดและต่ำสุดลงในสเปรดชีตและคำนวณในช่วงอุณหภูมิที่คุณต้องการ
Nick T

13

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

Rthermistor=(VccVmeasured1)×Rknown

ใช้สมการ:

T=Bln(RthermistorR0×eBT0)

ในกรณีของคุณ , B = 4050และT 0 = ( 273 + 25 ) = 298 เสียบตัวเลขเหล่านั้นบวกกับความต้านทานที่วัดได้ของเทอร์มิสเตอร์ลงในสมการแล้วดึงออกอุณหภูมิในเคลวินR0=10000B=4050T0=(273+25)=298

อ่านบทความวิกิพีเดียนี้สำหรับรายละเอียดเพิ่มเติม


1
ใช่ฉันต้องถาม :) คุณคำนวณโดยใช้ไมโครคอนโทรลเลอร์ 8 บิตได้อย่างไร?
abdullah kahraman

2
@abdullahkahraman คุณต้องการใช้การรวมกันของตารางค้นหาและการแก้ไขระหว่างค่าค้นหาตาราง สมมติว่าคุณมี ADC 10 บิต นั่นคือ 1024 ค่าที่เป็นไปได้จาก ADC คุณสามารถเก็บค่าที่แปลง 1024 ในหน่วยความจำหรือคุณสามารถเก็บ 512 (ทุก ๆ ) หรือ 256 (ทุก ๆ 4) ฯลฯ ขึ้นอยู่กับหน่วยความจำ การแก้ไขเป็นเรื่องที่มีขนาดใหญ่เช่นเดียวกับการทับซ้อนหรือ "แถบ" ซึ่งคุณสามารถใช้เพื่อเพิ่มความแม่นยำ
akohlsmith

@AndrewKohls ด้วยการ oversampling เพิ่มความละเอียดได้อย่างไร
abdullah kahraman

@abdullahkahraman การสุ่มตัวอย่างตารางการค้นหาของคุณอาจไม่สม่ำเสมอในโดเมนของอินพุต ... การจัดเก็บตัวอย่างเพิ่มเติมของเส้นโค้งที่เป็น "curvier" และการแก้ไขการใช้สามารถทำให้คุณมีข้อผิดพลาดที่ดีกว่า
vicatcu

1
@thexeno ถามคำถามใหม่
Nick T

6

กทชนั้นไม่ใช่แบบเส้นตรงและคุณจะเห็นว่าสูตรที่น่ารังเกียจแสดงความต้านทานต่ออุณหภูมิที่สัมพันธ์กัน
เพิ่มคู่ของตัวต้านทานสามัญคุณสามารถ linearize พฤติกรรมของพวกเขาเพื่อให้ความสัมพันธ์นี้เป็นห้วงที่เรียบง่ายสมการเชิงเส้นของรูปแบบ ตัวอย่างต่อไปนี้มาจากบันทึกย่อ Epcosนี้ y=ax+b

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

เส้นโค้งนั้นตรงจาก 0 ° C ถึง 60 ° C ซึ่งเพียงพอสำหรับการใช้งานหลายอย่าง

ในคำตอบนี้ฉันแสดงให้เห็นว่าในบางกรณีคุณจะได้เส้นโค้งเชิงเส้นเกือบสมบูรณ์แบบ (15 ppm) บนโดเมนที่ จำกัด ด้วยตัวต้านทานแบบอนุกรม

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


อย่าทำให้เป็นเชิงเส้นเว้นแต่ว่าคุณกำลังใช้วงจรแบบแอนะล็อกเท่านั้น!
Jason S

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

4
เจสัน: คุณอธิบายได้ไหม? ทำไมไม่ปรับให้เป็นแนวตรงในวงจรดิจิตอล
Stephen Collings

แอปโน้ตบอกว่าการกำหนดค่านี้จะได้รับความไวเล็กน้อย
abdullah kahraman

2
@abdullah - ฉันหมายถึงแดกดัน :-) แต่เห็นได้ชัดว่าผู้ใช้มากกว่าต้องการสถานการณ์ที่ซับซ้อนมากขึ้นซึ่งฉันไม่ทราบ แต่เหตุผลเดียวที่ฉันคิดว่าจะยกเลิกการแก้ปัญหาที่ง่ายขึ้นก็คือตัวต้านทานจะแพงเกินไป :-)
stevenvh

4

กทชมีการตอบสนองที่ไม่ใช่เชิงเส้นอุณหภูมิ

Rจากสิ่งนี้โดยใช้กฎของโอห์ม

ตัวอย่างเช่นสมมติว่าคุณมีตัวจ่ายไฟ 5V ใช้ตัวต้านทาน 1k เป็นอนุกรมกับ NTC และถ้าคุณวัด 0.5V เพียงแค่หาร 1k ด้วย 0.5V และรับความต้านทาน 10k ohms

T0Rโอ

จากนั้นให้รายละเอียดเหล่านี้ใส่ลงในสมการนี้เพื่อให้ได้Tอุณหภูมิ

T=11Tโอ+(1B* * * *LNRRโอ)


โปรดยืนยันว่าฉันเขียนสมการใหม่อีกครั้งอย่างถูกต้อง
abdullah kahraman

3

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

คำตอบสั้น ๆ เป็นดังนี้:

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

มีรายละเอียดปลีกย่อยมากมายอยู่ที่นี่ดังนั้นสำหรับการอ่านเพิ่มเติมคุณอาจต้องการตรวจสอบบทความของฉันเกี่ยวกับการปรับสภาพสัญญาณเทอร์มิสเตอร์ - หวังว่านี่จะช่วยได้!


บทความดูดีมาก!
AndrejaKo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.