Xây dựng trình điều khiển

Một phần của tài liệu 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 (Trang 26 - 48)

Sau khi phần cứng đưa các tín hiệu vào trong board mạch ta cần có những chương trình để điều khiển quá trình thu nhận để thu giá trị của các đại lượng mong muốn. Tuy nhiên do hệ thống sử dụng hệ điều hành, nên các quá trình này phải được thực hiện thông qua các module driver. Hay nói cách khác là ta sẽ viết các module trong không gian nhân để điều khiển.

Đối với hệ thống này ta cần: 1 module điều khiển đo nhiệt độ, 1 module điều khiển đo độ ẩm tương đối. Các module này được viết bằng ngôn ngữ lập trình C trong môi trường Linux.

a)Trình điều khiển đo nhiệt độ

Để thực hiện được các bước này, ta phải xây dựng module với 4 file code chính với các nội dung chính trong các file như sau:

-File ds18b20_module.c: chứa các hàm thực hiện để cài đặt và gỡ bỏ driver trên board.

-File ds18b20_dev.c: chứa các hàm gọi hệ thống để ta có thể truy nhập vào thiết bị từ không gian người sử dụng.

-File ds18b20_ctrl.c: chứa các hàm giao tiếp giữa IC DS18B20 với board mạch để trực tiếp thực hiện đo, đọc số liệu và điều khiển sensor.

-File wire_ctrl.c: chứa các truyền, nhận số liệu, reset, search,… để thực hiện giao tiếp theo chuẩn 1-dây.

25

Hình 2.12 Sơ đồ thuật toán đo nhiệt độ sử dụng IC DS18B20

Sau khi biên dịch toàn bộ module ta sẽ thu được file ds18b20.ko. File này sẽ được sử dụng để cài đặt module như đã trình bày ở phần trên.

b)Module driver quản lý đo độ ẩm tương đối

Để đo độ ẩm tương đối sử dụng biến tử HS1100 và IC LM555 ta cần thực hiện theo các bước trong sơ đồ thuật toán như trên hình 2.14.

Để thực hiện được các bước này, ta phải xây dựng module với các phần chính sau:

- File hs1100_module.c: chứa các hàm thực hiện để cài đặt và gỡ bỏ driver trên board.

- File hs1100_dev.c: chứa các hàm gọi hệ thống để có thể truy nhập vào thiết bị từ không gian người sử dụng.

26

Do ở đây chỉ phải đếm tần số nên ta không cần các hàm thực hiện giao tiếp giữa thiết bị với mạch. Việc đếm tín hiệu được thực hiện qua ngắt và hiển thị kết quả luôn.

Module quản lý đo độ ẩm tương đối hoạt động theo sơ đồ thuật toán sau:

Hình 2.13 Sơ đồ thuật toán đo độ ẩm sử dụng HS1100 và IC LM555

Tương tự như đối với module đo nhiệt độ, sau khi biên dịch toàn bộ module đo độ ẩm ta thu được file hs1100.ko để sử dụng cho việc cài đặt cho module.

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ớ

Do trên board mạch có hỗ trợ cắm thẻ nhớ và được cài hệ điều hành, nên ta có thể thực hiện lưu trữ thông tin trên thẻ nhớ dưới dạng file. Sau mỗi lần thực hiện đo xong, thì sẽ tự động ghi số liệu lên 1 file trong thẻ nhớ, đảm bảo cho người sử dụng có thể đến rút thẻ nhớ lấy số liệu bất cứ khi nào.

27

Phần mềm quản lý đo và lưu số liệu trên thẻ nhớ được viết bằng ngôn ngữ C có sơ đồ thuật toán như sau:

Hình 2.14 Sơ đồ thuật toán phần mềm quản lý đo và lưu trữ

2.5.8 Truyền số liệu và điều khiển từ xa qua mạng

Hệ thống đo đạc thu thập đã xây dựng ở trên sử dụng hệ điều hành Linux và board mạch NGW100 vì thế hệ thống đã hỗ trợ sẵn các giao thức TCP/IP WebServer cho phép truyền dữ liệu qua card mạng Ethernet và có thể thiết lập như một máy tính dịch vụ Web.

Công việc phải làm để xây dựng hệ truyền số liệu và điều khiển từ xa qua mạng:

- Xây dựng giao diện người dùng, quản lý người dùng.

28

- Xây dựng cơ chế truyền lệnh và nhận lệnh từ người dùng quản lý quá trình đo.

Xây dựng Web server trên hệ thống

Hệ thống được xây dựng chủ yếu phục vụ cho việc đo đạc các thông tin ở xa. Do đó một trong những yêu cầu đối với hệ thống là khả năng truyền và hiển thị thông tin đơn giản, tiện dụng cho người sử dụng. Từ yêu cầu đó, chúng tôi đã xây dựng Web server trên hệ thống, cho phép người sử dụng có thể truy cập vào hệ thống để lấy thông tin và điều khiển từ bất cứ nơi nào có internet thông qua giao diện web html.

Web server cho hệ thống gồm có 2 phần chính như sau:

- Phần hiển thị nội dung: là nơi hiển thị các thông tin về nhiệt độ, độ ẩm trong lần đo gần nhất và file dữ liệu cho phép người sử dụng download file số liệu về.

- Phần thiết lập: cho phép người sử dụng thay đổi thông tin về khoảng thời gian giữa các lần đo, hoặc xóa file số liệu sau khi đã nhận về nhằm giải phóng bộ nhớ lưu trữ để có thể hoạt động được lâu hơn. Tuy nhiên, người sử dụng buộc phải đăng nhập để có thể thiết lập hệ thống.

Từ thực tế với những yêu cầu đối với Web server của hệ thống, tôi đã thiết kế xây dựng Web server cho hệ thống sử dụng kết hợp ngôn ngữ HTML làm giao diện chính và Shell Script (thực chất là sử dụng trực tiếp các lệnh của hệ điều hành) để thực hiện các tác vụ khác như thay đổi chức năng, hiển thị các thông tin luôn cập nhật.

29

CHƢƠNG 3 : KẾT QUẢ KHẢO SÁT VÀ ĐÁNH GIÁ THIẾT BỊ

3.1 Khảo sát giao tiếp 1-dây với cảm biến đo nhiệt độ DS18b20

Việc khảo sát giao tiếp 1-dây được thực hiện bằng cách sử dụng máy giao động ký quan sát giao tiếp giữa thiết bị chủ với cảm biến. Thiết bị chủ gửi xung reset, gửi lệnh Skiprom, gửi lệnh Convert T, Read Scratchpad, và đọc dữ liệu gửi về từ DS18B20.

Hình 3.1 Giản đồ giao động ký tín hiệu giao tiếp 1-dây của cảm biến DS18B20.

30

Hình 3.2 Giản đồ dao động ký các xung của một quá trình nhận lệnh và truyền dữ liệu của cảm biến DS18B20.

Trong đó chia thành 3 phần :

Phần 1: là tín hiệu của lệnh SKIP ROM (CCh) và CONVERT T(44h) truyền từ bộ điều khiển tới cảm biến.

Hình 3.3 giản đồ xung của giai đoạn 1 của quá trình nhận lệnh và truyền dữ liệu của cảm biến DS18B20.

Xung 11 là từ bộ điều khiển phát ra (reset) truyền tới cảm biến, xung 12 là từ cảm biến trả lời lại bộ điều khiển (báo hiện có mặt). Các xung 13 là tín hiệu

31

mang câu lệnh SKIP ROM (CCh) và CONVERT T(44h) từ bộ điều khiển truyền đi tới cảm biến.

Phần 2: là tín hiệu của lệnh SKIP ROM (CCh) và READ SCRATCHPAD (BEh) truyền từ bộ điều khiển tới cảm biến.

Hình 3.4 giản đồ xung của giai đoạn 2 của quá trình nhận lệnh và truyền dữ liệu của cảm biến DS18B20.

Xung 21 là từ bộ điều khiển phát ra (reset) truyền tới cảm biến, xung 22 là từ cảm biến trả lời lại bộ điều khiển (báo hiện có mặt). Các xung 23 là tín hiệu mang câu lệnh SKIP ROM (CCh) và READ SCRATCHPAD (BEh) từ bộ điều khiển truyền đi tới cảm biến.

32

Hình 3.5 giản đồ xung của giai đoạn 3- nhận dữ liệu từ cảm biến, của quá trình nhận lệnh và truyền dữ liệu của cảm biến DS18B20.

Như trên ta thấy ứng với mỗi bit dữ liệu được truyền đi có một khoảng thời gian nhỏ đường truyền được kéo lên mức cao, tạo thành xung đồng bộ.

3.2 Khảo sát hệ mạch đo độ ẩm

Khảo sát hệ mạch đo độ ẩm với sơ đồ mạch ở hình 2.1.

Với R2=470k R4=68k và cảm biến HS1100

Việc khảo sát được tiến hành như sau:

Đưa thiết bị đo chuẩn và cảm biến vào cùng một hộp kín. Thiết bị đo chuẩn cho phép theo dõi được sự thay đổi của nhiệt độ và độ ẩm trong hộp kín khi ta tiến hành thí nghiệm. Tiếp theo, thay đổi chậm độ ẩm tương đối của hộp kín để hộp kín có độ ẩm tương đối đồng đều, ghi lại độ ẩm từ thiết bị đo chuẩn và tần số của mạch. Qua việc tiến hành khảo sát thu được kết quả như sau:

RH% 48 51 55 58 61 64 67 70

F(Hz) 7908.4 7879.8 7816.8 7785.5 7720.1 7678.8 7635.8 7583.1

F(Hz)-

math 7941.28 7896.84 7837.08 7791.82 7746.15 7700.01 7653.37 7606.17

33 Trong đó:

RH % là độ ẩm tương đối đọc từ thiết bị đo chuẩn F(Hz) là tần số đo được của mạch

F(Hz)- math là tần số tính toán từ công thức đưa ra bởi datasheet của nhà sản xuất .

Và đồ thị thu được như sau:

Hình 3.6 Đồ thị so sánh tần số của hệ mạch đo độ ẩm từ kết quả tính toán và đo thực tế khi thay đổi độ ẩm tương đối

Sai số tính được là : 21.8 Hz

Nhận xét: từ đồ thị ta thấy hệ mạch đo có tần số nhỏ hơn so với tần số tính từ datasheet của nhà sản xuất cung cấp. Điều này là do hệ mạch có điện dung ký sinh mà ta đã bỏ qua trong quá trình tính toán. Ta có thể điều chỉnh lại trong quá trình chuẩn hóa hệ mạch đo.

34

3.3 Chuẩn hóa hệ mạch đo độ ẩm

Chuẩn hóa sau khi đo và xử lý số liệu. Bằng phương pháp tối bình phương tối thiểu. Ta thu được điện dung ký sinh của hệ = 0.0035 pF. Và chỉnh lại sự phụ thuộc tần số vào độ ẩm như sau:

12 7 3 5 2 3

1

ln(2)182.3 (1.25 1.36 2.19 0.90 0.0035)(68000 2 * 470000)

f

RH RH RH

Dựa trên đồ thị của sự phụ thuộc tần số F vào RH để đơn giản hóa ta có thể coi quan hệ trên là tuyến tính.

f=k.RH + f0

Dựa vào bảng số liệu khảo sát và kết quả xử lý số liệu tính được:

k = - 14.805 ; và f0 = 8680

hay ta có

RH (%) = (8680 – f) / 14.805

Từ các kết quả này ta sẽ sử dụng vào việc tính độ ẩm của hệ thống, đo tần số f ta tính được độ ẩm tương đối RH .

3.4 Khảo sát căn chỉnh và chuẩn hóa hệ đo

Khảo sát hệ đo nhiệt độ.

Việc khảo sát hệ đo nhiệt độ được thực hiện bằng cách cho cảm biến nhiệt độ đo nhiệt độ của nước cân bằng nhiệt với một nhiệt kế lấy làm chuẩn (ở đây là nhiệt kế Ebro TTX 100 của Đức). Quá trình khảo sát lấy số liệu chia thành hai giai đoạn.

35

- Giai đoạn 1, đo nhiệt độ của 1 cốc nước đá đang tan, để đá tan hết rồi, nhiệt độ của cốc nước tăng dần về nhiệt độ môi trường (22.4 độ C) và ghi số liệu.

- Giai đoạn 2, đo nhiệt độ của cốc nước nóng, để nước nóng nguội dần về nhiệt độ môi trường (22.4 độ C) và ghi số liệu.

Kết quả quá trình đo được bảng số liệu sau:

Đo bằng TTX 100

Ebro Đo bằng ds18b20 Sai khác

Đơn vị [độ C] Đơn vị [độ C] Đơn vị [độ C]

0.3 0.4 0.1 1.4 1.5 0.1 1.9 2 0.1 5.3 5.3 0 5.7 5.8 0.1 5.9 5.9 0 6 6 0 6.2 6.3 0.1 6.8 6.9 0.1 7.8 7.8 0 8 8.1 0.1 8.2 8.3 0.1 8.9 8.9 0 9.2 9.2 0 9.5 9.6 0.1 10.3 10.3 0 11 11 0 11.5 11.6 0.1 12 12.1 0.1 15.3 15.5 0.2 16.1 16.1 0 17.3 17.4 0.1 19.1 19.3 0.2 21.7 21.7 0 22.4 22.5 0.1 23.6 23.6 0 25.1 25.1 0 31.2 31.4 0.2

36 33.6 33.8 0.2 35.4 35.7 0.3 37.2 37.1 0.1 38.7 38.9 0.2 42.3 42.2 0.1 45.6 45.3 0.3 48.5 48.8 0.3 52.3 52.6 0.3 53.4 53.6 0.2 54.4 54.2 0.2 56 55.8 0.2 57.6 57.6 0 58.8 58.8 0 60 60.1 0.1 62.1 61.9 0.2 67.5 67.2 0.3 70.4 70.1 0.3 73.8 73.5 0.3 77.1 77.2 0.1 79.2 79.3 0.1 82.5 82.8 0.3 88.5 88.1 0.4

37

Hình 3.7 Đồ thị khảo sát đánh giá hệ đo nhiệt độ

Độ lệch chuẩn: 0.168

Bản thân thiết bị đọc chuẩn có sai số 0.5 độ C.

Do đó sai số đo nhiệt độ của hệ thống là: 0.67 độ C

Khảo sát hệ đo độ ẩm

Việc khảo sát được tiến hành như sau:

Đưa thiết bị đo chuẩn và cảm biến vào cùng một hộp kín. Thiết bị đo chuẩn cho phép theo dõi được sự thay đổi của nhiệt độ và độ ẩm trong hộp kín khi ta tiến hành thí nghiệm.

Tiếp theo, thay đổi chậm độ ẩm tương đối của hộp kín để hộp kín có độ ẩm tương đối đồng đều, ghi lại độ ẩm từ thiết bị đo chuẩn và độ ẩm đo được từ hệ thống. Qua việc tiến hành khảo sát thu được kết quả như sau:

38 Đo từ thiết bị chuẩn % 48 51 55 58 61 64 67 70 Đo từ hệ thống % 45.8 50.5 56.1 59.7 62.3 65.1 68.3 72.2 Sai khác 2.2 0.5 1.1 1.7 1.3 1.1 1.3 2.2

Bảng 3.3 số liệu khảo sát việc đo độ ẩm của hệ thống

Hình 3.8 Đồ thị khảo sát đánh giá hệ đo độ ẩm

Độ lệch chuẩn: 1.53

Bản thân thiết bị đọc chuẩn có sai số 1%

Do đó sai số đo độ ẩm của hệ thống là: 2.53 % RH

39

Dựa trên những yêu cầu, các đặc điểm thiết kế như trong phần đối tượng và phương pháp nghiên cứu, tôi đã xây dựng hoàn chỉnh hệ thống thu thập số liệu trên nền linux nhúng. Hình ảnh của hệ thống.

Hình 3.9 Hệ thống thu thập số liệu trên nền linux nhúng

3.6 Thu thập số liệu và điều khiển từ xa qua mạng.

Trên hệ thống có tích hợp web server để hiển thị số liệu đo đạc ở bên phải và cho phép đăng nhập ở bên trái. Sau khi đăng nhập thì khu vực bên trái hiển thị cho phép người thay đổi các thiết lập như thời gian giữa các lần đo, xóa file dữ liệu.

40

Hình 3.10 Web server của hệ thống

41

Hình 3.12 Giao diện đăng nhập hệ thống

Hình 3.13 Giao diện thay đổi các thiết lập

Hệ thống với thiết kế và giao diện như vậy đã có thể đảm bảo khả năng thu thập thông tin về nhiệt độ và độ ẩm tương đối của không khí. Ngoài ra, người sử dụng có thể truy cập lấy thông tin và thay đổi cấu hình qua mạng internet.

42

Các số liệu đo được được lưu dưới dạng file (file data.dat). File này có thể download thông qua mạng hoặc lấy từ thẻ nhớ của board mạch.

File số liệu có cấu trúc dạng cột. Gồm 3 cột: cột 1 là thông tin về nhiệt độ, cột 2 là thông tin về độ ẩm, cột 3 là thời gian đo.

Hình 3.14 File số liệu mẫu

Từ file số liệu này ta có thể dùng máy tính tách ra các thành phần khác nhau và xây dựng đồ thị biến đổi theo thời gian của nhiệt độ:

43

Hình 3.15 Đồ thị sự biến đổi theo thời gian của nhiệt độ tại phòng thí nghiệm

Hình 3.16 Đồ thị sự biến đổi theo thời gian của độ ẩm tương đối tại phòng thí nghiệm

3.7 Khả năng ứng dụng thực tiễn

Đề tài luận văn có khả năng ứng dụng thực tiễn rất lớn. Như trong những việc đo đạc thu thập số liệu môi trường phục vụ cho công việc dự báo thời tiết,

44

khí tượng thủy văn, nghiên cứu môi trường. Ứng dụng cho việc theo dõi, điều chỉnh điều kiện môi trường của phòng làm việc, kiểm soát các thông số cho nhà ở, kho xưởng, hầm khai thác than quặng… đảm bảo cho sức khỏe, điều kiện sống của con người hoặc phục vụ công việc nghiên cứu. Ứng dụng để theo dõi, điều chỉnh điều kiện môi trường để bảo vệ các kho dự trữ lương thực, các trang thiết bị vật tư, máy móc…

3.8 Tiềm năng, mở rộng, nâng cấp hệ thống

Tiềm năng:

Hệ thống dễ dàng nâng cấp và ứng dụng vào thực tế. Hệ cho phép kết nối gần như không hạn chế số lượng cảm biến nhiệt độ, có thể đo đồng thời nhiệt độ của nhiều nơi, nhiều vị trí khác nhau, cho phép thu thập, kiểm soát nhiệt độ của nhiều đối tượng cùng lúc. Hệ thống có thể kết nối thêm các cảm biến các thông số khác theo yêu cầu sử dụng như cảm biến nồng độ khí CO2 cảm biến cường độ

Một phần của tài liệu 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 (Trang 26 - 48)

Tải bản đầy đủ (PDF)

(48 trang)