Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 50 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
50
Dung lượng
1,23 MB
Nội dung
Đồ án môn Vi điều khiển
CHƯƠNG 1: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ THƯ
Trong ứng dụng hàng ngày, nhu cầu theo dõi nhiệt độ và độ ẩm ngày càng trở nên
phổ biến và thiết thực và sử dụng trong: Sản xuất chế biến nông nghiệp Hiển thị và thực
thi điều khiển (quạt gió, máy sấy, điều hòa,... hay báo động) Datalog dữ liệu về môi
trường tại một khu vực... Theo dõi môi trường, chế độ làm việc của một số các dây
chuyền, thiết bị có yêu cầu cao.
Khái niệm về đo nhiệt độ và độ ẩm đã có từ rất lâu, trong tất cả các đại lượng vật
lý thì nhiệt độ và độ ẩm được quan tâm nhiều nhất. Nhiệt độ và độ ẩm là yếu tố ảnh
hưởng trực tiếp đến tính chất của vật chất và môi trường sống. Trong công nghiệp sản
xuất và trong lĩnh vực đo lường điều khiển, quá trình đo và xử lí nhiệt độ, độ ẩm giữ một
vai trò quan trọng.
Trong các thiết bị đó có các thiết bị đòi hỏi về cảm biến đo và điều chỉnh nhiệt độ,
độ ẩm của không khí như điều hòa, chuông báo cháy, lò vi sóng… Do đó ta có thể thấy
tầm quan trọng và tính thực tế của việc đo và điều chỉnh nhiệt độ và độ ẩm trong các thiết
bị tự động hóa cũng như trong đời sống hàng ngày.
Ở đồ án này, chúng em nhận được đề tài thiết kế “Mạch đo và điều khiển ổn định
nhiệt độ và độ ẩm cho môi trường, dùng cảm biến đo nhiệt độ DS18B20, đo độ ẩm
HS1101”. Đây cũng là một trong những đề tài rất sát với thực tế, mang tính ứng dụng
thực tiễn rất cao. Điều đó càng tạo động lực và cảm hứng cho sinh viên tìm tòi và nghiên
cứu.
Trong đồ án chắc hẳn còn nhiều sai sót, chúng em rất mong nhận được sự chỉ bảo,
hướng dẫn của các thầy cô cũng như sự đóng góp của các bạn sinh viên để đồ án hoàn
thiện hơn.
Chúng em chân thành cảm ơn!
Hà Nội, ngày ….. tháng …. năm 2013
1
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
CHƯƠNG 2: TỔNG QUAN CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ VÀ ĐỘ ẨM
1. HỆ THỐNG ĐO LƯỜNG
1.1 Giới thiệu
Để thực hiện phép đo nào đó của một đại lượng nào đó thì tùy thuộc vào đặc
tính của đại lượng cần đo, điều kiện đó, cũng như độ chính xác theo yêu cầu của
một phép đo mà ta có thể thực hiện đo bằng nhiều cách khác nhau trên cơ sở
của các hệ thống đo lường khác nhau.
Sơ đồ khối của một hệ thống đo lường tổng quát:
Chuyển đổi
Mạch đo
Chỉ thị
Khối chuyển đổi: làm nhiệm vụ nhận trực tiếp các đại lượng vật lí đặc trưng
cho đối tượng cần đo, biến đổi các đại lượng thành các đại lượng vật lí thống
nhất (dòng điện hoặc điện áp) để thuận lợi cho việc tính toán.
Mạch đo: có nhiệm vụ tính toán biến đổi tín hiệu nhận được từ bộ chuyển đổi
sao cho phù hợp với yêu cầu thể hiện kết quả đo của bộ chỉ thị.
Khối chỉ thị: làm nhiệm vụ biến đổi tín hiệu điện nhận được từ mạch đo để thể
hiện kết quả đo.
1.2 Hệ thống đo lường số
1.2.1 Sơ đồ khối
•
1.2.1 Nguyên lý hoạt động
2
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Đối tượng cần đo là đại lượng vật lí, dựa vào các đặc tính của đại
lượng cần đo mà ta chọn một loại cảm biến phù hợp để biến đổi thong
số đại lượng vật lí cần đo thành đại lượng điện, đưa vào mạch chế biến
tín hiệu ( gồm: bộ cảm biến, hệ thống khuếch đại, xử lí tín hiệu).
Bộ chuyển đổi tín hiệu ADC ( Analog Digital Converter) làm nhiệm
vụ chuyển đổi tín hiệu tương tự sang tín hiệu số và kết nối với vi xử lí.
Bộ dồn kênh tương tự và bộ chuyển đổi ADC được dung chung cho
tất cả các kênh. Dự liệu nhập vào vi xử lí sẽ có tín hiệu chọn đúng kênh
cần xử lí để đưa vào bộ chuyển đổi ADC và đọc đũng giá trị đặc trưng
của nó qua tính toán để có kết quả đại lượng cần đo.
2. CÁC PHƯƠNG PHÁP ĐO NHIỆT ĐỘ
2.1 Đo nhiệt độ bằng phương pháp tiếp xúc
2.1.1 Đo nhiệt độ bằng nhiệt điện trở
Nguyên lý hoạt động:
Điện trở của một số kim loại thay đổi theo nhiệt độ và dùa vào sự thay đổi điện trở đó
người ta đo được nhiệt độ cần đo.
Nhiệt điện trở dùng trong dụng cụ đo nhiệt độ làm việc với dòng phụ tải nhỏ để nhiệt
năng sinh ra do dòng nhiệt điện trở nhỏ hơn so với nhiệt năng nhận được từ môi
trường thí nghiệm.
Yêu cầu cơ bản đối với vật liệu dùng làm chuyển đổi của nhiệt điện trở là có hệ số
nhiệt độ lớn và ổn định, điện trở suất khá lớn…
Trong công nghiệp nhiệt điện trở được chia thành nhiệt điện trở kim loại và
nhiệt điện trở bán dẫn.
2.1.1.1 Nhiệt điện trở kim loại
Quan hệ giữa nhiệt điện trở của nó và nhiệt độ là tuyến tính, tính lặp lại của quan
hệ là rất cao nên thiết bị được cấu tạo đơn giản. Nhiệt điện trở kim loại thường có dạng
dây kim loại hoặc màng mỏng kim loại có điện trở suất thay đổi theo nhiệt độ. Trong
điện trở kim loại dược chia thành 2 loại:
-Kim loại quý (Pt)
-Kim loại thường (Cu, Ni…)
Platin được chế tạo với độ tinh khiết cao, cho phép tăng độ chính xác của các đặc
tính điện trở của nó, hơn nữa Platin còn trơ về mặt hoá học và ổn định tinh thể, cho phép
3
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
hoạt động tốt trong dải nhiệt độ rộng. Ngoài ra nó lại còn có tính lặp rất cao, sai số ngẫu
nhiên thấp ( dưới 0,01%), có độ sai khác 0.01 0C…
Niken có độ nhạy cao hơn so với Platin nhưng Niken có tính hoá học cao, dễ bị
oxy hoá khi nhiệt độ tăng do vậy dải nhiệt độ làm việc của nó bị hạn chế ( dưới 250 0C ).
Tuy vậy nó lại có giá thành rẻ vẫn đáp ứng về mặt kỹ thuật cho nên cũng hay được sử
dụng.
Đồng cũng được sử dụng nhiều vì sự thay đổi nhiệt độ của đồng có độ tuyến tính
cao, giống nh Niken thì hoạt tính hoá học của đồng lớn nên dải nhiệt độ làm việc của
đông bị hạn chế ( dưới 180 0C ).
Để đạt được độ nhạy cao nhiệt điện trở phải lớn muốn vậy phải giảm tiết diện và
tăng chiều dài dây. Để có độ bền cơ học tốt các nhiệt điện trở kim loại có trị số điện trở R
vào khoảng 100Ω ở 00C. Các nhiệt điện trở có trị số lớn thường dùng đo dải ở nhiệt độ
thấp vì ở đó cho phép thu được độ nhạy cao. Để sử dụng cho mục đích công nghiệp các
nhiệt điện trở có vỏ bọc tốt, chống được va chạm và rung mạnh…
Đối với bạch kim thì giữa điện trở và nhiệt độ trong giới hạn từ 0 - 660 0C được
biểu diễn bằng biểu thức:
Rt = Ro(1+At+Bt2 )
Trong đó Ro là nhiệt độ ở 00C
Đối với bạch kim tinh khiết thì: A = 3,940.10-3/ 0C
B = -5,6.10-7/ 0C
Trong khoảngtừ -190 - 0 0C thì quan hệ giữa điện trở của bạch kim với nhiệt độ có
dạng: Rt = { 1+At+Bt2+C(t-100)3
Trong đó C = -4,10.10-12/ 0C
Đối với đồng ta có công thức: Rt = Ro(1+αt).
Trong đó: Ro - điện trở ở nhiệt độ 00C
α - hệ số nhiệt độ đối với khoảng nhiệt độ bắt đầu từ 00V bằng 4,3.10-3/0C.
Trong khoảng nhiệt độ từ -500C - 1500C. Loại này có thể dùng được trong các môi
trường có độ kiềm và khí ăn mòn.
Trong thực tế có loại nhiệt điện trở TCM-0879-01T3 bằng đồng công thức mô tả:
Rt = 50(1+4,3.10-3T) (Ω).
2.1.1.2 Nhiệt điện trở bán dẫn
4
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Nhiệt điện trở bán dẫn được chế tạo từ hỗn hợp nhiều oxit kim loại khác nhau (ví
dô nh: CuO, MnO…). Một số nhiệt điện trở bán dẫn đặc trưng bởi quan hệ: Rt = A.e B/T
Trong đó A: Hằng số chất phụ thuộc vào tính chất vật lý của chất bấn dẫn, kích
thước và hình dạng của vật.
B: Hằng số chất phụ thuộc vào tính chất vật lý của chất bán dẫn.
T: Nhiệt độ Kenvin của nhiệt điện trở.
Nhược điểm của nhiệt điện trở bán dẫn là có hệ số phi tuyến giữa điện trở với
nhiệt độ. Điều này gây khó khăn cho việc có thang đo tuyến tính và việc lầm lẫn giữa các
nhiệt điện trở khi sản xuất hàng loạt.
Nhiệt điện trở có thể dùng mạch đo bất kỳ để đo điện trở nhưng thông thường dùng
mạch cầu không cân bằng, chỉ thị là Logomet từ điện hoặc cần tự động cân bằng, trong
đó một nhánh là nhiệt điện trở khi sản xuất hàng loạt.
Nếu dùng cầu 2 dây dụng cụ sẽ có sai sè do sù thay đổi nhiệt điện trở của đường
dây khi nhiệt độ môi trường thay đổi.
2.1.2 Đo nhiệt độ bằng cặp nhiệt ngẫu:
Nguyên lý làm việc:
Bộ cảm biến cặp nhiệt ngẫu là 1 mạch từ có 2 hay nhiều thanh dẫn điện gồm 2 dây dẫn A
và B. Sebeck đã chứng minh rằng nếu mối hàn có nhiệt độ t và t 0 khác nhau thì trong
mạch khép kín có một dòng điện chạy qua. Chiều của dòng điện này phụ thuộc vào nhiệt
độ tương ứng của mối hàn nghĩa là t > t 0 thì dòng điện chạy theo hướng ngược lại. Nếu để
hở một đầu thì sẽ xuất hiện một sức điện động nhiệt. Khi mối hàn có cùng nhiệt độ ( ví
dụ bằng t0 ) thì sức điện động tổng bằng:
EAB = eAB(t0) + eAB(t0) = 0.
Từ đó rút ra: eAB = eAB(t0)
Khi t0 và t khác nhau thì sức điện động tổng bằng:
EAB = eAB(t) – e+AB(t0)
Phương trình trên là phương trình cơ bản của cặp nhiệt ngẫu ( sức điện động phụ thuộc
vào hệ số nhiệt độ của mạch vòng t và t 0).Như vậy bằng cách đo sức điện động ta có thể
tìm được nhiệt độ của đối tượng.
Phương pháp này được sử dụng nhiều trong công nghiệp khi cần đo những nơi có nhiệt
độ cao.
2.1.3 Đo nhiệt độ bằng các phần tử bán dẫn (diot và tranzito)
5
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Nguyên lý hoạt động : các linh kiện điện tử bán dẫn rất nhạy cảm với nhiệt độ, do đó
có thể sử dụng một số linh kiện bán dẫn như diot hoặc tranzito nối theo kiểu diot ( nối
bazo với collector). Khi đó điện áp giữa 2 cực U là hàm của nhiệt độ. Để tang độ tuyến
tính và độ ổn định ta mắc theo sơ đồ sau:
Sơ đồ mạch nguyên lý của IC bán dẫn đo nhiệt độ.
Khi nhiệt độ thay đổi ta có:
Ud= EBE1 –EBE2= .ln()
Với Ic1/Ic2 =const thì Ud tỉ lệ với nhiệt độ T mà không cần đến nguồn ổn định.
Ví dụ một số loại IC đo nhiệt độ hay dùng:
Loại IC
AD592CN
LM35
MMB-TS102
REF-02A
DS18B20
Độ nhạy S
1µA/OK
±10mV/ OK
-2.25mV/ OK
2.1mV/ OK
-2.mV/ OK
Dải đo
-25OC÷1050C
-55OC÷1500C
-40OC÷1500C
-55OC÷1250C
-55OC÷1250C
Sai số
0.30C
±0.250C
±0.250C
±0.50C
±0.250C
Có rất nhiều hãng chế tạo linh kiện điện tử đã sản xuất ra các loại IC bán dẫn dùng để đo
dải nhiệt độ từ -55-150 0C. Trong các mạch tổ hợp IC, cảm biến nhiệt thường là điện áp
của líp chuyển tiếp p-n trong một loại tranzitor loại bipola.
2.1.3.1 Loại LM 35
IC loại LM 35 có điện áp ngõ ra tỉ lệ trực tiếp với nhiệt độ thang đo 0C, điện áp ra
là 10mV/ 0C và sai số không tuyến tính là ±1,8 mV cho toàn thang đo. Điện áp nguồn
nuôi có thể thay đổi từ 4V÷30V. LM 335 được chế tạo cho 3 thang đo:
-55÷150 0C loại LM 35 và LM 35D
-40÷110 0C loại LM35C và LM35CA
6
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
0÷100 0C loại LM35DA
2.1.3.2 Loại AD22100
AD22100 có hệ số nhiệt độ 22,5 mV/ 0C. Điện áp ngõ ra có công thức:
Vout = (V+/5V).(1,375V+22,5mV/ 0C.T)
Trong đó:
V+: Trị số điện áp cấp
T : Nhiệt độ cần đo
Các IC trong họ AD22100:
AD100KT/KR cho dải nhiệt độ từ 0÷1000C
AD100AT/AR cho dải nhiệt độ từ -40÷850C
AD100ST/SR cho dải nhiệt độ đo từ -50÷1500C
Hình dạng bên ngoài của AD22100:
V+: Điện áp nguồn nuôi 4÷30 VDC
Vo : Đầu ra
GND : nối vào 0V
NC : bá trống
2.1.3.3 Cảm biến DS18B20
• Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
• Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip
(on chip), giá trị nhị phân được khắc bằng tia laze.
7
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
• Nếu cấu hình cho DS18B20 theo 9,10,11,12 bit thì ta có độ chính xác tương ứng là :
0.5°C , 0.25°C ,0.125°C, 0.0625°C.Theo mặc định của nhà sản xuất nếu chúng ta không
cấu hình chế độ chuyển đổi thì nó sẽ tự cấu hình là 12 bit.
Khi bắt đầu chuyển đổi nhiệt độ thì chân DQ sẽ được kéo xuống mức thấp và khi chuyển
đổi xong thì ở mức cao.Như vậy ta sẽ căn cứ vào hiện tượng này để xác định khi nào
chuyển đổi xong nhiệt độ.
2.2 Đo nhiệt độ bằng phương pháp không tiếp xúc
Nguyên lý hoạt động:
Dưạ trên định luật bức xạ của vật đen tuyệt đối, tức là vật hấp thụ năng lượng theo mọi
hướng với khả năng lón nhất. Bức xạ nhiệt của mọi vật đặc trưng bởi mật độ phổ E nghĩa
là số năng lượng bức xạ trong một đơn vị độ dài của sóng.
Quan hệ giữa mật độ bức xạ của vật đen tuyệt đối với nhiệt độ và độ dài sóng được biểu
diễn bởi công thức:
E0 = C1.α-5(ec2/αT-1)-1
Trong đó: C1: Hằng số và C1= 37,03.10-7 (Jm2/s)
C2: Hằng số vá C2= 1,432.10-2 (m.độ)
α: Độ dài sóng
T: Nhiết độ tuyệt đối
2.2.1 Hoả quang kế phát xạ:
8
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Đối với vật đen tuyệt đối năng lượng bức xạ toàn phần trên một đơn vị bề mặt E t0
= α.T4p ( với α = 4,96.10-2 Jm2.sgrad4 )
Tp : Nhiệt độ của vật theo lý thuyết đối với vật thực
E0T = αTT4t
Trong đó : αT là hệ số bức xạ tổng, xác định tính chất của vật và nhiệt độ của nã ( thường
nhỏ hơn 1 )
Tt : Nhiệt độ thực của vật
Hoả quang kế phát xạ được khắc độ theo bức xạ của vật đen tuyệt đối. Nhưng khi
đo ở đối tượng thực thì Tp được tính theo công thức:
α.T4p = α T. α.T4T
α TT = Tp 4 α 1/ α T
( Tt bao giê cũng nhỏ hơn Tp )
Hoả quang kế dùng để đo dải nhiệt độ từ 20 ÷ 100 0C. khi cần đo nhiệt độ lớn ( trên 100 ÷
25000C ) mà tần số bước sóng đủ lớn người ta dùng 1 thấy kính bằng thạch anh hay thuỷ
tinh đặc biệt để tập chung các tia phát xạ và phần tử nhạy cảm với nhiệt độ được thay
bằng cặp nhiệt ngẫu. Trong nhiệt kế phát xạ thấu kính không thể đo được nhiệt độ thấp vì
các tia hồng ngoại không thể xuyên qua được thấy kính ( kể cả thạch anh ).
Khoảng cách để đo giữa đối tượng và hoả quang kế được xác định do kích thước. Chùm
tia sáng từ đối tượng đo đến dụng cụ phải chùm hết tầm nhìn ống ngắm của nhiệt kế.
Nhược điểm của tất cả các hoả quang kế là đối tượng không phải là vật đen tuyệt đối do
đó trong vật nóng có sự phát xạ nội tại và dòng phát xạ nhiệt đi qua bề mặt.
2.2.2 Hoả quang kế cường độ sáng:
Trong thực tế khi đo nhiệt độ T dưới 3000 0C với bước sóng trong khoảng 0,40µm
< α< 0,70µm thì mật độ phổ bức xạ của vật đen tuyệt đối có thể biểu diễn bằng công
thức:
E0t = C1α-5.e-c2/αT
Đối với vật thật:
E0t = αt.C1α-5.e-c2/αT
Xác định αt là điều rất khó, thường αt = 0,03 ÷0,7 ở các vật liệu khác nhau và với độ sóng
α = 0,6 ÷ 0,7µm.
9
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Nguyên lý làm việc :
So sánh cường độ sáng của đối tượng đo nhiệt độ với cường độ sáng của một
nguồn sáng chuẩn trong dải phổ hẹp. Nguồn sáng chuẩn là một bóng đèn sợi đốt
Vonlfram sau khi đã được già hoá trong khoảng 100 giê với nhiệt độ khoảng 2000 0C.
Cường độ sáng có thể điều chỉnh bằng cách thay đổi dòng đốt hay dùng bộ lọc ánh sáng.
Nếu cường độ sáng của đối tượng đo lớn hơn độ sáng của dây đốt ta sẽ thấy dây
thâm trên nền sáng.
Nếu cường độ của đối tượng đo yếu hơn độ sáng của dây đốt thì kết quả sẽ cho thấy dây
sáng trên nền thẫm.
Nếu độ sáng bằng nhau thì dây sẽ mất và đọc vị trí của bộ chắn sáng.
So sánh bằng mắt tuy thô sơ nhưng vẫn đảm bảo độ chính xác nhất định vì cường
độ sáng thay đổi nhiều hơn gấp 10 lần so với sự thay đổi nhiệt độ.
Ánh sáng từ đối tượng đo 1 đến mẫu 10 qua khe hở và bộ lọc ánh sáng 8 cùng đặt
vào tế bào quang điện 4. Sự sánh được thực hiện bằng cách lần lượt cho ánh sáng từ đối
tượng đo và đèn chiếu tế bào quang điên nhờ tấm chắn 3 và sự di chuyển tấm chắn cảm
ứng điện từ 9 của chuyển đổi ngược với tần số 50 Hz.
Dòng ánh sáng i1 và i2 được tế bào quang điện biến thành dòng điện, dòng điện này được
đưa vào khuếch đại xoay chiều và được chỉnh lưu bằng bộ chỉnh lưu nhạy pha 6 để biến
thành dòng 1 chiều và đưa vào miliampemet 7 và đèn đốt 10 thay đổi cho đến khi cường
độ sáng của đối tượng đo.
Miliampemet được khắc trực tiếp giá trị nhiệt độ cho ta biết giá trị đo được. Hoả quang
kế loại này có độ chính xác cao ( sai số ±1% ) trong dải nhiệt đo 900 ÷ 22000C.
2.2.3 Hoả quang kế màu sắc
Nguyên lý làm việc:
Dùa trên phương pháp đo tỉ số cường độ bức xạ của 2 ánh sáng có bước sóng khác nhau
α1 và α2. Nếu năng lượng thu được:
E1 = α1.C1α-51e-c2/1T
E2 = α2.C1α-52e-c2/α1T
T = C2( 1/α1- 1/α2).ln (E1)
Vì vậy trong dụng cụ hoả kế màu sắc có thiết bị tự giải phương trình. Các giá trị
α1,α2,α1,α2 được đưa vào trước. Nếu các thông số trên không được đưa vào trước sẽ gây
nên sai sè.
10
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Khi đo đến dải nhiệt độ 2000÷ 25000C thì giá trị α1,α2 có thể xác định được bằng thực
nghiệm.
Cường độ bức xạ từ đối tượng đo A qua hệ thấu kính 1 tập chung ánh sáng trên đĩa 2. Đĩa
này quay quanh trục nhờ động cơ 3.
Sau khi ánh sáng qua đĩa 2 đi vào tế bào quang điện 4 trên đĩa khoan 1 số lỗ, trong
đó một nửa đặt bộ lọc ánh sáng đỏ (LĐ) còn nửa kia lọc ánh sáng xanh (LX). Khi đĩa qua
tế bào quang lần lượt nhận được ánh sáng đỏ và xanh với tần số nhất định tuỳ theo tốc độ
quay của động cơ. Dòng quang điện được khuếch đại 5 từ đó đưa vào bộ chỉnh lưu pha 7.
Nhờ bộ chuyển mạch 8 tín hiệu đĩa chia thành 2 phần tuỳ theo ánh sáng của tế bào quang
điện là xanh hay đỏ.
Tuỳ theo cường độ bức xạ của đối tượng đo, độ nhạy của khuếch đại được điều chỉnh tự
động nhờ thiết bị 6.
Bé chia logomet từ điện: góc quay của nó tỉ lệ với nhiệt độ cần đo và bộ chuyển mạch là
các rơle phân cực, làm việc đồng bộ với các đĩa quay, nghĩa là: sự chuyển mạch của
logomet xảy ra đồng thời với sự thay đổi bộ lọc ánh sáng mà dòng bức xạ đặt lên tế bào
quang điện.
- Ưu điểm: Trong quá trình đo không phụ thuộc vào khoảng cách từ vị trí đo đến đối
tượng đo và không phụ thuộc vào sự hấp thụ bức xạ của môi trường.
- Nhược điểm: Cấu tạo tương đối phức tạp.
Nhận xét chung về các loại cảm biến:
Các loại Ưu điểm
Nhược điểm
cảm biến
Nhiệt
- ổn định nhất
- Đắt tiền
điện trở
- Chính xác nhất
- Cần phải cung cấp nguồn dòng
- Tuyến tính hơn so với - Lượng thay đổi R nhá
cặp nhiệt ngẫu
- Điện trở tuyệt đối thấp
- Tù gia tăng nhiệt
Cặp nhiệt - Là thành phần tích cực, - Phi tuyến
ngẫu
tự cung cấp công suất
- Điện áp cung cấp thấp
- Đơn giản, rẻ tiền
- Đòi hỏi điện áp tham chiếu
- Tầm thay đổi rộng
- Kém ổn định nhất
- Tầm đo nhiệt độ rộng
- Kém nhạy nhất
11
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
IC cảm - Tuyến tính nhất
biến
- Ngõ ra có giá trị cao nhất
- Rẻ tiền
Đo bằng - Tầm đo nhiệt độ rộng
phương
pháp
không
tiếp xúc
- Nhiệt độ đo thấp
- Cần cung cấp nguồn dòng cho
Cảm biến
- Cấu tạo phức tạp
3. CÁC PHƯƠNG PHÁP ĐO ĐỘ ẨM
3.1 Phương pháp sấy khô
3.1.1 Nguyên tắc
Dùng sức nóng làm bay hơi hết hơi nước trong mẫu. Cân trọng lượng mẫu trước
và sau khi sấy khô, từ đó tính ra phần trăm nước có trong mẫu.
3.1.2 Dụng cụ vật liệu và thuốc thử
- Tủ điều chỉnh được nhiệt độ (1000C – 1050C).
- Cân phân tích 4 số.
- Nồi cách thuỷ.
- Bình hút ẩm phía dưới để chất hút ẩm (CaCl2, Na2SO4 khan, H2SO4 đậm đặc hoặc
Silicagen …).
- Chén sứ.
- Đũa thủy tinh đầu bẹt, dài khoảng 5 cm.
- Na2SO4 hoặc cát sạch.
Cát chuẩn bị như sau: đổ cát qua dây có đường kính lỗ 4 – 5mm. Rửa qua bằng nước
máy, sau đó rửa bằng HCl bằng cách đổ acid vào cát rồi khuấy (một phần acid một
phần cát). Để qua đêm sau đó rửa cát bằng nước máy cho đến khi hết acid (thử bằng
giấy quỳ). Rửa lại bằng nước cất sau đó sấy khô, cho qua dây có đường kính lỗ 1 –
1,5 mm, rồi đem nung ở lò nung từ 550 -6000C để loại chất hữu cơ. Giữ cát trong lọ
đậy kín.
3.1.3. Cách tiến hành
Lấy cốc thủy tinh có đượng 10 – 20g cát sạch và một đũa thủy tinh bẹt đầu, đem sấy
ở 100 – 1030C cho đến khi trọng lượng không đổi. Để nguội trong bình hút ẩm và cân
trọng lượng chính xác đến 0,0001g.
Sau đó cho vào cốc khoảng 10g mẫu. Cân tất cả ở cân phân tích với độ chính xác như
trên.
Dùng que thủy tinh trộn đều thuốc thử với cát. Dàn đều thành lớp mỏng.
Cho tất cả vào tủ sấy ở 100 – 1030C, sấy cho đến khi trọng lượng không đổi, thường
tối thiểu là 6h. Trong thời gian sấy, cứ sau 1h lại dùng đũa thuỷ tinh đầu bẹt nghiền
nhỏ các phần vón cục, sau đó dàn đều và tiếp tục sấy.
12
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Sấy xong, làm nguội trong bình hút ẩm (20 -25 phút) và đem cân ở cân phân tích với
độ chính xác như trên.
Cho lại vào tủ sấy 100 – 1030C trong 30 phút, lấy ra làm nguội trong bình hút ẩm (20
-25 phút) và đem cân như trên tới khi trọng lượng không đổi. Kết quả giữa hai lần
cân liên tiếp không được cách nhau quá 0,5mg cho mỗi gam mẫu thử.
3.1.4. Tính kết quả
Độ ẩm theo phần trăm tính theo công thức:
X = (m1 – m2 ).100/( m1 -m )
Trong đó:
m: trọng lượng cốc cân, cát và đũa thủy tinh (g).
m1: trọng lượng cốc cân, cát, đũa thủy tinh và của mẫu trước khi sấy (g).
m2: trọng lượng cốc cân, cát đũa thủy tinh và của mẫu sau khi sấy (g).
Sai lệch giữa hai lần xác định song song không được lớn hơn 0,5%.
Kết quả cuối cùng là trung bình của 2 lần lặp lại song song.
Tính chính xác đến 0.01%.
Chú ý:
Trong trường hợp qui định trước, có thể sử dụng phương pháp sấy ở 1300C trong 2h,
hoặc phương pháp sấy chân không ở nhiệt độ thấp.
Đối với mẫu lỏng cần làm bốc hơi nước ở nồi cách thủy cho tới khô trước khi cho
vào tử sấy.
Trong trường hợp không có cốc thủy tinh có nắp kín, có thể dùng cốc kim loại
(nhôm) hay chén sứ.
Nhược điểm:
Có thể làm sai số làm tăng độ ẩm do khi sấy, các chất bay hơi như tinh đầu, cồn, acid
bay hơi, …cùng bay hơi với nước hoặc bị phân giải thành furfurol, amoniac khi sấy
các mẫu có chứa nhiều đường, đạm làm giảm tỷ lệ thủy phần.
Cũng có thể cho kết quả sai số do một số thành phần bị oxy hóa khi gặp không khí ở
nhiệt độ cao (như mẫu có nhiều chất béo).
3.2. Phương pháp chưng cất kín với một dung môi hữu cơ
3.2.1. Nguyên tắc
Dùng một loại dung môi hữu cơ có 3 đặc tính:
- Có nhiệt độ sôi cao hơn nước một chút.
- Không trộn lẫn với nước.
- Nhẹ hơn nước.
Khi đun sôi dung môi hữu cơ đã trộn lẫm với mẫu, dung môi bốc hơi và sẽ kéo theo
nước trong mẫu. Dung môi và nước gặp lạnh ngưng tụ ở ống đo có vạch chia làm hai
lớp riêng biệt. Đọc thể tích nước lắng ở phía dưới, từ đó tính ra phần trăm nước có
trong mẫu.
3.2.2. Dụng cụ vật liệu và thuốc thử
13
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
- Dụng cụ cất cất để xác định độ ẩm ( các bộ phận trong máy cất lắp ráp với nhau
bằng mối nối nhám hoặc bằng nút lie (liege) kín, không nên dùng nút cao su vì cao su
bị hòa tan trong dung môi hữu cơ).
- Cân kỹ thuật.
- Đũa thủy tinh.
Bi thủy tinh hoặc đá bọt.
Toluol (toluen) tinh khiết (độ sôi: 1100C) hoặc xylen tinh khiết (độ sôi: 138 –
1440C).
3.2.3. Cách tiến hành
Tùy theo độ ẩm của mẫu thử, cân khoảng 5- 10g mẫu thử (để giải phóng 2 – 3ml
nước) trong chén cân khô, bằng cân kỹ thuật với độ chính xác 0,01g.
Cho mẫu thử vào bình đựng mẫu đã chứa sẵn khoảng 50 ml toluen. Tráng chén cân 2
lần bằng toluen rồi cũng cho toluen đó vào trong bình. Thêm toluen vào cho đến
khoảng 100 - 150ml, cho thêm vài viên bi thủy tinh hay đá bọt.
Lắp máy cất, mở nước vào máy sinh hàn. Đun cho toluen sôi mạnh,bốc hơi kéo theo
phần nước có trong mẫu và ngưng tụ trong phần ống đo có khắc vạch. Tiếp tục đun
cho đến khi mực nước trong ống đo không đổi. Nếu có những giọt nước đọng lại trên
thành ống, dùng ống thủy tinh mảnh đưa giọt nước xuống.
Trong ống đo, nước và toluen chia thành hai phần rõ rệt, nước ở phía dưới và toluen
ở phía trên, sau khi để nguội đọc thể tích trong ống đo.
3.2.4. Tính kết quả
Độ ẩm theo phần trăm tính theo công thức:
X = m x 100/m0
Trong đó:
X: phần trăm độ ẩm.
m: trọng lượng nước trong ống đo (g).
m0: trọng lượng mẫu đem phân tích (g).
Chú ý:
- Vì thể tích và trọng lượng nước gần bằng nhau nên có thể coi số gam nước cũng
tương đương với số ml nước.
- Trong trường hợp toluen hoặc xylen có lẫn nước: lắp máy và chưng cất dung môi
(không có mẫu thử) cho đến khi lượng nước trong ống đo không đổi. Để nguội, đọc
thể tích trong ống đo và sau cho thuốc thử vào dung môi và tiến hành như trên. Thể
tích đọc được lần cuối phải trừ đi thể tích nước có trong dung môi trước khi tính kết
quả.
- Đối với các thực phẩm hòa tan trong dung môi như dầu mỡ,… những thực phẩm
nhẹ hơn dung môi, khi sôi nổi ở phía trên như bột, những thực phẩn đun sôi lâu
không bị phá hủy như khoai, ngô, … cách làm như trên không trở ngại gì. Nhưng đối
với thực phẩm như mứt, mật, siro, phomat, … có thể dính vào thành bình cầu, khi
đun sẽ bị cacbon hóa, cần phải chú ý làm như sau: cho thêm vào bình khoảng 30 –
14
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
40g cát sạch, một phần cát trộn đều vào thực phẩn thành một khối rỗng vừa không
dính vào thành bình vừa không làm thực phẩm đóng vón với nhau làm cho thực
phẩm dễ bốc hơi nước, một phần cát lắng xuống sẽ làm lửa không trực tiếp đốt cháy
được thực phẩm.
3.3. Phương pháp Karl Fischer
3.3.1. Nguyên tắc
Dựa trên độ mất màu của iot. Ở nhiệt độ thường, iot kết hợp với nước và SO 2 thành
HI không màu, theo phản ứng:
I2 + SO2 + 2H2O ↔ 2HI + H2SO4
Từ sự mất màu của dung dịch iot, ta có thể tính phần trăm lượng nước có trong mẫu.
Phản ứng trên là phản ứng thuận nghịch, muốn cho phản ứng theo một chiều, Fischer
cho thực hiện phản ứng trong môi trường có piridin.
Phương pháp này có thể phát hiện được tới vết nước (lượng nước rất nhỏ) và nếu sử
dụng máy đo tự động có thể xác định đọ ẩm hàng loạt trong công nghiệp.
3.3.2. Dụng cụ vật liệu và thuốc thử
- Máy đo độ ẩm tự động theo phương pháp Fischer.
- Cân phân tích.
- Thuốc thử Fischer:
Piridin
10 mol
SO2
3 mol
Iot
1 mol
Metanol
5l
1ml thuốc thử này tương đương với 7,2 mg nước.
- Metanol
- n- butanol
3.3.3. Cách tiến hành
Nếu là dạng lỏng có thể định lượng thẳng.
Nếu mẫu thử là dạng rắn, đặc thì chiết xuất bằng n – butanol và chuẩn độ trên dịch
chiết.
Pha loãng thuốc thử Fischer (thuốc thử Fischer : metanol : n- butanol = 1:3:8 v/v/v)
cho vào máy đo với piridin và mẫu thử sau đó trộn lẫn với nhau ở bộ phận trộn và
làm phản ứng, nếu có nước trong mẫu thử, dung dịch nhạt màu được đưa vào đo ở
sắc kế và kết quả được ghi tự động trên biểu đồ. So sánh với biểu đồ mẫu làm với
thuốc thử chứa 0%, 25%, 50%, 75%, 100% nước.
Chú ý:
Nếu không có máy đo tự động có thể dùng phương pháp so màu với thang chuẩn.
Phương pháp chính xác với những mẫu có hàm lượng nước rất thấp, có thể định
lượng nhanh và xác định hàng loạt.
3.3.4.Tính kết quả
Kết quả % trên máy ghi tự động.
3.4. Phương pháp sử dụng khúc xạ kế
15
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
3.4.1. Nguyên tắc
Khi đi từ một môi trường (không khí) vào một môi trường khác (chất lỏng) tia sáng
sẽ bị lệch đi (khúc xạ). Nếu chất lỏng là một dung dịch chất hòa tan (dung dịch
đường, muối, …) dựa trên độ lệch của tia sáng, ta có thể tính được nồng độ của chất
hòa tan và từ đó tính ra phần trăm nước có trong thực phẩn.
Phương pháp này chủ yếu để xác định hàm lượng chất khô trong các thực phẩm lỏng
hòa tan trong nước.
3.4.2. Dụng cụ vật liệu và thuốc thử
- Khúc xạ kế có thang chia độ ứng với hàm lượng chất khô.
- Cân kỹ thuật.
- Chén, chày sứ.
- Đũa thủy tinh đầu tròn.
- Vải gạc.
- Bông hút ẩm hoặc giấy mềm thấm nước.
- Cát sạch.
3.4.3. Cách tiến hành
Chuẩn bị mẫu:
- Nếu mẫu thử ở thể dung dịch đồng nhất, trong và màu nhạt thì có thể tiến hành
thử ngay được.
- Nếu mẫu thử có những hạt rắn thì lấy một ít để vào miếng vải gạc, vắt từ từ ra vài
giọt, giọt thứ 3 hoặc thứ 4 có thể thử được.
- Nếu mẫu thử có những hạt rắn không thể ép thành giọt được hoặc mẫu thử có màu
xẫm thì lấy khoảng 5 – 20g cho vào chén xứ và cân chính xác đến 0,01g. cho vào
khoảng 4 g cát và lượng nước cất bằng lượng mẫu đã cân. Sau đó dùng chén xứ
nghiền nhanh và cẩn thận. Lọc qua vải lọc và lấy giọt thứ 3 hay thứ 4 để thử.
Tiến hành thử:
Bỏ trực tiếp hoặc dùng đũa thủy tinh đưa một giọt thuốc thử vào mặt phẳng của lăng
kính. Ấp hai lăng kính lại. Nhìn vào thị kính và điều chỉnh thị kính để nhìn thấy
đường phân chia rõ nhất giữa nửa tối và nửa sáng của thị trường. Điều chỉnh đường
phân chia sao cho trùng với đường chấm chấm hay tâm của vòng tròn quan sát.
Đọc kết quả trên thang đo ở phía có ghi hàm lượng chất khô. Chú ý nhiệt độ khi thử
phải là 200C.
3.4.4. Tính kết quả
Trường hợp sử dụng ngay mẫu thử hoặc vắt được thành giọt để thủ thì hàm lượng
chất khô theo phần trăm đọc ngay trên khúc xạ kế.
Trường hợp có thêm nước cất thì thì hàm lượng chất khô theo phần trăm được tính
theo công thức:
X = 2a
Trong đó:
a: số đo đọc trên khúc xạ kế theo phấn trăm ở 200C.
Sai lệch giữa hai lần xác định song song không được vượt quá 0,2%.
16
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Kết quả cuối cùng là kết quả trung bình của hai lần xác định song song.
Tính chính xác đến 0,01%.
Chú ý:
Phải đọc kết quả nhanh chóng sau khi đặt giọt mẫu thử lên lăng kính để tránh hiện
tượng bốc hơi nước.
Sau mỗi lần đọc lau lăng kính với bông thấm nước ướt, rồi lau lại bằng bông khô.
Có thể thử và đọc kết quả ở nhiệt độ thường, rồi điều chỉnh nhiệt độ tiêu chuẩn
(+200C) theo bảng kèm theo máy, hoặc bằng cách điều chỉnh thô sơ sau đây:
- Dưới +200C ứng với mỗi một sai khác trừ đi 0.07 vào kết quả.
- Trên +200C ứng với mỗi một sai khác cộng thêm 0.07 vào kết quả.
3.5. Phương pháp đo độ ẩm bằng cảm biến
3.5.1 Ẩm kế điện trở
- Nguyên lý hoạt động: ẩm kế điện trở dùng điện trở hút ẩm( dùng chất hút ẩm phủ
lên) sau đó điện trở được nối tới cầu Wheatons có bù nhiệt. Điện trở của cảm biến
thay đổi tỷ lệ với độ ẩm được chuyển thành tín hiệu điện tương ứng .
•
•
•
•
•
Dải đo RH 15%÷99%
Dải nhiệt độ -10oC÷60oC
Độ chính xác ±2%
Thời gian hồi đáp 10s
Kích thước nhỏ ,rẻ, ít chịu ảnh hưởng ô nhiễm môi trường trừ nơi có hóa chất ăn mòn
cao
3.5.2. Ẩm kế điện dung
- Nguyên lý hoạt động: ẩm kế điện dung sử dụng điện môi là màng mỏng polyme
(hay Al2O3) có khả năng hấp thụ hơi nước. Điện dung của tụ thay đổi tỉ lệ với độ ẩm
được chuyển hóa thành tín hiệu điện tương ứng.
• Dải đo RH : 0%-100%
• Dải nhiệt độ: -40÷100oC.
• Độ chính xác: ±2÷ ±3%.
• Thời gian hồi đáp: khoảng vài giây.
17
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Kích thước nhỏ ,ít chịu ảnh hưởng của môi trường
Ví dụ: cảm biến HS1101:
•
•
•
•
•
Chức năng:
Đo độ ẩm với chu kỳ 1s
Hoạt động ở 2 chế độ :trigger hoặc read manual
Chuẩn hóa lại hệ số khi cần thiết
Hiệu chỉnh sai số độ ẩm theo nhiệt độ môi trường
HS1101 cơ bản là 1 tụ biến dung theo độ ẩm, giá trị của nó sẽ thay đổi khi độ ẩm
thay đổi. Nguyên lý mạch là tạo ra dao động và tần số thay đổi tương ứng theo giá trị
điện dung hay chính là độ ẩm môi trường. Mạch sử dụng ICHa555 để tạo dao động.
Sensor nhiệt độ DS18B20 là sensor có giao tiếp chuẩn 1 dây (1-wire) trực tiếp tới vi
điều khiển Atmega8. Atmega8 hoạt động với thạch anh 16MHz, bạn có thể dùng bộ
dao động nội 8MHz nhưng cần chuẩn hóa.
18
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG
1. MẠCH NGUYÊN LÝ
19
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
2. CÁC KHỐI TRONG MẠCH
2.1 Khối xử lí trung tâm
20
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
2.2 Khối nguồn
Tạo điện áp chuẩn 5V cho vi điều khiển. D1 tạo điện áp 1 chiều, các bộ tụ C1,
C2 để san phẳng và làm ổn định điện áp ra cho vi điều khiển.
2.3 Khối đo độ ẩm
HS1101 là cảm biến điện dung. Khi độ ẩm thay đổi, điện dung của HS1101 thay đổi. Do
vậy, để đo được độ ẩm người ta thiết kế mạch đo điện dung của HS1101.
Trong thực tế, người ta thường ghép nối HS1101 và IC NE555. Khi đó giá trị điện dung
21
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
của HS1101 thay đổi thì làm thay đổi tần số đầu ra của IC555. Như vậy chỉ cần đo tần số
đầu ra là có thể đo được điện dung của HS1101.
2.4 Khối đo nhiệt độ
2.5 Khối role
22
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
2.6 Khối hiển thị LCD
23
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
2.7 Khối reset
2.8 Khối dao động
24
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
2.9 Khối nút nhấn
3. TÌM HIỂU VỀ CÁC LINH KIỆN ĐƯỢC SỬ DỤNG
Trong mạch đo nhiệt độ và độ ẩm dùng cảm biến nhiệt độ DS18B20 và cảm biến
điện dung HS1101 hiển thị ra màn hình LCD ta cần sử dụng các linh kiện sau:
3.1 Vi điều khiển 89S52
3.1.1 Hình ảnh
3.1.2
Cấu tạo và chức năng các chân trên 89S52
25
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
AT89S52 có tất cả 40 chân có chức năng như các đường xuất nhập. Trong
đó có 24 chân có tác dụng kép (có nghĩa là 1 chân có 2 chức năng), mỗi đường
có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là
thành phần của các bus dữ liệu và bus địa chỉ.
* PORT
Port 0: là port có 2 chức năng ở các chân từ 32- 39. Trong các thiết kế cỡ nhỏ
không dùng đến bộ nhớ mở rộng thì port 0 có chức năng là xuất/nhập dữ liệu.
Nếu trong các thiết kế cỡ lớn phải dùng đến bộ nhớ mở rộng thì port 0 được
kết hợp giữa bus địa chỉ và bus dữ liệu.
Port 1: là port có 1 chức năng từ chân 1- 8. Có thể dùng cho giao tiếp với thiết
bị ngoài nếu cần. Vì không có chức năng khác ngoài xuất/nhập nên nó chỉ
được dùng giao tiếp với các thiết bị bên ngoài.
Port 2: là 1 port có tác dụng kép trên các chân 21- 28 được dùng như các
đường xuất nhập hoặc là byte cao của các bus địa chỉ đối với thiết bị dùng bộ
nhớ mở rộng.
Port3: là port có tác dụng kép trên các chân 10- 17, port này có nhiều chức
năng cụ thể như sau:
P3.0
RXT
Ngõ vào đữ liệu nối tiếp
P3.1
TXD
Ngõ xuất dữ liệu nối tiếp
P3.2
INT0
Ngõ vào ngắt 0
P3.3
INT1
Ngõ vào ngắt 1
P3.4
T0
Ngõ vào của timer/ couter 0
P3.5
T1
Ngõ vào của timer/ couter 1
P3.6
WR
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài
P3.7
RD
Tín hiệu đọc dữ liệu bộ nhớ ngoài
* các ngõ tín hiệu điều khiển
PSEN
PSEN là tín hiệu ngõ ra ở chân 29 có ứng dụng cho phép đọc bộ nhớ
chương trình mở rộng thường được nối với chân 0E( output ennable) của
EPROM cho phép đọc các byte mã lệnh. PSEN ở mức 0 khi 89s52 lấy lệnh,
các mã lệnh của chương trình đọc từ EPROM qua bus dữ liệu và được chốt vào
thanh ghi lệnh để giải lệnh. PSEN ở mức 1 khi 89s52 thi hành chhuowng trình
trong ROM nội.
ALE
26
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
ALE ở chân số 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường
địa chỉ và dữ liệu khi kết nối chúng với IC chốt. Vì khi 89s52 truy xuất bộ nhớ
bên ngoài port 0 có chức năng là đường địa chỉ và dữ liệu nên phải tách riêng
ra.
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai
trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.
EA
Ngõ tín hiệu vào EA ở chân 31 thường được mắc lên nguồn. Nếu ở mức 1
thì 89s52 thi hành chương trình từ ROM nội trong khaongr địa chỉ thấp
8kbyte. Nếu ở mức 0 thì 89s52 sẽ thi hành chương trình từ bộ nhớ mở rộng.
RST
Ngõ tín hiệu RST (reset) ở chân số 9. Khi 89s52 thực hiện 2 chu kỳ máy
hoặc khi cấp điện mạch tự động reset.
X1,X2
Ngõ tín hiệu dao động X1, X2 ở chân 18, 19. Thường được nối với thạch
anh để tạo dao động.
Vcc
Vcc là chân số 40, thường được nối lên nguồn 5V.
27
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
3.2 Cảm biến nhiệt độ DS18B20
3.2.1 Hình ảnh
DS18B20 là IC cảm biến nhiệt độ chỉ bao gồm 3 chân, đóng gói dạng TO-92.
28
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
3.2.2
Cấu tạo
DS18B20 gồm 3 chân Vcc, GND, DATA.
Sơ đồ kết nối:
29
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
3.2.3
Đặc tính kỹ thuật
+ Lấy nhiệt độ theo giao thức 1 dây (1wire)
+ Cung cấp nhiệt độ với độ phân giải config 9,10,11,12 bit, tùy theo sử
dụng. Trong trường hợp không config thì nó tự động ở chế độ 12 bit.
Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit
+Có thể đo nhiệt độ trong khoảng -55 -> +125°C. Với khoảng nhiệt độ là
-10°C to +85°C thì độ chính xác ±0.5°C,±0.25°C ,±0.125°C,±0.0625°C. theo
số bít config.
+ Có chức năng cảnh báo nhiệt khi nhiệt độ vượt ngưỡng cho phép. Người
dùng có thể lập trình chức năng này cho DS18B20. Bộ nhớ nhiệt độ cảnh báo
không bị mất khi mất nguồn vì nó có một mã định danh duy nhất 64 bit chứa
trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia
laze.
+ Cam bien nhiet do DS18B20 có mã nhận diện lên đến 64-bit, vì vậy bạn có
thể kiểm tra nhiệt độ với nhiều IC DS18B20 mà chỉ dùng 1 dây dẫn duy nhất
để giao tiếp với các IC này.
Với DS18B20 bạn hoàn toàn có thể tạo cho mình mạch cảm biến nhiệt độ theo
ý muốn.
+ Điện áp sử dụng : 3 – 5.5 V
+ Dòng tiêu thụ tại chế độ nghỉ rất nhỏ.
3.2.4
Lập trình đo nhiệt độ với vi điều khiển 89s52
Khi xử lý DS18b20 chúng ta cần quan tâm đến 2 nhóm lệnh sau:
+ nhóm lệnh truy cập ROM
+ nhóm lệnh chức năng bộ nhớ
•
Nhóm lệnh truy cập ROM
- READ ROM (33h)
Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit mã
định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC. Lệnh này
chỉ dùng khi trên bus có 1 cảm biến DS1820, nếu không sẽ xảy ra xung đột
trên bus do tất cả các thiết bị tớ cùng đáp ứng.
- MATCH ROM (55h)
Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển
30
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
bus chọn ra chỉ một cảm biến DS1820 cụ thể khi trên bus có nhiều cảm biến
DS1820 cùng nối vào. Chỉ có DS1820 nào có 64 bit trên ROM trung khớp với
chuỗi 64 bit vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo.
Còn các cảm biến DS1820 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ
một xung reset. Lệnh này được sử dụng cả trong trường hợp có một cảm biến
một dây, cả trong trường hợp có nhiều cảm biến một dây.
- SKIP ROM (CCh)
Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ của
DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được
thời gian chờ đợi nhưng chỉ mang hiệu quả khi trên bú chỉ có một cảm biến.
- SEARCH ROM (F0h)
Lệnh này cho phép bộ điều khiển bus có thể dò tìm được số lượng thành viên
tớ đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng
bằng một chu trình dò tìm.
- ALARM SEARCH (ECh)
Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến
DS1820 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo
nhiệt độ cuối cùng. Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt
độ đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao
nhất và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm
biến.
Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM để
định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ
đưa ra các lệnh chức năng DS1820. Bằng các lệnh chức năng thiết bị chủ có
thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS1820. khởi
tạo quá trình chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp
điện áp nguồn. Các lệnh chức năng có thể được mô tả ngắn gọn như sau:
- WRITE SCRATCHPAD (4Eh)
Lệnh này cho phép ghi 2 byte dữ liệu vào bộ nhớ nháp của DS1820. Byte đầu
tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được
ghi vào thanh ghi TL (byte 3 của bộ nhớ nháp). Dữ liệu truyền theo trình tự
đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần. Cả
hai byte này phải được ghi trước khi thiết bị chủ xuất ra một xung reset hoặc
khi có dữ liệu khác xuất hiện.
- READ SCRATCHPAD (BEh)
Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp. Quá trình đọc bắt
đầu từ bit có ý nghĩa nhấy của byte 0 và tiếp tục cho đến byte rhứ 9 (byte 8 –
31
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
CRC). Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất
kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được
đọc.
- COPYSCRATCHPAD (48h)
Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vào bộ
nhớ EEPROM. Nếu cảm biến được sử dụng trong chế dộ cấp nguồn l bắt đầu
việc đo.
- CONVERT T (44h)
Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành số
(nhị phân). Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên
thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp Thời gian chuyển đổi không quá
200 ms, trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị
đọc ra đều bằng 0.
- READ POWER SUPPLY (B4h)
Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS1820 đang sử dụng chế độ cấp
nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường
dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng.
Nhóm lệnh chức năng bộ nhớ
•
Để xử lý được nhiệt độ được từ DS18B20 chúng ta cần quan tâm đến hàm :
-float ds18b20_readtemp(void): Đây là hàm giúp các bạn tính toán và trả về
giá trị nhiệt độ mà DS18b20 đo được
Chúng ta có hàm đọc nhiệt độ
float ds18b20_readtemp(void)
{
float temp;
unsigned char a,b;
DS18B20_Init();
// Khoi tao DS18b20
ds18b20_writebyte(0xCC) ; // Cho phep VDK truy cap thang den cac
lenh bo nho cua DS18b20
32
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
ds18b20_writebyte(0x44) ; // Khoi dong qua trinh do va chuyen doi
nhiet do ra so nhi phan
DS18B20_Init() ;
ds18b20_writebyte(0xCC) ;
ds18b20_writebyte(0xBE) ;
DS18b20 ra ngoai
// Cho phep doc du lieu tu bo nho
a = ds18b20_readbyte();
temp=((float)(a&0x0f))/16;
// Lay phan thuc cua gia tri nhiet do
b = ds18b20_readbyte();
a =((a&0xf0)>>4)|((b&0x0f)>3)&1;
}
// -------------------------------------------------// Ham Gui 1 Lenh Cho LCD
void lcd1602_send_command (unsigned char cX )
{
lcd1602_send_4bit_data ( cX >>4 );
// gui 4 bit cao
lcd1602_enable() ;
lcd1602_send_4bit_data ( cX );
thap
lcd1602_enable() ;
}
// gui 4 bit
// -------------------------------------------------// Ham Khoi Tao LCD
void lcd1602_init ( void )
{
lcd1602_send_4bit_data ( 0x00 );
delay_ms(200);
41
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
LCD_RS=0;
LCD_RW=0;
LCD_E=0;
// che do gui lenh
lcd1602_send_4bit_data ( 0x03 );
lcd1602_enable() ;
lcd1602_enable () ;
lcd1602_enable () ;
lcd1602_send_4bit_data ( 0x02 );
lcd1602_enable() ;
// ket noi 8 bit
lcd1602_send_command( 0x2C );
bit, hien thi 2 hang, ki tu 5x8
lcd1602_send_command( 0x80);
lcd1602_send_command( 0x0C);
// cho phep hien thi man hinh
lcd1602_send_command( 0x06 );
khong dich khung hinh
lcd1602_send_command( CLEAR_LCD );
}
// ket noi 4 bit
// giao thuc 4
// tang ID,
// xoa toan bo khung hinh
// -------------------------------------------------// Ham Thiet Lap Vi Tri Con Tro
void lcd1602_gotoxy(unsigned char x, unsigned char y)
{
unsigned char address;
if(!y)
address = (LINE_1+x);
else
address = (LINE_2+x);
delay_ms(3);
lcd1602_send_command(address);
delay_ms(1);
}
// -------------------------------------------------// Ham Xoa Man Hinh LCD
void lcd1602_clear(void)
{
lcd1602_send_command( CLEAR_LCD );
//delay_us(300);
42
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
}
// -------------------------------------------------// Ham Gui 1 Ky Tu Len LCD
void lcd1602_putchar ( unsigned int cX )
{
LCD_RS=1;
lcd1602_send_command( cX );
LCD_RS=0;
}
// -------------------------------------------------// Ham Gui 1 Chuoi Ky Tu Len LCD
void lcd1602_puts(char *s)
{
while (*s)
{
lcd1602_putchar(*s);
s++;
}
}
//Khai bao bien su dung
int xung,dem,frequency;
//****************************************************************
**************//
void delay_18B20(unsigned int i)
{
while(i--);
}
//****************************************************************
**************//
void Init_DS18B20(void)
{
unsigned char x=0;
DQ = 1;
delay_18B20(8);
DQ = 0;
delay_18B20(80);
DQ = 1;
43
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
delay_18B20(14);
x=DQ;
delay_18B20(20);
}
//****************************************************************
**************//
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat = 0;
for (i=8;i>0;i--)
{
DQ = 0;
dat>>=1;
DQ = 1;
if(DQ)
dat|=0x80;
delay_18B20(4);
}
return(dat);
}
//****************************************************************
**************//
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ = 0;
DQ = dat&0x01;
delay_18B20(5);
DQ = 1;
dat>>=1;
}
}
//****************************************************************
**************//
int ReadTemp(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned char t=0;
44
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
int nhiet_thuc;
Init_DS18B20();
WriteOneChar(0xCC);
// cho phep dieu khien truy nhap truc
tiep den lenh nho sensor ma khong can gui chuoi ma sensor
WriteOneChar(0x44);
// khoi dong qua trinh do va chuyen doi
du lieu
delay_18B20(100);
Init_DS18B20();
WriteOneChar(0xCC);
WriteOneChar(0xBE);
// Cho phep thiet bi doc nd bo nho nhap
delay_18B20(100);
a=ReadOneChar();
b=ReadOneChar();
nhiet_thuc=b4;
return(nhiet_thuc);
}
code int HS1101_Table[101]={
8109,8090,8070,8051,8033,8015,7997,7979,7961,7944,
7927,7910,7894,7878,7862,7846,7830,7815,7799,7784,
7769,7755,7740,7726,7711,7697,7683,7669,7655,7641,
7628,7614,7600,7587,7574,7560,7547,7534,7521,7507,
7494,7481,7468,7455,7442,7429,7416,7403,7390,7377,
7364,7350,7337,7324,7311,7298,7284,7271,7257,7244,
7230,7216,7203,7189,7175,7161,7147,7132,7118,7103,
7089,7074,7059,7045,7029,7014,6999,6984,6968,6952,
6936,6920,6904,6888,6872,6855,6838,6821,6804,6787,
6770,6752,6735,6717,6699,6680,6662,6644,6625,6606,
6587};
/
*****************************************************************
**************
Noi Dung : Doc gia tri do am.
Tham Bien : frequency: tan so do duoc tu bo dao dong NE555 ket hop
HS1101.
Tra Ve : Gia tri do am do duoc tu HS1101.
45
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
*****************************************************************
***************/
int HS1101_GetHumi(int frequency)
{
int i;
for(i=0;iHS1101_Table[i])return i;
}
return 100;
}
//Ham ngat
void ngat0(void) interrupt 0
{
xung++;
}
void ngat_timer_0(void) interrupt 1
{
dem++;
if(dem >= 4000)
{
dem=0;
frequency = xung-2600;
xung=0;
}
}
void main(void)
{
int humi,nhiet_do,nhiet_do2,nhiet_do3,nhiet_do_khong_che=40,fr;
char str[20];
TMOD = 0x02;
TH0=TL0=-250;
IT0=1;
IE=0x83;
TR0=1;
lcd1602_init();
lcd1602_clear();
while(1)
{
46
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
if(sw1 == 0) {nhiet_do_khong_che++; if(nhiet_do_khong_che>=150)
nhiet_do_khong_che=0; }
if(sw2 == 0) {nhiet_do_khong_che--; if(nhiet_do_khong_che= nhiet_do-4)&&(nhiet_do2 = nhiet_do2-4)&&(nhiet_do3 nhiet_do_khong_che)
relay =1; else relay=0;
humi=HS1101_GetHumi(frequency);
sprintf(str,"Do Am: %d %% ",humi);
//sprintf(str,"tanso=%dhz ",fr);
lcd1602_gotoxy(1,0);
lcd1602_puts(str);
sprintf(str,"T=%doC Tkc=%doC ",nhiet_do,nhiet_do_khong_che);
lcd1602_gotoxy(1,1);
lcd1602_puts(str);
}
delay_ms(100);
}
}
2. Mô phỏng bằng phần mềm Proteus
Khi T < Tkc thì rorowle (D1) chưa hoạt động( D1 tắt)
47
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
Khi T > Tkc thì rơle hoạt động
48
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
49
Nhóm 9 – D5CNTD
Đồ án môn Vi điều khiển
CHƯƠNG 5: KẾT LUẬN VÀ PHƯƠNG HƯỚNG PHÁT TRIỂN
5.1 KẾT LUẬN
Qua quá trình thực hiện đồ án, chúng em đã phần nào hình dung được các
quá trình để đưa ra được một sản phẩm có ứng dụng thực tiễn. Đó là kinh
nghiệm tự mình rút ra, trải nghiệm và thực hành cũng như học hỏi được nhiều
điều dưới sự hướng dẫn tận tình của cô giáo hướng dẫn. Và hơn nữa là tạo cơ sở,
nền tảng để chúng em thực hiện đồ án tốt nghiệp sau này.
Tuy nhiên, sản phẩm tạo ra vẫn còn nhiều thiếu sót và cần hoản chỉnh hơn
nữa.
5.2 PHƯƠNG HƯỚNG PHÁT TRIỂN
Đồ án có thể phát triển theo hướng điều khiển, điều chỉnh tốt nhiệt độ môi
trường bằng các quạt gió, lò sưởi thong qua rơ le cảm biến để nhằm đảm bảo ổn
định nhiệt. Có như vậy ứng dụng mới có tính thực tiễn cao hơn.
50
Nhóm 9 – D5CNTD
[...]... số đầu ra là có thể đo được điện dung của HS1101 2.4 Khối đo nhiệt độ 2.5 Khối role 22 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 2.6 Khối hiển thị LCD 23 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 2.7 Khối reset 2.8 Khối dao động 24 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 2.9 Khối nút nhấn 3 TÌM HIỂU VỀ CÁC LINH KIỆN ĐƯỢC SỬ DỤNG Trong mạch đo nhiệt độ và độ ẩm dùng cảm biến nhiệt độ DS18B20 và cảm biến... delay_ms(300); } } 34 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 3.3 Cảm biến độ ẩm HS1101 3.3.1 Hình ảnh HS1101 là loại cảm biến đo độ ẩm Độ chính xác +-2% Dãy nhiệt độ hoạt động từ -400C à 1000C Cảm biến HS1101 được sử dụng phổ biến trong cuộc sống, ngoài ra nó còn dùng kết hợp với cảm biến DS18B20 dùng đo nhiệt độ 3.3.2 Nguyên lý làm vi c Cảm biến HS1101 là cảm biến điện dung Khi độ ẩm thay đổi, điện dung của... DATA Sơ đồ kết nối: 29 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 3.2.3 Đặc tính kỹ thuật + Lấy nhiệt độ theo giao thức 1 dây (1wire) + Cung cấp nhiệt độ với độ phân giải config 9,10,11,12 bit, tùy theo sử dụng Trong trường hợp không config thì nó tự động ở chế độ 12 bit Thời gian chuyển đổi nhiệt độ tối đa là 750ms cho mã hóa 12 bit +Có thể đo nhiệt độ trong khoảng -55 -> +125°C Với khoảng nhiệt độ là... hoạt động với thạch anh 16MHz, bạn có thể dùng bộ dao động nội 8MHz nhưng cần chuẩn hóa 18 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG 1 MẠCH NGUYÊN LÝ 19 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 2 CÁC KHỐI TRONG MẠCH 2.1 Khối xử lí trung tâm 20 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 2.2 Khối nguồn Tạo điện áp chuẩn 5V cho vi điều khiển D1 tạo điện áp 1 chiều, các bộ tụ C1,.. .Đồ án môn Vi điều khiển Khi đo đến dải nhiệt độ 2000÷ 25000C thì giá trị α1,α2 có thể xác định được bằng thực nghiệm Cường độ bức xạ từ đối tượng đo A qua hệ thấu kính 1 tập chung ánh sáng trên đĩa 2 Đĩa này quay quanh trục nhờ động cơ 3 Sau khi ánh sáng qua đĩa 2 đi vào tế bào quang điện 4 trên đĩa khoan 1 số lỗ, trong đó một nửa đặt bộ lọc ánh sáng đỏ (LĐ) còn nửa kia lọc ánh sáng xanh (LX)... sai số độ ẩm theo nhiệt độ môi trường HS1101 cơ bản là 1 tụ biến dung theo độ ẩm, giá trị của nó sẽ thay đổi khi độ ẩm thay đổi Nguyên lý mạch là tạo ra dao động và tần số thay đổi tương ứng theo giá trị điện dung hay chính là độ ẩm môi trường Mạch sử dụng ICHa555 để tạo dao động Sensor nhiệt độ DS18B20 là sensor có giao tiếp chuẩn 1 dây (1-wire) trực tiếp tới vi điều khiển Atmega8 Atmega8 hoạt động... ra cho vi điều khiển 2.3 Khối đo độ ẩm HS1101 là cảm biến điện dung Khi độ ẩm thay đổi, điện dung của HS1101 thay đổi Do vậy, để đo được độ ẩm người ta thiết kế mạch đo điện dung của HS1101 Trong thực tế, người ta thường ghép nối HS1101 và IC NE555 Khi đó giá trị điện dung 21 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển của HS1101 thay đổi thì làm thay đổi tần số đầu ra của IC555 Như vậy chỉ cần đo tần... hoặc khi cấp điện mạch tự động reset X1,X2 Ngõ tín hiệu dao động X1, X2 ở chân 18, 19 Thường được nối với thạch anh để tạo dao động Vcc Vcc là chân số 40, thường được nối lên nguồn 5V 27 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 3.2 Cảm biến nhiệt độ DS18B20 3.2.1 Hình ảnh DS18B20 là IC cảm biến nhiệt độ chỉ bao gồm 3 chân, đóng gói dạng TO-92 28 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển 3.2.2 Cấu tạo DS18B20... dung của tụ thay đổi tỉ lệ với độ ẩm được chuyển hóa thành tín hiệu điện tương ứng • Dải đo RH : 0%-100% • Dải nhiệt độ: -40÷100oC • Độ chính xác: ±2÷ ±3% • Thời gian hồi đáp: khoảng vài giây 17 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển Kích thước nhỏ ,ít chịu ảnh hưởng của môi trường Ví dụ: cảm biến HS1101: • • • • • Chức năng: Đo độ ẩm với chu kỳ 1s Hoạt động ở 2 chế độ :trigger hoặc read manual Chuẩn... đo nhiệt độ rộng - Kém nhạy nhất 11 Nhóm 9 – D5CNTD Đồ án môn Vi điều khiển IC cảm - Tuyến tính nhất biến - Ngõ ra có giá trị cao nhất - Rẻ tiền Đo bằng - Tầm đo nhiệt độ rộng phương pháp không tiếp xúc - Nhiệt độ đo thấp - Cần cung cấp nguồn dòng cho Cảm biến - Cấu tạo phức tạp 3 CÁC PHƯƠNG PHÁP ĐO ĐỘ ẨM 3.1 Phương pháp sấy khô 3.1.1 Nguyên tắc Dùng sức nóng làm bay hơi hết hơi nước trong mẫu Cân ... ReadTemp(); nhiet _do3 = ReadTemp(); fr = frequency; if((nhiet _do2 >= nhiet _do- 4)&&(nhiet _do2 = nhiet _do2 -4)&&(nhiet _do3 nhiet _do_ khong_che)... {nhiet _do_ khong_che++; if(nhiet _do_ khong_che>=150) nhiet _do_ khong_che=0; } if(sw2 == 0) {nhiet _do_ khong_che ; if(nhiet _do_ khong_che