Thiết kế mạch đo nhiệt độ, độ ẩm gửi kết quả đo ra màn hình máy tính và LCD Thiết kế mạch đo nhiệt độ, độ ẩm gửi kết quả đo ra màn hình máy tính và LCD Thiết kế mạch đo nhiệt độ, độ ẩm gửi kết quả đo ra màn hình máy tính và LCD Thiết kế mạch đo nhiệt độ, độ ẩm gửi kết quả đo ra màn hình máy tính và LCD Thiết kế mạch đo nhiệt độ, độ ẩm gửi kết quả đo ra màn hình máy tính và LCD
Trang 1Trường đại học Bách Khoa Hà Nội
Viện Điện Báo cáo môn học Đồ án I
Đề tài:Thiết kế mạch đo nhiệt độ, độ ẩm
gửi kết quả đo ra màn hình máy
Giảng viên hướng dẫn: Th.S Lê Thị Thanh Hà
Th.S Lê Khánh Thành
Hà Nội, tháng 6 năm 2021
Trang 2MỤC LỤC
A: ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ ………Trang 3 B: NỘI DUNG……… ………Trang 4
I: Tổng quan……… ………Trang 4
1 Giới thiệu chung hệ thống đo Trang 4
3 Lựa chọn phương pháp đo, cảm biến Trang 6 II: Lựa chọn thiết bị phần cứng……… Trang 6
1 Sơ đồ tổng quan của hệ thống……….Trang 6
2 Khối cảm biến……….…Trang 7
3 Khối vi điều khiển……… Trang10
a Sơ đồ và chức năng các chân……… Trang10
b Bộ Counter/Timer( bộ đếm/ định thời)……… Trang13
c Các ngắt của vi điều khiển ……… Trang17
4 Khối hiển thị……… Trang 19
a Hiển thị ra LCD……… Trang 19
b Vi điều khiển giao tiếp với máy tinh và hiển thị……… Trang 21
III: CHƯƠNG TRÌNH PHẦN MỀM……… …… Trang22
1 Sơ đồ nguyên lí mạch vẽ trên proteus……… Trang22
2 Lưu đồ thuật toán……… Trang23
3 Chương trình C viết trên KeilC 5……… Trang24
C: KẾT QUẢ THU ĐƯỢC VÀ PHƯƠNG HƯỚNG HOÀN THIỆN Trang33
I Kết quả thu được……… Trang 33
II Phương hướng hoàn thiện……….….Trang 33
TÀI LIỆU THAM KHẢO……… Trang34
Trang 3A ĐẶT VẤN ĐỀ VÀ NHIỆM VỤ
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 nhiệt độ và độ ẩm cho môi trường, dùng cảm biến đoDHT11” Đâ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.
Để thực hiện đồ án tốt nhất thì chúng em đã phân công công việc cho từng thành viên như sau:
Công việcTổng hợp báo cáo
Nghiên cứu viết codeNghiên cứu, tìm hiểu phương thức hoạt động linhkiện
Phụ trách làm mạch thật
Trang 4B NỘI DUNG
I Tổng quan
1.Giới thiệu chung hệ thống đo
Để 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:
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.
2 Sơ lược các phương pháp đo nhiệt độ, độ ẩm
2.1 Sơ lược về phương pháp đo nhiệt độ
Nhiệt độ là đại lượng chỉ có thể đo gián tiếp trên cơ sở tính chất của vật phụ thuộc nhiệt độ Hiện nay chúng ta có nhiều nguyên lý cảm biến khác nhau để chế tạo cảmbiến nhiệt độ như: nhiệt điện trở, cặp nhiệt ngẫu, phương pháp quan dùa trên phân
bố bức xạ nhiệt, phương pháp dùa trên sự dãn nở của vật rắn, lỏng, khí hoặc dùa trên tốc độ âm… có hai phương pháp chính
Trang 5Ở dải nhiệt độ thấp và trung bình phương pháp đo là phương pháp tiếp xúc, nghiã
là các chuyển đổi được lắp đặt trực tiếp ngay trong môi trường đo Thiết bị đo như:nhiệt điện trở, cặp nhiệt, bán dẫn
Ở dải nhiệt độ cao phương pháp đo là không tiếp xúc (công cụ đặt ngoài môi trường đo) Các thiết bị đo như: cảm biến quang, hỏa quang kế (Hỏa quang kế phát
xạ, hỏa quang kế cường độ sáng, hỏa quang kế màu sắc)…
2.2 Sơ lược về phương pháp đo độ ẩm
Độ ẩm là yếu tố có vai trò quan trọng trong cuộc sống con người, từ sức khỏe,sinh hoạt, học tập, lao động sản xuất đến tầm quan trọng đối với hàng hóa, vật dụng, sinh vật, máy móc Xác định độ ẩm do đó trở thành một công việc không thể thiếu để đảm bảo một môi trường sống và bảo quản tốt nhất mà ở đó, độ ẩm luôn được giữ ở mức cân bằng và thích hợp nhất
Các phương pháp đo độ ẩm phổ biến hiện nay có:
+Phương pháp sấy khô: 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
+ Phương pháp chưng cất kín với một dung môi hữu 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
+ Phương pháp Karl Fischer: 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à SO2 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
Trang 6+ Phương pháp sử dụng khúc xạ kế: Khi đi từ một môi trường (không khí) vào mộtmô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
+ Phương pháp đo độ ẩm bằng cảm biến: 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ểnthành tín hiệu điện tương ứng
3 Lựa chọn phương pháp đo, cảm biến
Từ yêu cầu thực tiễn trên, nhóm chúng em được giao đề tài: “Thiết kế mạch đo
nhiệt độ, độ ẩm gửi kết quả đo ra màn hình máy tính và LCD” để làm đề tài môn
học Vận dụng những kiến thức đã được học chúng em đã nghiên cứu, dựa vào thực tế cũng như kinh tế phù hợp chúng em đã lựa chọn thiết bị cảm biến DHT11
đo đồng thời cả nhiệt độ và độ ẩm, vi xử lí 8051,… để hoàn thiện đề tài này
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
II: Lựa chọn thiết bị phần cứng
1. Sơ đồ tổng quan đề tài:
Trang 7-Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)
-Kích thước 15mm x 12mm x 5.5mm
Hình 1
-Nguyên lí hoạt động của DHT11:
+ Nhận tín hiệu từ 8051(Request)
Trang 8Hình 2
+DHT11 Gửi tín hiệu phản hồi(Response)
Hình 3
+Thực hiện qua trình truyền 40 bit dữ liệu
-DHT11 sẽ trả giá trị nhiệt độ và độ ẩm về dưới dạng 5 byte Trong đó:
§ Byte 1: giá trị phần nguyên của độ ẩm (RH%)
§ Byte 2: giá trị phần thập phân của độ ẩm (RH%)
§ Byte 3: giá trị phần nguyên của nhiệt độ (TC)
§ Byte 4 : giá trị phần thập phân của nhiệt độ (TC)
§ Byte 5 : kiểm tra tổng.(checksum)
Nếu Byte 5 = (8 bit) (Byte1 +Byte2 +Byte3 + Byte4) thì giá trị độ ẩm vànhiệt độ là chính xác, nếu sai thì kết quả đo không có nghĩa
Trang 9*Nó sẽ dựa vào thời gian để xác định truyền ra bit 0 hoặc là bit 1
50 us Nếu giá trị đo được là 0 thì ta đọc được bit 0, nếu giá trị đo được là 1 thì ta đọc được bít 1 Cứ thế ta đọc các bit tiếp theo
Trang 103. Vi điều khiển 8051( AT89C52)
a Sơ đồ chân:
Hình 6
Cấu tạo và chức năng các chân trên AT89C52
AT89C52 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ầncủa các bus dữ liệu và bus địa chỉ
Trang 11* 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ếutrong 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/ counter 0
P3.5 T1 Ngõ vào của timer/ counter 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
Trang 12PSEN là tín hiệu ngõ ra ở chân 29 có ứng dụng cho phép đọc bộ nhớ chươngtrì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 AT89c52 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 AT89c52 thi hành chương trình trong ROM nội
ALE
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 địachỉ và dữ liệu khi kết nối chúng với IC chốt Vì khi AT89c52 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ì AT89c52 thi hành chương trình từ ROM nội trong khaongr địa chỉ thấp 8kbyte.Nếu ở mức 0 thì AT89c52 sẽ thi hành chương trình từ bộ nhớ mở rộng
Trang 13b Bộ đếm/định thời( Counter/Timer)
Bộ đếm/Bộ định thời: Đây là các ngoại vi được thiết kế để thực hiện một nhiệm
vụ đơn giản: đếm các xung nhịp Mỗi khi có thêm một xung nhịp tại đầu vào đếmthì giá trị của bộ đếm sẽ được tăng lên 01 đơn vị (trong chế độ đếm tiến/đếm lên)hay giảm đi 01 đơn vị (trong chế độ đếm lùi/đếm xuống)
Xung nhịp đưa vào đếm có thể là một trong hai loại:
- Xung nhịp bên trong IC: Đó là xung nhịp được tạo ra nhờ kết hợp mạch dao động
bên trong IC và các linh kiện phụ bên ngoài nối với IC Trong trường hợp sử dụngxung nhịp loại này, người ta gọi là các bộ định thời (timers) Do xung nhịp bên loạinày thường đều đặn nên ta có thể dùng để đếm thời gian một cách khá chính xác
- Xung nhịp bên ngoài IC: Đó là các tín hiệu logic thay đổi liên tục giữa 02 mức
0-1 và không nhất thiết phải là đều đặn Trong trường hợp này người ta gọi là các bộđếm (counters) Ứng dụng phổ biến của các bộ đếm là đếm các sự kiện bên ngoàinhư đếm các sản phầm chạy trên băng chuyền, đếm xe ra/vào kho bãi…
Trang 14*HOẠT ĐỘNG ĐỊNH THỜI CỦA AT89C52
Vi điều khiển AT89C52 có 3 bộ định thời 16 bit trong đó 2 bộ timer 0 và 1 có 4 chế độ hoạt động,timer 2 có 3 chế độ hoạt động.Các bộ định thời dùng để định khoảng thời gian(hẹn giờ), đếm sự kiện xảy ra bên ngoài bộ vi điều khiển hoặc tạo tốc độ baud cho cổng nối tiếp của vi điều khiển
*CÁC THANH GHI CỦA BỘ ĐỊNH THỜI
• Các thanh ghi của Timer 0 và Timer 1
• Thanh ghi chế độ định thời(TMOD)
• Thanh ghi TMOD chứa 2 nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0 vàTimer 1
Thanh ghi TMOD
GATE
Bit Ký hiệu Chức năng
7 GATE1 Bit điều khiển cổng.Khi set lên 1,bộ định thời chỉ hoạt động
trong khi INT1 ở mức cao
6 C/#T1 Bit chọn chức năng đếm hoặc định thời
1=đếm sự kiện 0=định thời trong 1 khoảng thời gian
5 M1 Bit chọn chế độ thứ nhất
Trang 154 M0 Bit chọn chế độ thứ 2
1 chế độ 0 – Timer 13 bit
2 chế độ 1 – Timer 16 bit
10 chế độ 2 – 8 bit tự động nạp lại 11 chế độ 3 – tách Timer
3 GATE0 Bit điều khiển cổng cho bộ định thời 0
2 C/#T0 Bit chọn chức năng đếm hoặc định thời cho bộ định thời 0
1 M1 Bit chọn chế độ thứ nhất cho bộ định thời 0
0 M0 Bit chọn chế độ thứ 2 cho bộ định thời 0
Thanh ghi điều khiển Timer (TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 0
và Timer 1
TCON Điều khiển bộ định thời
TCON.7 TF1 Cờ tràn của bộ định thời 1 Cờ này được set bởi
phần cứng khi có tràn, được xóa bởi phần mềm, hoặc bởi
phần cứng khi bộ vi xử lý trỏ đến trình phục vụ ngắt
TCON.6 TR1 Bit điều khiển hoạt đong của bộ định thời 1.Bit
này được set hay xóa bằng phần mềm để điều khiển bộ định thời hoạt động hay ngưng
TCON.4 TR0 Bit điều khiển hoạt động của bộ định thời
Trang 16TCON.3 IE1 Cờ ngắt bên ngoài 1(kích khởi cạnh).Cờ này
được set bởi phần cứng khi có cạnh âm (cuống)xuất hiện trên chân INT1, được xóa bởi phần mềm, hoặc phần cứng khi CPU trỏ đến trình phục vụ ngắt
TCON.2 IT1 Cờ ngắt bên ngoài 1(kích khởi cạnh hoặc
mức).Cờ này được set hay xóa bởi phần mềm khi xảy ra cạnhâm hoặc mức thấp ở chân ngắt ngoài
TCON.1 IE0 Cờ ngắt bên ngoài 0(kích khởi cạnh)
TCON.0 IT0 Cờ ngắt bên ngoài 0(kích khởi cạnh hoặc
mức)
*CÁC CHẾ ĐỘ ĐỊNH THỜI CỦA TIMER0 VÀ TIMER1
1 Chế độ 0 : là chế độ định thời 13 bit , chế độ này tương
thích
2 với các bộ vi điều khiển trước đó , trong các ứng dụng
hiện nay chế độ này không còn thích hợp Trong chế độ
này bộ định thời dùng 13 bit(8 bit cua TH và 5 bit cao
của TL) để chứa giá trị đếm ,3 bit thấp của TL không
được sử dụng
3 Chế độ 1 : Trong chế độ này , bộ timer dùng cả 2 thanh ghi
TH và TL để chứa giá trị đếm , vì vậy chế độ này còn được
gọi là chế độ định thời 16 bit Bit MSB sẽ là bit D7 của TH
còn bit LSB là D0 của TL
4 Chế độ 2 : Trong chế độ 2 , bộ định thời dùng TL để
chứa giá trị đếm và TH để chứa giá trị nạp lại vì vậy chế
độ này còn gọi là chế độ tự nạp lại 8 bit.Sau khi đếm 255
sẽ xảy ra tràn,khi đó TF được đặt bằng 1 đồng thời giá trị
của timer tự động được nạp lại bằng nội dung của TH
5 Chế độ 3 : Trong chế độ 3 , Timer 0 được tách thành 2
bộ Timer hoạt động độc lập , chế độ này sẽ cung cấp cho
bộ vi điều khiển thêm một Timer nữa
Trang 17c Các ngắt của AT89C52
Bảng tóm tắt các ngắt trong AT89C52 như sau:
STT Tên ngắt Mô tả Cờngắt ThanhGhi chứa
cờ
Vectorngắt
1 INT0 Ngắt ngoài 0 khi có tín
hiệu tích cựctheo kiểu đã chọn ở chân P3.2
2 Timer 0 Ngắt tràn timer0 khi
giá trị timer0 tràn từ giá trị max về giá trị min
3 INT1 Ngắt ngoài 1 khi có tín
hiệu tích cực theo kiểu
đã chọn ở chân P3.3
4 Timer 1 Ngắt tràn timer1 khi
giá trị timer1 tràn từ giá trị max về giá trị min
TI, RI SCON 0x0023