Khi nào nên sử dụng điện trở kéo xuống so với điện trở kéo lên


42

Sau khi học và thử nghiệm với vi điều khiển, tôi đã hiểu khái niệm điện trở kéo lên và kéo xuống. Bây giờ tôi hiểu khi nào và làm thế nào để sử dụng chúng, và cách chúng hoạt động. Tôi chủ yếu sử dụng pull-up vì tôi được dạy, nhưng nó luôn có vẻ hơi ngược với tôi, vì việc đóng công tắc sẽ đặt đầu vào MCU thành THẤP. Tôi nghĩ sẽ hợp lý hơn khi sử dụng điện trở kéo xuống, để đầu vào ở mức THẤP khi công tắc mở, nhưng đó chỉ là cách nghĩ của tôi.

Tôi nên kéo đầu vào ném một lần lên hoặc xuống? Khi nào kéo xuống được ưu tiên hơn kéo lên và ngược lại?


3
Là một con ong điện tử (khác) mới, tôi phải nói rằng câu hỏi này không có gì là ngu ngốc. Không trở thành tôi cũng không biết, nhưng vì: "Đã xem: 1989 lần".
steenhulthin

* bởi vì * 12998 lần
Mike Causer

Câu trả lời:


29

Câu trả lời phụ thuộc vào những gì bạn muốn cấu hình "mặc định". Ví dụ: giả sử bạn có MOSFET kênh N dòng xuống và bạn muốn tắt mặc định. Sau đó, bạn sẽ sử dụng một điện trở kéo xuống để đảm bảo hành vi này nếu đầu vào trở thành trở kháng cao.

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab

Mặt khác, giả sử bạn có MOSFET kênh P ngược dòng và muốn tắt mặc định. Lần này một điện trở kéo lên là cần thiết để tạo ra hành vi này.

sơ đồ

mô phỏng mạch này

Ngoài ra còn có trường hợp thay thế trong đó bạn muốn thiết bị được bật mặc định, trong trường hợp đó, hai trường hợp trên sẽ bị đảo ngược (kéo lên cho MOSFET kênh N, kéo xuống cho MOSFET kênh P).

Một vài cân nhắc khác:

  1. Các đường I2C chỉ định các điện trở kéo lên bởi vì các thiết bị được "mong đợi" có một cống mở xuống đất, và do đó cần một số cách để nâng cao tiềm năng đường dây.

  2. Bộ so sánh tương tự thường được cấu hình như các thiết bị thoát nước mở, và do đó cũng cần các điện trở kéo lên để có được đầu ra tiềm năng cao.

  3. Bạn có thể vẽ thêm dòng điện bằng cách sử dụng điện trở kéo / kéo xuống, tùy thuộc vào những gì được nối với đầu vào / đầu ra.

  4. Cấu hình có thể hoạt động tốt như nhau trong ứng dụng của bạn (nghĩa là không có lợi thế đáng kể theo cách này hay cách khác).

... Và bất kỳ số lượng lý do rất cụ thể cho ứng dụng tại sao một cấu hình có thể được ưa thích.


16

Nếu tín hiệu chưa có thông số kỹ thuật, hãy sử dụng bất kỳ tín hiệu nào có ý nghĩa nhất đối với bạn. Lựa chọn của bạn là làm cho đầu vào hoạt động cao hoặc thấp hoạt động .

Nếu đó là các nút, hãy đảm bảo sử dụng mạch gỡ lỗi (hoặc thực hiện trong phần mềm).

sơ đồ

mô phỏng mạch này - Sơ đồ được tạo bằng CircuitLab


+1 cho so sánh song song duy nhất của mức cao hoạt động so với mức hoạt động thấp mà tôi đã thấy. Đẹp, làm rõ mọi thứ.
TomServo

15

Nếu thiết kế mạch của bạn sao cho bạn có thể chọn - nói cách khác, phần còn lại của mạch không yêu cầu sử dụng kéo lên hoặc kéo xuống - thì bạn nên xem xét sự an toàn và bảo mật trong trường hợp thất bại.

Nếu vi điều khiển của bạn bị lỗi, hoặc chỉ đầu ra đó bị lỗi, việc kéo lên hoặc kéo xuống sẽ có hiệu lực. Làm thế nào điều này sẽ thay đổi hoạt động của thiết bị của bạn? Nó sẽ khiến người dùng gặp nguy hiểm - ví dụ bằng cách buộc một bộ phận làm nóng? Nó sẽ ảnh hưởng đến an ninh, chẳng hạn như vô hiệu hóa khóa cửa?

Kéo lên / xuống điện trở xác định trạng thái mặc định của dây. Quyết định trạng thái mặc định sẽ phụ thuộc vào sự an toàn, bảo mật và cuối cùng là chức năng mong muốn của mạch.


5

Nếu bạn đang làm việc với Arduino / ATmega328, bạn có thể sử dụng điện trở kéo lên tích hợp .

Có các điện trở pullup 20K được tích hợp trong chip Atmega có thể được truy cập từ phần mềm. Các điện trở pullup tích hợp này được truy cập bằng cách đặt pinMode () là INPUT_PULLUP. Điều này giúp đảo ngược hiệu quả hoạt động của chế độ INPUT, trong đó CAO có nghĩa là cảm biến tắt và THẤP có nghĩa là cảm biến được bật.

Giá trị của pullup này phụ thuộc vào vi điều khiển được sử dụng. Trên hầu hết các bo mạch dựa trên AVR, giá trị được đảm bảo trong khoảng từ 20kΩ đến 50kΩ. Trên Arduino Do, nó nằm trong khoảng từ 50kΩ đến 150kΩ. Để biết giá trị chính xác, hãy tham khảo bảng dữ liệu của vi điều khiển trên bảng của bạn.

Khi kết nối cảm biến với chân được cấu hình bằng INPUT_PULLUP, đầu kia phải được kết nối với mặt đất. Trong trường hợp công tắc đơn giản, điều này làm cho chân đọc CAO khi công tắc mở và THẤP khi nhấn công tắc.

Raspberry Pi cũng có chúng .


4

Bạn thường muốn kéo lên hoặc xuống - thường là xuống - trên đầu ra của các thiết bị lập trình như vi điều khiển để xác định trạng thái của chúng trong các chuỗi tăng sức mạnh. Các đầu ra như vậy thường có trở kháng cao khi bật nguồn và các thiết bị được kết nối có thể nhận được tín hiệu ngoài ý muốn nếu điều này không được thực hiện. Ví dụ, nếu nhiều nguồn cung cấp có liên quan, tốt nhất là thiết kế từng phần an toàn với 0 volt trên đầu vào và sử dụng kéo xuống.

Hơi mơ hồ hơn các câu trả lời khác, nhưng tôi đã thấy các ví dụ liên quan đến khói xanh và các mối đe dọa của hành động pháp lý.


Làm rõ: câu hỏi không phải là tại sao người ta nên sử dụng điện trở kéo lên hoặc kéo xuống, mà là liệu người ta nên kéo lên hay xuống.
osvein
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.