Hướng dẫn đọc kỹ thuật số nối tiếp - tính toán giá trị điện trở


9

Hướng dẫn Arduino Digital Read serial hướng dẫn bạn thông qua hệ thống dây của một nút đơn giản. Câu hỏi của tôi tập trung xung quanh điện trở.

Tại sao điện trở cần thiết?

Tôi nghĩ rằng tôi hiểu điều này, nhưng sửa tôi nếu tôi sai. Để đảm bảo rằng chân đầu vào đọc tín hiệu thấp và không nổi, chúng ta nên kết nối chân với mặt đất khi nút không được ấn. Khi nhấn nút, chúng ta sẽ có tín hiệu 5V truyền đến cả pin và tiếp đất. Định luật điện áp của Kirchhoff nói rằng tổng điện áp trong vòng kín phải bằng 0, vì vậy chúng ta phải đối phó với 5V này đang chảy trực tiếp xuống đất. Đó là lý do tại sao chúng tôi đặt một điện trở giữa nút và mặt đất.

Giá trị điện trở được chọn như thế nào?

Đây là những gì tôi không rõ ràng. Luật Ohm nói rằng ...

resistance = voltage / current

Đây là nguồn cung cấp 5V và thông số kỹ thuật Arduino Uno nói rằng pin cung cấp 40 mA dòng điện một chiều. Vì thế..

resistance = 5V / 0.04A = 125 Ohms

Trong hướng dẫn Digital Read serial , tại sao chúng ta có điện trở 10K Ohms? Đó là cách quá mức, phải không? Điều này dẫn đến một câu hỏi khác: Bạn có thể đặt quá nhiều điện trở tại chỗ không, nếu mục tiêu duy nhất của bạn là xóa điện áp?

Cảm ơn trước cho bất kỳ thông tin phản hồi!

Câu trả lời:


6

Bạn đang rất thân thiết. Các điện trở ở đó để hoạt động như một điện trở kéo xuống; Nếu chân đầu vào nổi, nó chỉ là một ăng ten thu tĩnh ngẫu nhiên. Điều quan trọng là khi được cung cấp dương (bằng cách nhấn nút), nguồn dương cần "lấn át" điện trở kéo xuống để chân đầu vào đọc dương.

Nếu không có điện trở, thì chân đầu vào sẽ đọc ở giữa một đường dẫn trực tiếp không thiên về dương hay âm. Giả sử từ sự rút ngắn trực tiếp sẽ xảy ra, trạng thái mà arduino sẽ đọc tôi nghi ngờ sẽ là ngẫu nhiên hoặc một số tính chất của nguồn cung cấp điện; Nó có lẽ vẫn sẽ đọc mặt đất.

Với điện trở, tín hiệu được đọc kết nối trực tiếp với cực dương, trước điện trở tải. Bằng cách này, nó sẽ chắc chắn để có được tín hiệu CAO.

Kích thước chính xác của điện trở là rất ít hệ quả. Quá nhỏ và bạn lãng phí hiện tại, nhưng quá nhiều sức cản thực sự chỉ là ngắt kết nối mặt đất một lần nữa. Có một phạm vi rất rộng các giá trị sẽ hoạt động tốt giữa những giá trị đó.

Tôi muốn lưu ý rằng khi một chân arduino được đặt ở chế độ đầu vào, nó sẽ cung cấp hiệu quả không có dòng điện. Nó có thể được moddeled đang được nối tiếp với điện trở 100 megaOhm. xem http://arduino.cc/en/Tutorial/DigitalPins để biết chi tiết.


2
Điều quan trọng ở đây là nếu bạn không sử dụng điện trở, khi đóng công tắc, bạn đã rút ngắn +5 volt xuống đất. Một sự cố ngắn trực tiếp sẽ làm quá tải nguồn điện và ngắt mạch bảo vệ trên nguồn điện, khiến toàn bộ Arduino ngừng hoạt động. Bạn muốn một điện trở có trở kháng đủ cao để giữ cho dòng điện thấp. Tôi thường sử dụng điện trở 100k, rất nhiều để kéo tín hiệu đầu vào về 0 volt khi công tắc mở và chỉ cho phép 0,00005 pas chảy, một dòng điện tầm thường. Một điện trở 10k cũng hoạt động, nhưng cho phép dòng điện chạy gấp 10 lần.
Duncan C

2

Tại sao điện trở cần thiết?

Các đầu vào Arduino có sức đề kháng rất cao. Bảng dữ liệu của Atmega328 cho biết 100 MOhm cho ADC, Giá trị cao như vậy là tốt, nhưng cũng có nhược điểm để xử lý các hiệu ứng ký sinh (điện trở, điện cảm, điện dung). Những hiệu ứng như vậy cũng có thể được sử dụng như cảm biến điện dung .

Giá trị điện trở được chọn như thế nào?

Điện trở cần phải có giá trị tùy ý, nhỏ hơn điện trở đầu vào. 10k trở lên là tốt để vô hiệu hóa rò rỉ đầu vào.

Tuy nhiên, bạn cũng có thể loại bỏ điện trở khi bạn sử dụng các bộ kéo lên bên trong. Trong trường hợp này, bạn xử lý logic tiêu cực:

pinMode(3, INPUT);
digitalWrite(3, HIGH);

Trên pin 3, bạn sẽ đo HIGHvà nút cần được kết nối với pin và mặt đất. Điện trở kéo lên I / 0 bên trong có giá trị 50k.


1

Bạn đã nhận được một vài câu trả lời hay về lý do tại sao cần một điện trở kéo xuống.

Để tóm tắt, bạn cần kết nối đầu vào với mặt đất để giữ đầu vào không bị bán ngẫu nhiên giữa cao và thấp. Bạn sử dụng một điện trở để khi bạn đóng công tắc, bạn không tạo ra một mạch ngắn giữa nguồn cung cấp + 5V và tiếp đất.

Một điểm khác, mặc dù. Đầu vào của Arduino bao gồm một điện trở kéo lên được điều khiển bằng phần mềm, bên trong tùy chọn . Nếu trước tiên bạn thiết lập pin làm đầu vào, sau đó ghi giá trị CAO vào cổng đó, nó sẽ kích hoạt điện trở kéo lên. Điều đó làm cho pin đọc là CAO khi không có gì được kết nối với nó.

Sau đó, bạn có thể kết nối công tắc của mình với mặt đất thay vì + 5V. Sau đó, bạn cần thay đổi logic mã của mình để coi giá trị CAO là không được nhấn và giá trị THẤP như được nhấn. Điều này cho phép bạn đơn giản hóa hệ thống dây điện của mình một chút, vì bạn không cần một điện trở bên ngoài.

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.