Đồ án tốt nghiệp "Mô hình mạng cảm nhận không dây - WSN" - Pdf 67


Đồ án tốt nghiệp "Mô hình mạng
cảm nhận không dây - WSN"

Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

1
MỞ ĐẦU
Ngày nay dưới sự phát triển rất mạnh mẽ của khoa học kĩ thuật nói
chung và công nghệ thông tin nói riêng, mạng cảm nhận không dây ra đời là
một trong những thành tựu cao của công nghệ chế tạo và công nghệ thông tin.
Một trong các lĩnh vực của mạng cảm nhận không dây ( Wireless Sensor
Network – WSN ) là sự kết hợp của việc cảm nhận, tính toán và truyền thông
vào trong các thiết bị nhỏ gọn đáp ứng nhu cầu ngày càng cao của con người
c
ũng như phục vụ ngày một tốt hơn cho lợi ích của con người, làm cho con
người không mất quá nhiều sức lực, nhân công nhưng hiệu quả công việc vẫn
cao. Sức mạnh của WSN nằm ở chỗ khả năng triển khai một số lượng lớn các
thiết bị nhỏ có khả năng tự thiết lập cấu hình của hệ thống. Sử dụng những
thiế
t bị này để theo dõi theo thời gian thực, cũng có thể để giám sát điều kiện
môi trường, theo dõi cấu trúc hoặc tình trạng thiết bị…
Trong những nghiên cứu mới nhất hiện nay thì hầu hết các ứng dụng của
WSN là giám sát môi trường từ xa hoặc có thể mang theo một thiết bị nhỏ
gọn nhưng có sức mạnh có thể làm việc hiệu quả không kém một hệ thống

- Chương 4: Phần mềm nhúng cho hệ đo nhiệt tự động
- Chương 5: Cài đặt thử nghiệm trên hệ thống, các kết qu
ả đạt được Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

3
CHƯƠNG 1:
GIỚI THIỆU VỀ MẠNG CẢM NHẬN KHÔNG DÂY
(Wireless sensor Network - WSN)
1.1. Mạng cảm nhận không dây
Mạng cảm nhận không dây (WSN) thu thập dữ liệu môi trường ra đời
đáp ứng cho nhu cầu thu thập thông tin của môi trường tại một tập hợp các
điểm xác định trong một khoảng thời gian xác định nhằm phát hiện các quy
luận vận động và các đặc điểm thay đổi rất chậm của môi trường hoặc của đối
tượng, mạng cảm nhận không dây thông thường bao gồm các nút mạng cảm
nhận được phân bố trong một phạm vi không gian nhất định. Các nút cảm
nhận này sẽ tiến hành đo đạc các thông số của môi trường như nhiệt độ, độ
ẩm, độ mặn, độ PH, áp suất …Việc thu thập các thông tin này trong văn
phòng, nhà kho, công xưởng, viện bảo tàng, trong công nghiệp, y tế, nông
nghiêp, lâm nghiệp… WSN dường như đã trở thành giải pháp hấp dẫn vì
mang đến sự tiện lợi về nhiều phương di
ện, và đặc biệt trong nhiều trường
hợp thậm chí còn hạn chế được sự nguy hiểm cho con người trong những môi
trường làm việc khắc nghiệt ( nút mạng thay thế cho sự làm việc trực tiếp của
con người trong những môi trường có độc tính hay nhiệt độ cao, áp suất

CC1010
Nút cảm nhận
CC1010
Nút gốc
CC1010
PC
RS 232
Liên kết có dây

Liên kết không dây
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

5
Từ đề tài cụ thể “CHƯƠNG TRÌNH THU NHẬN, XỬ LÝ DỮ LIỆU,
CẢNH BÁO SỰ CỐ TRÊN NÚT MẠNG CẢM NHẬN KHÔNG DÂY
(WSN), HIỂN THỊ BẰNG MÀN HÌNH TINH THỂ LỎNG - LCD ”. Sau
đây em xin giới thiệu một ứng dụng của mạng cảm nhận WSN thu thập dữ
liệu môi trường, giải quyết được đa số những nhược điểm của một mạng cả
m
nhận không dây thông thường, cụ thể đề tài sẽ đi vào tìm hiểu, phân tích thiết
kế một nút mạng di động có khả năng thu nhận dữ liệu, xử lý, hiển thị lên
màn hình LCD với kích thước nhỏ gọn, tiêu thụ ít năng lượng, tiết
kiệm…Hình 1.3 minh họa một mô hình mạng cảm nhận sử dụng CC1010
được kết nối với một màn hình tinh thể lỏng. Hình 1.3: Hệ thố

Đại diện cho tất cả nút mạng cảm nhận, bao gồm các nút cảm nhận thông
số cần đo, mạch tích hợp CC1010EM nhận, xử lý rồi truyền không dây đến
nút di động. Mỗi nút cảm nhận trên đều được gán một địa chỉ cụ thể.
Từ những phân tích lý thuyết
ở trên ta có mô hình của nút mạng cảm
nhận và truyền dữ liệu như sau :
Hình 1.4: Mô hình nút cảm nhận và truyền dữ liệu
Cảm biến-Sensor
a) Khái niệm
Trong các hệ thông đo lường, điều khiển mọi quá trình đều được đặc
trưng bởi các trạng thái như nhiệt độ, áp suất, tốc độ, mô men…Các biến
trạng thái này thường là các đại lượng không điện. Nhằm mục đích điều
chỉnh, điều khiển các quá trình ta cần thu thập các thông tin, đo đạc, theo dõi
sự biến thiên của các biến trạng thái của quá trình. Các bộ
cảm biến thực hiện
chức năng này chúng thu thập, đáp ứng với các tín hiệu và các kích thích, có
thể nói chúng có thể so sánh như là tai, mắt của các hoạt động kha học và
công nghệ của con người.

CC1010
Sensor
Angten phát
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang


0
C đến 100
0
C.
¾ Nguồn cung cấp 2,7V.
¾ Khoảng thay đổi điện áp nối ra là 10mV/
0
C
¾ Điện thế bù DC = 600mV.
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

8
¾ Khoảng thay đổi điện áp lối ra là từ 300mV đến 1600mV ứng với
khoảng nhiệt độ từ -30
0
C tới 100
0
C.
IC cảm biến thu nhận thông tin của môi trường sau đó biến đổi thông tin
đó thành đại lượng điện dưới dạng tín số hoặc tín hiệu tương tự ,sau đó được
số hóa để có thể truyền đi trong mạng không dây.IC LM61 thu nhận thông tin
nhiệt độ của môi trường sau đó biến đổi thành điện áp lối ra ( Dạng thông tin
tương tự ).
1.2.2. Nút mạng di động( Nhận và hiển thị
)
Bao gồm mạch tích hợp CC1010EM nhận dữ liệu của các nút cảm nhận
,xử lý ,sau đó hiển thị kết quả của mỗi nút lên mà hình LCD.Nút mạng di

Sinh viên: Đoàn Duy Hà – CT701

Trang

9
1.3. Kết luận
Ở chương 1 em đã trình bày được một số những kiến thức cơ bản của
mạng WSN. Các nội dung đã được trình bày:
¾ Mạng cảm nhận không dây.
¾ Mô hình mạng cảm nhận thông thường kết nối máy tính thông qua
cổng nối tiếp RS-232.
¾ Mô hình mạng sử dụng vi điều khiển CC1010 có ghép nối với màn
hình tinh thể lỏng – LCD.
¾ Mô tả hệ thống.
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

10
CHƯƠNG 2:
TỔNG QUAN VỀ MÀN HÌNH TINH THỂ LỎNG – LCD
VÀ VI ĐIỀU KHIỂN
2.1. Giới thiệu về Vi điều khiển
Có thể nói hiện nay vi điều khiển đã được ứng dụng rất phổ biến ở
Việt Nam đã và đang được ứng dụng rất nhiều vào tất cả các lĩnh vực khác
nhau của cuộc sống. Hiện nay trên thị trường có rất nhiều loại Vi điều khiển

2.2.3. Tập lệnh
Tập lệnh chính là tập mã lệnh nhị phân. Bản chất của một tập lệnh là một
tập hợp các mã nhị phân mà qua đó các đơn vị xử lý trung tâm (CPU) có thể
nhận biết và thực hiện được. Vậy dữ liệu được CPU xử lý là các số nhị phân.
Tập lệnh sẽ thực hiện các công việc chính sau đây :
¾ Tính toán các con số nhị phân.
¾ Các lệnh
để chuyển các giá trị ra thành tín hiệu điện tử ở các chân
linh kiện.
¾ Các lệnh di chuyển các giá trị giữa các thanh ghi.
¾ Các lệnh điều khiển con trỏ chương trình.
¾ Các tập lệnh được chia làm hai loại, tập lệnh RISC và tập lệnh CISC.
2.3. Lập trình cho Vi điều khiển
Chương trình là một tập hợp các lệnh được tổ chức theo một trình tự hợp
li để giải quyết các yêu cầu của người lập trình. Tập hợp tất cả lệnh gọi là một
tập lệnh. Các họ Vi điều khiển đều có chung một tập lệnh, Các Vi điều khiển
ngày nay được cải tiến thường ít thay đổi hoặc mở rộng tập lệnh mà chú trọ
ng
phát triển phần cứng.
Lệnh của Vi điều khiển là các số nhị phân 8bit hay còn được gọi là mã
máy. Các lệnh mang mã 00000000b đến 11111111b. Các mã lệnh này được
đưa vào lưu trữ trong ROM, khi thực hiện chương trình Vi điều khiển đọc các
mã lệnh này, giải mã lệnh, và thực hiện lệnh.
Vì các lệnh của Vi điều khiển có dạng số nhị phân quá dài và khó nhớ,
hơn nữa việc gỡ lỗi khi chương trình phát sinh l
ỗi rất phức tạp và kho khăn.
Khó khăn náy được giải quyết với sự hỗ trợ của máy tính, người viết chương
trình có thể viết chương trình cho Vi điều khiển bằng ngôn ngữ lập trình bậc
cao, sau khi việc viết chương trình hoàn tất , các chương trình se chuyển các
câu lệnh cấp cao thành mã máy một cách tự động. Các mã này sau đó được

từ đó chọn ra được
loại vi điều khiển mà mình muốn làm việc.
- Màn hình tinh thể lỏng-LCD. Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

13
CHƯƠNG 3:
MÀN HÌNH LCD 1620A VÀ VI ĐIỀU KHIỂN CC1010
3.1. Màn hình tinh thể lỏng LCD 1602A
Hiện nay trên thế giới có rất nhiều loại màn hình tinh thể lỏng khác nhau
tùy theo mục đích sử dụng và đòi hỏi của công việc mà có những loại màn
hình khác nhau, yêu cầu công việc càng cao thì các loại màn hình tinh thể
lỏng lại có chất lượng khác nhau.Trong mô hình mạng cảm nhận WSN lại
không cần dùng đến loại hiện đại và chất lượng hình ảnh quá cao mà chỉ cần
dùng các loại màn hình đơn sắc ví dụ như loại 20x2 dòng, 20x4 dòng, ... do
yêu cầu hi
ển thị của nút mạng không cao như chỉ đưa ra thông tin dạng ký tự
hoàn toàn không cần màn hình hiển thị nhiều thông số vì vậy em chọn màn
hình tinh thể lỏng-LCD1602A để hiển thị kết quả thu được của nút mạng sau
khi đã tính toán sử lý dữ liệu thu được. Sau đây em xin trình bày về loại màn
hình tinh thể lỏng LCD 1602A .
Đặc điểm chung của màn hình tinh thể lỏng LCD 1602A
LCD 1602A là màn hình loại 16 ký tự * 2 đường, là loại màn hình đơn
sắc có một bộ ASCII chuẩn.Kiến trúc phần cứng gồm có 64 bytes CGRAM
(Charactor-Genarator) đây là bộ nhớ dùng để lưu trữ những ký tự được định

- Khi (RS) = 0 chọn thanh ghi mã lệnh, cho phép người dùng gửi lệnh
lên LCD.
- Khi (RS) = 1 chọn thanh ghi dữ liệu cho phép người dùng gửi dữ liệu
cần hiển thị lên LCD.
Hai đường A, K là nguồn +5V dùng để điều khiển độ sáng tối của màn
hình LCD, LCD 1602A có 8 đường dữ liệu từ DB0 đến DB7, hai đường Vss
và Vee điều khi
ển độ tương phản của LCD.
3.2. Cơ chế hoạt động và điều khiển hiển thị trên LCD
Khi LCD được khởi động để sẵn sàng nhận dữ liệu hoặc lệnh cần thiết
lập các đặc trưng của LCD như : độ dài giao diện, ghi mã lệnh (0x010) để tắt
màn hình hiển thị, ghi mã lệnh (0x001) để xóa màn hình hiển thị, ghi mã lệnh
hướng dịch chuyển của con trỏ, ghi mã lệnh cho phép hiển thị con trỏ ở trạng
thái chờ, ghi mã lệnh (0x20) để cho phép chế độ 4bit làm việc.nếu nhận m
ột
ký tự nó sẽ ghi ký tự đó lên màn hình và di chuyển con trỏ sang phải một
khoảng. Vùng con trỏ đánh dấu vùng tiếp theo là nơi ký tự tiếp theo được ghi
lên. Khi muốn viết một chuỗi ký tự, đầu tiên chúng ta cần thiết lập địa chỉ ban
đầu thường là 0 sau đó hiển thị lên màn hình.
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

15
Dữ liệu được đưa đến hiển thị trên màn hình LCD có độ dài 8 bit theo
hai chế độ là 4bit và 8 bit. Chế độ 4 bit chia byte thành hai phần 4bit cao gửi
trước, 4 bit thấp gửi sau, đồng thời gửi xung kích hoạt chân (E).Sau khi LCD
được khởi tạo ta có thể viết các lệnh hoặc dữ liệu lên mà hình LCD.Sau mỗi
lần viết mã lệnh lên LCD thì lại phải đợi một khoảng thời gian nhất định để

Trang

16
Thăm dò cờ báo bận BUSY FLAG:
- BF : Sét module đang trong quá trình sử lý
Dịch chuyển con trỏ tới vùng CGRAM để hiển thị A-Address đọc viết
mã ASCII để hiển thị D-DATA.
3.3. Vi điều khiển CC1010
Vấn đề lựa chọn vi điều khiển để xây dựng nút mạng là một vấn đề rất
quan trọng. Việc lựa chọn vi điều khiển hợp lý sẽ làm cho quá trình xây dựng
hệ thống được rút ngắn, hệ thống có thể hoạt động ổn định, độ tin cậy cao và
có thể đạt các chỉ tiêu đề ra như sau:
¾ Tiêu thụ năng lượng thấp.
¾
Bộ nhớ chương trình cũng như bộ nhớ dữ liệu có kích thước hợp lý.
¾ Kích thước vật lý nhỏ.
¾ Giá thành rẻ, dễ sử dụng, quen thuộc với người sử dụng....
Như đã giới thiệu ở chương 2 thì trên thế giới hiện nay có rất nhiều loại
vi điều khiển khác nhau và các loại vi điều khiển đó đều thỏa mãn được các
chỉ tiêu đề ra. Tuy nhiên 2 loại PIC và Motorola không có tích hợp truyền
nhận không dây hoặc khi sử dụng chúng ta phải thiết kế thêm nhiều các thành
phần phụ trợ rắc rối khác vì thế khi thiết kế hệ thống có thể gặp nhiều khó
khăn, phức tạp. Vi điều khiển CC1010 được lựa chọn để làm nút mạng là
thích hợp hơn tất cả các loại khác mà em từng được biết vì nó đã thỏa mãn
được nh
ững yêu cầu đã đặt ra.
Vi điều khiển CC1010 được cung cấp bởi hãng điện tử nổi tiếng
Chipcon, có lõi tương thích với vi điều khiển 8051 .Vi điều khiển CC1010 là
dòng vi điều khiển mạnh ,kích thước nhỏ ,tiêu thụ năng lượng ít ,có thời gian
sống dài ,có đủ tài nguyên phần cứng để đáp ứng chức năng mạng và chức

3.3.1. Bộ nhớ Flash:
CC1010 có tích hợp 32-kbyte bộ nhớ lập trình flash. Nó được chia thành
256 trang, mỗi trang dài 128 byte. Nó có thể được lập trình hoặc xoá dữ liệu
thông qua giao diện nối tiếp SPI hoặc thông qua vi nhân 8051. Tuổi thọ của
bộ nhớ Flash thường là 20.000 lần ghi/xoá. Bộ nhớ Flash có thể
được khoá để
không đọc/ghi được bằng cách thiết lập bít tương ứng thông qua giao diện nối
tiếp. Việc xoá chíp phải được thực hiện trên bộ nhớ không bị khoá. Ðiều này
cho phép ngăn chặn phần mềm không bị copy trái phép.

Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

18
3.3.2. Các cổng vào – ra chung:
Vi điều khiển CC1010 có tất cả 4 cổng vào - ra chung đó là: P0, P1, P2,
P3. Mỗi cổng liên kết với 2 thanh ghi là:Thanh ghi cổng (P0, P1, P2, P3) và
Thanh ghi hướng (P0dir, P1dir, P2dir, P3dir). Mỗi bit trên thanh ghi Px được
liên kết với bit tương ứng trên thanh ghi hướng PxDIR. Việc thiết lập
PxDIR.y sẽ làm cho chân Px.y trở thành đầu nhập dữ liệu và đưa vào bit Px
(y). Tất cả các chân đều là chân nhập dữ liệu khi mà reset lại chip. Việc xóa
bit hướng PxDir.y sẽ làm cho chân Px.y trở thành chân xuất dữ liệu từ
thanh
ghi Px(y). Một số cổng có những hàm chức năng thêm vào (ví dụ như giao
diện SPI). Các chức năng này có thể được dùng thông qua các thanh ghi khác
(như SPCR.SPE). Các chức năng thêm vào này có thể ghi đè lên bit hướng
được thiết lập trong PxDIR hoặc là không. Khi đọc thanh ghi Px, dữ liệu sẽ
lấy từ bộ đệm (Pad). Khi sử dụng các lệnh ghi - đọc dữ liệu thì giá trị của
Hình 3.2: Các thanh ghi của bộ định thời

3.3.4. Các cổng nối tiếp
CC1010 có tích hợp 2 cổng nối tiếp 0 và 1. Hai cổng này được điều
khiển thông qua thanh ghi SCON0 và SCON1. Dữ liều vào ra trên hai cổng
này sẽ được lưu tạm thời thông qua các thanh ghi đệm SBUF0 và SBUF1.
Cổng nối tiếp 0 được sử dụng trong các giao tiếp chung. Trong khi đó cổng
nối tiếp 1 được dùng chủ yếu cho mục đích gỡ rối.
3.3.5. Các bộ biến đổi ADC:
Bộ biến đổi ADC tích hợp trên chip được điều khiển bởi thanh ghi
ADCON và ADCON2. Có 2 chân analog được dùng để lấy mẫu được điều
khiển bởi ADCON.ADADR. Thanh ghi này được dùng để lựa chọn chân
AD1 như là chân so sánh bên ngoài (khi đang dùng AD0). Ðiện thế so sánh
được điều khiển bởi ADCON.ADCREF. Bit ADCON.AD_PD được lập khi
ADC không được dùng để tiết kiệm điện năng.
Bộ biến
đổi ADC hoạt động 1 trong 4 chế độ được lựa chọn bởi bit
ADCON.ADCM. Mỗi lần biến đổi thì mất 11 chu kì xung nhịp. Trong chế độ
xung nhịp 1 khi POWER.PMODE được thiết lập thì đồng hồ 32 kHz được
đưa trực tiếp vào bộ biến đổi ADC. Trong chế độ xung nhịp 0, xung nhịp đầu
vào của ADC lấy từ bộ dao động chính bằng cách sử dụng bộ chia được lựa
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

21
chọn bởi ADCON2.ADCDIV. Thanh ghi phải được thiết lập để tần số xung

khởi động lại hệ thống sẽ được sinh ra. Chế độ này thường được s
ử dụng cùng
với chế độ Stop Mode của 8051 và bộ dao động 32 kHz để tiết kiệm điện năng
Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

22
trong khi giám sát tín hiệu. Giá trị được lưu trữ trong ADDATH và ADDATL
không bị ảnh hưởng khi reset hệ thống.
3.4. Kết luận
Trong chương 3 đã giới thiệu một số các kiến thức cơ bản về vi điều
khiển CC1010, các đặc điểm chính, các thành phần mà ta sẽ tiến hành làm
việc trực tiếp đó là lập trình cho nó, một nội dung quan trọng nữa là các kiến
thức về loại màn hình được chọn để hiển thị kế quả của nút gốc sau khi nhận
được dữ liệu từ các nút cơ sở
đó là loại màn hình tinh thể lỏng – LCD 1602A,
cơ chế hiển thị và cách thức làm việc của nó.

Đồ án tốt nghiệp
Sinh viên: Đoàn Duy Hà – CT701

Trang

23
CHƯƠNG 4:
PHẦN MỀM NHÚNG CHO HỆ ĐO NHIỆT ĐỘ TỰ ĐỘNG
4.1. Tổng quan về phần mềm nhúng
Trong xu thế phát triển của khoa học ngày nay và trong lĩnh vực điều


Trang

24
- Kiểm thử
Việc xây dựng một phần mềm nhúng cũng tuân theo trình tự các bước
như trên. Ngoài ra, phần mềm nhúng còn có đặc trưng là làm việc trực tiếp
với phần cứng. Do đó để kiểm soát quá trình làm việc với các thành phần
chấp hành có đúng đắn không là điều kiện rất quan trọng.
4.3. Phần mềm nhúng viết cho vi điều khiển CC1010
Phần mềm nhúng viết cho vi điều khiển CC1010 được viết bằng ngôn
ngữ C, sử dụng các thư viện cho CC1010 do hãng chipcon cung cấp, sử dụng
chương trình dịch Keil uVersion 2.0.
Chương trình dịch Keil uVersion 2.0 do hãng Keil Electronic GmbH xây
dựng là một môi trường phát triển tích hợp (IDE) dùng để xây dựng các
chương trình cho các họ vi điều khiển tương thích họ 8051 của Intel. Đây là
bộ chương trình dịch cho phép người viết chương trình soạn thảo chương
trình, dịch chương trình và gỡ lỗi trên cùng một môi trường. Chương trình
dich hỗ trợ cả C và Assembly.
Phần mềm nhúng cho hệ được thiết kế nhằm mục đích sử dụng hệ thống
để cảnh báo sự kiện nguy hiểm ( vượt mức thông thường về nhiệt độ). Tức là
nếu thông tin nhiệt độ mà nút mạng thu nhận được vượt quá ngưỡng nào đó
thì nút gốc sẽ đưa ra cảnh báo. Ph
ần mềm được thiết kế để hệ hoạt động trong
2 trường hợp:
4.3.1. Trường hợp truyền đơn bước
Các nút mạng cảm nhận được nhiệt độ và truyền không dây trực tiếp về
nút gốc. Nút gốc tập hợp dữ liệu, hiển thị lên màn hình LCD. Sau đó nút gốc
sẽ tiến hành kiểm tra nhiệt độ các nút mạng xem có nút nào vượt quá ngưỡng
không, từ đó đư


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status