Dòng LM35 là cảm biến nhiệt độ mạch tích hợp chính xác, có điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ độ C (độ C). Do đó, LM35 có lợi thế hơn so với cảm biến nhiệt độ tuyến tính được hiệu chuẩn theo ° Kelvin, vì người dùng không cần phải trừ một điện áp không đổi lớn ra khỏi đầu ra của nó để có được tỷ lệ độ bách phân. Hãy tham khảo bên dưới với hocwiki nhé.

Trong Project này, mình đang đo nhiệt độ bằng cảm biến nhiệt độ LM35 và hiển thị trên led 7 đoạn. Cảm biến LM35 có thể đo nhiệt độ từ phạm vi đầy đủ -55 ° đến + 150 ° C. Để hiển thị nhiệt độ lên đến + 150 ° C, mình cần hiển thị  trên 3 led bảy đoạn. Nhưng trong Project này, để làm cho Project đơn giản và dễ hiểu, mình chỉ sử dụng hai Led 7 đoạn.

Phần chính của Project này là sự hiểu biết về chuyển đổi tương tự sang kỹ thuật số (ADC) trong vi điều khiển AVR và phần khác là cách hiển thị giá trị nhiệt độ đó trên màn hình hai bảy đoạn.

  • 74hc595 là gì ? hướng dẫn sử dụng IC 74hc595
  • LM2576 ADJ là gì ? Nguyên Lý LM2576
  • Thông số transistor D718 lưng đồng tháo máy và Nguyên lý làm việc của D718
  • TL431 là gì ? Nguyên Lý IC TL431
  • IRF3205 lưng đồng tháo máy lấy ở đâu

Cảm biến nhiệt độ LM35 là gì

Dòng LM35 là cảm biến nhiệt độ mạch tích hợp chính xác, có điện áp đầu ra tỷ lệ tuyến tính với nhiệt độ (độ C). LM35 không yêu cầu các hiệu chuẩn hoặc cắt tinh chỉnh bên ngoài nào để cung cấp độ chính xác điển hình là ± 1⁄4 ° C ở nhiệt độ phòng và ± 3⁄4 ° C trong phạm vi nhiệt độ -55 đến + 150 ° C đầy đủ.

Đặc trưng

  • Được hiệu chuẩn trực tiếp bằng ° C (Centigrade)
  • Hệ số thang tuyến tính + 10,0 mV / ° C
  • Có thể đảm bảo độ chính xác 0,5 ° C (ở + 25 ° C)
  • Được đánh giá cho phạm vi từ -55 ° đến + 150 ° C đầy đủ
  • Thích hợp cho các ứng dụng từ xa
  • Chi phí thấp do tinh chỉnh  ở cấp độ wafer
  • Hoạt động từ 4 đến 30 vôn
  • Dòng cực máng ít hơn 60 μA
  • Tỏa nhiệt thấp, 0,08 ° C trong không khí tĩnh
  • Độ phi tuyến tính chỉ ± 1⁄4 ° C điển hình
  • Đầu ra trở kháng thấp, 0,1 W cho tải 1 mA

Sơ đồ chân của LM35

Cách tính giá trị tương tự thành giá trị kỹ thuật số 

Sử dụng tỷ lệ sau:

e / V  max   = d / 2  n – 1 

trong đó

  • Điện áp tối đa tối mà tín hiệu tương tự có thể giả định
  • n  số bit có sẵn cho mã hóa kỹ thuật số, Ở đây n = 10
  • d  mã hóa kỹ thuật số hiện tại
  • e  điện áp tương tự từ cảm biến

Thí dụ:

Cách tính giá trị kỹ thuật số nếu mình có nhiệt độ 30 ° C.

Ở đây

hệ số thang đo = 10,0 mV / ° C hoặc 0,01V / ° C

Nếu mình có nhiệt độ 30 ° C thì Điện áp = 30 * 0,01

= 0,3V Vậy e = 0,30V

Vmax = 5V

d = e * 2  n – 1 / V  max 

d = 0,30 * 1023/5

d = 61,38 hoặc gần như gấp đôi

Lưu ý: Mỗi khi mình tính toán giá trị kỹ thuật số, nó sẽ nhân đôi với nhiệt độ.

Vì vậy, trong lập trình, mình chia nó cho 2 để thấy giá trị gần đúng của nhiệt độ.

Sơ đồ mạch đo nhiệt độ dùng lm35 hiển thị led 7 thanh

Code mạch đo nhiệt độ dùng lm35 hiển thị led 7 thanh

#include<avr/io.h>

#include <avr/interrupt.h>

#include<util/delay.h>

int count=0;

int d0,d1,seg;

int delay=5;

int ReadADC(uint8_t ch)

{

ADMUX=ch;

//Start Single conversion

ADCSRA |= (1<<ADSC);

//Wait for conversion to complete

while(!(ADCSRA&(1<<ADIF)));

ADCSRA|=(1<<ADIF);

return(ADC);

}

void initADC()

{

ADMUX=(1<<REFS0);

ADCSRA=(1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS1);

}

void segment_code(int seg)

{

switch(seg)

{

case 1:

PORTD=0b11111001; //1

_delay_ms(delay);

break;

case 2:

PORTD=0b10100100; //2

_delay_ms(delay);

break;

case 3:

PORTD=0b10110000; //3

_delay_ms(delay);

break;

case 4:

PORTD=0b10011001; //4

_delay_ms(delay);

break;

case 5:

PORTD=0b10010010; //5

_delay_ms(delay);

break;

case 6:

PORTD=0b10000010; //6

_delay_ms(delay);

break;

case 7:

PORTD=0b11111000; //7

_delay_ms(delay);

break;

case 8:

PORTD=0b10000000; //8

_delay_ms(delay);

break;

case 9:

PORTD=0b10010000; //9

_delay_ms(delay);

break;

case 0:

PORTD=0b11000000; //0

_delay_ms(delay);

break;

}

}

int main()

{

DDRC=0b0000000;

DDRD=0xFF; // PORT D as output port

DDRB=0xFF; //PB0 and PB1 is segment select pins

initADC();

int analogVal;

while(1)

{

analogVal=ReadADC(0);

analogVal=analogVal/2;

count=analogVal;

//variable do containing the 10th digit of temperature

d0=count%10;

seg=d0;

PORTB=0b11111101;//select segment 0

segment_code(seg);//match and display

//get the 100th digit of temperature

d1=count/10;

d1=d1%10;

seg=d1;

PORTB=0b11111110;//select segment 1

segment_code(seg);//match and display

}

TRUNG TÂM SỬA CHỮA ĐIỆN TỬ QUẢNG BÌNH
MR. XÔ - 0901.679.359 - 80 Võ Thị Sáu, Phường Quảng Thuận, tx Ba Đồn, tỉnh Quảng Bình
Sửa điện tử tại Quảng Bình

return 0;

}

One thought on “Mạch đo nhiệt độ dùng lm35 hiển thị led 7 thanh

  1. Willard says:

    “The LM35 Temperature Sensor with 7-Segment LED Display” is an invaluable resource for temperature measurement projects. This guide simplifies the process, making it accessible for enthusiasts. The LM35’s precision, coupled with LED display, opens up a world of possibilities.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

+ 4 = 10