Arduino: Đo điện áp bên ngoài


10

Tôi có một "vấn đề" trong khi cố gắng đo điện áp bên ngoài từ một tế bào tiền xu. Tôi đã đơn giản hóa mạch của mình, nhưng về cơ bản tôi có đồng hồ thời gian thực DS1307 được cung cấp bởi đầu ra Arduino 5v và một tế bào đồng xu được kết nối với BBat để giữ cho đồng hồ tồn tại trong khi Arduino tắt máy. Ý tưởng của tôi là đo mức pin với Arduino bằng cách kết nối dương của nó với đầu vào tương tự và đọc mức điện áp. Vì vậy, tôi nghĩ, vì điện áp tối đa là 3v, tôi có thể sử dụng 3v3 làm ISF và đặt tham chiếu tương tự ra bên ngoài và sau đó đọc kết quả chính xác. Kết quả khá tuyệt vời và các bài đọc từ Arduino cũng giống như đọc điện áp pin từ đồng hồ vạn năng của tôi. Vấn đề xảy ra khi tôi ngắt kết nối nguồn từ Arduino (kết nối USB). Đối với sự ngạc nhiên của tôi, Arduino không tắt (một số đèn led tiếp tục bật),

Tại sao chuyện này đang xảy ra? Arduino lấy dòng điện từ Pin Analog như thế nào? Là mạch nhỏ này một quang sai điện tử?

nhập mô tả hình ảnh ở đây

Câu trả lời:


10

Hầu hết, nếu không phải tất cả, các chân đầu vào trên bộ điều khiển AVR được bảo vệ bên trong bằng các điốt kẹp. Các điốt này ngăn chặn rằng điện áp đầu vào có thể cao hơn điện áp cung cấp.

Tại sao các điốt nội bộ là có:

Điều quan trọng là nhận ra rằng khi một pin đầu vào không tăng so với điện áp cung cấp các điốt không có, chip có thể hoạt động như một SCR, chốt, ngắn pin, và chip riêng của mình có lẽ sẽ bị hư hỏng do quá dòng / quá nóng .

Tại sao Arduino của bạn chạy từ pin Hãy xem sơ đồ mạch bên dưới. Khi Vcc được tách ra khỏi nguồn điện bình thường, có một đường dẫn từ pin, qua D1, đến Vcc. Điện áp pin chỉ đủ cao để bộ điều khiển hoạt động.

sơ đồ

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

Làm thế nào để giải quyết nó

Giải pháp rất đơn giản, thêm một điện trở giá trị cao nối tiếp giữa pin và đầu vào của bộ điều khiển. Hầu hết các AVR đều có dòng rò đầu vào tối đa được chỉ định (I IL ) là 1μA, vì vậy bạn muốn đảm bảo giảm điện áp có thể chấp nhận được với dòng điện đó, giả sử 100kΩ.

Nhưng hãy cẩn thận!

Bạn phải nhận ra rằng đầu vào có thể rút dòng điện này từ ô nút của bạn và rút ngắn thời gian sử dụng.


Tôi sẽ thử 10Mohm và xem ADC đọc gì và sử dụng nó làm tài liệu tham khảo cho pin sạc. Đây là một phép đo khó khăn nếu bạn muốn tránh thoát nước không mong muốn.
Andy aka

Điều đó có thể hoạt động, mặc dù nó được coi là dòng điện đầu vào và không phải là trở kháng đầu vào. Phản ứng có thể không tuyến tính, nhưng không nhất thiết là vô dụng. Nó có thể cần một số hiệu chuẩn và có thể sử dụng tham chiếu khoảng cách dải 1V1 (thay vì tham chiếu ngoài 3V3) khi điện áp đo được giảm xuống dưới 1.1V.
jippie

Câu trả lời tốt đẹp !! Tôi đã suy nghĩ nếu một bộ chia điện trở với 100kΩ và 50kΩ sẽ hoạt động. Trong trường hợp này, tôi giả sử điện áp pin tối đa là 3,2 volt. Điều này cho điện áp rơi 1.067v, có thể tương thích với tham chiếu tương tự bên trong của 1v1. Điều này có thể làm việc? hoặc sẽ tiêu hao pin quá sớm?
alvarolb

2
T= =mAh3V×1000100kΩ+50kΩ= =mAh × (100kΩ + 50kΩ)3V×1000

1
Các điốt này có mặt trên hầu hết các bộ vi điều khiển nói chung - không chỉ riêng AVR. Chúng không phải là chưa từng nghe thấy về các loại IC khác.
Adam Lawrence
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.