XÂY DỰNG HỆ THỐNG ĐO ĐẠC, THU THẬP VÀ XỬ LÝ TÍN HIỆU SỐ CÁC THÔNG SỐ MÔI TRƯỜNG TỪ XA QUA MẠNG ETHERNET TRÊN NỀN LINUX NHÚNG - Pdf 20

1 ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Vũ Ngọc Ha XÂY DỰNG HỆ THỐNG ĐO ĐẠC, THU THẬP VÀ XỬ LÝ TÍN
HIỆU SỐ CÁC THÔNG SỐ MÔI TRƢỜNG TỪ XA QUA
MẠNGETHERNET TRÊN NỀN LINUX NHÚNG
LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - 2013

2 ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN


1.3 Hệ thống nhúng và Linux 16
1.3.1 Thế nào là một hệ thống nhúng 16
1.3.2 Hệ điều hành Linux 17
1.3.3 Các hiểu biết cơ sở phần cứng 18
1.3.4 Bộ vi xử lý độc lập 19
1.3.5 Bộ vi xử lý tích hợp 19
1.3.6 Board mạch NGW100 20
1.3.7 Giao thức và truyền tin qua mạng 23
CHƢƠNG 2 : ĐỐI TƢỢNG VÀ PHƢƠNG PHÁP NGHIÊN CỨU 26
2.1 Các đại lƣợng đo 26
2.2 Nhiệt độ và cảm biến đo nhiệt độ 26
2.2.1 Nhiệt độ 26
2.2.2 Cảm biến đo nhiệt độ DS18B20 27
2.2.3 Giao tiếp chuẩn 1-dây 28
2.2.4 Truyền và xử lý tín hiệu số bằng chuẩn 1-dây cho cảm biến nhiệt độ
DS18B20 30
2.3 Độ ẩm tƣơng đối và cảm biến đo nhiệt độ tƣơng đối 36
2.3.1 Độ ẩm tƣơng đối 36
2.3.2 Cảm biến đo độ ẩm tƣơng đối 36
5

2.4 Xây dựng phần cứng thiết bị 42
2.4.1 Ghép nối phần cứng mở rộng 42
2.5 Tìm hiểu cơ sở cài đặt và thiết kế phần mềm 42
2.5.1 Nhân Linux 43
2.5.2 Cấu trúc Linux: 44
2.5.3 Chuẩn bị và biên dịch nhân Linux 45
2.5.4 Xây dựng hệ thu thập số liệu 48
2.5.6 Xây dựng trình điều khiển 48
2.5.7 Xây dựng phần mềm quản lý đo và lƣu số liệu trên thẻ nhớ 51

trữ ngày nay thường được thực hiện trên cơ sở điện toán. Việc xử lý thông tin
được thực hiện tự động hoàn toàn hoặc tự động một phần thông qua hệ thống
điện toán, thường thực hiệu bằng ít nhất một bộ vi xử lý và một chương trình
hoạt động trên vi xử lý đó. Việc của người thực hiện công việc liên quan hệ
thống này là xây dựng hệ thống gồm phần cứng và phần mềm, vận hành hệ
thống, sử dụng và đánh giá các kết quả đo. Một hệ thống đo đạc và điều khiển tự
động có các chức năng đo đạc các đại lượng, thông số của đối tượng, truyền
thông, lưu trữ, xử lý, phân tích đánh giá và còn có thể đưa ra các tín hiệu điều
khiển phản hồi (feedback) hoàn toàn tự động.
Sơ đồ khối của một hệ thống đo tự động:
4 Hình 1.1 Sơ đồ khối của một hệ thống đo tự động
Tuy nhiên trong luận văn này chỉ đề cập đến bộ thu thập số liệu là hệ thống
đo không có phần phản hồi. Nhiệm vụ của bộ thu thập số liệu là đo đạc và lưu
trữ, truyền thông số liệu. Và cụ thể hơn và việc thu thập, đo đạc các thông số của
môi trường.
1.2 Bộ thu thập số liệu
1.2.1 Giới thiệu bộ thu thập số liệu
Bộ thu thập số liệu (Data logger) là thiết bị điện tử có khả năng đo đạc tự
động và lưu trữ các số liệu đo được theo thời gian. Do có khả năng tự động đo và
lưu trữ số liệu liên tục 24/24 giờ trong ngày nên thiết bị này thường được sử
dụng để hỗ trợ đo các đại lượng vật lý mà yêu cầu phải đo ở xa phòng thí nghiệm
và thực hiện đo nhiều lần liên tiếp trong một khoảng thời gian dài. Trên thực tế,
những đại lượng vật lý thường được đo là những thông tin liên quan đến các
thông số của môi trường nghiên cứu như nhiệt độ, độ ẩm, áp suất, tốc độ gió,
hướng gió, theo các tọa độ GPS,… Nhờ vào thiết bị này mà các nhà nghiên cứu
có thể dễ dàng có được những thông tin chi tiết về sự biến đổi của các đại lượng
nghiên cứu cũng như những thay đổi của môi trường.

năng hoạt động liên tục lâu dài nên cần sử dụng nguồn DC và tiêu thụ ít năng
lượng.
Hệ thống được đặt ở xa nên khó có thể có người thường xuyên theo dõi
sửa chữa được nên hệ thống phải có độ bền cao, chạy ổn định, tránh được các lỗi
thông thường có thể xảy ra làm ảnh hưởng tới việc đo đạc và lưu trữ số liệu.
Các kết quả nghiên cứu không thể chỉ dựa trên số liệu đo đạc của một đại
lượng mà còn phải dựa trên các yếu tố môi trường khác nữa nên hệ thống phải có
khả năng đo đồng thời nhiều đại lượng khác nhau.
Các đại lượng đo thường là các đại lượng biến đổi chậm theo thời gian.
Bởi nếu không như vậy thì số lượng thông tin đo được sẽ là một khối lượng
khổng lồ.
Một số loại data logger hỗ trợ thêm khả năng xử lý thông tin trước khi lưu
trữ. Nhờ vậy làm cho số liệu gọn hơn tiết kiệm dung lượng lưu trữ, đồng thời
giảm bớt các công đoạn trong quá trình xử lý các số liệu thu thập được. Ngoài ra,
một số hệ thống thông minh còn cho phép người sử dụng thay đổi cấu hình thiết
bị từ xa (thêm bớt các đại lượng đo, xóa các số liệu cũ,…) cho phù hợp với mục
đích của người sử dụng cũng như để tiết kiệm bộ nhớ.
1.3 Hệ thống nhúng và Linux
1.3.1 Thế nào là một hệ thống nhúng
Hệ thống nhúng (Embeded system) được sử dụng để chỉ những hệ vi mạch
với rất nhiều hình dạng và kích thước khác nhau từ những hệ thống giữ liệu máy
chủ máy trạm tới các máy nghe nhạc hay chiếc điện thoại, hay ngay cả chiếc máy
7

tính cá nhân cũng có thể được gọi là hệ thống nhúng tuy nhiên ta ít sử dụng với
nghĩa này. Thông thường “hệ thống nhúng” để chỉ những hệ có các đặc trưng
sau:
- Sử dụng ít nhất một bộ xử lý điện toán, như một bộ vi điều khiển, DSP,
FPGA
- Sử dụng cho một ứng dụng hoặc một chức năng cụ thể. Thường các chứ

điều hành thương mại thì Linux hoàn toàn miễn phí, và cho phép người dùng tự
do tìm hiểu, tự do phát triển, và hoàn toàn không bị phụ thuộc vào nhà cung cấp.
Một đặc tính nổi trội của nó là được phát triển bởi một mô hình phát triển phần
mềm nguồn mở hiệu quả với một cộng đồng sử dụng đông đảo, có trình độ cao,
và dễ dàng chia sẻ, chuyển giao kiến thức, mã nguồn, kinh nghiệm Chính vì
những lý do trên mà luận văn này sử dụng Linux làm hệ điều hành của hệ thiết
bị.
1.3.6 Board mạch NGW100
Board mạch NGW100 là một trong những kit phát triển được sản xuất bởi
công ty Atmel. Board được thiết kế với bộ xử lý trung tâm là ARM 32 bit
AP7000, có hỗ trợ bộ nhớ FLASH ngoài (8 MB song song, và 8MB nối tiếp),
RAM ngoài (32 MB), khe cắm thẻ nhớ SD/MMC, có 2 cổng kết nối Ethernet (1
WAN và 1 LAN), 1 cổng giao tiếp USB và 1 cổng COM để truyền số liệu nối
tiếp theo chuẩn RS232. Ngoài ra hầu hết các chân IN/OUT và các chân chức
năng chưa sử dụng đến đều được đưa ra ngoài cho phép người sử dụng có thể kết
nối với các thiết bị ngoại vi khác.
9 Hình 1.3 Ảnh thực tế board mạch NGW100

Ta có thể thấy board mạch này hoàn toàn phù hợp với yêu cầu của đề tài
do các đặc điểm sau:
- Đây là board phát triển phổ biến với giá thành rẻ nên có thể sử dụng làm
các sản phẩm thương mại.
- Trên board có hỗ trợ nhiều chuẩn giao tiếp như USB, Internet, RS232,
SPI, giúp cho hệ thống có nhiều lựa chọn trong việc xuất thông tin cho người
sử dụng.
- Board có hỗ trợ thêm bộ nhớ ngoài FLASH và thẻ nhớ nên có thể cài đặt
hệ điều hành và lưu trữ dữ liệu một cách dễ dàng phù hợp với yêu cầu ghi lại số

C với độ phân
giải từ 9 đến 12 bit, độ chính xác 0.5
o
C (trong khoảng -10
o
C đến 85
o
C) hoàn toàn
đáp ứng được yêu cầu phép đo. Là IC đo nhiệt độ giao tiếp số, mỗi giá trị của
nhiệt độ tương ứng với một con số nhị phân trong một độ phân giải xác định.
Cảm biến đã chuẩn hóa sẵn bởi nhà sản xuất nên không cần phải chuẩn hóa như
trong cảm biến tuyến tính.
2.2.2 Cảm biến đo nhiệt độ DS18B20
Cảm biến nhiệt độ DS18B20 sử dụng phương thức giao tiếp “1-dây” (1-
wire). Đây là giao tiếp có nhiều ưu điểm, giao tiếp đơn giản, kết nối dễ dàng chỉ
với một dây truyền dữ liệu. Mỗi vi mạch đo nhiệt độ DS18B20 có một mã số
định danh duy nhất, được khắc bằng laser trong quá trình chế tạo vi mạch nên
nhiều vi mạch DS18B20 có thể cùng kết nối vào một bus 1-dây mà không có sự
nhầm lẫn. Đặc điểm này làm cho việc lắp đặt nhiều cảm biến nhiệt độ tại nhiều
vị trí khác nhau trở nên dễ dàng và với chi phí thấp. Theo chuẩn 1-dây độ dài tối
đa cho phép của bus là 300 m. Số lượng các cảm biến nối vào bus gần như không
hạn chế. Đầu đo nhiệt độ số DS18B20 đưa ra số liệu để biểu thị nhiệt độ đo được
dưới dạng mã nhị phân 9 đến 12 bit. Các thông tin được gửi đến và nhận về từ
DS18B20 trên giao diện 1-dây, do đó chỉ cần hai đường dẫn gồm một đường cho
tín hiệu và một đường làm dây đất là đủ để kết nối vi điều khiển đến điểm đo.
Nguồn nuôi cho các thao tác ghi/đọc/chuyển đổi có thể được cấp riêng hoặc được
trích từ đường tín hiệu.
Cảm biến DS18B20 khi sử dụng nguồn riêng được mắc như sau:
12


Thực hiện
Reset
Thiết lập các thiết bị và đưa
chúng về trạng thái đợi lệnh
Kéo bus xuống đất 480
µS, Thả nổi bus 70 µS
(Nếu có thiết bị nhận
được thì nó kéo bus
xuống đất)
Chờ 410 µS
Ghi Bit 0
Gửi Bit 0 đến các thiết bị
Kéo bus xuống đất 60 µS
Thả nổi bus 10 µS
Ghi Bit 1
Gửi Bit 1 đến các thiết bị
Kéo bus xuống đất 6 µS
Thả nổi bus 64 µS
Đọc Bit
Đọc 1 Bit từ thiết bị
Kéo bus xuống đất 6 µS
Thả nổi bus 9 µS
14

(Nếu là Bit 0 thì thiết bị
kéo bus xuống, là Bit 1
thì thả nổi)
Chờ đợi 55 µS

Hệ Bus 1-dây được mô tả như sau:

thiết bị 2
thiết bị N
thiết bị được gọi
(theo ROM CODE)
thiết bị được gọi, trả lời lại
bằng xung (Presence). Và
bắt đầu truyền dữ liệu (nếu
lệnh điều kiểu yêu cầu)
16 2.3 Độ ẩm tƣơng đối và cảm biến đo nhiệt độ tƣơng đối
Để đo được độ ẩm tương đối ta có thể sử dụng biến tử với điện dung hoặc
điện trở thay đổi phụ thuộc vào độ ẩm không khí. Sau đó sử dụng các phương
pháp khác để xác định giá trị điện dung hoặc điện trở đó. Trong hệ thống này,
biến tử được dùng là loại điện dung HS1100 được sản xuất bởi Humirel.

Hình 2.6 cảm biến độ ẩm tương đối HS1100
Biến tử này đã được nhà sản xuất đưa ra hàm phụ thuộc của giá trị điện
dung vào độ ẩm tương đối của không khí.
7 3 5 2 3
0
* 1,25.10 1,36.10 2,19.10 0.90C C RH RH RH

Trong đó:
C là điện dung của biến tử ở độ ẩm hiện tại
RH % là độ ẩm không khí hiện tại
C
0
là điện dung của ứng với độ ẩm tương đối là 55%


Hình 2.9 Sơ đồ khối miêu tả hoạt động của hệ đo độ ẩm tương đối

Đánh giá cảm biến độ ẩm tương đối HS1100:
Độ ẩm tương đối
RH% của môi
trường (không khí)
Biến tử HS1101
Điện dung của
cảm biến theo độ
ẩm C=k*RH+Co
Xung dao động có
tần số (chu kỳ) phụ
thuộc vào độ ẩm
tương đối
IC LM555
Đếm tần số (đo chu
kỳ) ,Tính được độ
ẩm tương đối %RH
Đếm tần
Xử lý , Lưu trữ
truyền số liệu,
(hiển thị)
xử lý
Thu thập xử lý và
đánh giá số liệu
nơi nhận
19

HS1100 là cảm biến độ ẩm khá nhỏ gọn hoạt động trên cơ sở biến đổi điện

toàn bộ hoạt động của hệ. Từ việc điều khiển, đo đạc lấy số liệu, giao tiếp đến
việc tính toán và xử lý số liệu. Với hệ thống đo đạc thu thập xử lý số liệu và
truyền qua mạng đề cập trong luận văn này được cài đặt hệ điều hành Linux. Do
vậy ta cần tìm hiểu về hệ điều hành Linux, và từ đó có thể cài đặt Linux lên hệ
thống, đồng thời viết các chương trình chạy trên Linux để đảm nhận các công
việc theo yêu cầu của hệ thống.
2.5.2 Cấu trúc Linux:
Hệ điều hành GNU/Linux được xây dựng bao gồm có 2 vùng cơ bản với
các vai trò và chức năng khác nhau để đảm bảo hệ thống có thể hoạt động ổn
định và tránh những sai sót gây hư hỏng toàn bộ hệ thống.
- Vùng người sử dụng (hay còn gọi là vùng ứng dụng) bao gồm các phần
mềm, các dòng lệnh mà người sử dụng nhập trực tiếp vào máy tính để thực thi.
Các phần mềm, mã lệnh sẽ được đưa xuống cấp độ nhân một cách trực tiếp hoặc
thông qua các thư viện của GNU.

21

Hình 2.10 Kiến trúc của hệ điều hành GNU/Linux
- Vùng nhân gồm có nhân Linux, giao thức gọi hệ thống, và các kiến trúc
phụ thuộc vào nhân khác. Trong đó:
+ Giao thức gọi hệ thống nằm ở phía trên cùng, là nơi thực hiện các hàm
gọi từ vùng người sử dụng bằng cách chuyển các hàm đó vào nhân Linux và xuất
thông tin trở ra cho người sử dụng.
+ Nhân Linux là bộ phận trung tâm quan trọng nhất của vùng nhân cũng
như của hệ điều hành Linux. Đây là nơi quản lý toàn bộ quản lý tài nguyên của
hệ thống. Bao gồm: quản lý tiến trình, quản lý bộ nhớ, quản lý tập tin, quản lý
in/out, quản lý lưu trữ, quản lý ngắt,…
+ Các kiến trúc phụ thuộc vào nhân hay còn gọi là các driver là các
module thực hiện việc giao tiếp giữa nhân Linux với các thiết bị khác như ổ
cứng, card mạng, card màn hình,…

được thực hiện bằng cách sử dụng mạch nạp JTAG-ICE mkll của Atmel hoặc
một số mạch nạp tương đương khác hỗ trợ nạp qua giao tiếp JTAG. Sau bước
này mặc dù ta chưa có hệ điều hành hoàn chỉnh, tuy nhiên ta đã có thể khởi động,
giao tiếp với thẻ nhớ, trao đổi thông tin với các thiết bị khác qua RS232, FTP, thẻ
nhớ,…
- Bước 4: Đưa file root.jfsf2 vào vùng nhớ song song. Ta có thể thực hiện
thông qua phương pháp load file sử dụng cổng COM, hoặc thẻ nhớ, hoặc FTP.
- Bước 5: Hoàn thiện cài đặt bằng cách đưa file usr.jfsf vào bộ nhớ
FLASH nối tiếp. Sau bước 4 ta đã có thể khởi động hệ điều hành nhưng với một
số lệnh, chức năng chưa được thiết lập đầy đủ. Tuy nhiên, ta có thể sử dụng các
lệnh đó để cài đặt tiếp phần còn thiếu (usr.jfsf2). Ta có thể đưa vào qua thẻ nhớ,
FTP, ssh (một ứng dụng dùng để trao đổi file trên linux)…
23

Sau khi hoàn thành 5 bước trên, ta đã có một hệ điều hành độc lập trên
board mạch. Thông qua truyền thông UART đến một máy tính khác ta có thể đưa
các lệnh điều khiển và các thông báo từ hệ điều hành GNU/Linux trên board như
trên một máy tính cá nhân thông thường.

Hình 2.11 Giao diện thực tế terminal của hệ điều hành Linux trên thiết bị hiển thị
qua màn hình máy tính

Ta có thể kiểm tra một số chức năng của hệ điều hành thông qua nhập một
số lệnh cơ bản của Linux vào cửa sổ terminal ở trên.
2.5.4 Xây dựng hệ thu thập số liệu
Từ nhu cầu thực tiễn, tôi xây dựng hệ thống thu thập số liệu dựa trên ba
khả năng chính như sau:
- Khả năng thu thập số liệu về nhiệt độ và độ ẩm.

Trích đoạn Xây dựng trình điều khiển Khảo sát căn chỉnh và chuẩn hóa hệ đo
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