Một trong những thông số môi trường cần đo là độ ẩm ta có thể sử dụng SENSOR độ ẩm.. Thiết bị gồm một thành phần cảm nhận điện dung bằng polymer dùng làm sensor đo độ ẩm và dải nhiệt độ
Trang 2A Lời nói đầu
* Lý do chọn đề tài
Trong những năm gần đây với sự phát triển vượt bậc của khoa học
công nghệ và kỹ thuật, đặc biệt là ngành điện tử, tin học, khoa học kỹ thuật đang có sự chuyển đổi từ dùng kỹ thuật tương tự (Analog) sang kỹ thuật số (Digital) Sự ra đời và phát triển mạnh mẽ của môn kỹ thuật số, đã đáp ứng được nhu cầu tiếp cận về kỹ thuật hiện đại, về kỹ thuật máy tính, tin học điều khiển tự động, đo lường điện tử
Ngày nay với sự phát triển mạnh mẽ của công nghệ MEMS (vi cơ điện tử) Những mạch tích hợp cao, xử lý thông minh với giá thành hạ, đang ngày càng được ứng dụng rộng rãi trong mọi lĩnh vực của đời sống
Để thoả mãn những yêu cầu thực tế, như đo một thông số môi trường
đã và đang được nghiên cứu, sử dụng rộng rãi, vì nó mang lại nhiều ứng dụng cho con người Ví dụ như thiết kế mạng cảm nhận không dây, hệ thống bơm nước tự động, mái hiên che mưa thông minh Một trong những thông số môi trường cần đo là độ ẩm ta có thể sử dụng SENSOR độ ẩm Đây là loại SENSOR số (có độ chính xác cao, nhỏ gọn, giá thành vừa phải…) vì vậy chúng tôi mạnh dạn đưa ra và nghiên cứu đề tài:
“Sensor SHT7X và vi điều khiển AT89C52 trong ứng dụng đo độ ẩm”
* Mục đích và nhiệm vụ của đề
Mục đích
- Khai thác sử dụng SENSOR đo độ ẩm SHT7X
- Tìm hiểu sơ bộ về màn hiển thị LCD loại LMB162A
- Tìm hiểu sơ bộ về vi điều khiển AT89C52
Trang 3- Nghiên cứu lý thuyết và tài liệu về SHT7X
- Nghiên cứu lý thuyết và tài liệu về LCD và họ vi điều khiển AT89C52
- Thiết kế phần cứng mạch điện đo độ ẩm dùng SHT7X, AT89C52 và LMB162A
- Thiết kế phần mềm nhúng cho AT89C52
* Đối tượng nghiên cứu
* ý nghĩa nghiên cứu
Giúp người học nắm được kiến thức về sensor độ ẩm SHT7X và
họ vi điều khiển
* Phương pháp nghiên cứu
Nghiên cứu lý thuyết kết hợp thực nghiệm
* Cấu trúc nội dung
Chương 1 Tổng quan về họ SHT1X/SHT7X
Chương 2 Giới thiệu về họ vi điều khiển AT89C52 và màn hiển
thị LMB162A
Chương 3 Thực nghiệm
Trang 4B Nội Dung Chương 1 Tổng quan về họ SHT1X/SHT7X
1 Tổng quát về sản phẩm SHT1X/SHT7X
SHTXX là module sensor đo độ ẩm và nhiệt độ tương đối một chip đơn gồm một đầu ra số chuẩn hóa ứng dụng trong quá trình CMOS công nghiệp với cơ chế siêu nhỏ được cấp sáng chế (công nghệ CMOSens) đảm bảo độ tin cậy cao nhất và độ ổn định dài hạn tốt Thiết bị gồm một thành phần cảm nhận điện dung bằng polymer dùng làm sensor đo độ ẩm và dải nhiệt độ tương đối Cả hai đều được nối với một bộ chuyển đổi tương tự - số 14 bit và một mạch giao tiếp nối tiếp trên cùng một chip Như vậy sẽ thu được chất lượng tín hiệu tốt, thời gian phản hồi nhanh và khả năng chống nhiễu từ bên ngoài tốt mà giá thành rẻ Mỗi SHTXX được chuẩn hóa riêng với một dải độ
ẩm chính xác với ẩm kế đã được thử nghiệm làm tham chiếu Các hệ số chuẩn hóa được lập trình trong bộ nhớ OTP Các hệ số này được dùng trong khi đo
để chuẩn hóa tín hiệu từ sensor
Giao diện nối tiếp 2 - wire và việc điều chỉnh điện thế trong cho phép ghép nối hệ thống nhanh chóng và dễ dàng Kích thước rất nhỏ và tiêu tốn ít năng lượng tạo thuận lợi cho hầu hết các ứng dụng cần thiết
Thiết bị có giao diện LCC (sóng mang chip không định hướng) cắm hay thành phần cắm nóng 4 chân đơn đường Các tùy chọn về gói sử dụng của khách hàng có thể làm theo yêu cầu
Đầu đo nhiệt độ và độ ẩm:
- Đặc tính kĩ thuật
+ Sensor đo độ ẩm và nhiệt độ tương đối
Trang 5+ Đầu ra số chuẩn hóa toàn phần
+ Độ ổn định dài hạn cao
+ Không yêu cầu thành phần gắn ngoài
+ Tiêu thụ rất ít năng lượng
+ Giao diện cắm hay nối toàn phần 4 chân
+ Kích thước nhỏ
+ Tự động ngắt nguồn
Trang 62 Các thông số kết nối
2.1 Các chân nối nguồn
SHTXX yêu cầu điện thế từ 2.4V đến 5.5V Sau khi bật nguồn, thiết bị cần 11ms để thoát khỏi trạng thái “sleep” Trước thời gian này, các lệnh không được gửi đi Các chân nguồn (VDD, GND) có thể được nối với tụ điện 100nF
2.2 Giao diện kết nối (2 - wire hai chiều trực tiếp)
Giao diện nối tiếp của SHTXX đánh giá số liệu đầu ra sensor và năng lượng tiêu thụ và không tương thích với giao diện PC
2.2.1 Dữ liệu đầu vào (SCK)
SCK được dùng để đồng bộ hóa truyền thông giữa vi điều khiển và SHT1X/SHT7X Do giao diện gồm các logic tĩnh đầy đủ nên không có tần số SCK tối thiểu
2.2.2 Dữ liệu nối tiếp (DATA)
Chân ba trạng thái DATA dùng để truyền dữ liệu vào ra thiết bị DATA chuyển sau sườn xung xuống và hoạt động ở sườn xung lên của xung nối tiếp SCK Trong quá trình truyền thông, đường DATA phải được giữ ổn định với
Trang 7thấp Cần một điện trở lớn gắn ngoài (ví dụ 10kOhm) để giữ cho tín hiệu ở mức cao (xem hình 2) Điện trở lớn thường gắn trong các kênh vào/ra của vi điều khiển
Hình 2
2.2.3 Truyền lệnh
Để khởi tạo một đợt truyền, chuỗi “bắt đầu truyền” được sinh ra Nó là thành phần xung xuống của DATA khi SCK ở mức cao, theo sau là một xung thấp trên SCK và tăng DATA trở lại khi SCK ở mức cao (xem hình 3)
Hình 3
Lệnh tiếp đó gồm 3 bit địa chỉ (hiện tại chỉ có "000") và 5 bit lệnh SHT1X/SHT7X chỉ định việc thu chính xác một lệnh bằng việc chuyển chân DATA xuống mức thấp (bit ACK) sau sườn xung xuống của xung SCK thứ 8 Đường DATA hoạt động (lên mức cao) sau sườn xung xuống của xung SCK
thứ 9
2.2.4 Chuỗi đo (RH và T)
Trang 8Sau khi phát sinh lệnh đo ('00000101' cho độ ẩm tương đối, '00000011' cho nhiệt độ), vi điều khiển phải đợi đến khi đo xong Mất khoảng 11/55/210
ms cho một phép đo 8/12/14 bit Thời gian chính xác biến thiên lên đến
15% với tốc độ bộ tạo dao động Để báo hiệu đã đo xong, SHT1X hạ đường
dữ liệu xuống Vi điều khiển phải đợi báo hiệu "dữ liệu sẵn sàng" này trước khi bắt đầu thay đổi xung SCK tiếp
2 byte dữ liệu đo và một byte mã kiểm tra tổng CRC sẽ được truyền đi sau đó uC phải nhận biết mỗi byte bằng cách hạ đường DATA xuống thấp Tất cả các giá trị đều là MSB bên phải tính trước (ví dụ xung SCK thứ 5 là MSB với giá trị 12 bit, với 8 bit thì byte đầu tiên không được sử dụng)
Việc truyền thông kết thúc sau bit nhận biết dữ liệu CRC Nếu chuỗi CRC không sử dụng thì vi điều khiển sẽ kết thúc việc truyền thông sau LSB
dữ liệu đo bằng cách giữ ack ở mức cao
Thiết bị tự động trở lại chế độ “sleep” sau khi quá trình đo và truyền thông kết thúc
Chú ý: Để giữ độ ổn định nhiệt độ là 0.10C, SHTXX không nên hoạt động hơn 15% thời gian (ví dụ tối đa 3 lần đo/giây cho độ chính xác 12 bit)
Trang 92.2.5 Chuỗi khởi tạo lại kết nối
Nếu truyền thông với thiết bị bị mất, chuỗi tín hiệu sau sẽ khởi tạo lại giao diện nối tiếp của nó
Khi để DATA ở mức cao, thay đổi SCK từ 9 lần trở lên Sau đó phải là một chuỗi “bắt đầu khởi tạo” trước khi thực hiện lệnh tiếp theo Chuỗi này chỉ khởi tạo lại giao diện Thanh ghi trạng thái giữ nguyên nội dung của nó (xem hình 4)
2.2.6 Tính chuỗi kiểm tra tổng CRC
Việc truyền thông số được đảm bảo bởi chuỗi kiểm tra tổng 8 bit Nó đảm bảo rằng dữ liệu sai được tìm ra và loại bỏ
Trang 102.3 Thanh ghi trạng thái
Một số chức năng tiên tiến của SHTXX có sẵn trong thanh ghi trạng thái Phần dưới đây sẽ nêu tổng quát ngắn gọn về các đặc tính
2.3.1 Độ chính xác đo
Độ chính xác đo mặc định với 14 bit (nhiệt độ) và 12 bit (độ ẩm) có thể giảm xuống 12 hay 8 bit Như vậy đặc biệt hữu dụng với các ứng dụng tốc độ cao hay có năng lượng tiêu thụ thấp
SORH C1 C2 C3
12 bít -4 0,0405 -2,8.10 6
8 bít -4 0,648 -7,2.10 4
Table 6 Humidity conversion coefficients
(Trích dẫn trong tài liệu trang: http://www.sensirion.com)
Để đơn giản, đỡ phải tính toán hãy xem các công thức chuyển đổi trong chú ý ứng dụng “bù không tuyến tính độ ẩm tương đối và nhiệt độ”
Sensor đo độ ẩm không phụ thuộc nhiều vào điện thế
Trang 11Bù độ phụ thuộc độ ẩm tương đối/nhiệt độ
Với nhiệt độ, đặc biệt khác nhau từ 250C (khoảng 77F), hệ số nhiệt độ của sensor đo độ ẩm tương đối được tính theo:
Table 7 temperature compensation coefficients
(Trích dẫn trong tài liệu trang: http://www.sensirion.com)
3.2 Nhiệt độ
Một thành phần tăng nhiệt gắn trên chip có thể được bật lên Nó sẽ tăng nhiệt độ sensor lên xấp xỉ 50C (9F) Năng lượng tiêu thụ cũng tăng cỡ 8mA/5V
Trang 12tuyến tính Dùng công thức sau đây để chuyển kết quả đầu ra thành nhiệt độ:
Table 8 Temerature conversion coefficientss
(Trích dẫn trong tài liệu trang: http://www.sensirion.com)
Để có độ chính xác cao khi nhiệt độ cao dùng công thức chuyển đổi tính toán phức tạp hơn
3.3 Điểm sương
Do độ ẩm và nhiệt độ đều được đo trên cùng một chip, SHTXX cho phép đo điểm sương chính xác Nhờ so sánh các giá trị nhiệt độ và độ ẩm trước và sau khi bật bộ tăng nhiệt, tính chính xác của cả hai sensor có thể thay đổi
Với môi trường có độ ẩm tương đối cao (hơn 95%) thì việc làm nóng sensor sẽ ngăn sự đọng nước làm thay đổi thời gian phản hồi và độ chính xác
Chú ý: Khi được làm nóng, SHTXX sẽ có nhiệt độ cao hơn và độ ẩm
Trang 13Các đặc tính điện
VDD = 5V, nhiệt độ = 250
C khi có khuyến cáo khác
4 Thông tin đóng gói
SHT7X – 4 chân, hàng đơn
Chân Tên Yêu cầu
1 SCK đầu vào xung nối tiếp
2 VDD cung cấp
3 GND mass
4 DATA dữ liệu nối tiếp, 2 chiều
4.1 Loại đóng gói
Thiết bị được đóng gói theo kiểu một hàng chân Đế sensor bao gồm
mũ polime tinh thể lỏng cùng với mũ epoxy dựa theo tiêu chuẩn 0,6mm FR4
với các thành phần Pb, Cd, Hg là tự do
Đầu sensor được kết nối với các chân bằng một chiếc cầu nhỏ để giảm thiểu và phản ứng nhiệt ở mặt sau của sensor được mạ vàng và được nối với chân mass
Một tụ 100nF được gắn ở mặt sau giữa VDD và GND
Tất cả các chân được mạ vàng để tránh ăn mòn Chúng có thể được gắn
và liên kết với hầu hết các đế Khoảng cách giữa 2 chân là 1,27mm (0,05”),
( chi tiết xem hình vẽ bên dưới)
Trang 15Sau khi hàn thiết bị phải được bảo quản tại giá trị >74%RH ít nhất trong 24h
4.3 Vật liệu dùng để hàn gắn
Có nhiều vật liệu dùng để hấp thụ độ ẩm và sẽ tương tác như bộ đệm gia tăng độ nhạy và độ trễ Những vật liệu ở vùng lân cận của sensor phải được lựa chọn cẩn thận Những vật liệu thích hợp là:
Tất cả các kim loại, LCP, POM (Delrin), PTFE (teflon), PE, PEEK, PP,
Trang 16CHƯƠNG 2 GIớI THIệU Về Họ VI ĐIềU KHIểN AT89C52 Và MàN HIểN
THị LMB162A
1 Giới thiệu về họ vi điều khiển AT89C52
1.1 Sơ đồ khối của chíp 8051
1.1.1 Tổng quan về họ vi điều khiển 8051
Chíp 8051 có các đặc trưng tóm tắt như sau:
PSEN ALE
Cổng vào/
ra
Cổng nối tiếp
T 0 T 1
T 2 T 2EX
Trang 17- Không gian nhớ chương trình (mã) ngoài 64K
- Không gian nhớ dữ liệu ngoài 64K
- Bộ xử lý bít (thao tác trên các bít riêng rẽ)
- 210 vị trí nhớ được định địa chỉ, mỗi vị trí 1 bít
b) Chân GND: Chân số 20 nối GND (hay nối mass)
Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805
1.2 Các chân (PINOUT)
Các chân được mô tả tóm tắt chức năng như sau:
Trang 18Chip 8051 có 40 chân, 32 trong 40 chân này làm nhiệm vụ xuất/nhập, tuy nhiên 24 trong 32 đường này có 2 mục đích Mỗi một đường có thể hoạt động xuất/nhập hoặc hoạt động như một đường điều khiển hoặc hoạt động như một đường địa chỉ/dữ liệu của bus địa chỉ/dữ liệu đa hợp
32 chân đó được chia làm 4 port – 8 bit Với các thiết kế yêu cầu một mức tối thiểu bộ nhớ ngoài hoặc các thành phần bên ngoài khác, ta có thể sử dụng các port này làm nhiệm vụ xuất/nhập dữ liệu 8 đường cho mỗi port có thể được xử lý như một đơn vị giao tiếp với các thiết bị song song như máy
in, bộ biến đổi D - A vv…, hoặc mỗi đường có thể hoạt động độc lập giao tiếp với một thiết bị đơn bit như chuyển mạch, LED, cuộn dây, động cơ…
1.2.1 Port 0
Port 0 (từ chân 32 đến chân 39 trên 8051) có 2 công dụng Các chân của port 0 được ký hiệu P0.0, P0.1…, P0.7 Trong các thiết kế có tối thiểu thành phần, port 0 được sử dụng làm nhiệm vụ xuất/nhập Trong các thiết kế lớn hơn có bộ nhớ ngoài, port 0 trở thành bus địa chỉ và bus dữ liệu đa hợp
bộ nhớ dữ liệu ngoài
1.2.4 Port 3
Trang 19Port 3 (các chân từ 10 đến 17 của chíp 8051) có hai công dụng Khi không hoạt động xuất/nhập, các chân của port 3 có nhiều chức năng riêng (mỗi chân có chức năng riêng liên quan đến các đặc trưng cụ thể của 8051)
Bit Tên Địa chỉ bit Chức năng
P3.0 RxD B0H Chân nhận dữ liệu của port nối tiêp
P3.1 TxD B1H Chân phát dữ liệu của port nối tiếp
P3.2 INT 0 B2H Ngõ vào ngắt ngoài 0
P3.3 INT1 B3H Ngõ vào ngắt ngoài 1
P3.4 T0 B4H Ngõ vào của bộ định thời/đếm 0
P3.5 T1 B5H Ngõ vào của bộ định thời/đếm 1
P3.6 WR B6H Điều khiển ghi bộ nhớ dữ liệu ngoài
P3.7 RD B7H Điều khiển đọc bộ nhớ dữ liệu ngoài
P1.0 T2 90H Ngõ vào của bộ nhớ định thời/đếm 2
P1.1 T2EX 91H Nạp lại/thu nhận của bộ định thời 2
Bảng : Chức năng các chân của port 3 và port 1
8051 cung cấp cho ta 4 tín hiệu điều khiển bus Tín hiệu cho phép bộ nhớ chương trình PSEN (program storeenable) là tín hiệu xuất trên chân 29 Đây là tín hiệu điều khiển cho phép ta truy xuất bộ nhớ chương trình ngoài Chân này thường nối với chân cho phép OE (output enable) của EPROM (hoặc ROM) để cho phép đọc các byte lệnh
Trang 20Tín hiệu PSEN ở logic 0 trong suốt thời gian tìm nạp lệnh Các mã nhị phân của chương trình hay opcode (mã thao tác) được đọc từ EPROM, qua bus dữ liệu và được chốt vào thanh ghi lệnh IR của 8051 để được giải mã Khi thực thi một chương trình chứa ở ROM nội, PSEN được duy trì ở logic không tích cực (logic 1)
1.2.6 Chân cho phép chốt địa chỉ ALE
8051 sử dụng chân 30, chân xuất tín hiệu cho phép chốt địa chỉ ALE (address latch enable) để giải đa hợp (demultiplexing) bus dữ liệu và bus địa chỉ Khi port 0 được sử dụng làm bus địa chỉ/dữ liệu đa hợp, chân ALE xuất tín hiệu để chốt địa chỉ (byte thấp của địa chỉ 16 bit) vào một thanh ghi ngoài trong suốt 1/2 đầu của chu kỳ bộ nhớ (memory cycle) Sau khi điều này đã được thực hiện, các chân của porst 0 sẽ xuất/nhập dữ liệu hợp hệ trong suốt 1/2 thứ 2 của chu kỳ bộ nhớ
Tín hiệu ALE có tần số bằng 1/6 tần số của mạch dao động bên trong chíp vi điều khiển và có thể được dùng làm xung clock cho phần còn lại của
hệ thống Nếu mạch dao động có tần số 12 MHz, tín hiệu ALE có tần số 2MHz Ngoài hệ duy nhất là trong thời gian thực thi lệnh MOVX, một xung ALE sẽ bị bỏ qua Chân ALE còn được dùng để nhận xung ngõ vào lập trình cho EPROM trên chíp đối với các phiên bản của 8052 có EPROM này
Ngõ vào này (chân 31) có thể được nối với 5V (logic 1) hoặc với GND (logic 0)
Nếu chân này nối lên 5V, 8051/8052 thực thi chương trình trong ROM nội (chương trình nhỏ hơn 4K/8K)
Trang 21Nếu chân nối với GND (và chân PSEN cũng ở logic 0), chương tình cần thực thi chứa ở bộ nhớ ngoài
Các phiên bản của EPROM của 8051 còn sử dụng chân EA làm chân nhân điện áp cấp điện 21V (VP P) cho việc lập trình EPROM nội (nạp
EPROM)
1.2.8 Chân RESET (RST)
Ngõ vào RST (chân 9) là ngõ vào xóa chính (master reset) của 8051 dùng để thiết lập lại trạng thái ban đầu cho hệ thống hay gọi tắt là reset hệ thống
Khi ngõ vào này được treo ở mức logic 1 tối thiểu hai chu kỳ máy, các thanh ghi bên trong 8051 được nạp các giá trị thích hợp cho việc khởi động lại hệ thống
1.2.9 Các chân XTAL1 và XTAL2
Mạch dao động bên trong chíp 8051 được ghép với thạch anh bên ngoài
ở hai chân XTAL1 và XTAL2 (chân 18 và chân 19) Tần số danh định của thạch anh là 12 MHz cho hầu hết các chíp của họ MCS - 51 (80C31BH – 1 sử dụng thạch anh 16 MHz bên trong, mạch dao động bên trong chíp không cần thạch anh bên ngoài)
2 Màn hiển thị LMB162A
2.1 Hình dáng và kích thước
Có rất nhiều loại LCD có hình dáng và kích thước khác nhau, đây là một loại LCD thông dụng: