Thiết kế hệ thống giám sát môi trường nhà vườn, ứng dụng cho vườn hoa lan
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
Đề tài : Thiết kế hệ thống giám sát môi trường nhà
vườn, ứng dụng cho vườn hoa lan
NHÓM 2
LỚP : 44S
GIÁO VIÊN HƯỚNG DẪN : NGUYỄN TIẾN DUY
THÁI NGUYÊN 2012
Trang 2Nhận xét của giáo viên hướng dẫn
Thái Nguyên, Ngày Tháng Năm 2012 Giáo Viên hướng dẫn (Ký ghi rõ họ tên) Nhận xét của giáo viên chấm
Thái Nguyên, Ngày Tháng Năm 2012 Giáo Viên hướng dẫn (Ký ghi rõ họ tên) Mục lục Chương 1 Phân tích bài toán 6
1.1 Khảo sát và phân tích bài toán 6
1.2 các yêu cầu 7
1.3 Giới hạn hạn định 7
1.4 Giải pháp công nghệ 7
1.5 Giải pháp thiết kế 8
Chương 2 : Hệ thống giám sát môi trường nhà vườn ứng dụng cho vườn hoa lan 9
Trang 32.1 Sơ đồ tổng quát 9
2.2 Sơ đồ callgraph 10
2.3 Sơ đồ đặc tả 10
2.4 Các module của hệ thống 11
2.4.1 Module khối nguồn: 11
2.4.2 Module sử lý trung tâm 12
2.4.3 Module cảm biến 13
2.5.1 Vi điều khiển PIC16F877A 15
2.5.2 Cảm biến ẩm độ và nhiệt độ SHT71 22
2.5.3 Cảm biến quang (LDR) 28
2.5.4 LCD 16x2 màn hình tinh thể lỏng 29
2.5.4 Trasitor 51
2.5.5 Tụ điện 52
2.5.6 IC ổn áp LM7805 52
2.6 Sơ đồ nguyên lý tổng thể 53
2.7 Thuật toán điều khiển 54
Chương 3: xây dựng hệ thống 57
3.1 Thiết kế phần cứng 57
3.2 Thiết kế phần mềm 57
3.3 kết quả mô phỏng 72
3.4 Đánh giá và kết luân 74
3.4.1 Đánh giá 74
3.4.2 Kết luận 76
Tài liệu tham khảo 77
Danh sách các hình ảnh Hình 2.1 sơ đồ tổng quát 9
Hình 2.2 sơ đồ callgraph 10
Hình 2.3 sơ đồ đặc tả 11
Hình 2.4 sơ đồ khối nguồn 12
Hình 2.5 sơ đồ khối điều khiển trung tâm 13
Hình 2.6 sơ đồ khối cảm biến ánh sáng 13
Hình 2.7 sơ đồ khối cảm biến sht71 14
Hình 2.8 module hiển thị LCD 14
2.5 Lựa chọn linh kiện 15
Hình 2.9: Sơ đồ chân PIC 16F877A 15
Hình 2.10 : Sơ đồ khối vi điều khiển PIC16F877A 17
Hình 2.11 cảm biến nhiệt độ độ ẩm SHT71 23
Hình 2.12 hình ảnh và sơ đồ chân cảm biến SHT71 26
Hình 2.13 sơ đồ kết nối của SHT71 27
Hình 2.14 cảm biến quang ( quang trở ) 28
Trang 4Hình 2.15 : Hình dáng của loại LCD thông dụng 30
Hình 2.16 : Sơ đồ chân của LCD 30
Hình 2.17 : Sơ đồ khối của HD44780 33
Hình 2.18 : Giản đồ xung cập nhật AC 36
Hình 2.19 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD 37
Hình 2.20 : Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự 38
Hình 2.21 : Mối liên hệ giữa địa chỉ của CGRAM, dữ liệu của CGRAM, và mã kí tự 41
Hình 2.22 lệnh khởi tạo LCD 50
Hình 2.23 Hình ảnh transistor 51
Hình 2.24 Một số loại tụ điện 52
Hình 2.25 IC ổn áp 7805 53
Hình 2.26 sơ đồ nguyên lý tổng thể 54
Hình 2.27 sơ đồ giải thuật 56
Hình 3.1 bắt đầu chương trình 72
Hình 3.2 in lên màn hình giá trị, nhiệt độ, độ ẩm, và cường độ ánh sáng 73
Hình 3.3 in lên màn hình giá trị, nhiệt độ, độ ẩm, và cường độ ánh sáng 74
Trang 5Giới thiệu:
Điều kiện môi trường thích hợp là sự cần thiết cho sự tăng trưởng thực vật tối ưu, cải thiện năng suất cây trồng, và sử dụng hiệu quả nước và các nguồn khác Tự động hoá việc thu thập dữ liệu quá trình điều kiện đất và các thông số khí hậu khác nhau chi phối sự phát triển của thực vật cho phép thông tin được thuthập ở tần suất cao với yêu cầu lao động ít hơn Hiện có hệ thống sử dụng hệ thống máy tính hoặc dựa trên tin nhắn cho người sử dụng liên tục thông báo các điều kiện bên trong nhà kính, nhưng khả năng chi trả, cồng kềnh, khó khăn để duy trì và ít được chấp nhận bởi các công nhân không có kỹ năng công nghệ
Mục tiêu của dự án này là thiết kế, dễ cài đặt, đơn giản dựa trên vi điều khiển
để theo dõi và ghi lại các giá trị của nhiệt độ, độ ẩm, và ánh sáng mặt trời môi trường tự nhiên đang tiếp tục sửa đổi và kiểm soát để tối ưu hóa chúng đạt được tăng trưởng thực vật và năng suất tối đa Bộ điều khiển sử dụng điện năng thấp, chi phí con chip hiệu quả
Chíp 16F877có thể giao tiếp với mô-đun cảm biến khác nhau trong thời gian thực để kiểm soát quá trình ánh sáng, thông khí và độ ẩm hiệu quả bên trong một nhà kính Một tích hợp màn hình hiển thị tinh thể lỏng (LCD) cũng được sử dụng
để hiển thị thời gian thực của dữ liệu có được từ các cảm biến khác nhau sử dụng của các thành phần dễ dàng có sẵn làm giảm sản xuất và chi phí bảo trì Thiết kế này là khá linh hoạt khi các phần mềm có thể được thay đổi bất cứ lúc nào Nó cóthể do đó được thiết kế riêng thực hiện các yêu cầu cụ thể của người sử dụng
Trang 6Điều này làm cho hệ thống được đề xuất là kinh tế, di động và bảo trì thấp
giải pháp cho các nhà vườn, vườn lan
Chương 1 Phân tích bài toán
1.1 Khảo sát và phân tích bài toán
Chúng ta sống trong một thế giới nơi mà tất cả mọi thứ có thể được kiểm soát
và vận hành tự động, nhưng vẫn còn một số lĩnh vực quan trọng ở nước ta mà tự động hóa đã không được thông qua hoặc không được đưa vào sử dụng chính thức, có lẽ vì một số lý do như là chi phí và kỹ thuật Một trong những lĩnh vực
đó là nông nghiệp Nhà vườn tạo thành một phần quan trọng của ngành nông nghiệp và làm vườn ở nước ta vì chúng có thể được sử dụng để phát triển các nhàmáy trong điều kiện kiểm soát khí hậu cho các sản phẩm tối ưu, các nông sản có
độ đảm bảo an toàn thực phẩm cao Tự động hoá dự kiến gây hiệu ứng nhà kính theo dõi và kiểm soát các thông số khí hậu trực tiếp hoặc gián tiếp chi phối sự tăng trưởng cây trồng.Tự động hóa là quá trình điều khiển máy móc công nghiệp
và các quá trình Do đó có thể thay thế các công việc của con người
Các yếu tố khí hậu tác động một cách tổng hợp lên lên cây trồng Khi khí
hậu nóng lên, các yếu tố như sự biến động nhiệt độ, lượng mưa, cường độ chiếu sáng sẽ là yếu những yếu tố tác động mạnh nhất lên cấy trồng
Một hệ thống giám sát và điều khiển các thiết bị máy nông nghiệp tạo điều kiện thuận lợi nhất cho cây trồng sẽ giúp tăng trưởng phát triển của cây trông và giảm số lượng lao động trong nhà vườn,
1.2 các yêu cầu
Trang 7Đây là một thiết lập phức tạp được trang bị tốt để phản ứng với hầu hết những thay đổi khí hậu xảy ra bên trong nhà vườn Nó hoạt động trên một hệ thống thông tin phản hồi giúp nó để đáp ứng với các kích thích bên ngoài một cách hiệu quả Mặc dù thiết lập này lên vượt qua những vấn đề gây ra do lỗi của con người nó không phải là hoàn toàn tự động và tốn kém.
1.3 Giới hạn hạn định
- Làm việc cả ngày lẫn đêm
- Thu nhận tín hiệu liên tục khi có sự thay đổi các yêu tố thời tiết
-Nhiệt độ môi trường từ
Khi đề cập ở trên các thông số khí hậu qua một ngưỡng an toàn được duy trì
để bảo vệ cây trồng, các cảm biến cảm nhận sự thay đổi và vi điều khiển pic đọc từ các dữ liệu tại các chân đầu vào của cảm biến Vi điều khiển Pic thực hiện các hành động cần thiết bằng cách sử dụng các chuyển tiếp cho đến khi các tham số khí hậu đã được đưa trở lại cấp độ tối ưu của nó Kể từ khi một vi
Trang 8điều khiển được sử dụng, nó làm cho các thiết lập chi phí thấp và hiệu quả, tuy nhiên Khi hệ thống cũng sử dụng một màn hình LCD liên tục cảnh báo người dùng về tình trạng bên trong nhà kính, toàn bộ thiết lập trở nên thân thiện với người dùng.
Như vậy, hệ thống này giúp loại bỏ những hạn chế hiện có set-up được đề cậptrong phần trước và được thiết kế như một cách dễ dàng để duy trì, linh hoạt
và giải pháp chi phí thấp
Qua những phân tích ở trên em đưa ra phương pháp xây dựng hệ thống giám sát môi trường nhà vườn, (từ đó có thể thiết lập thêm phần điều khiển bật tắt các thiệt bị trong điều khiển các yếu tố khí hậu, như tưới nước nhỏ giọt,phun sương mù, bật tắt đèn chiếu sáng, hệ thống quạt thoáng gió)
1.5 Giải pháp thiết kế
- Để thu nhận các yếu tố khí hậu của môi trường ta dùng các cảm biến ánh sáng, độ ẩm và nhiệt độ
- Xử lý, khối điều khiển dùng vi điều khiển pic: lập trình để pic nhận tín hiệu
từ cảm biến và tính toán sử lý để đưa ra lệnh tắt mở các thiết bị kiểm soát các yếu
Trang 9Chương 2 : Hệ thống giám sát môi trường nhà vườn ứng dụng cho vườn hoa lan
- Khối điều khiển trung tâm : tiếp nhận tín hiệu từ khối cảm biến sau đó sử
lý và suất tín hiệu tới khối hiển thị
- Khối hiển thị : nhận tín hiệu từ khối sử lý, hiển thị giá trị nhiệt độ, độ ẩm
và cường độ chiếu sáng
Khối
xử lý
Khối hiển thị
Khối
cảm
biến
Khối nguồn
Trang 10- Khối cảm biến :Đo giá trị độ chiếu sáng, độ ẩm và nhiệt độ dùng cảm biếnquang và cảm biến nhiệt độ, độ ẩm SHT71
2.2 Sơ đồ callgraph
Hình 2.2 sơ đồ callgraph
2.3 Sơ đồ đặc tả
Chương trình điều khiển chính
Module
Xử lý Cảm biến
Module
Xử lý Chương trình
Cảm biến
Hiển thị
Gửi lệnh thiết lập cảm biến
Nhận tín
hiệu từ
cảm biến
Trang 11Hình 2.3 sơ đồ đặc tả
- Khối nhiệt độ, độ ẩm, cường độ ánh sáng trong nhà vườn được xác định thông qua các cảm biến
-khối nhà vườn xác định nhiệt độ từ sensor và hiển thị lên màn hình
- khối hiển thị, hiển thị các thông số được xác định từ nhà vườn
2.4 Các module của hệ thống
2.4.1 Module khối nguồn:
Module này tạo ra điện áp 1 chiều 5V từ nguồn xoay chiều để cung cấp cho các liên kiện trong hệ thống sử sụng chỉnh lưu cầu, và IC ổn áp LM7805 để lấy điện áp 5V ở ngõ ra
độ ánh sáng
Trang 12Hình 2.4 sơ đồ khối nguồn
2.4.2 Module sử lý trung tâm
khối điều khiển trung tâm sử dụng vi điều khiển pic 16F877
Bộ tạo dao động dùng thạch anh 4M cung cấp nguồn dao động cho Pic
Bộ reset cấp nguồn 5V và xác lập trạng thái ban đầu cho pic
Trang 132.4.3 Module cảm biến
Bộ phận cảm biến của hệ thống chia làm hai phần, cảm biến quang và cảm biến ẩm độ và nhiệt độ Cảm biến ẩm độ và nhiệt độ được tích hợp trông cùng một linh kiện
Trang 14Hình 2.7 sơ đồ khối cảm biến sht71
Trang 152.5.1 Vi điều khiển PIC16F877A
Hình 2.9: Sơ đồ chân PIC 16F877A
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit Mỗi lệnh đều được thực thi trong một chu kì xung clock Tốc độ hoạtđộng tối đa cho phép là 20 MHz với một chu kì lệnh là 200ns Bộ nhớ chươngtrình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROMvới dung lượng 256x8 byte Số PORT I/O là 5 với 33 pin I/O Các đặc tính ngoại
vi bao gồm các khối chức năng sau:
Trang 16dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
sánh/điều chế độ rộng xung
Chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ
WR, CS bên ngoài
với khả năng ghi xóa được 1.000.000 lần Dữ liệu bộ nhớ EEPROM có thể lưu trữtrên 40 năm Khả năng tự nạp chương trình với sự điều khiển của phần mềm Nạpđược chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming)thông qua 2 chân Watchdog Timer với bộ dao động trong Chức năng bảo mật mãchương trình Chế độ Sleep Có thể hoạt động với nhiều dạng Oscillator khác nhau
Trang 175 Sơ đồ khối vi điều khiển PIC 16F877A
Hình 2.10 : Sơ đồ khối vi điều khiển PIC16F877A
Cấu trúc bộ nhớ của vi điều khiển PIC16F877A bao gồm bộ nhớ chươngtrình (program memory) và bộ nhớ dữ liệu (data memory)
Trang 18Bộ nhớ chương trình của vi điều khiển PIC16F877A là bộ nhớ flash ,dung lượng bộ nhớ 8k word (1 word= 14bit) và được phân thành nhiều trang (từpage 0 đến page 3) Như vậy bộ nhớ chương trinh có khả năng chứa được 8*1024
=8192 lệnh (vì một lệnh sau khi mã hóa sẽ có dung lượng 1 word (14 bit) Để mãhóa được địa chỉ của 8k word bộ nhớ chương trình , bộ đếm chương trình códung lượng 13 bit (PC<12:0>) Khi vi điều khiển reset , bộ đếm chương trình sẽchỉ đến địa chỉ 0000h (reset vector) Khi có ngắt xảy ra , bộ đếm chương trình sẽchỉ đến địa chỉ 0004h (interrupt vector) Bộ nhớ chương trình không bao gồm bộnhớ stack sẽ được đề cập cụ thể trong phần sau
Bộ nhớ dữ liệu của PIC là bộ nhớ EEPROM được chia ra làmnhiều bank Đối với PIC16F877A bộ nhớ dữ liệu được chia ra làm 4 bank Mỗibank có dung lượng 128 byte, bao gồm các thanh ghi có chức năng đặc biệt SFG(Special Function Register) nằm ở các vùng địa chỉ thấp và các thanh ghi mụcđích chung GPR (General Purpose Pegister) nằm ở vùng địa chỉ còn lại trongbank Các thanh ghi SFR thường xuyên được sử dụng (ví dụ như thanh ghiSTATUS) sẽ được đặt ở tất cà các bank của bộ nhớ dữ liệu giúp thuận tiện trongquá trình truy xuất và làm giảm bớt lệnh của chương trình
Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là mộtvùng nhớ đặc biệt không cho phép đọc hay ghi Khi lệnh CALL được thực hiệnhay khi một ngắt xảy ra làm chương trình bị rẽ nhánh, giá trị của bộ đếm chươngtrình PC tự động được vi điều khiển cất vào trong stack Khi một trong các lệnhRETURN, RETLW hat RETFIE được thực thi, giá trị PC sẽ tự động được lấy ra
từ trong stack, vi điều khiển sẽ thực hiện tiếp chương trình theo đúng qui trìnhđịnh trước
Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứađược 8 địa chỉ và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộnhớ Stack lần thứ 9 sẽ ghi đè lên giá trị cất vào Stack lần đầu tiên và giá trị cất
Trang 19vào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị 6 cất vào Stack lần thứ 2 Cầnchú ý là không có cờ hiệu nào cho biết trạng thái stack, do đó ta không biết đượckhi nào stack tràn Bên cạnh đó tập lệnh của vi điều khiển dòng PIC cũng không
có lệnh POP hay PUSH, các thao tác với bộ nhớ stack sẽ hoàn toàn được điềukhiển bởi CPU
Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng đểtương tác với thế giới bên ngoài Sự tương tác này rất đa dạng và thông qua quátrình tương tác đó, chức năng của vi điều khiển được thể hiện một cách rõ ràng Một cổng xuất nhập của vi điều khiển bao gồm nhiều chân (I/O pin), tùytheo cách bố trí và chức năng của vi điều khiển mà số lượng cổng xuất nhập và
số lượng chân trong mỗi cổng có thể khác nhau Bên cạnh đó, do vi điều khiểnđược tích hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chứcnăng là cổng xuất nhập thông thường, một số chân xuất nhập còn có thêm cácchức năng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối vớithế giới bên ngoài Chức năng của từng chân xuất nhập trong mỗi cổng hoàntoàn có thể được xác lập và điều khiển được thông qua các thanh ghi SFR liênquan đến chân xuất nhập đó
Port A
Port A (RPA) bao gồm 6 I/O pin Đây là các chân “hai chiều”(bidirectional pin), nghĩa là có thể xuất và nhập được Chức năng I/O này đượcđiều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chức năng của mộtchân trong PortA là input, ta “set” bit điều khiển tương ứng với chân đó trongthanh ghi TRISA và ngược lại, muốn xác lập chức năng của một chân trong Port
A là output, ta “clear” bit điều khiển tương ứng với chân đó trong thanh ghiTRISA Thao tác này hoàn toàn tương tự đối với các PORT còn lại Bên cạnh đóPort A còn là ngõ ra của bộ ADC, bộ so sánh, ngõ vào analog ngõ vào xung
Trang 20clock của Timer0 và ngõ vào của bộ giao tiếp MSSP (Master Synchronous SerialPort).
Các thanh ghi SFR liên quan đến Port A bao gồm:
Port A TRISA (địa chỉ 85h) : điều khiển xuất nhập
CMCON (địa chỉ 9Ch) : thanh ghi điều khiển bộ so sánh
CVRCON (địa chỉ 9Dh) : thanh ghi điều khiển bộ so sánh điện áp.ADCON1 (địa chỉ 9Fh) : thanh ghi điều khiển bộ ADC
Port B
Port B (RPB) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISB Bên cạnh đó một số chân của Port B còn đươc sử dụng trong quá trìnhnạp chương trình cho vi điều khiển với các chế độ nạp khác nhau Port B cònliên quan đến ngắt ngoại vi và bộ Timer0 Port B còn được tích hợp chức năngđiện trở kéo lên được điều khiển bởi chương trình
Các thanh ghi SFR liên quan đến Port B bao gồm:
Port B (địa chỉ 06h,106h) : chứa giá trị các pin trong
Port B TRISB (địa chỉ 86h,186h) : điều khiển xuất nhập
OPTION_REG(địa chỉ 81h,181h): điều khiển ngắt ngoại vi và bộ Timer0
Port C
PortC (RPC) gồm 8 pin I/O Thanh ghi điều khiển xuất nhập tương ứng làTRISC Bên cạnh đó Port C còn chứa các chân chức năng của bộ so sánh, bộTimer1, bộ PWM và các chuẩn giao tiếp nối tiếp I2C, SPI, SSP, USART
Các thanh ghi điều khiển liên quan đến Port C:
Port D
Port D (RPD) gồm 8 chân I/O, thanh ghi điều khiển xuất nhập tương ứng
Trang 21là TRISD Port D còn là cổng xuất dữ liệu của chuẩn giao tiếp PSP (ParallelSlave Port).
Các thanh ghi liên quan đến Port D bao gồm:
Thanh ghi Port D : chứa giá trị các pin trong Port D
Thanh ghi TRISD : điều khiển xuất nhập
Thanh ghi TRISE : điều khiển xuất nhập Port E và chuẩn giao tiếp PSP
Port E
Port E (RPE) gồm 3 chân I/O Thanh ghi điều khiển xuất nhập tương ứng
là TRISE Các chân của PortE có ngõ vào analog Bên cạnh đó Port E còn là cácchân điều khiển của chuẩn giao tiếp PSP
Các thanh ghi liên quan đến Port E bao gồm:
Port E : chứa giá trị các chân trong PortE
TRISE : điều khiển xuất nhập và xác lập các thông số cho chuẩn giaotiếp PSP
ADCON1: thanh ghi điều khiển khối ADC
Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chươngtrình ngắt được kết thúc bằng lệnh RETFIE Khi chương trình ngắt được thựcthi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương trình chính được
Trang 22cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đến địa chỉ 0004h.Lệnh RETFIE được dùng để thoát khỏi chương trình ngắt và quay trở về chươngtrình chính, đồng thời bit GIE cũng sẽ được set để cho phép các ngắt hoạt độngtrở lại Các cờ hiệu được dùng để kiểm tra ngắt nào đang xảy ra và phải đượcxóa bằng chương trình trước khi cho phép ngắt tiếp tục hoạt động trở lại để ta cóthể phát hiện được thời điểm tiếp theo mà ngắt xảy ra.
Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổi trạngthái các pin của PORTB (PORTB Interrupt on change), việc xác định ngắt nàoxảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời điểm xảy ra ngắt
Cần chú ý là trong quá trình thực thi ngắt, chỉ có giá trị của bộ đếm chươngtrình được cất vào trong Stack, trong khi một số thanh ghi quan trọng sẽ khôngđược cất và có thể bị thay đổi giá trị trong quá trình thực thi chương trình ngắt.Điều này nên được xử lý bằng chương trình để tránh hiện tượng trên xảy ra
Ngắt INT
động gây ra ngắt có thể là cạnh lên hay cạnh xuống và được điều khiển bởi bitINTEDG (thanh ghi OPTION_ REG <6>) Khi có cạnh tác động thích hợp xuấthiện tại pin RB0/INT, cờ ngắt INTF được set bất chấp trạng thái các bit điềukhiển GIE và PEIE Ngắt này có khả năng đánh thức vi điều khiển từ chế độsleep nếu bit cho phép ngắt được set trước khi lệnh SLEEP được thực thi
Ngắt do sự thay đổt trạng thái các PIN trong Port B
bởi bit RBIE (thanh ghi INTCON<4>) Cờ ngắt của ngắt này là bit RBIF(INTCON<0>)
2.5.2 Cảm biến ẩm độ và nhiệt độ SHT71
SHT71 là một con chíp đo nhiệt độ độ ẩm tương đối, module đa cảm biến được tích hợp một đầu ra, ứng dụng của công nghệ quá trình CMOS đảm bảo độ
Trang 23tin cậy cao và làm việc dài hạn Các thiết bị bao gồm một loại polymer phần tử cảm biến điện dung cho độ ẩm tương đối và nhiệt độ cảm biến bangap Cả hai được liên kết trên một tín hiệu tương tử với tần số chuyển đổi kỹ thật số là 14bit
và một mạch giao tiếp nối tiếp trên cùng một chíp Các hệ số hiệu chỉnh được lậptrình vào OTC bộ nhớ.các hệ số được sử dụng trong nội bộ quá trình các phép đo
để hiệu chỉnh các tín hiệu từ cảm biến 2- dây được nối tiếp để điều chỉnh điện ápnội bộ cho phép tích hợ hệ thống dễ dành và nhanh chóng Kích thước nhở và tiêu thụ điện năng thâp
Hình 2.11 cảm biến nhiệt độ độ ẩm SHT71
Độ chính xác đổ ẩm là ±3% (% RH)
Độ chính xác nhiệt độ ±0.4°C (°C)
Chuẩn giao tiếp 2Wire
Các ứng dụng CMOSens ® công nghệ đảm bảo độ tin cậy tuyệt vời và ổn định lâu dài Cả hai cảm biến được liền mạch kết để analog 14bit để chuyển đổi kỹ thuật số và một giao diện mạch nối tiếp Điều này dẫn đến chất lượng tín hiệu tốt hơn, thời gian đáp ứng nhanh chóng và vô cảm trước những xáo trộn bên ngoài (EMC) SHT7x Mỗi cá nhân được hiệu chỉnh trong một căn phòng độ ẩm chính xác Hệ số hiệu chuẩn được lập trình vào bộ nhớ trên chip OTP Các hệ số được
Trang 24sử dụng trong nội bộ hiệu chỉnh các tín hiệu từ các cảm biến 2-dây nối tiếp giao diện và điều chỉnh điện áp nội bộ cho phép tích hợp hệ thống dễ dàng và nhanh chóng Kích thước nhỏ và tiêu thụ điện năng thấp làm cho SHT7x là sự lựa chọn cuối cùng cho những ứng dụng đòi hỏi khắt khe nhất SHT7x được cung cấp trên FR4 với các chân cho phép tích hợp dễ dàng hoặc thay thế Các cảm biến tương
tự cũng có sẵn như là bề mặt bao bì mountable (SHT1x) hoặc trên flex in
(SHTA1)
Sensor Chip
SHT7x V4 - mà kỹ thuật này áp dụng tính năng một phiên bản 4 chip cảm biến Silicon Bên cạnh cảm biến độ ẩm và nhiệt độ chip có chứa một bộ khuếch đại, chuyển đổi A / D, bộ nhớ OTP và một giao diện kỹ thuật số
Kết quả đó đến từ cảm biến là rất chính xác và đã được hiệu chuẩn, do đó bạn không thể làm cho sai lầm Đặc tính đo lường của nó được hiển thị trong bảng dưới đây
Trang 26Nguồn cung cấp điện áp có thể được trong phạm vi từ 2,4 đến 5,5 V, nhưng tùy thuộc vào điện áp, bạn nên chọn các hằng số khác nhau trong các chức năng tính toán kết quả
Giao diện kỹ thuật
Cảm biến thành phần chính nó có 4 chân
Hình 2.12 hình ảnh và sơ đồ chân cảm biến SHT71
Điện áp cung cấp SHT7x phải là trong khoảng 2.4 và 5.5V, đề nghị cung cấp điện áp là 3.3V Tách của VDD và GND của một tụ điện 100nF được tích hợp trên mặt sau của bao bì cảm biến Giao diện nối tiếp của SHT7x được tối ưu hóa
để readout cảm biến và tiêu thụ điện năng hiệu quả Cảm biến không thể được giải quyết bằng giao thức I2C, tuy nhiên, cảm biến có thể được kết nối với một
Trang 27địa chỉ I2C mà không có sự can thiệp với các thiết bị khác kết nối với đĩa chỉ byte Vi điều khiển phải chuyển đổi giữa các giao thức
Để kết nối cảm biến với vi điều khiển, bạn cần chỉ có hai chân kỹ thuật số và điệntrở pullup một Trên hình dưới đây, bạn có thể xem ví dụ về làm thế nào để kết nối nó
Hình 2.13 sơ đồ kết nối của SHT71
Nối tiếp đồng hồ đầu vào (SCK)
SCK được sử dụng để đồng bộ hóa các thông tin liên lạc giữa vi điều khiển và SHT7x Kể từ khi giao diện bao gồm logic hoàn toàn tĩnh không có tần số SCK tối thiểu
Nối tiếp dữ liệu (DATA)
Trang 28Pin dữ liệu tri-nhà nước được sử dụng để chuyển dữ liệu vào và ra của cảm biến Đối với việc gửi một lệnh để cảm biến, DATA là hợp lệ trên tăng cạnh đồng hồ nối tiếp (SCK) và phải duy trì ổn định trong khi SCK là cao Sau khi các cạnh thuộc của SCK giá trị dữ liệu có thể được thay đổi Để đọc dữ liệu từ cảm biến, DATA là hợp lệ TV sau khi SCK đã đi thấp và vẫn còn hợp lệ cho đến khi các cạnh thuộc tiếp theo của SCK Để tránh những ganh đua tín hiệu vi điều khiển chỉ phải lái xe DỮ LIỆU thấp Một bên ngoài điện trở kéo lên (ví dụ 10 kS) là
gồm trong mạch I / O của vi điều khiển
2.5.3 Cảm biến quang (LDR)
Cảm biến quang (LDR) hay còn gọi điện trở phụ thuộc ánh sáng, quang dẫn,
tế bào quang điện Là một thiết bị thay đổi sức kháng khi thay đổi cường độ ánh sáng chiếu vào bề mặt của nó Nó nhạy cảm với cả khoảng ánh sáng nhìn thấy lên
nó rất thích hợp với ứng dụng đã đề xuất
Hình 2.14 cảm biến quang ( quang trở )
Các tính năng cơ bản của bộ cảm biến quang
- Nó được cấu tạo từ chất Cadmium sulphide (CdS)
- Sức đề kháng của LDR giảm khi cường độ ánh sáng chiếu vào nó tăng
Trang 29- Các LDR của kháng có thể đạt 10 ohms k trong điều kiện trời tối và
khoảng 100 ohms ở độ sáng đầy đủ
- Các mạch được sử dụng cho cảm biến ánh sáng trong hệ thống của chúng tôi sử dụng 10 kΩ điện trở cố định được gắn liền với 5 V Do đó giá trị điện áp trong trường hợp này giảm với sự gia tăng về cường độ ánh sáng
- Các nút cảm biến điện áp được so sánh với điện áp ngưỡng cho các mức
độ khác nhau của cường độ ánh sáng tương ứng với bốn điều kiện, tối ưu, mờ, tối
kí tự đồ họa), dễ dàng đưa vào mạch ứng dụng theo nhiều giao thức giao
tiếp khác nhau, tốn rất ít tài nguyên hệ thống và giá thành rẽ …
Trang 30Hình 2.15 : Hình dáng của loại LCD thông dụng
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780) bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này được đánh số thứ tự và đặt tên như hình 2 :
Trang 31Hình 2.16 : Sơ đồ chân của LCD
với GND của mạch điều khiển
Điều chỉnh độ tương phản của LCD
logic “0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi + Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IR của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu
bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển vào(chấp nhận) thanh ghi bên trong nó khi phát hiện một xung (high-to-low transition) của tín hiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7
Trang 32khi phát hiện cạnh lên (low-to-high transition) ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
Chức năng các chân của LCD
* Ghi chú : Ở chế độ “đọc”, nghĩa là MPU sẽ đọc thông tin từ LCD thông qua các chân DBx
Còn khi ở chế độ “ghi”, nghĩa là MPU xuất thông tin điều khiển cho LCD thông qua các chân DBx
3> Sơ đồ khối của HD44780:
Để hiểu rõ hơn chức năng các chân và hoạt động của chúng, ta tìm hiểu sơ qua chíp HD44780 thông qua các khối cơ bản của nó
Trang 33Hình 2.17 : Sơ đồ khối của HD44780
a> Các thanh ghi :
Chíp HD44780 có 2 thanh ghi 8 bit quan trọng : Thanh ghi lệnh IR (Instructor Register) và thanh ghi dữ liệu DR (Data Register)
Trang 34- Thanh ghi IR : Để điều khiển LCD, người dùng phải “ra lệnh” thông qua tám đường bus DB0-DB7 Mỗi lệnh được nhà sản xuất LCD đánh địa chỉ rõ ràng.Người dùng chỉ việc cung cấp địa chỉ lệnh bằng cách nạp vào thanh ghi IR Nghĩa là, khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780 sẽ tra bảng
mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó
sẽ được chuyển ra DR để truyền cho MPU
=> Bằng cách điều khiển chân RS và R/W chúng ta có thể chuyển qua lại giữ 2 thanh ghi này khi giao tiếp với MPU Bảng sau đây tóm tắt lại các thiết lập đối với hai chân RS và R/W theo mục đích giao tiếp
R
S
Trang 350 0 Ghi vào thanh ghi IR để ra lệnh cho LCD
Chức năng chân RS và R/W theo mục đích sử dụng
b> Cờ báo bận BF: (Busy Flag)
Khi thực hiện các hoạt động bên trong chíp, mạch nội bên trong cần một khoảng thời gian để hoàn tất Khi
đang thực thi các hoạt động bên trong chip như thế, LCD bỏ qua mọi giao tiếp với bên ngoài và bật cờ BF (thông qua chân DB7 khi có thiết lập RS=0, R/W=1) lên để báo cho MPU biết nó đang “bận” Dĩ nhiên, khi xong việc, nó sẽ đặt cờ BF lại mức 0
c> Bộ đếm địa chỉ AC : (Address Counter)
Như trong sơ đồ khối, thanh ghi IR không trực tiếp kết nối với vùng RAM (DDRAM và CGRAM) mà thông qua bộ đếm địa chỉ AC Bộ đếm này lại nối với 2 vùng RAM theo kiểu rẽ nhánh Khi một địa chỉ lệnh được nạp vào thanh ghi IR, thông tin được nối trực tiếp cho 2 vùng RAM nhưng việc chọn lựa
vùng RAM tương tác đã được bao hàm trong mã lệnh
Sau khi ghi vào (đọc từ) RAM, bộ đếm AC tự động tăng lên (giảm đi) 1 đơn
vị và nội dung của AC được xuất ra cho MPU thông qua DB0-DB6 khi có thiết lập RS=0 và R/W=1 (xem bảng tóm tắt RS - R/W)
Lưu ý: Thời gian cập nhật AC không được tính vào thời gian thực thi lệnh
mà được cập nhật sau khi cờ BF lên mức cao (not busy), cho nên khi lập trình hiển thị, bạn phải delay một khoảng tADD khoảng 4uS-5uS (ngay sau khi BF=1) trước khi nạp dữ liệu mới Xem thêm hình bên dưới
Trang 36Hình 2.18 : Giản đồ xung cập nhật AC
d> Vùng RAM hiển thị DDRAM : (Display Data RAM)
Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM làmột ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD
sẽ hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà bạn đã cung cấp Hình sau đây sẽ trình bày rõ hơn mối liên hệ này :
Hình 2.19 : Mối liên hệ giữa địa chỉ của DDRAM và vị trí hiển thị của LCD
Trang 37Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8 bit Những vùng RAM còn lại không dùng cho hiển thị có thể dùng như vùng RAM
đa mục đích
Lưu ý là để truy cập vào DDRAM, ta phải cung cấp địa chỉ cho AC theo mã HEX
e> Vùng ROM chứa kí tự CGROM: Character Generator ROM
Vùng ROM này dùng để chứa các mẫu kí tự loại 5x8 hoặc 5x10 điểm ảnh/kí
tự, và định địa chỉ bằng 8 bit Tuy nhiên, nó chỉ có 208 mẫu kí tự 5x8 và 32 mẫu
kí tự kiểu 5x10 (tổng cộng là 240 thay vì 2^8 = 256 mẫu kí tự) Người dùng không thể thay đổi vùng ROM này
Hình 2.20 : Mối liên hệ giữa địa chỉ của ROM và dữ liệu tạo mẫu kí tự
Trang 38Như vậy, để có thể ghi vào vị trí thứ x trên màn hình một kí tự y nào đó, người dùng phải ghi vào vùng DDRAM tại địa chỉ x (xem bảng mối liên hệ giữa DDRAM và vị trí hiển thị) một chuỗi mã kí tự 8 bit trên CGROM Chú ý là trongbảng mã kí tự trong CGROM ở hình bên dưới có mã ROM A00.
Ví dụ : Ghi vào DDRAM tại địa chỉ “01” một chuỗi 8 bit “01100010” thì
trên LCD tại ô thứ 2 từ trái sang (dòng trên) sẽ hiển thị kí tự “b”