Việc sử dụng điện trở 4,7kOhm với cảm biến nhiệt độ DS18B20 [đóng]


10

Tôi đã sử dụng cảm biến nhiệt độ DS18B20 với Arduino.

Tôi đã đọc rằng bạn nên kết nối dòng đầu vào kỹ thuật số và dòng 5V với điện trở 4,7kOhm - giống như trong hình.

Ai đó có thể giải thích tại sao chúng ta cần phải làm điều này? Và tại sao kháng cự này? Điều gì xảy ra nếu chúng ta không đặt một điện trở nào hoặc sử dụng một điện trở khác?

Dallas DS18B20 với điện trở 4,7kOhm


Bảng dữ liệu nói gì?
Ignacio Vazquez-Abrams

2
Đây là một blog thú vị về chủ đề wp.josh.com/2014/06/23/ Khăn
Mikael Patel

Câu trả lời:


10

Trang sản phẩm Câu hỏi thường gặp [ https://www.maximintegrated.com/en/support/faqs/ds18b20-faq.html] có một mục:

Q: Is the 4.7kΩ resistor needed for 5V and 3.3V operation?
A: Yes, the 4.7kΩ pullup resistor is required for both 5V and 3.3V applications.

Bus 1 dây yêu cầu tín hiệu điều khiển được kéo lên cao để thiết bị chính có thể kéo thấp xuống để yêu cầu dữ liệu và thiết bị phụ có thể kéo thấp xuống để cung cấp dữ liệu. Điều này cho phép bạn có nhiều thiết bị 1 dây trên cùng một "một dây".

Bảng dữ liệu lưu ý một mục đích khác:

Another feature of the DS18B20 is the ability to operate
without an external power supply. Power is instead
supplied through the 1-Wire pullup resistor through the
DQ pin when the bus is high. The high bus signal also
charges an internal capacitor (CPP), which then supplies
power to the device when the bus is low. This method of
deriving power from the 1-Wire bus is referred to as “parasite
power.” As an alternative, the DS18B20 may also be
powered by an external supply on VDD.

1
Lưu ý rằng trong khi một điện trở là bắt buộc, nó không cần phải là 4,7kohm. Các điện trở bên trong arduino đủ để điều khiển 4 cảm biến ở 2-3 dây, không ở chế độ ký sinh. Điện trở 4,7k cho phép bạn lái các hệ thống có điện dung cao hơn nhiều (hàng chục cảm biến ở nhiều mét). Để chơi xung quanh hoặc một cảm biến duy nhất, thực sự không cần thiết.
Perkins

3

Thêm vào câu trả lời của jose ở trên để trả lời hai câu hỏi khác của bạn

Và tại sao kháng cự này? Khi thiết bị không có nguồn điện riêng, nó sử dụng năng lượng đi qua điện trở kéo lên - do đó với điện trở này, nó được cấp nguồn đúng cách. Ngoài ra, lý do khác - như Jose đã viết là bởi vì đó là giá trị phân biệt các bit cao hay thấp.

Điều gì xảy ra nếu chúng ta không đặt một điện trở nào hoặc sử dụng một điện trở khác? Nếu bạn định giảm giá trị cụ thể - đừng hy vọng thiết bị hoạt động đúng vì sử dụng điện trở sai - ví dụ: thiết bị có thể không hoạt động vì nếu điện trở quá cao - thì theo luật ohms, nó có thể không nhận đủ ký sinh quyền lực. Mặc dù nó có thể chịu đựng được khả năng chịu lỗi của điện trở - do đó, việc thay đổi nó bằng một vài ohms bằng cách nào đó từ 4700 ohms sẽ không tạo ra sự khác biệt. Bạn có thể làm hỏng thiết bị mà không có điện trở.


Cảm ơn! Điều tôi vẫn chưa hiểu, là chúng tôi cung cấp năng lượng cho cảm biến nhiệt độ bằng dòng 5V trực tiếp (một trong hai chân của cảm biến được kết nối với 5V của Arduino). Vì vậy, điều đó có nghĩa là nguồn cung cấp điện đi từ 5V, thông qua điện trở đến đường đầu vào kỹ thuật số (chân giữa)?
camillejr

Bạn nghĩ cảm biến hoạt động như thế nào khi được cung cấp năng lượng từ arduino?
Đạt Han Bag

Tôi đang cố gắng để hiểu những gì bạn đang nghĩ đó là lý do tại sao tôi hỏi điều đó.
Đạt Han Bag

1
Trong trường hợp sử dụng cụ thể của bạn, bạn không sử dụng tính năng năng lượng ký sinh. Điện trở ohm 4,7k là điện trở "kéo lên" cho đường dữ liệu của xe buýt. Tại sao 4,7k? Ở mức 5V, dòng điện nhất có thể chạy qua điện trở là khoảng 1mA. Điều đó đủ yếu để tất cả các thiết bị khác trên xe buýt cần phải làm để đưa đường dây xuống (gần) 0V bị chìm hơn 1mA dòng điện. Nhưng khi thiết bị đó đi (dừng dòng điện), dòng luôn tăng trở lại 5V.
jose có thể vào
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.