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

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 47)

CHƢƠNG 2 : ĐỐI TƢỢNG VÀ PHƢƠNG PHÁP NGHIÊN CỨU

2.5 Tìm hiểu cơ sở cài đặt và thiết kế phần mềm

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

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.

Module đo nhiệt độ thực hiện theo sơ đồ thuật toán sau:

Hình 2.13 Sơ đồ thuật tố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 tố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.

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 tốn sau:

Hình 2.14 Sơ đồ thuật tố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.

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 tốn nhƣ sau:

Hình 2.15 Sơ đồ thuật tố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.

- Xây dựng cơ chế truyền tập tin, quản lý tập tin và nhận tập tin.

- 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ừ 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.

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.

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

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.

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

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 tố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 tố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 q trình tính tốn. Ta có thể điều chỉnh lại trong q trình chuẩn hóa hệ mạch đo.

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.

- 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

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

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:

Đ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

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.

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

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í. Ngồ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.

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 độ:

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,

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 số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 độ sáng, lƣu lƣợng gió hay phát hiện khói… Hệ thống rất có tiềm năng để áp dụng

Một phần của tài liệu (LUẬN văn THẠC sĩ) 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 47)

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

(86 trang)