Đo nhiệt độ với cảm biến LM35

Nhiệt độ được xác định bằng cách đo hiệu điện thế ngõ ra của LM35. Sơ đồ chân của LM35 như sau:

1.

  • Chân 1: Chân nguồn Vcc
  • Chân 2: Đầu ra Vout
  • Chân 3: GND

Một số thông số chính của LM35

Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Chúng cũng không yêu cầu cân chỉnh ngoài vì vốn chúng đã được cân chỉnh

Đặc điểm chính của cảm biến LM35

  • Điện áp đầu vào từ 4V đến 30V
  • Độ phân giải điện áp đầu ra là 10mV/oC
  • Độ chính xác cao ở 25 C là 0.5 C
  • Trở kháng đầu ra thấp 0.1 cho 1mA tải

Dải nhiệt độ đo được của LM35 là từ -55 C - 150 C với các mức điện áp ra khác nhau. Xét một số mức điện áp sau :

  • Nhiệt độ -55 C điện áp đầu ra -550mV
  • Nhiệt độ 25 C điện áp đầu ra 250mV
  • Nhiệt độ 150 C điện áp đầu ra 1500mV

Tùy theo cách mắc của LM35 để ta đo các giải nhiệt độ phù hợp. Đối với hệ thống này thì đo từ 0 đến 150. Chi tiết các bạn có thể xem trong datasheet của nó

Tính toán nhiệt độ đầu ra của LM35

Việc đo nhiệt độ sự dụng LM35 thông thường chúng ta sử dụng bằng cách LM35 - > ADC - > Vi điều khiển

Như vậy ta có: U= t.k

u là điện áp đầu ra
t là nhiệt độ môi trường đo k

là hệ số theo nhiệt độ của LM35 10mV/1 độ C

Giả sử điện áp Vcc cấp cho LM35 là 5V ADC 10bit

Vậy bước thay đổi của LM35 sẽ là 5/(2^10) = 5/1024

Giá trị ADC đo được thì điện áp đầu vào của LM35 là (t*k)/(5/1024) = ((10^-2)*1024*t)/5 = 2.048*t

Vậy nhiệt độ ta đo được t = giá trị ADC/2048

Tương tự với ADC 11bit và Vcc khác ta cũng tính như trên để được công thức lấy nhiệt độ

Mã:

set_adc_channel(0); value = (float)read_adc(); value=value/2.048;

Sai số của LM35

  • Tại 0 độ C thì điện áp của LM35 là 10mV
  • Tại 150 độ C thì điện áp của LM35 là 1.5V

==> Giải điện áp ADC biến đổi là 1.5 - 0.01 = 1.49 (V)

  • ADC 11 bit nên bước thay đổi của ADC là : n = 2.44mV

Vậy sai số của hệ thống đo là : Y = 0.00244/1.49 = 0.164 %

Ví dụ mẫu đo nhiệt độ với LM35 và PIC16F877A trình biên dịch CCS

Trong ví dụ có hiển thị cả độ C và độ F, file proteus mô phỏng, các bạn tham khảo

2.

3.

4.