Bên cạnh đó công nghệ truyền thông Internet ra đời và đạt được những phát triển vượt bậc to lớn, đưa nhân loại sang kỷ nguyên mới của công nghệ thông tin...Vì tính thiết thực, quan trọng
Trang 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
Trang 2
ĐẠ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ẠNG
ETHERNET TRÊN NỀN LINUX NHÚNG
Chuyên ngành: Vật lý vô tuyến và điện tử
Mã số: 60 44 03
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐỖ TRUNG KIÊN
Hà Nội - 2013
Trang 3Mục lục
MỞ ĐẦU 9
CHƯƠNG 1 : TỔNG QUAN 11
1.1 Hệ thiết bị đo lường 11
1.2 Bộ thu thập số liệu 12
1.2.1 Giới thiệu bộ thu thập số liệu 12
1.2.2 Một số đặc điểm của hệ thu thập số liệu 14
1.2.3 Một số bộ thu thập số liệu hiện nay 14
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
Trang 42.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
2.5.8 Truyền số liệu và điều khiển từ xa qua mạng 51
CHƯƠNG 3 : KẾT QUẢ KHẢO SÁT VÀ ĐÁNH GIÁ THIẾT BỊ 53
3.1 Khảo sát giao tiếp 1-dây với cảm biến đo nhiệt độ DS18b20 53
3.2 Khảo sát hệ mạch đo độ ẩm 56
3.3 Chuẩn hóa hệ mạch đo độ ẩm 58
3.4 Khảo sát căn chỉnh và chuẩn hóa hệ đo 58
3.5 Kết quả đo nhiệt độ và độ ẩm môi trường 62
3.6 Thu thập số liệu và điều khiển từ xa qua mạng 63
3.7 Khả năng ứng dụng thực tiễn 67
3.8 Tiềm năng, mở rộng, nâng cấp hệ thống 68
KẾT LUẬN 69
TÀI LIỆU THAM KHẢO 71
Trang 5Danh mục hình vẽ
Hình 1.1 Sơ đồ khối của một hệ thống đo tự động 12
Hình 1.2 Sơ đồ khối bộ thu thập số liệu 13
Hình 1.3 Bộ thu thập số liệu DVTH và MT100 15
Hình 1.4 Ảnh thực tế board mạch NGW100 20
Hình 1.5 Các thành phần trên board mạch NGW100 22
Hình 1.6 Sơ đồ khối board mạch NGW100 22
Hình 2.1 Sơ đồ nguyên lý đo nhiệt độ sử dụng DS18B20 28
Hình 2.2 Ảnh thực của cảm biến nhiệt độ DS18B20 28
Hình 2.3 mô tả hệ thống truyền dẫn vật lý Bus 1-dây 30
Hình 2.4 giản đồ xung của quá trình kết nối, gửi lệnh gọi thiết bị bằng Rom Code của bộ điều khiển giao tiếp 1-dây 35
Hình 2.5 Sơ đồ khối miêu tả hoạt động của hệ thiết bị sử dụng giao tiếp 1-dây 35 Hình 2.6 cảm biến độ ẩm tương đối HS1100 37
Hình 2.7 Biều đồ sự phụ thuộc điện dung của biến tử vào độ ẩm tương đối 38
Hình 2.8 Sơ đồ nguyên lý đo độ ẩm sử dụng HS1100 và LM555 39
Hình 2.9 Sơ đồ khối miêu tả hoạt động của hệ đo độ ẩm tương đối 40
Hình 2.10 Biều đồ sự phụ thuộc của tần số của mạch dao động theo độ ẩm không khí 41
Hình 2.11 Kiến trúc của hệ điều hành GNU/Linux 44
Hình 2.12 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 47
Hình 2.13 Sơ đồ thuật toán đo nhiệt độ sử dụng IC DS18B20 49
Hình 2.14 Sơ đồ thuật toán đo độ ẩm sử dụng HS1100 và IC LM555 50
Hình 2.15 Sơ đồ thuật toán phần mềm quản lý đo và lưu trữ 51
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 53
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 54
Trang 6Hì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 54
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 55
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 56
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 57
Hình 3.7 Đồ thị khảo sát đánh giá hệ đo nhiệt độ 61
Hình 3.8 Đồ thị khảo sát đánh giá hệ đo độ ẩm 62
Hình 3.9 Hệ thống thu thập số liệu trên nền linux nhúng 63
Hình 3.10 Web server của hệ thống 64
Hình 3.11 Giao diện tải các thông tin đo đạc được 64
Hình 3.12 Giao diện đăng nhập hệ thống 65
Hình 3.13Giao diện thay đổi các thiết lập 65
Hình 3.14 File số liệu mẫu 66
Hình 3.15 Đồ thị sự biến đổi theo thời gian của nhiệt độ tại phòng thí nghiệm 67
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 67
Trang 7Danh mục bảng biểu
Bảng 3.1 Số liệu đo từ việc khảo sát tần số theo độ ẩm để chuẩn hóa hệ mạch đo
độ ẩm 56 Bảng 3.2 Số liệu khảo sát việc đo nhiệt độ của hệ thống 60 Bảng 3.3 Số liệu khảo sát việc đo độ ẩm của hệ thống 62
Trang 8MỞ ĐẦU
Việc đo đạc các đại lượng vật lý, thu thập các thông số, xử lý số liệu thông tin là hết sức quan trọng trong khoa học và đời sống Với hầu hết các thí nghiệm vật lý, hóa học, sinh học, môi trường, các thống kê và điều tra đều cần
đo đạc thu thập và xử lý các số liệu Trong sản xuất công nghiệp cũng cần việc
đo đạc các thông số để đảm bảo chất lượng và quản lý sản xuất Các vấn đề thường phải làm là đo các đại lượng, thông số cần thiết bằng các thiết bị đo thích hợp, ghi chép, truyền số liệu, xử lý số liệu, đáng giá nhận xét và có thể đưa ra các quyết định Trước khi công nghệ thông tin, điện tử, tự động hóa phát triển, các vấn đề này thường phải được xử lý hoàn toàn thủ công, mất rất nhiều thời gian, sức lực mà hiệu quả không cao Ngày nay, khi công nghệ thông minh phát triển, cho phép tạo ra các hệ thống đo đạc xử lý hoàn toàn tự động Hệ thống tự động cho phép đo đạc thu thập xử lý, sao lưu, truyền số liệu, đánh giá số liệu với hiệu quả cao, liên tục, chính xác Ngày nay thì những hệ thống đo tự động như thế không thể thiếu được trong các lĩnh vực khoa học kỹ thuật và cuộc sống Trong khoa học, chúng đo đạc và xử lý các số liệu khổng lồ của khoa học thực nghiệm
mà nếu phải sử dụng sức người thì không thể thực hiện được Trong kỹ thuật thì những hệ thống đo đạc xử lý tự động cho phép một nền sản xuất công nghiệp quản lý, đánh giá sản phẩm hoàn toàn tự động, cho các sản phẩm năng xuất cao
và chất lượng tốt, đồng đều Bên cạnh đó công nghệ truyền thông Internet ra đời
và đạt được những phát triển vượt bậc to lớn, đưa nhân loại sang kỷ nguyên mới của công nghệ thông tin Vì tính thiết thực, quan trọng của vấn đề đo đạc, thu thập xử lý tín hiệu, để bắt kịp sự phát triển của khoa học công nghệ, luận văn này xin trình bầy về vấn đề xây dựng một hệ thống đo đạc, thu thập và xử lý các thông số hoàn toàn tự động và có thể truyền và điều khiển từ xa qua mạng Cụ thể hơn luận văn trình bày về xây dựng hệ thống đo đạc thu thập và xử lý các thông số môi trường, thu thập số liệu môi trường như nhiệt độ, độ ẩm… và ghi
Trang 9lại các số liệu đó Các số liệu này phục vụ cho rất nhiều việc như dự báo thời tiết,
phân tích môi trường, bảo vệ thực phẩm, vật tư, máy móc… Yêu cầu của hệ
thống này là hoạt động hoàn toàn tự động trên nền hệ điều hành Linux nhúng, do
được các thông số về môi trường như nhiệt độ và độ ẩm, có thể truyền số liệu
hay điều khiển từ xa qua mạng
Luận văn được trình bày thành 3 chương Chương 1 Tìm hiểu và trình bày
tổng quan về hệ thiết bị đo lường, bộ thu thập số liệu, hệ thống nhúng và hệ điều
hành Linux Các hiểu biết về cơ sở phần cứng, các giao thức và truyền tin qua
mạng Chương 2 Trình bày và thực hiện xây dựng hệ thống Tìm hiểu các đại
lượng đo, cảm biến đo, các đặc trưng của cảm biến và hệ đo, truyền và xử lý tín
hiệu số giao thức truyền tin 1-dây, xây dựng phần cứng và phần mềm, khảo sát
thực nghiệm và chuẩn hóa hệ thống đo Chương 3 Trình bày một số kết quả vận
hành của hệ thống Kết quả sau khi thực hiện đề tài luận văn này là đã tìm hiều
và đưa ra các cơ sở và thực hiện xây dựng thành công được hệ thống thu thập số
liệu các thông số môi trường trên nền linux nhúng có khả năng truyền số liệu và
điều khiển qua mạng Bước đầu vận hành chạy thử nghiệm đạt kết quả
Tuy nhiên do thời gian thực hiện còn hạn chế, có nhiều khó khăn về trang
thiết bị thiết bị, tài liệu Do đó luận văn này còn nhiều thiếu sót cần bổ xung và
chỉnh xửa mong các quí thầy cô và bạn đọc đóng góp và chỉ bảo thêm
Hà Nội, ngày…tháng 01 năm 2013
Vũ Ngọc Ha
Trang 10để thuận lợi cho việc lưu trữ, truyền thông, xử lý thì các đại lượng cần đo đều chuyển về cái đại lượng điện mang thông tin định lượng của đại lượng cần đo như hiệu điện thế hoặc dòng điện Đại lượng điện này thuận lợi cho việc truyền, lưu trữ, xử lý bằng các thiết bị điện, mạch điện tích hợp, với công nghệ điện toán
mà nhân loại đã đạt được rất nhiều thành tựu Việc thu thập gồm thuyền và lưu 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:
Trang 11Hì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 (feedback) 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
Sơ đồ khối của một bộ thu thập số liệu:
Đối tượng cần đo
Xử lý
Cảm biến Phản hồi
Giao tiếp
Lưu trữ
Trang 12Hình 1.2 Sơ đồ khối bộ thu thập số liệu
Trong đó:
- Sensor hay còn gọi là các cảm biến, được sử dụng để thực hiện quá trình chuyển đổi các đại lượng vật lý không điện thành tín hiệu điện phục vụ cho việc
đo đạc các tín hiệu tự động bằng các thiết bị điện tử
- Khối lưu trữ thường là EEPROM, FLASH, thẻ nhớ, ổ cứng di động, … dùng để lưu trữ các số liệu đo đạc được, dung lượng của các bộ nhớ này thường khá lớn so với những bộ nhớ nội của chip vi xử lý, vi điều khiển
- Khối xử lý trực tiếp thực hiện việc đo đạc các tín hiệu điện từ sensor và đưa các số liệu đo được, xử lý tạm thời để đưa thông tin đo được vào trong bộ phận lưu trữ để lưu lại hoặc truyền đi xa
- Ngoài ra khối xử lý còn cung cấp thêm một chuẩn giao tiếp để có thể đưa thông tin ra ngoài cho người sử dụng Khối xử lý có thể là một hệ vi điều khiển hoặc máy tính cá nhân kết hợp với một số IC chuyên dụng khác
Trang 131.2.2 Một số đặc điểm của hệ thu thập số liệu
Các hệ thống thu thập số liệu thường được đặt ở những nơi quan sát xa phòng thí nghiệm, do vậy nó phải có khả năng hoạt động độc lập và lưu trữ số liệu, có giao thức để truyền số liệu vào máy tính Ngoài ra, thiết bị phải có khả 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ồ Đối với hệ thống thì tần số lấy mẫu là 1 Hz (tương ứng tần số tín hiệu nhỏ hơn 0,5Hz - Theo định lý Nyquist) thì khối lượng thông tin cần lưu trữ trong
1 ngày đã là rất lớn
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.2.3 Một số bộ thu thập số liệu hiện nay
Hiện nay, rất nhiều hãng sản xuất thiết bị điện tử và thiết bị khoa học đều nghiên cứu và cho ra đời các bộ thu thập số liệu phục vụ nhiều mục đích khác nhau, nhất là trong công nghiệp Điển hình là các bộ Data Logger của các hãng
Trang 14nổi tiếng như của Advantech, National Instruments, bộ DVTH[31] của Supco, bộ MT100 [10] của DataQ, ICP DAS [42], Measurement Computing [43]…những
hệ này thường dùng để thu thập số liệu về nhiệt độ, độ ẩm và những tham số khác của môi trường (Hình 1.3), thông tin được lưu trữ vào thẻ nhớ hoặc truyền vào máy tính thông qua các kết nối USB, Ethernet, Wireless (RF, Blue tooth), GPRS…
Hình 1.3 Bộ thu thập số liệu DVTH và MT100
Ví dụ với bộ MT100, thiết bị này có một số ưu điểm nổi bật như sau:
- Có màn hình màu 5,7 inch hiển thị trực tiếp số liệu dưới dạng đồ thị
- Có 10 kênh đo analog (để đo điện thế, cặp nhiệt điện, độ ẩm,…)
- Lưu trữ số liệu trên thẻ nhớ
- Có thể truy xuất số liệu qua mạng LAN
- Có 4 rơle báo động
- Có thể mở rộng, thiết lập thông qua các nút bấm trên thiết bị
Tuy nhiên thiết bị này vẫn còn một vài hạn chế sau:
- 10 kênh đo đều là dạng analog nên phải chuyển các đại lượng cần đo về dạng điện thế
Trang 15- Chỉ có thể lấy dữ liệu thông qua thẻ nhớ hoặc mạng LAN
- Thiết bị chỉ sử dụng được nguồn điện AC với công suất là 38VA do đó không thể thực hiện đo khi gặp sự cố mất điện hoặc không thể đo ở các nơi xa không có nguồn điện AC
Các nhà nghiên cứu cũng không đứng ngoài những công việc nhằm mục đích làm ra những bộ thu thập số liệu có tính năng tiên tiến theo mục đích sử dụng cũng như ứng dụng thành quả của công nghệ vi điện tử Cụ thể, Thakur, S
và Conrad, J.M [35] dùng hệ nhúng trên nền ARM9 làm bộ thu thập dữ liệu cho thiết bị dưới nước, nhóm Hsueh-Chun Lin [14] thực hiện dùng mạng không dây, nhóm Prabhudesai, R.G [32] nghiên cứu thiết bị thu thập dữ liệu hải dương khí tượng, nhóm của Ku, K.K.K [15] với các thiết bị thu thập dữ liệu dùng trong hải quân, hay bộ thu thập số liệu phục vụ nhiều mục đích sử dụng, các hệ thu thập dữ liệu phục vụ sức khỏe con người [32, 33], …Những hệ thống này nhìn chung đều được phát triển với một mục đích ứng dụng cụ thể và đặc thù trên nền tảng những hệ điện tử nhúng hoạt động thông minh, có ít nhiều sử dụng đến hệ điều hành nhúng như Windows CE, GNU/Linux
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 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
Trang 16- Sử dụng cho một ứng dụng hoặc một chức năng cụ thể Thường các chứ năng mà con người cần tự động hóa bằng máy móc
- Có thể chứa giao diện hoặc tương tác người dùng, hoặc hoạt động hoàn toàn tự động
- Thường có dữ liệu hạn chế, bộ nhớ nhỏ Các chương trình đặc trưng, ít có chuẩn thống nhất
- Thường hướng tới những ứng dụng để thay thế cho lao động của con người mà cần có sự xử lý, tính toán, kiểm soát, lưu trữ thông tin
Một hệ thống đo đạc thu thập xử lý số liệu tự động là một hệ thống nhúng
Nó gồm phần cứng gồm toàn bộ các linh kiện điện tử cấu thành để đảm bảo vận hành những chương trình, công việc mà người chế tạo thiết kế Những chương trình này là phần mềm Thông thường phần mềm có thể được nhà thiết kế viết riêng cho thiết bị, đặc trưng riêng và không có chuẩn thống nhất không sử dụng
hệ điều hành, việc này làm cho thiết bị khó nâng cấp mở rộng tính năng bảo dưỡng chuyển giao, không có sự thống nhất và chuẩn hóa Tuy nhiên trong luận văn này đề cập đến bộ thu thập số liệu dựa trên phần mềm phát triển trên nền hệ điều hành mã nguồn mở Linux Hệ điều hành nguồn mở có rất nhiều ưu điểm, đang dần phổ biến và phát triển Việc sử dụng hệ điều hành làm cho thiết bị dễ dàng nâng cấp, mở rộng tính năng, có sự thống nhất và chuẩn hóa, dễ dàng chuyển giao thiết bị
1.3.2 Hệ điều hành Linux
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ điều hành Nó có lẽ là một ví dụ tiêu biểu nhất của phần mềm tự do và của việc phát triển mã nguồn mở
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ông còn là một sinh viên của Đại học Helsinki tại Phần Lan Ông làm việc một cách
Trang 17hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm
1994 Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License Do đó mà bất cứ ai cũng có thể tải và xem
và xử dụng cũng như phát triển mã nguồn của Linux
Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều hành này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong nhiều ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính hay là các thiết bị nhúng như là các máy điện thoại di động
Ban đầu, Linux được phát triển và sử dụng bởi những người say mê Tuy nhiên, hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và Hewlett-Packard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền
và thậm chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số lĩnh vực Sở dĩ Linux đạt được những thành công một cách nhanh chóng
là nhờ vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc độ cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ tin cậy cao (khi so sánh với Windows) cũng như là các đặc điểm về giá thành so với cá hệ đ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.3 Các hiểu biết cơ sở phần cứng
Phần cứng là toàn bộ cơ sở vật chất thiết bị linh kiện đảm bảo cho toàn bộ
sự hoạt động của hệ thống Với hệ thống nhúng, phần quan trọng nhất là các bộ
Trang 18vi mạch cho phép điều khiển, đảm nhiệm các chứng năng như xử lý, chuyển hóa, cảm biến hoạt động theo các nguyên tắc nhất định Trong đó phần trung tâm của phần cứng là bộ vi xử lý
1.3.4 Bộ vi xử lý độc lập
Một bộ vi xử lý độc lập gồm có đơn vị xử lý số học và lôgic (ALU), các thanh ghi, các khối lôgic và các mạch giao tiếp Chức năng của CPU là tiến hành các thao tác tính toán xử lý, đưa ra các tín hiệu địa chỉ, dữ liệu và điều khiển nhằm thực hiện một nhiệm vụ nào đó do người lập trình đưa ra thông qua các lệnh (Instructions) Để đảm bảo cho bộ vi xử lý hoạt động thì còn có bộ nhớ, các cổng giao tiếp và bộ định thời Bộ vi xử lý độc lập cần được gắn trên một bộ mạch chủ để cung cấp điện, kết nối và điều khiển bộ nhớ, các thiết bị ngoại vi Hiện nay có rất nhiều loại bộ vi xử lý được nguyên cứu và sản xuất trên nhiều
hệ kiến trúc khác nhau, cho những đặc trưng và phù hợp với các ứng dụng khác nhau, như ARM có đặc trưng tiếc kiệm điện đang được sử dụng phổ biến cho điện thoại di động
1.3.5 Bộ vi xử lý tích hợp
Với một bộ vi xử lý độc lập, người xử dụng phải gắn nó trên những bo mạch phù hợp để nó hoạt động Tuy nhiên với những kiến trúc khác nhau, các nhà sản xuất thường tích hợp sẵn các bộ vi điều khiển trên những bộ kit mạch phát triễn sẵn dưới dạng mẫu hoặc hướng đối tượng cụ thể Những bộ mạch này thường có sẵn các thành phần chính và một số thành phần mở rộng cho phù hợp mục đích của người sử dụng và chúng thường được xây dựng sẵn để cài đặt firmware, hệ điều hành, các ứng dụng mở rộng phù hợp Hiện nay nhân hệ điều hành Linux (nhân Linux) được hỗ trợ trên 20 kiến trúc phần cứng khác nhau Trong luận văn này tập trung vào tìm hiểu các bộ mạch vi xử lý tích hợp hỗ trợ việc cài đặt hệ điều hành Linux Cụ thể là bộ mạch tích hợp vi xử lý NGW100 với kiến trúc AVR 32 bit
Trang 191.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
Hình 1.4 Ả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:
Trang 20- Đâ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ố liệu của hệ thống
- Board sử dụng vi xử lý AVR AP7000 có tốc độ xử lý cao (clock hệ thống lên tới 140 MHz) có khả năng điều khiển, kiểm soát tốt hệ thống
- Board hỗ trợ cả giao tiếp internet thông qua WAN và LAN do đó khi xây dựng Web server không đòi hỏi phải mua thêm các modem để kết nối mạng
- Board có hỗ trợ cài hệ điều hành GNU/Linux giúp cho việc quản lý các hoạt động của board cũng như việc xuất nhập các thông theo quy chuẩn một cách đơn giản và dễ dàng hơn
- Board có chế độ hoạt động độc lập (stand alone) giúp cho việc lập trình, kiểm tra điều khiển module In/Out được dễ dàng hơn
- Board sử dụng nguồn điện DC 9-15 V với mức điện áp tiêu thụ ở chế độ thường khoảng 110mA ở 12V tương ứng với công suất khoảng 1.32W đến 1.68W nên có thể thích hợp với việc hoạt động ở xa sử dụng các nguồn năng lượng dự phòng như accu, pin, pin mặt trời,…
Cấu trúc và các thông số của bộ mạch NGW100:
Trang 21Hình 1.5 Các thành phần trên board mạch NGW100
Hình 1.6 Sơ đồ khối board mạch NGW100
Trang 221.3.7 Giao thức và truyền tin qua mạng
Để các máy máy tính có thể liên lạc với nhau qua mạng, chúng phải sử dụng cùng 1 ngôn ngữ hay còn gọi là 1 giao thức (Protocol) Giao thức là 1 hệ luật và chuẩn cho phép các máy tính trong mạng liên lạc với nhau
Có nhiều giao thức mạng như IPX , NetBios-NetBeui, TCP/IP, CSMA/CD
tuy nhiên trong luận văn này chỉ quan tâm tới giao thức phổ biến nhất hiện nay
TCP/IP sử dụng trong mạng Internet
TCP/IP (Transfer Control Protocol/Internet Protocol
Để cho các máy tính trao đổi dữ liệu với nhau TCP/IP sử dụng mô hình truyền thông 4 tầng hay còn gọi là Mô Hình DoD (Mô hình của Bộ Quốc Phòng Mỹ) Các tầng trong mô hình này là (Theo thứ tự từ trên xuống):
+ Tầng Ứng Dụng (Application Layer)
+ Tầng Giao Vận (Transport Layer)
+ Tầng Liên Mạng (Internet Layer)
+ Tầng Giao Diện Mạng (Network Interface Layer)
- Mỗi giao thức của Họ TCP/IP đều thuộc 1 trong các tầng này
1.Tầng Giao Diện Mạng (Network Interface Layer):
- Tầng Giao Diện Mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phương tiện truyền dẫn Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card Mạng và Cáp Mạng
- 1 Card Mạng chẳng hạn card Ethernet chứa 1 số HEX vd:(00-18-37-03-C0-F4) được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập Phương Tiện MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu
- 1 số giao thức tiêu biểu thuộc tầng này gồm :
Trang 23+ ATM (Asynchronous Transfer Mode)
+ Ethernet
+ Token Ring
+ FDDI (Fiber Distributed Data Interface)
+ Frame Relay
2.Tầng Liên Mạng (Internet Layer):
- Nằm bên trên tầng giao diện mạng Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu 4 giao thức quan trọng nhất trong tầng này gồm:
+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền
3.Tầng Giao Vận (Transport Layer):
- Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu 2 giao thức chính trong tầng này gồm:
+ UDP (User Datagram Protocol): Còn gọi là Giao Thức Gói Người Dùng UDP cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền dữ liệu
1 cách tin cậy Các ứng dụng dùng UDP thường chỉ truyền những gói có kích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng
Trang 24+ TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp các kênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy TCP thường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận
4.Tầng Ứng Dụng (Application Layer):
- Gồm nhiều giao thức cung cấp cho các ứng dụng người dùng Được sử dụng để định dạng và trao đổi thông tin người dùng 1 số giao thức thông dụng trong tầng này là:
+ DHCP (Dynamic Host Configuration Protocol): Giao Thức Cấu Hình Trạm Động
+ DNS (Domain Name System): Hệ Thống Tên Miền
+ SNMP (Simple Network Management Protocol): Giao Thức Quản Lý Mạng Đơn Giản
+ FTP (File Transfer Protocol): Giao Thức Truyền Tập Tin
+ TFTP (Trivial File Transfer Protocol): Giao Thức Truyền Tập Tin Bình Thường
+ SMTP (Simple Mail Transfer Protocol): Giao Thức Truyền Thư Đơn Giản + TELNET: Giao thức cho phép truy cập máy tính từ xa
Vậy một hệ thống có giao thức TCP/IP cho phép thực hiện tất cả các ứng dụng quan trọng như truyền nhận, trao đổi dữ liệu, file, mail, điều khiển điều hướng, web sever… Board mạch NGW100 cùng với hệ điều hành Linux có đầy
đủ phần cứng và phần mềm hỗ trợ giao thức này
Trang 25CHƯƠNG 2 : ĐỐI TƯỢNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
2.1 Các đại lượng đo
Môi trường có rất nhiều thông số để đánh giá, tuy nhiên nhiệt độ và độ ẩm
là hai đại lượng có ảnh hưởng và vai trò lớn Trong luận văn này trình bày phương pháp nghiên cứu đo đạc các thông số nhiệt độ và độ ẩm của môi trường làm cơ sở cho việc đo đạc thu thập các thông số khác nếu cần mở rộng các thông
số đo
Nhiệt độ và độ ẩm tương đối là hai trong số các đại lượng đặc trưng cho môi trường có nhu cầu được theo dõi trong nhiều lĩnh vực khác nhau Hai đại lượng này có sự thay đổi thường xuyên trong ngày, tuy nhiên tốc độ biến đổi khá
là chậm nên có thể sử dụng được các hệ thống thu thập số liệu được
2.2 Nhiệt độ và cảm biến đo nhiệt độ
2.2.1 Nhiệt độ
Nhiệt độ theo cách hiểu đơn giản nhất là đại lượng mô tả tính chất vật lý đặc trưng cho sự nóng, lạnh của vật, môi trường Nhiệt độ môi trường là đại lượng quan trọng, ảnh hưởng lớn tới mọi sinh vật cũng như con người, trang thiết
bị vật tư Do đó đo nhiệt độ môi trường là công việc rất quan trọng để đánh giá các thông số của môi trường Để có thể đo được nhiệt độ thông qua các hệ điện
tử, ta có thể sử dụng nhiều loại cảm biến khác nhau như dùng cặp nhiệt điện, điện trở kim loại, đường đặc trưng Volt-Ampere của diode,… hoặc sử dụng các
IC chuyên dụng như LM75, DS18B20,… Mỗi phương pháp đo trên có những ưu điểm riêng và phù hợp với những khoảng nhiệt độ riêng và độ chính xác nhất định Đối với hệ thống cần xây dựng này, thì yêu cầu ở đây là đo nhiệt độ của môi trường, trong điều kiện ở nước ta thì nhiệt độ nằm trong khoảng từ 0oC đến
50oC
Trang 26Để đo nhiệt độ, trong luận văn này sử dung IC DS18B2[29] của MAXIM
IC này có khả năng phân giải nhiệt độ trong khoảng từ -55oC đến 125oC với độ phân giải từ 9 đến 12 bit, độ chính xác 0.5o
C (trong khoảng -10oC đến 85o
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” 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
(1-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:
Trang 27Hình 2.1 Sơ đồ nguyên lý đo nhiệt độ sử dụng DS18B20
Để thực hiện đo nhiệt độ dùng IC DS18B20 ta chỉ cần lắp mạch như hình 2.1 và lập trình giao tiếp 1-dây với IC này để điều khiển cũng như lấy thông tin
về nhiệt độ
Hình 2.2 Ảnh thực của cảm biến nhiệt độ DS18B20
2.2.3 Giao tiếp chuẩn 1-dây
Giao tiếp chuẩn 1-dây là giao tiếp với hệ thống giao bus dữ liệu chỉ có 1 dây đường truyền được thiết kế bởi hãng bán dẫn Dallas Semiconductor Corp Giao tiếp chuẩn 1-dây dựa trên chuẩn giao tiếp I2C nhưng chỉ với 1 đường bus
dữ liệu, nó cho phép truyền dữ liệu ở tốc độ thấp với khoảng cách lớn, và có khả năng tự cấp nguồn ngay trên đường tín hiệu Cho phép kết nối nhiều thiết bị trên cùng một đường bus Mỗi thiết bị được đặc trưng bởi mã code riêng Do tính tiện
Trang 28lợi,nhỏ gọn, dễ lắp đặt, kinh tế nên chuẩn giao tiếp 1-dây thường được dùng cho các hệ thu thập số liệu như các đầu đo nhiệt độ, độ ẩm…
Phương thức truyền dữ liệu chuẩn giao tiếp chuẩn 1-dây tóm tắt như sau:
- BUS dữ liệu chỉ có 1 dây Thiết bị chủ điều khiển toàn bộ quá trình truyền
và nhận dữ liệu
- Đường BUS được kéo lên nguồn bằng điện trở, các thiết bị gửi các Bit bằng cách kéo BUS này xuống đất hoặc cắt kết nối với BUS Điều này cho phép tránh xung đột khi mà một thiết bị truyền Bit 0 trong khi đó thiết bị khác truyền Bit 1, và nó cũng cho phép thiết bị chủ điều khiển toàn bộ quá trình truyền nhận dữ liệu qua việc tạo xung reset và tạo khoảng thời gian giữa các Bit Quá trình đó mô tả bởi bảng sau:
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
Trang 29(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:
Hình 2.3 mô tả hệ thống truyền dẫn vật lý Bus 1-dây
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
Mỗi cảm biến nhiệt độ DS18B20 có một dãy mã 64 bit duy nhất được lưu trữ trong bộ nhớ ROM từ khi sản xuất bằng kỹ thuật laser (chỉ đọc, không xóa được) Ý nghĩa của 64 bit được chia ra thành 3 nhóm, trong đó:
Tám bit đầu tiên là mã định danh họ của thiết bị, mã của DS18B20 là 28h
48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS18B20 chỉ có duy nhất một số mã
Trang 30Tám bit có cuối là byte mã kiểm tra CRC (cyclic redundancy check), byte này được tính toán từ 56 bit đầu tiên của dãy mã trên ROM
Để truy cập lên cảm biến một dây DS18B20 ta phải sử dụng hai nhóm lệnh: các lệnh ROM và các lệnh chức năng (function commands) bộ nhớ, các lệnh này có thể được mô tả ngắn gọn như sau:
Sau khi thiết bị chủ (thường là một vi điều khiển) phát hiện ra một xung presence, nó có thể xuất ra một lệnh ROM Có 5 loại lệnh ROM, mỗi lệnh dài 8 bit Thiết bị chủ phải đưa ra lệnh ROM thích hợp trước khi đưa ra một lệnh chức năng để giao tiếp với cảm biến DS18B20
Các lệnh ROM
- READ ROM (33h)
Cho phép đọc ra 8 byte mã đã khắc bằng laser trên ROM, bao gồm: 8 bit
mã định tên linh kiện (10h), 48 bit số xuất xưởng, 8 bit kiểm tra CRC Lệnh này chỉ dùng khi trên bus có 1 cảm biến DS18B20, nếu không sẽ xảy ra xung đột trên bus do tất cả các thiết bị tớ cùng đáp ứng
- MATCH ROM (55h)
Lệnh này được gửi đi cùng với 64 bit ROM tiếp theo, cho phép bộ điều khiển bus chọn ra chỉ một cảm biến DS18B20 cụ thể khi trên bus có nhiều cảm biến DS18B20 cùng nối vào Chỉ có DS18B20 nào có 64 bit trên ROM trung khớp với chuỗi 64 bit vừa được gửi tới mới đáp ứng lại các lệnh về bộ nhớ tiếp theo Còn các cảm biến DS18B20 có 64 bit ROM không trùng khớp sẽ tiếp tục chờ một xung reset Lệnh này được sử dụng cả trong trường hợp có một cảm biến một dây, cả trong trường hợp có nhiều cảm biến một dây
- SKIP ROM (CCh)
Lệnh này cho phép thiết bị điều khiển truy nhập thẳng đến các lệnh bộ nhớ của DS18B20 mà không cần gửi chuỗi mã 64 bit ROM Như vậy sẽ tiết kiệm
Trang 31được thời gian chờ đợi nhưng chỉ mang hiệu quả khi trên bus chỉ có một cảm biến
- SEARCH ROM (F0h)
Lệnh này cho phép bộ điều khiển bus có thể dò tìm được số lượng thành viên thiết bị đang được đấu vào bus và các giá trị cụ thể trong 64 bit ROM của chúng bằng một chu trình dò tìm
- ALARM SEARCH (ECh)
Tiến trình của lệnh này giống hệt như lệnh Search ROM, nhưng cảm biến DS18B20 chỉ đáp ứng lệnh này khi xuất hiện điều kiện cảnh báo trong phép đo nhiệt độ cuối cùng Điều kiện cảnh báo ở đây được định nghĩa là giá trị nhiệt độ
đo được lớn hơn giá trị TH và nhỏ hơn giá trị TL là hai giá trị nhiệt độ cao nhất
và nhiệt độ thấp nhất đã được đặt trên thanh ghi trong bộ nhớ của cảm biến
Lệnh chức năng bộ nhớ:
Sau khi thiết bị chủ (thường là một vi điều khiển) sử dụng các lệnh ROM
để định địa chỉ cho các cảm biến một dây đang được đấu vào bus, thiết bị chủ sẽ đưa ra các lệnh chức năng DS18B20 Bằng các lệnh chức năng thiết bị chủ có thể đọc ra và ghi vào bộ nhớ nháp (scratchpath) của cảm biến DS18B20, khởi tạo quá trình chuyển đổi giá trị nhiệt độ đo được và xác định chế độ cung cấp điện áp nguồn Các lệnh chức năng có thể được mô tả ngắn gọn như sau:
- WRITE SCRATCHPAD (4Eh)
Lệnh này cho phép ghi các byte dữ liệu vào các byte có thể ghi được của
bộ nhớ nháp của DS18B20 Byte đầu tiên được ghi vào byte 2 (thanh ghi TH của
bộ nhớ nháp) còn byte thứ hai được ghi vào byte 3 (thanh ghi TL của bộ nhớ nháp)… Dữ liệu truyền theo trình tự đầu tiên là bit có ý nghĩa nhất và kế tiếp là những bit có ý nghĩa giảm dần Các byte này dừng được ghi khi thiết bị chủ xuất
ra một xung reset hoặc khi có dữ liệu khác xuất hiện
Trang 32- READ SCRATCHPAD (BEh)
Lệnh này cho phép thiết bị chủ đọc nội dung bộ nhớ nháp Quá trình đọc bắt đầu từ bit có ý nghĩa nhất của byte 0 (byte0 và byte 1 chứa giá trị nhiệt độ được chuyển đổi) và tiếp tục cho đến byte 8 (byte 8 – CRC) Thiết bị chủ có thể xuất ra một xung reset để làm dừng quá trình đọc bất kỳ lúc nào nếu như chỉ có một phần của dữ liệu trên bộ nhớ nháp cần được đọc
- COPYSCRATCHPAD (48h)
Lệnh này copy nội dung của hai thanh ghi TH và TL (byte 2 và byte 3) vào bộ nhớ EEPROM
- CONVERT T (44h)
Lệnh này khởi động một quá trình đo và chuyển đổi giá trị nhiệt độ thành
số (nhị phân) Sau khi chuyển đổi giá trị kết quả đo nhiệt độ được lưu trữ trên thanh ghi nhiệt độ 2 byte trong bộ nhớ nháp Thời gian chuyển đổi không quá
200 ms, trong thời gian đang chuyển đổi nếu thực hiện lệnh đọc thì các giá trị đọc ra đều bằng 0
- READ POWER SUPPLY (B4h)
Một lệnh đọc tiếp sau lệnh này sẽ cho biết DS18B20 đang sử dụng chế độ cấp nguồn như thế nào, giá trị đọc được bằng 0 nếu cấp nguồn bằng chính đường dẫn dữ liệu và bằng 1 nếu cấp nguồn qua một đường dẫn riêng
Dữ liệu được truyền hoặc nhận (nếu có) thì được truyền ngay sau mỗi lệnh được gửi đến thiết bị Các lệnh được gửi theo sau một xung reset (và xung presence)
Nếu có nhiều thiết bị 1-dây nối trên cùng bus, được điều khiển bở một bộ điều khiển thì việc điều khiển từng thiết bị được chỉ định bằng ROM CODE của từng thiết bị đó Và sau mỗi lệnh được truyền đi cùng với ROM CODE của thiết
Trang 33bị nhận lệnh Riêng trường hợp chỉ có một thiết bị trên bus thì sử dụng lệnh Skip ROM và không cần tới ROM CODE nữa.
Với hệ thống nhiều thiết bị cùng được nối trên cùng một đường bus thì chúng được gọi tới bằng ROM CODE của từng thiết bị Bắt đầu bằng Reset, Match rom, 64 bit romcode tiếp sau là lệnh Như vậy bộ điều khiển có thể gọi và điều khiển từng thiết bị riêng lẻ trong hệ thống thông qua Rom Code của từng thiết bị đó Điều này tránh được xung đột khi tất cả các thiết bị đều được nối trên cùng một dây Bus Điều này đòi hỏi hệ thống phải có được thông tin về Rom Code của những thiết bị được kết nối vào Bus
Mô tả việc giao tiếp hệ thống với nhiều thiết bị như sau:
Đầu tiên là xung reset tất cả các thiết bị, sau đó là xung trả lời của các thiết bị (xung presence) Tiếp theo bộ điều khiển đưa ra lệnh Match Rom, theo sau đó là 64 Bit Rom Code định danh của thiết bị mà bộ điều khiển muốn giao tiếp Sau đó là lệnh chức năng Khi này chỉ có thiết bị có Rom Code được gọi mới trả lời
Trang 34Hình 2.4 giản đồ xung của quá trình kết nối, gửi lệnh gọi thiết bị bằng Rom Code
của bộ điều khiển giao tiếp 1-dây
Hình 2.5 Sơ đồ khối miêu tả hoạt động của hệ thiết bị sử dụng giao tiếp 1-dây
Đánh giá giao tiếp 1-dây và cảm biến nhiệt độ DS18B20:
Giao tiếp 1-dây là một trong những giao tiếp có cấu hình đơn giản nhất, chỉ cần 1 dây bus dữ liệu (và đất) Có khả năng truyền xa và kết nối rất nhiều thiết bị chỉ với một đường dây Có chi phí thấp, độ tin cậy cao Giao tiếp 1-dây rất phù hợp với việc kết nối nhiều thiết bị, với khoảng cách khá lớn Tuy nhiên giao tiếp 1-dây có nhược điểm là tốc độ truyền dữ liệu thấp (nhỏ hơn 200kbps), chỉ phù hợp với công việc đòi hỏi tốc độ chậm Các công việc đo đạc thu thập số liệu như đo thông số môi trường rất phù hợp với giao tiếp 1-dây
Cảm biến nhiệt độ DS18B20 là một trong những cảm biến nhiệt độ môi trường phổ biến nhất hiện nay Nó mang những ưu điểm như nhỏ gọn, độ chính xác cao, được chuẩn hóa sẵn, sử dụng giao tiếp 1-dây rất đơn giản trong việc lắp đặt, bảo dưỡng, dễ dàng kết nối lắp đặt nhiều cảm biến ở nhiều vị trí độ chính
Bộ điều khiển: gửi xung reset,
lệnh, mã ROM tới các thiết bị và
sẵn sàng nhận lại dữ liệu
thiết bị 1 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)
Trang 35xác, độ phân giải, độ tin cậy hoàn toàn đáp ứng được công việc đo nhiệt độ của môi trường Tuy nhiên cảm biến này có thể không đáp ứng được các yêu cầu trong việc đo nhiệt độ ngoài nhiệt độ môi trường, yêu cầu đo được nhiệt độ cao hơn 125o
ẩm tương đối là rất quan trọng để đánh giá môi trường, bảo quản vật tư, trang thiết bị, ảnh hướng lớn tới con người cũng như sự phát triển của sinh vật
2.3.2 Cảm biến đo độ ẩm 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[12] được sản xuất bởi Humirel
Trang 36Hì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í [29]
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
C0 là điện dung của ứng với độ ẩm tương đối là 55%
Và biểu đồ phụ thuộc điện dung vào độ ẩm tương đối của cảm biến cho bởi nhà sản xuất:
Trang 37Hình 2.7 Biều đồ sự phụ thuộc điện dung của biến tử vào độ ẩm tương đối
Từ biểu đồ ta thấy sự phụ thuộc điện dung của biến tử vào độ ẩm tương đối từ
0% tới 100% là gần tuyến tính Và trong thực nghiệm ta có thể coi là tuyến tính
Để đo được độ ẩm tương đối RH trong công thức trên thì cần biết được C
Tuy nhiên điện dung C là đại lượng điện khó đo trực tiếp, do đó ta sử dụng mạch
điện dao động có tần số phụ thuộc vào điện dung C này Mạch điện có chức năng
này ta sử dụng IC LM555
Dùng IC LM555 mắc theo chế độ phát đa hài ổn định:
Trang 38Hình 2.8 Sơ đồ nguyên lý đo độ ẩm sử dụng HS1100 và LM555
Khi đó ta có sự phụ thuộc của tần số lối ra vào giá trị độ ẩm như sau:
C là điện dung của biến tử ứng với độ ẩm tương ứng
Từ công thức trên ta có đồ thị sự phụ thuộc của độ ẩm vào tần số (hình 2.10) Từ đồ thị ta thấy dạng đồ thị gần là một đường thẳng, độ ẩm là một hàm gần tuyến tính theo tần số
Trang 39Trong hệ thống nhúng ta có thể đếm được tần số của xung do mạch phát ra Và
do đó ta có thể tính được giá trị độ ẩm tương đối tương ứng
Hình 2.9 Sơ đồ khối miêu tả hoạt động của hệ đo độ ẩm tương đối
Trong luận văn hệ mạch thực hiện với R2=470k R4=68k từ datasheet của nhà
sản xuất ta có:
1 ln(2)182.3 (1.25 1.36 2.19 0.90)(68000 2 * 470000)
IC LM555
Đếm tần số (đo chu kỳ) ,Tính được độ
đánh giá số liệu nơi nhận
Trang 40Hình 2.10 Biều đồ sự phụ thuộc của tần số của mạch dao động theo độ ẩm không khí
Đánh giá cảm biến độ ẩm tương đối HS1100:
HS1100 là cảm biến độ ẩm khá nhỏ gọn hoạt động trên cơ sở biến đổi điện dung theo độ ẩm tương đối Nó có giá thấp và khá phổ biến trên thị trường và có
độ nhạy, độ chính xác khá cao, đáp ứng được các công việc đo độ ẩm tương đối của môi trường thông thường (phòng, kho) Tuy nhiên do phải đo gián tiếp điện dung qua việc đếm tần số của mạch dao động nên việc chuẩn hóa, và đánh giá phẩm chất của hệ còn gặp nhiều khó khăn Độ chính xác bị ảnh hưởng bởi phẩm chất của mạch dao động, chưa có bù nhiệt, và chưa có cơ cấu chống ngưng tụ hơi nước quá bão hòa trên cảm biến (có thể làm sai, hỏng cảm biến)