Tổng quan về các loại đầu đo và các phương pháp đo nhiệt độ Nhiệt độ là một trong những thông số quan trọng nhất ảnh hưởng đến đặc tính của vật chất nên trong các quá trình kĩ thuật hay
Trang 1LỜI NÓI ĐẦU
Cảm biến ngày nay không thể thiếu trong nhiều lĩnh vực của đời sống và công nghiệp Cảm biến giúp ta nhận biết những biến đổi của môi trường xung quanh từ đó đưa ra những giải pháp điều khiển thích hợp Tuý từng loại ứng dụng mà có nhiều loại cảm biến khác nhau, như cảm biến áp suất, cảm biến độ
ẩm, cảm biến nhiệt độ…Ở đây với đề tài là đo và khống chế nhiệt độ, chúng em
sử dụng loại cảm biến đo nhiệt độ dùng IC DS18B20
Vì thời gian không cho phép nên đề tài còn nhiều thiếu sót,mong được sự giúp đỡ và đóng góp ý kiến của các thày cô và các bạn
Hà nội ngày 27 tháng 5 năm 2010
Giáo viên hưỡng dẫn:
Nhóm sinh viên thực hiện:
Diệp Hữu Hùng
Đỗ Đình Lập Phùng Quốc Chiến
Trang 2MỤC LỤC
CHƯƠNG 1: TÌM HIỂU CHUNG
1.1 Tổng quan về các loại đầu đo và các phương pháp đo nhiệt độ
Nhiệt độ là một trong những thông số quan trọng nhất ảnh hưởng đến đặc tính của vật chất nên trong các quá trình kĩ thuật hay cuộc sống hằng ngày rất hay gặp yêu cầu đo nhiệt độ Ngày nay trong rất nhiều thiết bị gia dụng và trong các dây chuyền sảm xuất công nghiệp việc xác định nhiệt độ hiện thời của thiết
bị là một trong những yêu cầu mang tính bắt buộc
Tuỳ theo nhiệt độ đo và mức độ chính xác yêu cầu mà người ta sử dụng các phương pháp và các loại thiết bị đo khác nhau Thông thường nhiệt độ đo được chia thành ba dải: nhiệt độ thấp, nhiệt độ trung bình và nhiệt độ cao
- Ở nhiệt độ trung bình và thấp: phương pháp đo là phương pháp tiếp xúc nghĩa là dụng cụ đo được đặt trực tiếp ngay tại môi trường cần đo
- Ở nhiệt độ cao : phương pháp đo là phương pháp không tiếp xúc nghĩa
là dụng cụ đo đặt ngoài môi trường cần đo
Trang 3Với phương pháp đo tiếp xúc người ta sử dụng hai loại nhiệt kế tiếp xúc là nhiệt kế nhiệt điện trở (Resistance Thermometer), nhiệt kế nhiệt ngẫu (Thermocouples) hoặc sử dụng các phần tử bán dẫn (diot, transistor nhiệt).Các loại đầu đo này hoạt động tốt với độ nhạy cao trong môi trường nhiệt độ thấp và trung bình Tuy nhiên với môi trường có nhiệt độ cao từ 16000C trở lên các đầu
đo trên không chịu được lâu dài nên người ta hay sử dụng cặp nhiệt điện hoặc sử dụng phương pháp đo không trực tiếp
Với các thiết bị có nhiệt độ cao mà các đầu đo trực tiếp không tiếp xúc được hoặc vật cần đo nhiệt độ bị cách ly về không gian người ta sẽ sử dụng đến phương pháp đo không tiếp xúc Một trong những phương pháp đo không tiếp
xúc phổ biến nhất là phương pháp “hoả quang kế” dựa trên bức xạ nhiệt của
vật
Ví dụ một số loại IC đo nhiệt độ khác
1.2 Sơ đồ khối hệ thống đo nhiệt độ
Hệ thống đo và hiển thị nhiệt độ đơn giản sử dụng đầu đo nhiệt độ là IC DS18B20 sẽ được thiết kế theo sơ đồ khối sau:
Trang 5a Đặc tính:
− Có duy nhất một đầu vào cho cổng truyền thông tin
− Mỗi thiết bị có 64bit mã seri được lưu trên Rom
− Cần cung cấp nguôn cho đường dữ liệu, nguồn chính có điện áp khoảng 3V-5.5V
− Phù hợp với nhiệt độ từ -55:125ºC (-67:257ºF)
− Độ chính xác ±0.5ºC nếu đo ở dải đo khoảng từ -10ºC đến 85ºC
− Độ phân giải của nhiệt kế mà người sử dụng có thể chọn là từ 9 ->12 bit
− Chuyển đối nhiệt độ cho bộ 12bit trên 750ms (max)
− Có 2 loại IC là dip 3 chân va dip 8 chân
− Được ứng dụng trong báo động quá nhiệt, cảm biến nhiệt độ trong nhiều
bộ phận
b.Mô tả:
Nhiệt kế số DS18B20 cung cấp 9bit va 12bit đo nhiệt độ bách phân và có một chức năng báo thức DS18B20 chỉ truyền dữ liệu qua một đường Bus để giao tiếp với bộ sử lý trung tâm Nó có một phạm vi hoạt động của nhiệt độ -55 ° C đến 125 ° C và là chính xác đến ± 0,5 ° C trên phạm vi -10 ° C đến 85 ° C Ngoài ra, DS18B20 có thể loại bỏ sự cần thiết cho một nguồn điện bên ngoài
Trang 6Mỗi DS18B20 có duy nhất 64-bit mã nối tiếp, cho phép DS18B20 nhiều đến chức năng trên cùng một đường Bus Vì vậy, nó đơn giản để sử dụng một bộ vi
xử lý để kiểm soát DS18B20 nhiều hơn một phân phối diện tích lớn Ứng dụng
có thể được sử dụng từ tính năng này bao gồm HVAC kiểm soát môi trường, hệ thống theo dõi nhiệt độ bên trong tòa nhà, thiết bị, hoặc máy móc, và giám sát quá trình và hệ thống điều khiển
Thông tin thứ tự của các loai:
Mô tả về các IC 3 chân và 8 chân:
c.Tổng Quát:
Hình 1 cho thấy một sơ đồ khối của DS18B20, và mô tả các loại Pin dùng Rom 64-bit duy nhất cho mã seri của thiết bị Bộ nhớ tạm thời chứa 2-byte thanh nhiệt độ mà đầu ra số từ các cảm biến nhiệt độ Ngoài ra, bộ nhớ tạm thời cung cấp truy cập vào 1-byte trên và đăng ký kích hoạt báo động thấp (TH và TL) và 1-byte cấu hình đăng ký Việc đăng ký cấu hình cho phép người dùng đặt việc giải quyết các chuyển đổi số đến 9, 10, 11, hoặc 12 bit Các TH, TL, và đăng ký cấu hình không đổi (EEPROM), do đó nó sẽ giữ lại dữ liệu khi thiết bị
có nguồn mất đi
DS18B20 này sử dụng một đường Bus mà thực hiện giao tiếp bằng cách sử dụng Bus một tín hiệu điều khiển Dòng điều khiển yêu cầu phải có điện trở đưa
Trang 7lên yếu từ tất cả các thiết bị được liên kết với các Bus của bộ vi xử lý, xác định cho địa chỉ các thiết bị trên Bus sử dụng một thiết bị đặc biệt thông qua một 3-state hoặc mở các cổng (các pin DQ trong trường hợp của DS18B20) Trong hệ thống Bus, DS18B20 64-bit Bởi vì mỗi thiết bị có một mã duy nhất, số lượng các thiết bị có thể được giải quyết trên một Bus là hầu như không giới hạn Giao thức của một đường Bus, trong đó có giải thích chi tiết về các lệnh và "Khe thời gian," được bao gồm trong việc lựa chọn một đường Bus hệ thống.
Một tính năng của DS18B20 là khả năng hoạt động mà không có một nguồn cung cấp năng lượng bên ngoài Nguồn thay vì cung cấp thông qua mộtđiện trở đưa qua chân DQ khi Bus ở mức cao Bus tín hiệu ở mức cao cũng cần một tụ điện nội (CPP), để nguồn cung cấp năng lượng cho thiết bị này khi Bus ở mức thấp DS18B20 cũng có thể được cung cấp bởi một nguồn cung cấp
từ bên ngoài vào VDD
Hình 1 Sơ đồ khối
d Hoạt động đo nhiệt:
Các chức năng cốt lõi của DS18B20 trực tiếp của nó là cảm biến nhiệt độ
kỹ thuật số Việc giải quyết các nhiệt độ cảm biến là người sử dụng cấu hình đến
9, 10, 11, hoặc 12 bit, tương ứng với số gia là 0,5 ° C, 0,25 ° C, 0,125 ° C và 0,0625 ° C, tương ứng Độ phân giải mặc định lúc mở điện là 12-bit Để bắt đầu
đo nhiệt độ và chuyển đổi từ tương tự sang số Sau chuyển đổi, các kết quả dữ liệu nhiệt được lưu trữ trong 2-byte trong bộ nhớ scratchpad và trở về DS18B20 Nếu DS18B20 được cung cấp bởi một nguồn cung cấp bên ngoài, Master có vấn
đề "đọc thời gian khe" sau khi lệnh T chuyển đổi và DS18B20 sẽ trả lời bằng cách truyền tín hiệu 0 trong khi chuyển đổi nhiệt độ tích cực và 1 khi chuyển đổi được thực hiện Nếu DS18B20 là nguồn parasite, kỹ thuật này thông báo không thể được sử dụng kể từ khi tích cực ở mức cao Những yêu cầu của Bus cho nguồn parasite tra cứu bảng hoặc thông thường chuyển đổi phải được sử dụng Các dữ liệu nhiệt độ được lưu giữ là 16-bit Các bit dấu (S) cho biết nếu nhiệt độ tích cực hay tiêu cực: tích cực cho số S = 0 và cho số âm S = 1 Nếu DS18B20 được cấu hình cho độ phân giải 12bit, tất cả các bit trong thanh nhiệt độ sẽ chứa
Trang 8dữ liệu hợp lệ Đối với độ phân giải 11-bit, bit 0 là undefined Đối với độ phân giải 10-bit, bit 1 và 0 là undefined, và cho 9-bit độ phân giải bit 2, 1, và 0 là undefined Bảng1 cho các ví dụ về dữ liệu đầu ra kỹ thuật số và các tương ứng với nhiệt độ đọc cho 12-bit chuyển đổi độ phân giải.
Hình 2 Fomat thanh nhiệt độ
e Mối quan hệ giữa nhiệt độ / địa chỉ tín hiệu:
f Hoạt động chuông báo tín hiệu:
Sau khi DS18B20 thực hiện các chuyển đổi nhiệt độ, giá trị nhiệt độ bổ sung kích hoạt báo động các giá trị được lưu trong 1-byte TH và TL (xem hình 3).Bit dấu (S) cho biết nếu giá trị là tích cực hay tiêu cực: tích cực cho số S = 0
và cho tiêu cực số S = 1 Các TH và TL đăng ký là nonvolatile (EEPROM) vì thế họ sẽ giữ lại dữ liệu khi là được cung cấp thiết bị xuống TH và TL có thể
Trang 9được truy cập thông qua byte 2 và 3 của scratchpad như được giải thích trong phần bộ nhớ.
Hình 3 Format thanh TH va TL
Chỉ có 11 bit thông qua 4 dải của thanh nhiệt độ được sử dụng trong TH và so sánh TL kể từ TH và thanh TL 8-bit Nếu nhiệt độ đo được thấp hơn hoặc bằng với TL hoặc cao hơn hoặc bằng TH, một tình trạng báo động tồn tại và một cờ báo động được đặt bên trong DS18B20 này Flag này được cập nhật sau mỗi lần tiếp theo nhiệt độ chuyển đổi nhiệt độ đo lường, do vậy, nếu tình trạng báo động đi xa, cờ sẽ bị tắt sau đó
Thiết bị chủ có thể kiểm tra tình trạng cờ báo động của mọi DS18B20 trên Bus bằng việc phát ra một sự lệnh báo động xác định chính xác mà DS18B20 có một tình trạng báo động Nếu một tình trạng báo động tồn tại và TH hay TL cài đặt đã thay đổi, một chuyển đổi nhiệt độ nên được thực hiện để xác nhận các tình trạng báo động
g Nguồn cung cấp cho DS18B20
h Bộ nhớ:
Trang 10i CONFIGURATION REGISTER
Byte 4 của bộ nhớ scratchpad chứa các cấu hình đăng ký, được tổ chức như minh họa trong hình 8 Người dùng có thể thiết lập độ phân giải của DS18B20 chuyển đổi bằng cách sử dụng bit R0 và R1 trong thanh này như trong bảng 2 Nguồn power-up mặc định của các bit là R0 = 1 và độ phân giải bit R1 = 1 Lưu
ý rằng có một sự cân bằng trực tiếp giữa độ phân giải và thời gian chuyển đổi Bit 7 và bit 0 đến bit 4 trong thanh là cấu hình dành riêng cho sử dụng thiết bị nội bộ và không thể được ghi đè
j HARDWARE CONFIGURATION
Trang 11DS18B20 Function Command Set
2.1.2 Vi điều khiển AT89C51
Trang 12Vi điều khiển (VĐK) 89C51 là một vi điều khiển thuộc họ 8051 có tích hợp đầy đủ các chức năng gồm bộ xử lý (CPU), ROM, RAM, Timer trong một
IC với kích thước nhỏ gọn, lập trình đơn giản, có khả năng kết nối với máy tình
và nhiều ngoại vi khác, giá thành thấp
Các thông số kỹ thuật:
- 40 chân, 4 cổng I/O với độ rộng mỗi cổng là 8 bit
- Bộ xử lý (CPU) 8 bit
- 128 byte RAM, 4 kbyte ROM
- Hai bộ định thời Timer1 và Timer2
2.2 Sơ đồ nguyên lý mạch đo nhiệt độ.
TXD * RXD *
T1*
T2*
P0 P1 P2 P
3
INT\ * 1 INT\ * 0 TIMER2 TIMER1 PORT noái tieàp
EA\ RST PSEN ALE
Các thanh ghi khác
128 byte Ram
Rom 4K-8051 OK-8031
Timer1 Timer2
Tạo dao
động
Trang 13Mạch ghép nối máy tính qua Max232
Trang 14
Mạch có tác dụng ghép nối giữa máy tính (PC) với VĐK 89C51 qua cổng COM
IC Max232 có chức năng chuyển mức điện áp từ +12V và -12V(mức trên PC) xuống 0V +5V (mức sử dụng ở VĐK)
2.3 Thiết kế mạch in
Mạch in thực tế
Trang 15
Mạch sau khi gia công
2.4 Chương trình điều khiển
Trang 16Đọc DS18B20
Hiển thị ra led 7 đoạn
và truyền lên máy
tính
Xử lý số liệu
Trang 18EA = 1; //Cho phep ngat toan cuc
ES = 1; //Cho phep ngat noi tiep
TI = 0; //San sang nhan du lieu
RI = 0; //San sang truyen du lieuTR1 = 1; //Enable timre1
}
void GuiLenMayTinh()
{
ReadTemp(&tem[0]);
temp=(tem[0]>>3)|(tem[1]<<5);temp=(temp>>1);
Trang 19ucCheck = SBUF;
if(ucCheck == '0'){
n = 0;
RI = 0; //End Receive Data
}else{
RI = 0; //End Receive Data
} }
else{
Trang 20CommunicationManager comm = new CommunicationManager ();
Hiển thị,
vẽ đồ thị
Truyền nhận dữ liệu
Xử lý số liệu Bắt đầu
Trang 21myPane.XAxis.Title.Text = "Time, Seconds" ;
myPane.YAxis.Title.Text = "Nhiet do(C)" ;
// keeps a rolling set of point data without
needing to shift any data values
RollingPointPairList list = new RollingPointPairList (1200); // Initially, a curve is added with no data points (list is empty)
// Color is blue, and there will be no symbols
LineItem curve = myPane.AddCurve( "Temperature" , list, Color Red, SymbolType None);
// Save the beginning time for reference
tickStart = Environment TickCount;
Trang 23// Get the first CurveItem in the graph
LineItem curve =
zedGraphControl1.GraphPane.CurveList[0] as LineItem ;
if (curve == null )
return ;
// Get the PointPairList
IPointListEdit list = curve.Points as
// Time is measured in seconds
double time = ( Environment TickCount -
tickStart) / 1000.0;
// 3 seconds per cycle
//list.Add(time, Math.Sin(2.0 * Math.PI * time / 3.0));
Trang 24// thiet lap kich thuoc cua khung do thi
private void SetSize()
}
}
private void cmdClose_Click( object sender, EventArgs e) {
cmdOpen.Enabled = true ; //Nut Open mo di
cmdClose.Enabled = false ; //Nut Close sang
cmdSend.Enabled = false ; //Nut SET sang
timer1.Enabled = false ; //time dung
Trang 25b.Giao diện trên máy tính.
c.Tiến hành đo thử nghiệm và đánh giá kết quả.
Việc thử nghiệm đầu đo và mạch gia công được thực hiện ở một số mốc nhiệt độ mà người thực hiện có thể biết trước, qua đó thấy được độ chính xác của mạch thi công cũng như của đầu đo Các mốc nhiệt độ thử nghiệm là nhiệt
độ nước vừa sôi xong, nhiệt độ của cốc nước đá, nhiệt độ phòng, nhiệt độ cơ thể người Dưới đây là kết quả thử nghiệm:
Lần đo Kết quả đo Nhiệt độ theo lý
thuyết
Sai số Ghi chú
Trang 26Từ kết quả đo thực tế ở trên ta có thể rút ra một số nhận xét như sau:
1 Nhiệt độ đo được ở các điểm trên chưa khớp với nhiệt độ theo lý thuyết Nguyên nhân ở đây là do sai số của đầu đo, việc nhiệt độ của nước sôi, nước đá… trong mẫu đo cũng không hoàn toàn chuẩn như lý thuyết do ảnh hưởng của môi trường, và số lần tiến hành đo không nhiều nên kết quả không mang tính tổng quát Để có đánh giá chuẩn độ chính xác của đầu đo thì cần một mẫu nhiệt độ mà ở đó ta biết chính xác giá trị của nó Và việc đo đặc phải được thực hiện lập lại nhiều lần Song với sai số không lớn lắm và trong những ứng dụng bình thường thì kết quả trên là chấp nhận được
2 Từ kết quả trên nếu ta có thể thấy đầu đo trong sai số của nó có thể coi là một đầu đo tuyến tính