Sử dụng cảm biến nhiệt độ LM335 đo nhiệt độ phòng
Trang 1BÀI TẬP LỚN
KỸ THUẬT ĐO LƯỜNG
Đề tài: Sử dụng cảm biến nhiệt độ LM335 đo nhiệt độ phòng
Trang 2 Hiện nay nhu cầu về giám sát nhiệt độ có nhiều ứng dụng trong cuộc sống như: giám sát nhiệt
độ của của lò sấy, phòng thí nghiệm…nơi mà có những yêu cầu cao về tính ổn định của nhiệt
độ Nên trong bài tập này, em chọn đối tượng đo là nhiệt độ, và trình bày một mạch đo nhiệt độ phòng sử dụng IC tích hợp Lm335
I.Tính cấp thiết.
Trang 3Đốối tượợng đọợ Cảảm biếốn Xưả lý Hiếản thiợ
II Sơ đồ mạch đo.
Trang 4 Đối tượng đọ nhiệt độ là một đối tượng analog Nhiệt độ từ môi trường sẽ được cảm biến hấp thu, tại đây tùy theo cơ cấu của cảm biến sẽ biến đại lượng nhiệt này thành một đại lượng điện nào đó Như thế một yếu tố hết sức quan trọng đó là “ nhiệt độ môi trường cần đo” và “nhiệt độ cảm nhận của cảm biến” Cụ thể điều này là: Các loại cảm biến đều có vỏ bảo vệ, phần tử cảm biến nằm bên trong cái vỏ này ( bán dẫn, lưỡng kim….) do đó việc đo có chính xác hay không tùy thuộc vào việc truyền nhiệt từ môi trường vào đến phần tử cảm biến tổn thất bao nhiêu ( 1 trong những yếu tố quyết định giá cảm biến nhiệt )
a Đối tượng đo.
Trang 5 Có nhiều loại cảm biến khác nhau để đo nhiệt độ, cơ bản có các loại sau:
- Cặp nhiệt điện ( Thermocouple )
- Nhiệt điện trở ( RTD-resitance temperature detector)
- Thermistor
- Bán dẫn ( Diode, IC ,….)
- Ngoài ra còn có loại đo nhiệt không tiếp xúc ( hỏa kế- Pyrometer ) Dùng hồng ngoại hay lazer
Trong bài này, em chọn cảm biến là bán dẫn, cụ thể là IC Lm335
b Khối cảm biến.
Trang 6 Cảm biến nhiệt IC Lm335 là loại cảm biến được chế tạo từ những chất bán dẫn Nguyên lý của chúng là dựa trên mức độ phân cực của các lớp P-N tuyến tính với nhiệt độ môi trường Ngày nay với sự phát triển của ngành công nghệ bán dẫn đã cho ra đời rất nhiều loại cảm biến nhiệt với sự tích hợp của nhiều ưu điểm: Độ chính xác cao, chống nhiễu tốt, hoạt động ổn định, mạch điện xử lý đơn giản, rẽ tiền,…
IC Lm335 là một IC tích hợp dùng để đo nhiệt độ Nó gồm có ba chân: một chân cấp nguồn, một chân nối đất, và một chân cho điện áp ra Nếu cấp nguồn dương thì điện áp ra sẽ dương, nếu cấp nguồn âm thì ngược lại
IC Lm335
Trang 7 Dải đo: -55 độ C tới 120 độ C.
Độ nhạy: 0,02mV/độ C.
Sai số: +/- 0.5 độ C.
(Theo datasheet của Lm335)
Lm335
Trang 8 Mạch xử lý trong phần này là con chíp PIC16F877A Con chíp này là một sản phẩm của hãng Microchip, và loại này được bán phổ biến trên thị trường Việt Nam Trong chíp tích hợp nhiều modul của một vi xử lý hiện đại như: timer, ADC, CCP, PWM…và bộ nhớ chương trình đủ lớn cho phép thực hiện các dự án trung bình Nhưng trong bài này, ta chỉ xét tới khối ADC
Trong PIC16F877A bao gồm hai loại ADC là: ADC 8bit, và ADC 10bit Trong bài sử dụng ADC 10bit, cho độ phân giải tốt hơn Và có 8 chân Analog(RA4:RA0 và RE2:RE0)
c Khối xử lý.
Trang 9Sợ đốồ PIC16F877A
Trang 10Sơ đồ khối chuyển đổi ADC
Trang 11 Bộ biến đổi có hai thanh ghi lưu trữ kết quả chuyển đổi là ADRESH:ADRESL Khi không sử
dụng bộ chuyển đổi, các thanh ghi này có thể được sử dụng như các thanh ghi thông thường khác Khi quá trình chuyển đổi kết thúc kết quả sẽ được lưu trữ trong hai thanh ghi ADRESH:ADRESL, bit GO/ được xóa về 0, và cờ ngắt ADIF được thiết lập
Bộ biến đổi ADC
Trang 12Thiết lập các thông số cho bộ chuyển đổi ADC:
1. Chọn ngõ vào Analog,chọn điện áp mẫu.(thanh ghi ADCON1)
2. Chọn kênh chuyển đổi AD.(Thanh ghi ADCON0)
3. Chọn xung clock trên kênh chuyển đổi AD (Thanh ghi ADCON0)
4. Cho phép bộ chuyển đổi ADC hoạt động
.Thiết lập cờ ngắt cho bọ chuyển đổi ADC
1. Xóa bit ADIF
2. Thiết lập bit ADIE
3. Thiết lập bit PEIE
4. Thiết lập bit GIE
Quá trình biến đổi từ tương tự sang số.
Trang 13Đợi cho tới khi quá trình lấy mẫu hoàn tất.
1. Bắt dầu quá trình biến đổi Set bit GO/
2. Đợi cho tới khi quá trình chuyển đổi hoàn tất bằng cách: Kiểm tra bit GO/ , nếu bit này
bằng 0 thì quá trình hoàn tất
Kiểm tra cờ ngắt
3. Đọc kết quả chuyển đổi và xóa cờ ngắt Set bit GO/
4. Tiếp tục thực hiện các bước trên lại từ đầu
Trang 14 Vì con Lm335 thay đổi 10 mV/oK, ta cần hiển thị độ C Do đó ta phải chuyển đổi qua độ C Ta
thấy 0=273 K, như vậy tại 0 độ C, con Lm335 sẽ xuất ra một điện áp là 2,73 V Với giá trị này, ADC trong PIC16F877A sẽ có giá trị (2.73*1023)/5=558.558 Vậy khi tính toán giá trị nhiệt độ
C ta cần trừ đi gía trị này Công thức:
Nhiet_do = (value-558.558)/2.048
Ở đây value là giá trị của ADC đọc được, còn giá trị 2.048 ở đây là do ta dùng ADC 10 bít, điện
áp lấy mẫu là 5V, như vậy mỗi mức lượng tử sẽ tương ứng với 5V/1024 = 4.883 mV Lm335 thay đổi 10 mV/oK do đó ứng với sự thay đổi 1 độ C sẽ thay đổi 2.048 mức lượng tử(10mV/4.883mV)
Chuyển đổi nhiệt độ từ độ K về độ C.
Trang 15 Trong mạch sử dụng led 7 vạch đôi để hiển thị Thông qua hai con transistor loại npn nối với
hai chân D0 và D1 của PIC16F877A để đóng mở
d Khối hiển thị.
Trang 16 Nhiệt độ từ môi trường thông qua con Lm335 đo về và biến đổi thành điện áp ở chân điện áp ra
Điện áp này đưa vào chân Analog của PIC16F877A, qua ADC tích hợp trong PIC16F877A biến đổi Xuất ra giá trị hiển thị lên led 7 vạch Hai transistor loại npn có nhiệm vụ đóng, cắt điện áp cấp cho led Còn biến trở RV1 làm nhiệm vụ chỉnh chuẩn cho Lm335
III Nguyên lý hoạt động của mạch.
Trang 17 Sử dụng phần mềm lập trình cho PIC là CCS Phần mềm này được cung cấp miễn phí bởi hãng
Microchip
Ngôn ngữ sử dụng là ngôn ngữ C.
Chương trình chính gồm có ba hàm:
Hàm main();
Hàm doc_adc();// Dùng để thiết lập cho adc, và đọc giá trị từ cảm biến về
Hàm hien_thi();// Dùng để xuất các giá trị sau khi xử lý lên led 7 vạch
IV Chương trình chính cho PIC16F877A.
Trang 18Mảợch thiếốt kếố.
Trang 19 Trong một khoảng thời gian nghiên cứu, em đã thiết kế được một mạch đo nhiệt độ phòng, với
sai số là +/- 2 độ Mạch chạy tương đối ổn định
Biết cách lập trình cho chíp, và ở đây là con chíp PIC16F877A Và hiểu cơ bản về cấu trúc,
cũng như hoạt động của con chíp này
Tuy nhiên, mạch này chỉ tuyến tính trong dải nhiệt độ cho phép của con Lm335, nếu nhiệt độ
nằm ngoài khoảng này thì nó hoạt động sai
V Kết quả.
Trang 20Từ kết quả thu được qua mạch trên, ta hoàn toàn có thể thiết kế hệ thống giám sát và đưa
ra các thuật toán để điều khiển nhiệt độ trong phòng bám theo giá trị nhiệt độ được đặt trước
Và đưa ra các cảnh báo khi nhiệt độ lớn hơn, hay nhỏ hơn nhiệt độ cho phép Mở rộng dải đo cho mạch… Nhưng trong khuôn khổ của bài tập cũng như khoảng thời gian ngắn, nên em mới chỉ thiết kế được mạch đo và hiển thị nhiệt độ qua led 7 vạch Nếu có thời gian em sẽ nghiên cứu thêm và phát triển ứng dụng này hơn nữa
VI Hướng phát triển.