cuongkinhbas
16-04-2013, 02:44 PM
Do những tiến bộ của công nghệ, các cảm biến không chỉ được nâng cao về mặt chất lượng mà nhiều loại cảm biến mới đã lần lượt ra đời; cảm biến một dây là một thí dụ. Trước hết xin nói về tên gọi: cảm biến một dây không có nghĩa là cảm biến này chỉ có một dây ra mà thuật ngữ một dây (1 wire) được dùng chỉ để nhấn mạnh một đặc điểm của loại cảm biến này là đường dẫn tín hiệu lối ra và đường dẫn điện áp nguồn nuôi có thể dùng chung trên một dây dẫn và không chỉ chung cho một cảm biến mà nhiều cảm biến có thể sử dụng chung một đường dẫn. Trên hình 1 là một cảm biến nhiệt độ một dây nhưng ta vẫn thấy rõ là có 4 dây dẫn ra.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien1.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien1.jpg)
Hình 1: Một loại cảm biến một dây đang lưu hành trên thị trường
Nhớ lại hối cuối những năm 60 của thế kỷ trước, các bậc đàn anh đưa tín hiệu đo lường từ dưới lỗ khoan (kỹ thuật carota) lên trên mặt đất bằng chính đường dẫn điện từ nguồn acquy nuôi cho thiết bị đo đặt trong lỗ khoan được xem như một kỳ tích thì bây giờ với sự ra đời của cảm biến một dây, thành tựu trên được thực hiện chỉ bằng một hai mối hàn; lý do là mọi thứ đã được tích hợp sẵn trên cảm biến!
Do sử dụng chung đường dẫn số liệu đo lường với đường cấp điện áp nguồn nên các cảm biến một dây đặc biệt thích hợp với các ứng dụng đo lường đa điểm, khi mà số lượng các đường dẫn số liệu đo lường và đường cấp điện áp nguồn trở thành một con số rất lớn. Chẳng hạn, với một kho bảo quản có 40 phòng, trong mỗi phòng cần đo nhiệt độ tại 3 điểm (3 cảm biến nhiệt độ) và độ ẩm tại một điểm (1 cảm biến độ ẩm); nếu tính trung bình mỗi điểm đo cần 4 đường dẫn thì tại điểm tập trung số dây dẫn lên đến 640 dây, nghĩa là cần đến một bó cáp cực kỳ lớn ! Trong những trường hợp này, các cảm biến một dây sẽ làm thay đổi hoàn toàn giải pháp kỹ thuật.
Những tháng gần đây đã có một số cảm biến một dây được giới thiệu với thị trường, nhưng về mặt cấu trúc và nguyên lý hoạt động đều có những điểm chung, cho nên để đơn giản ta tìm hiểu cảm biến một dây thông qua việc tìm hiểu chi tiết loại cảm biến nhiệt độ một dây DS1820.
DS1820 là một sản phẩm của công ty Dallas (Hoa Kỳ), đây cũng là công ty đóng góp nhiều vào việc cho ra đời bus một dây và các cảm biến một dây. Hình dạng bên ngoài của cảm biến một dây DS1820 được mô tả trên hình 2, trong đó dạng vỏ TO-92 với 3 chân là dạng thường gặp và được dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả da người!
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien2.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien2.jpg)
Hình 2: Dạng đóng vỏ và bề ngoài của cảm biến DS1820
Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm tắt như sau:
Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông.
Độ phân giải khi đo nhiệt độ là 9 bit. Dải đo nhiệt độ -55oC đến 125oC, từng bậc 0,5oC, có thể đạt độ chính xác đến 0,1oC bằng việc hiệu chỉnh qua phần mềm.
Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể được nối trên một bus, bus này được gọi là bus một dây (1-wire bus) và sẽ được trình bày chi tiết trong số tạp chí tới đây.
Không cần thêm linh kiện bên ngoài.
Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,0 V đến 5,5 V một chiều và có thể được cấp thông qua đường dẫn dữ liệu.
Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms.
Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze.
Đầu đo nhiệt độ số DS1820 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng mã nhị phân 9 bit. Các thông tin được gửi đến và nhận về từ DS1820 trên giao diện 1-wire, 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 trích từ đường tín hiệu, không cần có thêm đường dây riêng để cấp điện áp nguồn.
Mỗi vi mạch đo nhiệt độ DS1820 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 DS1820 có thể cùng kết nối vào một bus 1-wire 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-wire độ 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 không hạn chế.
Để nâng cao độ phân giả lên trên 9 bit ta phải tính toán thêm bằng phần mềm dựa trên các số liệu lưu trữ trên các thanh ghi nhiệt độ, COUNT REMAIN và COUNT PER C trong nhóm các thanh ghi nháp (scratchpad). việc tính toán dựa theo phương trình sau:
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien3.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien3.jpg)
Khi sử dụng phương trình này cảm biến một dây DS1820 được nâng cấp trở thành một cảm biến nhiệt độ có độ phân giải cao.
Bộ nhớ ROM 64–BIT
Mỗi cảm biến nhiệt độ DS1820 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 laze. Ý nghĩa của 64 bit mã được giải thích trên hình 3:
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien4.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien4.jpg)
Hình 3: Nội dung dãy mã 64-bit trên bộ nhớ ROM
Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:
Tám bit đầu tiên là mã định danh họ một dây, mã của DS1820 là 10h.
48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ có một số mã.
Tám bit có ý nghĩa nhất 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 (xem hình 3).
Để truy cập lên cảm biến một dây DS1820 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 pulse, 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 DS18S20.
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 DS1820, 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 DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào. Chỉ có DS1820 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 DS1820 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 DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được thời gian chờ đợi nhưng chỉ mang hiệu quả khi trên bú 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 tớ đ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 DS1820 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 DS1820. 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 DS1820. 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 2 byte dữ liệu vào bộ nhớ nháp của DS1820. Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 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ả hai byte này phải được ghi trước 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.
- 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ấy của byte 0 và tiếp tục cho đến byte rhứ 9 (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. Nếu cảm biến được sử dụng trong chế dộ cấp nguồn l bắt đầu việc đo.
- 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 DS1820 đ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.
Đến đây ta có thể thấy là việc sử dụng các lệnh vừa trình bày là một công việc không đơn giản, nhất là với những bạn đọc chưa từng tìm hiểu về kỹ thuật vi xử lý. Cũng vì vậy mà trong khuôn khổ một bài viết ta chưa thể hiểu hể cách làm chủ hoạt động của một cảm biến một dây. Trong phần sau sẽ trình bày thêm về cách ghép nối cảm biến một dây với vi điều khiển và tổ chức của bus một dây.
Có lẽ cảm biến nhiệt độ một dây DS1820 là một trong số ít các cảm biến một dây khó giao tiếp nhất (tất nhiên ta có thể tự an ủi là nếu làm chủ được DS1820 thì các cảm biến một dây khác cũng trở nên dễ dàng bị khống chế !http://spkt.net/diendan/images/smilies/3.gif (http://spkt.net/diendan/images/smilies/3.gif). Trường hợp cảm biến độ ẩm một dây DS2438 lại hoàn toàn khác, sự phức tạp về mặt cấu tạo đã được nhà sản xuất đảm nhận nên người dùng được hưởng nhiều thuận lợi.
Về các cảm biến độ ẩm ta đều biết: để xác định chính xác độ ẩm tương đối thì cả ba thông số là nhiệt độ của cảm biến, điện áp lối ra của cảm biến và điện áp nguồn nuôi phải được xác định (đo) chính xác. Vì vậy nếu có một cách nào đấy thực hiện hiện được ba phép đo kể trên một cách đồng thời hoặc được thực hiện chỉ bằng một linh kiện thì phép đo độ ẩm tương đối sẽ trở nên đơn giản đi rất nhiều mà vẫn bảo đảm được độ chính xác mong muốn. Xuất phát từ ý tưởng đó, công ty Dallas (Hoa Kỳ) đã thiết kế và giới thiệu với thị trường một bộ giám sát điện áp được dùng để tích hợp thành cảm biến một dây với ký hiệu là DS2438, trong đó các bộ biến đổi A/D dùng cho việc đo điện áp và nhiệt độ để suy ra độ ẩm đều đã được tích hợp trên chip. Ngoài ra trên chip còn có bộ biến đổi dòng điện (current converter) 10 bit, một bộ tích dòng (current accumulator) một bộ đếm thời gian. Vi mạch DS2438 thường được gọi là bộ giám sát pin thông minh (Smart Battery Monitor). Chưa phải là tất cả, trên chip DS2438 còn có bộ nhớ không tự mất dữ liệu (nonvolatile) với dung lượng 40 byte để lưu trữ các thông tin định chuẩn cho cảm biến.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien5.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien5.jpg)
Hình 4: Bố trí chân của vi mạch DS2348.
Bộ giám sát DS2438 được đóng gói khi xuất xưởng dưới dạng vi mạch 8 chân hai hàng (DIP) với cách bố trí chân được mô tả trên hình 1.
Như vậy là về thực chất thì bộ giám sát DS2438 không phải là một cảm biến được thiết kế để tích hợp với một cảm biến độ ẩm thông thường để hình thành cảm biến 1 dây, đó là cảm biến độ ẩm HIH-3605 của công ty Honeywell. Vì vậy trước khi tìm hiểu bản chất một dây của DS2438 ta nên tìm hiểu chi tiết về cảm biến HIH-3605
Những đặc tính chính của HIH-3605 có thể kể ra là:
Điện áp lối ra thay đổi tuyến tính theo %RH
Khả năng thay thế đã được tinh chỉnh bằng kỹ thuật laze
Tiêu tốn năng lượng ít
Độ chính xác cao (±2% RH, trong khoảng 0-100% RH không bị đọng nước, ở 25oC và điện áp nguồn nuôi 5 VDC)
Thời gian đáp ứng nhanh
Hoạt động ổn định, độ trôi thấp
Chịu tác động của hoá chất.
Cảm biến độ ẩm HIH-3605 là một vi mạch tích hợp đơn khối (monolithic) được thiết kế cho mục đích OEM (Original Equipment Manufac-turer) với số lượng lớn. Cho đến nay cảm biến độ ẩm HIH-3605 là một trong số ít các cảm biến tích hợp được nhiều đặc tính ưu việt như: chính xác, daei đo rộng, không bị đọng nước và không đắt. Do có quan hệ tuyến tính giữa độ ẩm tương đối và điện áp lối ra nên có thể đấu cảm biến trực tiếp vào một lối vào của vi điều khiển. Với dòng tiêu thụ điển hình chỉ cỡ 200 mA, cảm biến HIH-3605 tỏ ra là một linh kiện lý tưởng sử dụng trong các thiết bị đo cầm tay dùng nguồn nuôi bằng pin. Cảm biến độ ẩm HIH-3605 thường được đóng gói khi xuất xưởng dưới dạng vi mạch hai hàng chân SIP (Single In-line Package), có thể hàn được.
Cấu tạo của cảm biến HIH-3605 được mô tả trên hình 2. Một đặc điểm có thể dễ dàng nhận thấy là hai lớp platin xốp được xen kẽ bằng một lớp polyme dẫn nhiệt (thermoset). Phía trên lại có thêm một lớp polyme để loại bỏ ảnh hưởng của bụi bẩn và chống nước đọng lại khi có độ ẩm 100%. Với cách cấu này, cảm biến độ ẩm tương đối HIH-3605 về thực chất là một phần tử điện dung có lớp cách điện được chế tạo bằng vật liệu polyme cách nhiệt thermoset được vi chỉnh bằng công nghệ laze trong quá trình chế tạo (laser trimmed thermoset), với các phần tử định dạng tín hiệu được tích hợp ngay trên chip. Cảm biến HIH-3605 có những biến tướng khác nhau, chủ yếu liên quan đến dạng đóng vỏ và đặc tính của tín hiệu lối ra, được phân biệt bằng các chữ cái bổ sung như A, A-CP, B và B-CP.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien6.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien6.jpg)
Hình 5: Cấu trúc của cảm biến độ ẩm HIH-3605.
Do đặc điểm thiết kế, các cảm biến HIH 3605 rất nhạy cảm với sự phóng điện tĩnh điện vì vật nên cẩn thận khi định dùng tay để cầm các cảm biến loại này.
Một số các thông số cần quan tâm đến khi thíet kế các thiết bị đo độ ẩm dùng cảm biến HIH-3605 có thể kể ra là: midity
Độ tuyến tính RH:
±0.5% RH (điển hình)
Độ trễ RH:
±1.2% RH cực đại
Độ lặp lại RH:
±0.5% RH
Thời gian đáp ứng RH:
15 sec
Độ ổn định của giá trị đo:
±1% RH, khi độ ẩm được giữ cố định ở 50% trong 5 năm (!http://spkt.net/diendan/images/smilies/3.gif (http://spkt.net/diendan/images/smilies/3.gif)
Điện áp nguồn nuôi:
4-5,8 V, giá trị định chuẩn ghi ở 5 VDC
Dòng tiêu thụ:
200 mA ở 5 VDC, 2 mA ở 9 VDC
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien7.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien7.jpg)
Hình 6: Một cảm biến một dây có kích thước nhỏ có thể phát hiện được sự thay đổi độ ẩm do nước bốc hơi từ tay người, trên đồ thị chỉ ra sự trhay đổi độ ẩm tương đối từ 38% lên 81%.
Một điểm đáng lưu ý khi sử dụng các cảm biến độ ẩm loại này là phản ứng của cảm biến tương đối nhạy với ánh sáng; khi chiếu ánh sáng có cường độ lớn vào bên ngoài cảm biến có thể gây nên sự trôi giá trị đến 3% ở 90% RH. Vì vậy các cảm biến độ ẩm thường được đóng gói trong một hộp bằng nhựa (xem hình 5). Cảm biến HIH 3085 đã được đóng gói thành cảm biến một dây có kích thước nhỏ hơn đầu ngón tay (xem hình 3), Trên vỏ cảm biến ta cío thể nhìn rõ dòng chữ “1-wire H” (H: Honeywell). Bằng loại cảm biến này người ta đã thử đo sự thay đổi độ ẩm do nước bốc ra từ lòng bàn tay khi có đặt thêm vào một cảm biến độ ẩm. Từ đồ thị trên hình 4, độ ẩm thay đổi từ 38% RH lên đến giá trị 81% RH.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien8.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien8.jpg)
Hình 7: Đồ thị mô tả sự thay đổi độ ẩm do hơi nước bốc ra từ tay người cầm cảm biến.
Thông thường, cảm biến một dây trên cơ sở HIH-3605 được đóng vỏ trong một hộp nhựa có kích thước không nhỏ. Trên hình 5 là một cảm biến độ ẩm tương đối một dây đang được giới thiệu trên thị trường, khi đó chỉ còn hai dây dẫn lối ra. Loại cảm biến này khi đóng vỏ chung với một cảm biến nhiệt có giá khoảng 199 đô la Mỹ.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien9.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien9.jpg)
Hình 8: Một cảm biến độ ẩm một dây được gới thiêu trên thị trường.
Để hình thành một cảm biến độ ẩm một dây, cảm biến Honeywell HIH-3605 được ghép nối với bộ giám sát điện áp DS2438 theo mạch điện trên hình 6. Phiên bản thu nhỏ của loại cảm biến này tích hợp hai chip trong hình vẽ ngay cạnh nhau trên một bản mạch. Khi đó từ cảm biến sẽ chỉ có hai đường dẫn ra: một đường nối đất (GND) và một đương dùng chung cho dữ liệu (DATA) và điện áp nguồn nuôi.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien10.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien10.jpg)
Hình 9: Kết nối cảm biến độ ẩm vói bộ giám sát DS2438 để tạo ra cảm biến độ ẩm một dây.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien1.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien1.jpg)
Hình 1: Một loại cảm biến một dây đang lưu hành trên thị trường
Nhớ lại hối cuối những năm 60 của thế kỷ trước, các bậc đàn anh đưa tín hiệu đo lường từ dưới lỗ khoan (kỹ thuật carota) lên trên mặt đất bằng chính đường dẫn điện từ nguồn acquy nuôi cho thiết bị đo đặt trong lỗ khoan được xem như một kỳ tích thì bây giờ với sự ra đời của cảm biến một dây, thành tựu trên được thực hiện chỉ bằng một hai mối hàn; lý do là mọi thứ đã được tích hợp sẵn trên cảm biến!
Do sử dụng chung đường dẫn số liệu đo lường với đường cấp điện áp nguồn nên các cảm biến một dây đặc biệt thích hợp với các ứng dụng đo lường đa điểm, khi mà số lượng các đường dẫn số liệu đo lường và đường cấp điện áp nguồn trở thành một con số rất lớn. Chẳng hạn, với một kho bảo quản có 40 phòng, trong mỗi phòng cần đo nhiệt độ tại 3 điểm (3 cảm biến nhiệt độ) và độ ẩm tại một điểm (1 cảm biến độ ẩm); nếu tính trung bình mỗi điểm đo cần 4 đường dẫn thì tại điểm tập trung số dây dẫn lên đến 640 dây, nghĩa là cần đến một bó cáp cực kỳ lớn ! Trong những trường hợp này, các cảm biến một dây sẽ làm thay đổi hoàn toàn giải pháp kỹ thuật.
Những tháng gần đây đã có một số cảm biến một dây được giới thiệu với thị trường, nhưng về mặt cấu trúc và nguyên lý hoạt động đều có những điểm chung, cho nên để đơn giản ta tìm hiểu cảm biến một dây thông qua việc tìm hiểu chi tiết loại cảm biến nhiệt độ một dây DS1820.
DS1820 là một sản phẩm của công ty Dallas (Hoa Kỳ), đây cũng là công ty đóng góp nhiều vào việc cho ra đời bus một dây và các cảm biến một dây. Hình dạng bên ngoài của cảm biến một dây DS1820 được mô tả trên hình 2, trong đó dạng vỏ TO-92 với 3 chân là dạng thường gặp và được dùng trong nhiều ứng dụng, còn dạng vỏ SOIC với 8 chân được dùng để đo nhiệt độ bề mặt, kể cả da người!
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien2.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien2.jpg)
Hình 2: Dạng đóng vỏ và bề ngoài của cảm biến DS1820
Các đặc điểm kỹ thuật của cảm biến DS1820 có thể kể ra một cách tóm tắt như sau:
Sử dụng giao diện một dây nên chỉ cần có một chân ra để truyền thông.
Độ phân giải khi đo nhiệt độ là 9 bit. Dải đo nhiệt độ -55oC đến 125oC, từng bậc 0,5oC, có thể đạt độ chính xác đến 0,1oC bằng việc hiệu chỉnh qua phần mềm.
Rất thích hợp với các ứng dụng đo lường đa điểm vì nhiều đầu đo có thể được nối trên một bus, bus này được gọi là bus một dây (1-wire bus) và sẽ được trình bày chi tiết trong số tạp chí tới đây.
Không cần thêm linh kiện bên ngoài.
Điện áp nguồn nuôi có thể thay đổi trong khoảng rộng, từ 3,0 V đến 5,5 V một chiều và có thể được cấp thông qua đường dẫn dữ liệu.
Dòng tiêu thụ tại chế độ nghỉ cực nhỏ.
Thời gian lấy mẫu và biến đổi thành số tương đối nhanh, không quá 200 ms.
Mỗi cảm biến có một mã định danh duy nhất 64 bit chứa trong bộ nhớ ROM trên chip (on chip), giá trị nhị phân được khắc bằng tia laze.
Đầu đo nhiệt độ số DS1820 đưa ra số liệu để biểu thị nhiệt độ đo được dưới dạng mã nhị phân 9 bit. Các thông tin được gửi đến và nhận về từ DS1820 trên giao diện 1-wire, 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 trích từ đường tín hiệu, không cần có thêm đường dây riêng để cấp điện áp nguồn.
Mỗi vi mạch đo nhiệt độ DS1820 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 DS1820 có thể cùng kết nối vào một bus 1-wire 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-wire độ 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 không hạn chế.
Để nâng cao độ phân giả lên trên 9 bit ta phải tính toán thêm bằng phần mềm dựa trên các số liệu lưu trữ trên các thanh ghi nhiệt độ, COUNT REMAIN và COUNT PER C trong nhóm các thanh ghi nháp (scratchpad). việc tính toán dựa theo phương trình sau:
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien3.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien3.jpg)
Khi sử dụng phương trình này cảm biến một dây DS1820 được nâng cấp trở thành một cảm biến nhiệt độ có độ phân giải cao.
Bộ nhớ ROM 64–BIT
Mỗi cảm biến nhiệt độ DS1820 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 laze. Ý nghĩa của 64 bit mã được giải thích trên hình 3:
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien4.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien4.jpg)
Hình 3: Nội dung dãy mã 64-bit trên bộ nhớ ROM
Như vậy dãy mã được chia ra thành 3 nhóm, trong đó:
Tám bit đầu tiên là mã định danh họ một dây, mã của DS1820 là 10h.
48 bit tiếp theo là mã số xuất xưởng duy nhất, nghĩa là mỗi cảm biến DS1820 chỉ có một số mã.
Tám bit có ý nghĩa nhất 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 (xem hình 3).
Để truy cập lên cảm biến một dây DS1820 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 pulse, 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 DS18S20.
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 DS1820, 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 DS1820 cụ thể khi trên bus có nhiều cảm biến DS1820 cùng nối vào. Chỉ có DS1820 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 DS1820 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 DS1820 mà không cần gửi chuỗi mã 64 bit ROM. Như vậy sẽ tiết kiệm được thời gian chờ đợi nhưng chỉ mang hiệu quả khi trên bú 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 tớ đ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 DS1820 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 DS1820. 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 DS1820. 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 2 byte dữ liệu vào bộ nhớ nháp của DS1820. Byte đầu tiên được ghi vào thanh ghi TH (byte 2 của bộ nhớ nháp) còn byte thứ hai được ghi vào thanh ghi TL (byte 3 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ả hai byte này phải được ghi trước 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.
- 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ấy của byte 0 và tiếp tục cho đến byte rhứ 9 (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. Nếu cảm biến được sử dụng trong chế dộ cấp nguồn l bắt đầu việc đo.
- 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 DS1820 đ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.
Đến đây ta có thể thấy là việc sử dụng các lệnh vừa trình bày là một công việc không đơn giản, nhất là với những bạn đọc chưa từng tìm hiểu về kỹ thuật vi xử lý. Cũng vì vậy mà trong khuôn khổ một bài viết ta chưa thể hiểu hể cách làm chủ hoạt động của một cảm biến một dây. Trong phần sau sẽ trình bày thêm về cách ghép nối cảm biến một dây với vi điều khiển và tổ chức của bus một dây.
Có lẽ cảm biến nhiệt độ một dây DS1820 là một trong số ít các cảm biến một dây khó giao tiếp nhất (tất nhiên ta có thể tự an ủi là nếu làm chủ được DS1820 thì các cảm biến một dây khác cũng trở nên dễ dàng bị khống chế !http://spkt.net/diendan/images/smilies/3.gif (http://spkt.net/diendan/images/smilies/3.gif). Trường hợp cảm biến độ ẩm một dây DS2438 lại hoàn toàn khác, sự phức tạp về mặt cấu tạo đã được nhà sản xuất đảm nhận nên người dùng được hưởng nhiều thuận lợi.
Về các cảm biến độ ẩm ta đều biết: để xác định chính xác độ ẩm tương đối thì cả ba thông số là nhiệt độ của cảm biến, điện áp lối ra của cảm biến và điện áp nguồn nuôi phải được xác định (đo) chính xác. Vì vậy nếu có một cách nào đấy thực hiện hiện được ba phép đo kể trên một cách đồng thời hoặc được thực hiện chỉ bằng một linh kiện thì phép đo độ ẩm tương đối sẽ trở nên đơn giản đi rất nhiều mà vẫn bảo đảm được độ chính xác mong muốn. Xuất phát từ ý tưởng đó, công ty Dallas (Hoa Kỳ) đã thiết kế và giới thiệu với thị trường một bộ giám sát điện áp được dùng để tích hợp thành cảm biến một dây với ký hiệu là DS2438, trong đó các bộ biến đổi A/D dùng cho việc đo điện áp và nhiệt độ để suy ra độ ẩm đều đã được tích hợp trên chip. Ngoài ra trên chip còn có bộ biến đổi dòng điện (current converter) 10 bit, một bộ tích dòng (current accumulator) một bộ đếm thời gian. Vi mạch DS2438 thường được gọi là bộ giám sát pin thông minh (Smart Battery Monitor). Chưa phải là tất cả, trên chip DS2438 còn có bộ nhớ không tự mất dữ liệu (nonvolatile) với dung lượng 40 byte để lưu trữ các thông tin định chuẩn cho cảm biến.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien5.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien5.jpg)
Hình 4: Bố trí chân của vi mạch DS2348.
Bộ giám sát DS2438 được đóng gói khi xuất xưởng dưới dạng vi mạch 8 chân hai hàng (DIP) với cách bố trí chân được mô tả trên hình 1.
Như vậy là về thực chất thì bộ giám sát DS2438 không phải là một cảm biến được thiết kế để tích hợp với một cảm biến độ ẩm thông thường để hình thành cảm biến 1 dây, đó là cảm biến độ ẩm HIH-3605 của công ty Honeywell. Vì vậy trước khi tìm hiểu bản chất một dây của DS2438 ta nên tìm hiểu chi tiết về cảm biến HIH-3605
Những đặc tính chính của HIH-3605 có thể kể ra là:
Điện áp lối ra thay đổi tuyến tính theo %RH
Khả năng thay thế đã được tinh chỉnh bằng kỹ thuật laze
Tiêu tốn năng lượng ít
Độ chính xác cao (±2% RH, trong khoảng 0-100% RH không bị đọng nước, ở 25oC và điện áp nguồn nuôi 5 VDC)
Thời gian đáp ứng nhanh
Hoạt động ổn định, độ trôi thấp
Chịu tác động của hoá chất.
Cảm biến độ ẩm HIH-3605 là một vi mạch tích hợp đơn khối (monolithic) được thiết kế cho mục đích OEM (Original Equipment Manufac-turer) với số lượng lớn. Cho đến nay cảm biến độ ẩm HIH-3605 là một trong số ít các cảm biến tích hợp được nhiều đặc tính ưu việt như: chính xác, daei đo rộng, không bị đọng nước và không đắt. Do có quan hệ tuyến tính giữa độ ẩm tương đối và điện áp lối ra nên có thể đấu cảm biến trực tiếp vào một lối vào của vi điều khiển. Với dòng tiêu thụ điển hình chỉ cỡ 200 mA, cảm biến HIH-3605 tỏ ra là một linh kiện lý tưởng sử dụng trong các thiết bị đo cầm tay dùng nguồn nuôi bằng pin. Cảm biến độ ẩm HIH-3605 thường được đóng gói khi xuất xưởng dưới dạng vi mạch hai hàng chân SIP (Single In-line Package), có thể hàn được.
Cấu tạo của cảm biến HIH-3605 được mô tả trên hình 2. Một đặc điểm có thể dễ dàng nhận thấy là hai lớp platin xốp được xen kẽ bằng một lớp polyme dẫn nhiệt (thermoset). Phía trên lại có thêm một lớp polyme để loại bỏ ảnh hưởng của bụi bẩn và chống nước đọng lại khi có độ ẩm 100%. Với cách cấu này, cảm biến độ ẩm tương đối HIH-3605 về thực chất là một phần tử điện dung có lớp cách điện được chế tạo bằng vật liệu polyme cách nhiệt thermoset được vi chỉnh bằng công nghệ laze trong quá trình chế tạo (laser trimmed thermoset), với các phần tử định dạng tín hiệu được tích hợp ngay trên chip. Cảm biến HIH-3605 có những biến tướng khác nhau, chủ yếu liên quan đến dạng đóng vỏ và đặc tính của tín hiệu lối ra, được phân biệt bằng các chữ cái bổ sung như A, A-CP, B và B-CP.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien6.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien6.jpg)
Hình 5: Cấu trúc của cảm biến độ ẩm HIH-3605.
Do đặc điểm thiết kế, các cảm biến HIH 3605 rất nhạy cảm với sự phóng điện tĩnh điện vì vật nên cẩn thận khi định dùng tay để cầm các cảm biến loại này.
Một số các thông số cần quan tâm đến khi thíet kế các thiết bị đo độ ẩm dùng cảm biến HIH-3605 có thể kể ra là: midity
Độ tuyến tính RH:
±0.5% RH (điển hình)
Độ trễ RH:
±1.2% RH cực đại
Độ lặp lại RH:
±0.5% RH
Thời gian đáp ứng RH:
15 sec
Độ ổn định của giá trị đo:
±1% RH, khi độ ẩm được giữ cố định ở 50% trong 5 năm (!http://spkt.net/diendan/images/smilies/3.gif (http://spkt.net/diendan/images/smilies/3.gif)
Điện áp nguồn nuôi:
4-5,8 V, giá trị định chuẩn ghi ở 5 VDC
Dòng tiêu thụ:
200 mA ở 5 VDC, 2 mA ở 9 VDC
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien7.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien7.jpg)
Hình 6: Một cảm biến một dây có kích thước nhỏ có thể phát hiện được sự thay đổi độ ẩm do nước bốc hơi từ tay người, trên đồ thị chỉ ra sự trhay đổi độ ẩm tương đối từ 38% lên 81%.
Một điểm đáng lưu ý khi sử dụng các cảm biến độ ẩm loại này là phản ứng của cảm biến tương đối nhạy với ánh sáng; khi chiếu ánh sáng có cường độ lớn vào bên ngoài cảm biến có thể gây nên sự trôi giá trị đến 3% ở 90% RH. Vì vậy các cảm biến độ ẩm thường được đóng gói trong một hộp bằng nhựa (xem hình 5). Cảm biến HIH 3085 đã được đóng gói thành cảm biến một dây có kích thước nhỏ hơn đầu ngón tay (xem hình 3), Trên vỏ cảm biến ta cío thể nhìn rõ dòng chữ “1-wire H” (H: Honeywell). Bằng loại cảm biến này người ta đã thử đo sự thay đổi độ ẩm do nước bốc ra từ lòng bàn tay khi có đặt thêm vào một cảm biến độ ẩm. Từ đồ thị trên hình 4, độ ẩm thay đổi từ 38% RH lên đến giá trị 81% RH.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien8.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien8.jpg)
Hình 7: Đồ thị mô tả sự thay đổi độ ẩm do hơi nước bốc ra từ tay người cầm cảm biến.
Thông thường, cảm biến một dây trên cơ sở HIH-3605 được đóng vỏ trong một hộp nhựa có kích thước không nhỏ. Trên hình 5 là một cảm biến độ ẩm tương đối một dây đang được giới thiệu trên thị trường, khi đó chỉ còn hai dây dẫn lối ra. Loại cảm biến này khi đóng vỏ chung với một cảm biến nhiệt có giá khoảng 199 đô la Mỹ.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien9.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien9.jpg)
Hình 8: Một cảm biến độ ẩm một dây được gới thiêu trên thị trường.
Để hình thành một cảm biến độ ẩm một dây, cảm biến Honeywell HIH-3605 được ghép nối với bộ giám sát điện áp DS2438 theo mạch điện trên hình 6. Phiên bản thu nhỏ của loại cảm biến này tích hợp hai chip trong hình vẽ ngay cạnh nhau trên một bản mạch. Khi đó từ cảm biến sẽ chỉ có hai đường dẫn ra: một đường nối đất (GND) và một đương dùng chung cho dữ liệu (DATA) và điện áp nguồn nuôi.
http://i65.photobucket.com/albums/h211/truongthinhs1/cbien10.jpg (http://i65.photobucket.com/albums/h211/truongthinhs1/cbien10.jpg)
Hình 9: Kết nối cảm biến độ ẩm vói bộ giám sát DS2438 để tạo ra cảm biến độ ẩm một dây.