Trung bình9 phút đọc12/10/2026

Đo nhiệt độ bằng cảm biến NTC/PT100: tuyến tính hóa và lọc nhiễu

Người đọc tính được công thức tuyến tính hóa NTC/PT100 và thiết kế bộ lọc phần cứng/firmware để đo nhiệt độ ổn định trong môi trường công nghiệp nhiễu điện.

Đo nhiệt độ bằng cảm biến NTC/PT100: tuyến tính hóa và lọc nhiễu
Mục lục bài viết9 ▼
  1. 1. Đặc tính cảm biến: NTC vs PT100
  2. 2. Mạch đo và biến đổi tín hiệu
  3. 3. Công thức tuyến tính hóa
  4. 4. Nguồn nhiễu trong môi trường công nghiệp
  5. 5. Lọc phần cứng
  6. 6. Lọc firmware
  7. 7. Lỗi thường gặp khi làm thật
  8. Checklist khi thiết kế
  9. Đọc tiếp

Sai một hệ số tuyến tính hóa hoặc bỏ qua điện trở dây dẫn, cảm biến nhiệt độ có thể báo lệch 2–5 °C mà không hề báo lỗi — hệ thống vẫn chạy, chỉ là chạy sai. Bài này dành cho kỹ sư thiết kế mạch đo và firmware cần công thức tuyến tính hóa đúng cho NTC/PT100, và bộ lọc chống nhiễu đủ dùng trong tủ điện công nghiệp có biến tần, relay công suất gần đó.

#1. Đặc tính cảm biến: NTC vs PT100

NTC (Negative Temperature Coefficient) có quan hệ điện trở–nhiệt độ phi tuyến mạnh, điện trở giảm theo hàm e mũ khi nhiệt độ tăng. Mô hình phổ biến nhất là phương trình Beta, đơn giản nhưng chỉ chính xác trên dải nhiệt hẹp quanh điểm hiệu chỉnh; hệ số B phải lấy từ datasheet của chính loại NTC đang dùng, không dùng chung giữa các nhà sản xuất khác nhau.

PT100 là điện trở kim loại platinum, quan hệ R-T gần tuyến tính hơn nhiều, được chuẩn hóa theo IEC 60751 với hệ số nhiệt điện trở trung bình alpha = 0,00385 Ω/Ω/°C (IEC 60751). Vì có chuẩn quốc tế, PT100 từ các hãng khác nhau tương thích công thức tính với nhau — đây là lợi thế lớn khi thay thế cảm biến ngoài hiện trường.

Tiêu chíNTCPT100
Quan hệ R-TPhi tuyến mạnhGần tuyến tính (IEC 60751)
Độ nhạyCao, dR/dT lớn ở vùng nhiệt độ thườngThấp hơn, cần khuếch đại tốt
Dải đo điển hìnhtheo datasheet của linh kiện bạn dùng, thường trong khoảng vài chục đến hơn trăm độ C âm/dương-200 °C đến 850 °C (IEC 60751, tùy class và loại cảm biến)
Sai số điển hìnhtheo datasheet của linh kiện bạn dùng, tùy classClass A/B/AA theo IEC 60751, theo IEC 60751, mỗi class có dung sai riêng cần tra tiêu chuẩn
Chi phíThấpCao hơn NTC, cần mạch đo chính xác hơn

#2. Mạch đo và biến đổi tín hiệu

NTC thường được đo qua mạch chia áp (một điện trở cố định nối tiếp NTC, lấy áp giữa) hoặc mạch cầu Wheatstone khi cần độ nhạy cao hơn ở vùng nhiệt độ hẹp.

PT100 cần quan tâm số dây dẫn:

  • 2 dây: đơn giản nhất nhưng điện trở dây dẫn cộng trực tiếp vào điện trở đo, gây sai số hệ thống, đặc biệt khi cáp dài.
  • 3 dây: bù một phần điện trở dây dẫn bằng cách đo thêm một nhánh dây tham chiếu, dùng phổ biến trong công nghiệp.
  • 4 dây: tách hoàn toàn dòng kích thích và điện áp đo (Kelvin sensing), chính xác nhất, dùng cho ứng dụng đo lường chuẩn.

Dòng kích thích (excitation current) phải đủ nhỏ để tránh self-heating — cảm biến tự nung nóng do công suất tiêu tán trên chính nó, làm nhiệt độ đo cao hơn nhiệt độ thực của môi trường. Công suất tự nung tính theo:

P_self = I² × R(T) So sánh P_self với hệ số self-heating (đơn vị °C/mW, theo datasheet của cảm biến đang dùng) để ước lượng độ lệch nhiệt độ gây ra. Dòng kích thích cho PT100 công nghiệp thường ở mức mức dòng nhỏ (thường dưới vài mA), cụ thể theo datasheet của module đo hoặc chip điều hòa tín hiệu đang dùng để giữ self-heating dưới ngưỡng chấp nhận được.

Instrumentation amplifier khuếch đại tín hiệu nhỏ từ cầu đo trước khi vào ADC, giúp dùng hết dải phân giải ADC thay vì chỉ dùng một phần nhỏ dải điện áp. ADC phân giải cao (ví dụ 16 bit hoặc 24 bit — theo datasheet ADC đang dùng) cần thiết khi PT100 có độ nhạy thấp, mỗi °C chỉ tương ứng vài chục µV sau khuếch đại.

#3. Công thức tuyến tính hóa

NTC — phương trình Beta:

text
1/T = 1/T0 + (1/B) × ln(R/R0)

T, T0 tính theo Kelvin; R0 là điện trở tại nhiệt độ tham chiếu T0 (thường 25 °C); B là hệ số Beta lấy từ datasheet. Phương trình này sai số tăng nhanh khi ra xa điểm hiệu chỉnh T0, đặc biệt ở hai đầu dải đo.

NTC — Steinhart-Hart (chính xác hơn):

text
1/T = A + B×ln(R) + C×ln(R)³

Ba hệ số A, B, C xác định bằng cách đo điện trở tại 3 điểm nhiệt độ chuẩn (ví dụ 0 °C, 25 °C, 50 °C — (ví dụ minh hoạ)), giải hệ 3 phương trình 3 ẩn. Phù hợp khi cần sai số thấp trên dải nhiệt rộng.

PT100 — Callendar-Van Dusen (theo IEC 60751):

Với T ≥ 0 °C:

text
R(T) = R0 × (1 + A×T + B×T²)

Với T < 0 °C, thêm số hạng bậc 3:

text
R(T) = R0 × (1 + A×T + B×T² + C×(T-100)×T³)

Hệ số A, B, C theo IEC 60751 — tra cứu trong bản tiêu chuẩn IEC 60751 hiện hành, cần đối chiếu trước khi dùng trong code sản phẩm. Việc chia hai miền âm/dương là điểm hay bị bỏ sót khi lập trình, dẫn sai số lớn khi cảm biến hoạt động dưới 0 °C.

#4. Nguồn nhiễu trong môi trường công nghiệp

Biến tần và relay công suất tạo nhiễu điện từ (EMI) lan truyền qua không gian và qua dây dẫn, đặc biệt ở dải tần chuyển mạch của biến tần. Cáp cảm biến đi gần cáp động lực dễ bị cảm ứng nhiễu lên tín hiệu nhỏ (vài mV đến vài chục mV ở PT100).

Nhiễu common-mode xuất hiện khi hai điểm nối đất của hệ thống đo và nguồn công suất có chênh lệch điện áp — gọi là ground loop — dòng nhiễu chạy qua dây tín hiệu và cộng vào điện áp đo được.

Nhiễu nhiệt (thermal noise, Johnson noise) sinh ra do dao động nhiệt của điện tử trong điện trở, tăng theo nhiệt độ và điện trở dây dẫn. Trong mạch 2 dây, điện trở dây nối dài (vài chục mét) không chỉ gây sai số hệ thống như mục 2 đã nói, mà còn là nguồn nhiễu nhiệt bổ sung, dù thường nhỏ hơn nhiều so với EMI từ biến tần.

#5. Lọc phần cứng

Lọc RC thông thấp đặt ngay trước ADC là lớp lọc đầu tiên, loại nhiễu tần số cao trước khi tín hiệu vào bộ chuyển đổi. Tần số cắt chọn theo:

text
fc = 1 / (2π × R × C)

Chọn fc thấp hơn tần số lấy mẫu Nyquist của hệ thống nhưng vẫn đủ cao để không làm trễ đáp ứng nhiệt độ thực (nhiệt độ vật lý thường biến đổi chậm, cỡ giây đến phút, nên fc vài Hz đến vài chục Hz thường đủ — theo yêu cầu đáp ứng cụ thể của ứng dụng).

Tụ lọc common-mode và ferrite bead đặt trên dây tín hiệu dài giúp giảm nhiễu tần số cao cảm ứng từ cáp động lực gần đó. Shielding cáp cảm biến (lớp chống nhiễu bọc ngoài) nối đất một đầu — tránh nối đất hai đầu vì tạo thêm ground loop mới.

#6. Lọc firmware

Trung bình trượt (moving average) làm mượt nhiễu ngẫu nhiên nhưng không loại được giá trị đột biến (outlier) do nhiễu xung. Trung vị (median filter) xử lý tốt outlier nhưng làm trễ đáp ứng nếu cửa sổ lớn.

C
/* minh hoạ, chưa biên dịch */
#define WINDOW_SIZE 5

float moving_average(float new_sample, float *buffer, int *idx) {
    buffer[*idx] = new_sample;
    *idx = (*idx + 1) % WINDOW_SIZE;

    float sum = 0.0f;
    for (int i = 0; i < WINDOW_SIZE; i++) {
        sum += buffer[i];
    }
    return sum / WINDOW_SIZE;
}

float median_filter_3(float a, float b, float c) {
    if ((a - b) * (c - a) >= 0) return a;
    if ((b - a) * (c - b) >= 0) return b;
    return c;
}

Lọc IIR bậc thấp (ví dụ lọc một cực) cho đáp ứng nhanh hơn moving average với cùng mức làm mượt, nhưng cần chọn hệ số alpha phù hợp với tốc độ biến đổi nhiệt độ thực. Lọc Kalman đơn giản (một chiều) phù hợp khi biết trước đặc tính nhiễu đo và mô hình động học nhiệt, nhưng phức tạp hơn để tinh chỉnh đúng.

Oversampling kết hợp decimation — lấy mẫu nhanh hơn độ phân giải cần, rồi trung bình/giảm mẫu — tăng độ phân giải hiệu dụng của ADC mà không cần ADC phân giải cao hơn, đổi lại tốc độ cập nhật chậm hơn.

#7. Lỗi thường gặp khi làm thật

Bỏ qua điện trở dây dẫn trong mạch PT100 2 dây là lỗi phổ biến nhất — cáp dài vài chục mét có thể cộng thêm điện trở tương đương vài °C sai số, trong khi mạch 3/4 dây giải quyết được vấn đề này nhưng tốn thêm dây và mạch đo.

Dùng xấp xỉ Beta cho NTC trên dải nhiệt rộng (ví dụ từ -20 °C đến 100 °C) mà chỉ hiệu chỉnh một điểm T0 dẫn sai số lớn ở hai đầu dải — nên dùng Steinhart-Hart hoặc chia nhiều đoạn tuyến tính nếu cần độ chính xác đồng đều.

Thiếu lọc common-mode khi cáp cảm biến đi chung máng với dây động lực (dây động cơ, dây biến tần) là nguyên nhân phổ biến gây nhiễu đọc nhảy số đột ngột, dễ nhầm là lỗi cảm biến hỏng trong khi thực chất là lỗi đi dây.

#Checklist khi thiết kế

  • Đã xác nhận hệ số tuyến tính hóa (Beta/Steinhart-Hart/Callendar-Van Dusen) đúng nguồn và đúng dải nhiệt áp dụng.
  • Đã tính self-heating và chọn dòng kích thích phù hợp với cảm biến đang dùng.
  • Đã chọn mạch 2/3/4 dây phù hợp và đánh giá ảnh hưởng điện trở dây dẫn.
  • Đã có lọc RC phần cứng với tần số cắt tính toán rõ ràng.
  • Đã bố trí shielding và grounding một điểm cho cáp cảm biến dài.
  • Đã có lọc firmware (moving average/median/IIR) phù hợp tốc độ biến đổi nhiệt độ thực tế.
  • Đã kiểm tra công thức PT100 có chia đúng hai miền T ≥ 0 °C và T < 0 °C.

#Đọc tiếp

Bài kế tiếp trong series: "Giao tiếp cảm biến qua RS-485/Modbus: chống nhiễu và xử lý lỗi truyền thông trong môi trường công nghiệp".