Công nghệ cảm biến nhiệt độ

Cảm biến nhiệt độ DS18B20 được kết nối với MCU

Giới thiệu kiến ​​thức về cảm biến nhiệt độ DS18B20
DS18B20 là cảm biến nhiệt độ kỹ thuật số được sử dụng phổ biến. Nó phát ra tín hiệu số, có đặc điểm kích thước nhỏ, chi phí phần cứng thấp, khả năng chống nhiễu mạnh mẽ, độ chính xác cao, và được sử dụng rộng rãi.

Đầu dò nhiệt độ kỹ thuật số DS18B20 cung cấp 9 ĐẾN 12 chút

Đầu dò nhiệt độ kỹ thuật số DS18B20 cung cấp 9 ĐẾN 12 chút

Đầu dò cảm biến DS18B20 chống nước

Đầu dò cảm biến DS18B20 chống nước

Cảm biến DS18B20 chống nước TPE Overmolding IP68

Cảm biến DS18B20 chống nước TPE Overmolding IP68

Giới thiệu cảm biến nhiệt độ DS18B20
Tính năng kỹ thuật:
①. Chế độ giao diện một dây độc đáo. Khi DS18B20 được kết nối với bộ vi xử lý, chỉ một 1 cần có dây để thực hiện giao tiếp hai chiều giữa bộ vi xử lý và DS18B20.
②. Phạm vi đo nhiệt độ -55oC ~ + 125oC, lỗi đo nhiệt độ vốn có 1oC.
③. Hỗ trợ chức năng kết nối mạng đa điểm. Nhiều DS18B20 có thể được kết nối song song trên ba dây duy nhất, và tối đa 8 có thể được kết nối song song để thực hiện đo nhiệt độ đa điểm. Nếu số lượng quá lớn, điện áp nguồn sẽ quá thấp, dẫn đến việc truyền tín hiệu không ổn định.
④. Nguồn điện làm việc: 3.0~5,5V/DC (nguồn cung cấp điện ký sinh dòng dữ liệu có thể được sử dụng).
⑤. Không cần có linh kiện ngoại vi trong quá trình sử dụng.
⑥. Kết quả đo được truyền nối tiếp ở dạng kỹ thuật số 9 ~ 12 bit.
⑦. Đường kính của ống bảo vệ bằng thép không gỉ là Φ6.
⑧. Nó phù hợp để đo nhiệt độ của các đường ống công nghiệp trung bình khác nhau của DN15 ~ 25, DN40~DN250 và thiết bị trong không gian hẹp.
⑨. Chủ đề cài đặt tiêu chuẩn M10X1, M12X1.5, G1/2” là tùy chọn.
⑩. Cáp PVC được kết nối trực tiếp hoặc hộp nối loại bóng của Đức được kết nối, thuận tiện cho việc kết nối với các thiết bị điện khác.

DS18B20 đọc và ghi nguyên lý đo thời gian và nhiệt độ:
Nguyên lý đo nhiệt độ DS18B20 được thể hiện trên hình 1. Tần số dao động của bộ dao động tinh thể hệ số nhiệt độ thấp trong hình ít bị ảnh hưởng bởi nhiệt độ, và được sử dụng để tạo ra tín hiệu xung tần số cố định gửi đến bộ đếm 1. Tần số dao động của bộ dao động tinh thể hệ số nhiệt độ cao thay đổi đáng kể theo nhiệt độ, và tín hiệu được tạo được sử dụng làm đầu vào xung của bộ đếm 2. Quầy tính tiền 1 và thanh ghi nhiệt độ được đặt trước ở giá trị cơ bản tương ứng với -55oC. Quầy tính tiền 1 trừ đi tín hiệu xung được tạo ra bởi bộ dao động tinh thể hệ số nhiệt độ thấp. Khi giá trị đặt trước của bộ đếm 1 được giảm xuống 0, Giá trị của thanh ghi nhiệt độ sẽ được tăng lên bởi 1, và cài đặt trước của bộ đếm 1 sẽ được tải lại. Quầy tính tiền 1 khởi động lại để đếm tín hiệu xung được tạo ra bởi bộ dao động tinh thể hệ số nhiệt độ thấp, và chu kỳ tiếp tục cho đến khi đếm 2 tính đến 0, dừng tích lũy giá trị đăng ký nhiệt độ. Tại thời điểm này, Giá trị trong thanh ghi nhiệt độ là nhiệt độ đo được. Bộ tích lũy độ dốc dùng để bù và hiệu chỉnh độ phi tuyến trong quá trình đo nhiệt độ, và đầu ra của nó được sử dụng để sửa giá trị đặt trước của bộ đếm 1.

Nhân vật 1 như sau:

Sơ đồ mạch kết nối DS18B20 và MCU

Sơ đồ mạch kết nối DS18B20 và MCU

2. Sơ đồ kết nối DS18B20 và MCU

Định nghĩa tham số chân DS18B20

Định nghĩa tham số chân DS18B20

3. Định nghĩa pin DS18B20:

DQ: Dữ liệu đầu vào/đầu ra. Mở cống giao diện 1 dây. Nó cũng có thể cung cấp năng lượng cho thiết bị khi sử dụng ở chế độ năng lượng ký sinh VDD: cung cấp năng lượng tích cực GND: mặt đất điện 4. Giới thiệu phân tích nội bộ DS18B20:

Phân tích và giới thiệu cấu trúc bên trong DS18B20

Phân tích và giới thiệu cấu trúc bên trong DS18B20

Hình trên thể hiện sơ đồ khối của DS18B20, và ROM 64 bit lưu trữ mã nối tiếp duy nhất của thiết bị. Bộ nhớ đệm chứa 2 byte thanh ghi nhiệt độ lưu trữ đầu ra kỹ thuật số của cảm biến nhiệt độ. Ngoài ra, bộ nhớ đệm cung cấp quyền truy cập vào các thanh ghi kích hoạt cảnh báo trên và dưới 1 byte (TH và TL) và các thanh ghi cấu hình 1 byte. Thanh ghi cấu hình cho phép người dùng đặt độ phân giải của nhiệt độ sang chuyển đổi kỹ thuật số thành 9, 10, 11, hoặc 12 bit. TH, TL, và các thanh ghi cấu hình không thay đổi (EEPROM), nên chúng sẽ giữ lại dữ liệu khi tắt nguồn thiết bị. DS18B20 sử dụng giao thức bus 1 dây độc đáo của Maxim, sử dụng tín hiệu điều khiển. Đường điều khiển yêu cầu điện trở kéo lên yếu vì tất cả các thiết bị đều được kết nối với bus thông qua cổng 3 trạng thái hoặc open-drain (Chân DQ trong trường hợp DS18B20). Trong hệ thống bus này bộ vi xử lý (bậc thầy) sử dụng mã 64 bit duy nhất cho mỗi thiết bị. Vì mỗi máy có một mã duy nhất, số lượng thiết bị có thể được xử lý trên một bus hầu như không giới hạn.

Định dạng đăng ký nhiệt độ

Sơ đồ định dạng thanh ghi nhiệt độ DS18B20

Sơ đồ định dạng thanh ghi nhiệt độ DS18B20

Mối quan hệ nhiệt độ/dữ liệu

DS18B20 Mối quan hệ dữ liệu-nhiệt độ

DS18B20 Mối quan hệ dữ liệu-nhiệt độ

Tín hiệu cảnh báo hoạt động

Sau khi DS18B20 thực hiện chuyển đổi nhiệt độ, nó so sánh giá trị nhiệt độ với giá trị kích hoạt cảnh báo bổ sung của hai do người dùng xác định được lưu trong thanh ghi TH và TL 1 byte. Bit dấu cho biết giá trị là dương hay âm: dương S=0, âm S=1. Các thanh ghi TH và TL không thay đổi (EEPROM) và do đó không dễ bay hơi khi thiết bị tắt nguồn. TH và TL có thể được truy cập thông qua byte 2 Và 3 của bộ nhớ.
Định dạng thanh ghi TH và TL:

Thanh ghi cấu hình DS18B20

Thanh ghi cấu hình DS18B20

Sơ đồ cấp nguồn cho DS18B20 sử dụng nguồn điện bên ngoài

Sơ đồ sử dụng nguồn điện ngoài để cấp nguồn cho DS18B20

Sơ đồ sử dụng nguồn điện ngoài để cấp nguồn cho DS18B20

64-mã bộ nhớ chỉ đọc bit laser:

DS18B20 Mã bộ nhớ chỉ đọc laser 64-bit

DS18B20 Mã bộ nhớ chỉ đọc laser 64-bit

Mỗi DS18B20 chứa một mã 64 bit duy nhất được lưu trong ROM. Ít quan trọng nhất 8 các bit của mã ROM chứa mã họ dây đơn của DS18B20: 28h. Tiếp theo 48 bit chứa một số sê-ri duy nhất. Điều quan trọng nhất 8 các bit chứa kiểm tra dự phòng theo chu kỳ (CRC) byte, được tính từ lần đầu tiên 56 bit của mã ROM.

Bản đồ bộ nhớ DS18B20

Bản đồ bộ nhớ DS18B20

Sơ đồ bộ nhớ DS18B20

Đăng ký cấu hình:

Nhân vật 2

Thanh ghi cấu hình DS18B20

Thanh ghi cấu hình DS18B20

Byte 4 của bộ nhớ chứa thanh ghi cấu hình, được tổ chức như trong hình 2. Người dùng có thể đặt độ phân giải chuyển đổi của DS18B20 bằng cách sử dụng bit R0 và R1 tại đây như trong Bảng 2. Giá trị mặc định khi bật nguồn cho các bit này là R0 = 1 và R1 = 1 (12-độ phân giải bit). Lưu ý rằng có mối quan hệ trực tiếp giữa độ phân giải và thời gian chuyển đổi. Chút 7 và bit 0 ĐẾN 4 trong thanh ghi cấu hình được dành riêng cho việc sử dụng nội bộ của thiết bị và không thể ghi đè.

Bàn 2 Cấu hình độ phân giải nhiệt kế

Cấu hình độ phân giải nhiệt kế DS18B20

Cấu hình độ phân giải nhiệt kế DS18B20

Tạo CRC

Byte CRC là một phần của mã ROM DS18B20 64-bit và được cung cấp ở byte thứ 9 của bảng ghi nhớ. Mã ROM CRC được tính từ đầu tiên 56 bit của mã ROM và được chứa trong byte quan trọng nhất của ROM. CRC của bảng ghi nhớ được tính toán dựa trên dữ liệu được lưu trong bảng ghi nhớ, vì vậy nó thay đổi khi dữ liệu trong bảng ghi nhớ thay đổi. CRC cung cấp cho máy chủ bus phương pháp xác minh dữ liệu khi đọc dữ liệu từ DS18B20. Sau khi xác minh rằng dữ liệu đã được đọc chính xác, chủ bus phải tính toán lại CRC từ dữ liệu nhận được và sau đó so sánh giá trị đó với mã ROM CRC (để đọc ROM) hoặc CRC của bảng ghi nhớ (để đọc trên bảng ghi nhớ). Nếu CRC được tính khớp với CRC đã đọc, dữ liệu đã được nhận chính xác. Quyết định so sánh các giá trị CRC và tiến hành hoàn toàn theo quyết định của chủ xe buýt. Không có mạch điện nào bên trong DS18B20 có thể ngăn chặn việc thực hiện chuỗi lệnh nếu:
CRC DS18B20 (ROM hoặc bảng ghi nhớ) không khớp với giá trị do bus master tạo ra.
Hàm đa thức tương đương của CRC là:
CRC = X8 + X5 + X4 + 1
Bus master có thể tính toán lại CRC và so sánh nó với giá trị CRC của DS18B20 bằng cách:
Bộ tạo đa thức được hiển thị trong Hình 3. Mạch bao gồm một thanh ghi dịch và cổng yihuo, và các bit của thanh ghi dịch chuyển được khởi tạo thành 0. Bit ít quan trọng nhất của mã ROM hoặc bit ít quan trọng nhất của byte 0 trong bảng ghi nhớ nên được chuyển từng cái một vào thanh ghi thay đổi. Sau khi dịch chuyển một chút 56 từ ROM hoặc bit byte quan trọng nhất 7 từ bảng ghi nhớ, bộ tạo đa thức sẽ chứa CRC được tính toán lại. Kế tiếp, mã ROM 8 bit hoặc tín hiệu CRC trong bảng cào DS18B20 phải được chuyển vào mạch. Tại thời điểm này, nếu CRC tính toán lại là chính xác, thanh ghi thay đổi sẽ là tất cả 0.

Nhân vật 3: Máy phát điện CRC

Sơ đồ quy trình tạo CRC DS18B20

Sơ đồ quy trình tạo CRC DS18B20

V.. Truy cập DS18B20:
Trình tự truy cập DS18B20 như sau:
Bước chân 1. Khởi tạo;

Bước chân 2. Lệnh ROM (tiếp theo là bất kỳ trao đổi dữ liệu cần thiết);

Bước chân 3. Lệnh chức năng DS18B20 (tiếp theo là bất kỳ trao đổi dữ liệu cần thiết);

Ghi chú: Trình tự này được tuân theo mỗi khi DS18B20 được truy cập, bởi vì DS18B20 sẽ không phản hồi nếu bất kỳ bước nào trong trình tự bị thiếu hoặc không đúng thứ tự. Ngoại lệ cho quy tắc này là ROM tìm kiếm [F0h] và tìm kiếm cảnh báo [Ếch] lệnh. Sau khi ban hành hai lệnh ROM này, chủ nhà phải quay lại bước 1 theo trình tự.
(Phần giới thiệu trên được dịch từ hướng dẫn chính thức)

Lệnh ROM
1, Đọc Rom [33h]
2, ROM trận đấu [55h]
3, Phòng tàu [CCh]
4, Tìm kiếm báo động [Ếch]

Lệnh chức năng DS18B20
1, Chuyển đổi nhiệt độ [44h]
2, Viết Scratchpad (Ký ức) [4Ơ]
3, Đọc Scratchpad (Ký ức) [BEh]
4, Sao chép Scratchpad (Ký ức [48h]
5, Đánh thức lại E2 [B8h]
6, Đọc nguồn [B4h]

(Để biết mô tả chi tiết về các lệnh trên, xem hướng dẫn chính thức)

VI. Truy cập thời gian DS18B20
Trong quá trình khởi tạo, chủ xe buýt gửi xung thiết lập lại (TX) mức thấp trong ít nhất 480µs bằng cách kéo bus 1-Dây. Sau đó, chủ xe buýt nhả xe buýt và vào chế độ nhận (RX). Sau khi thả xe buýt, điện trở kéo lên 5kΩ kéo bus 1-Dây lên cao. Khi DS18B20 phát hiện cạnh lên này, nó đợi 15µs đến 60µs và sau đó gửi xung hiện diện bằng cách kéo bus 1-Dây xuống mức thấp trong 60µs đến 240µs.

Thời gian khởi tạo:

Có hai loại khe thời gian ghi: “Viết 1” khe thời gian và “Viết 0” khe thời gian. Xe buýt sử dụng Write 1 khe thời gian để viết logic 1 tới DS18B20 và ghi 0 khe thời gian để viết logic 0 đến DS18B20. Tất cả các khe thời gian ghi phải có thời lượng ít nhất là 60µs với thời gian phục hồi ít nhất là 1µs giữa các khe thời gian ghi riêng lẻ. Cả hai loại khe thời gian ghi đều được khởi tạo bởi thiết bị chủ kéo bus 1-Dây xuống mức thấp (xem hình 14). Để tạo một bản ghi 1 khe thời gian, sau khi kéo bus 1-Dây xuống mức thấp, chủ xe buýt phải giải phóng bus 1-Dây trong vòng 15µs. Sau khi thả xe buýt, điện trở kéo lên 5kΩ kéo bus lên cao. Tạo một
Viết 0 khe thời gian, sau khi kéo đường 1 dây xuống thấp, chủ xe buýt phải tiếp tục giữ xe buýt ở mức thấp trong suốt khoảng thời gian (ít nhất 60µs). DS18B20 lấy mẫu bus 1-Dây trong khoảng thời gian từ 15µs đến 60µs sau khi master bắt đầu khe thời gian ghi. Nếu bus ở mức cao trong cửa sổ lấy mẫu, Một 1 được ghi vào DS18B20. Nếu đường truyền thấp, Một 0 được ghi vào DS18B20.
Ghi chú: Khe thời gian là một phần của việc tự ghép kênh nối tiếp thông tin khe thời gian dành riêng cho một kênh.
Nhân vật 14 như sau:

Các khe thời gian ghi DS18B20 được máy chủ điều khiển để kéo bus 1-Wire xuống mức thấp

Các khe thời gian ghi DS18B20 được máy chủ điều khiển để kéo bus 1-Wire xuống mức thấp

Đọc khe thời gian:
DS18B20 chỉ có thể gửi dữ liệu đến máy chủ khi máy chủ cấp khe thời gian đọc. Vì thế, máy chủ phải tạo một khe thời gian đọc ngay sau khi đưa ra Lệnh đọc bộ nhớ [BEh] hoặc Nguồn điện đọc [B4h] lệnh để DS18B20 cung cấp dữ liệu cần thiết. Cách khác, máy chủ có thể tạo khe thời gian đọc sau khi phát hành Convert T [44h] hoặc Thu hồi E2 [B8h] lệnh tìm hiểu trạng thái. Tất cả các khe thời gian đọc phải có thời lượng ít nhất là 60µs với thời gian phục hồi tối thiểu là 1µs giữa các khe thời gian. Khe thời gian đọc được bắt đầu bằng việc thiết bị chủ kéo bus 1-Dây xuống mức thấp để giữ nó ở mức thấp trong ít nhất 1µs và sau đó nhả bus (xem hình 14). Sau khi bản gốc bắt đầu một khe thời gian đọc, DS18B20 sẽ bắt đầu gửi số 1 hoặc số 0 trên bus. DS18B20 gửi một 1 bằng cách giơ cao xe buýt và gửi một 0 bằng cách kéo xe buýt xuống thấp. Khi một 0 được gửi, DS18B20 nhả bus bằng cách giữ bus ở vị trí cao. Khe thời gian kết thúc và bus được kéo trở lại trạng thái không tải cao bằng điện trở kéo lên.

DS18B20 Đọc chi tiết máy chủ 1 Khe thời gian

DS18B20 Đọc chi tiết máy chủ 1 Khe thời gian

DS18B20 Đọc máy chủ được đề xuất 1 khe thời gian

DS18B20 Đọc máy chủ được đề xuất 1 khe thời gian