Nếu tôi cấp nguồn cho Pi của mình từ GPIO, tôi có thể phát hiện ra rằng nó không được cung cấp bởi USB không?


10

Tôi muốn tạo một giải pháp năng lượng dự phòng cho Raspberry Pi của mình và tôi muốn có một thông báo đưa ra rằng Raspberry Pi đang chạy trên nguồn điện dự phòng này. Thông báo này phải cho tôi biết có điều gì đó đã xảy ra và tôi sắp hết thời gian.

Tôi có thể phát hiện nguồn điện đi qua GPIO chứ không phải USB không?


Điều gì sẽ xảy ra nếu bạn bật nguồn GPIO và USB? Hừm. Có gì không?
Piotr Kula

Câu trả lời:


7

Theo tôi biết, bạn không thể.

Nhưng bằng cách sử dụng một số thiết bị điện tử rất đơn giản, bạn có thể. Tùy chọn đơn giản và dễ dàng nhất là sử dụng 2 chân GPIO làm đầu vào (một chân cho mỗi nguồn cung cấp).

Kết nối cả hai nguồn cung cấp (bên cạnh kết nối thông thường của chúng để thực sự cung cấp năng lượng) thông qua một số điện trở (để điều chỉnh mức điện áp và an toàn !!) với các chân GPIO này.

Trong phần mềm bạn chỉ cần đọc cả hai chân. Nếu cả hai đều là '1' (nên 5V hoặc 3.3V), cả hai bộ nguồn đều hoạt động tốt. Nếu một trong các chân đầu vào này là '0', nguồn điện được kết nối sẽ bị tắt và bạn có thể thực hiện hành động thích hợp trong phần mềm của mình.

Có nhiều biến thể hơn, trên phiên bản rất cơ bản này, chỉ sử dụng một pin đầu vào GPIO, nhưng các thành phần điện tử bên ngoài cần thiết sẽ trở nên phức tạp hơn một chút.

Lưu ý: Việc cung cấp năng lượng cho GPIO có một số rủi ro do cầu chì trạng thái rắn bị bỏ qua, do đó, ít nhất bạn sẽ cần sử dụng một số bảo vệ thiếu hụt trong kết nối cung cấp điện thay thế.

Sơ đồ nhỏ dưới đây sẽ thực hiện công việc, bạn sẽ cần hai trong số này (một cho mỗi nguồn cung cấp năng lượng)

Một sơ đồ nhỏ để phát hiện nếu nguồn điện đang hoạt động

Trước khi kết nối chúng với Raspberry Pi của bạn, hãy đo điện áp đầu ra cho Raspberry và cho các chân GPIO, điốt 1N4001 thường có điện áp giảm khoảng 0,7V nhưng diode này là một diode có mục đích chung, chúng không chính xác lắm. Điện áp cho Pi không được vượt quá 5V và đối với chân GPIO không được vượt quá 3,3V.

Bằng cách thay đổi sơ đồ này và sử dụng bộ điều chỉnh điện áp LM317 (và cung cấp cho nó các giá trị điện trở chính xác trên chân ADJ, bạn có thể kết nối lại nguồn 'tắt nguồn'), nhưng điều này đòi hỏi nhiều thành phần hơn. Nguồn điện 'ngoài kệ' này có thể là 7.5V hoặc 9V.

Phiên bản khác nhau sử dụng LM317

LM317 cần 2 tụ điện không có trong sơ đồ này, vui lòng kiểm tra bảng dữ liệu của LM317 để biết các tụ điện này.


Vâng, tôi vẫn còn một chút không rõ ràng. Tôi có sử dụng 2 chân GPIO làm mặt đất không? Bạn có thể đăng sơ đồ nếu nó gặp nhiều rắc rối?
Người dùng7391

1
Cả hai GPIO sẽ đọc cùng một giá trị trừ khi bạn cách ly hai nguồn điện với điốt. Việc giảm điện áp bổ sung của điốt có thể gây ra vấn đề về độ tin cậy
John La Rooy

Tôi sẽ tạo ra một số sơ đồ nhỏ sau hôm nay, nhưng gnibbler đã đúng, một số điốt là cần thiết để chúng tôi phải bù cho sự sụt giảm điện áp, có nghĩa là bạn không thể sử dụng 'nguồn cung cấp USB của kệ nữa.
ikku

Sơ đồ tuyệt vời. Tôi tò mò, bạn đã sử dụng chương trình gì để tạo ra chúng?
Người dùng7391

Chúng được thực hiện bằng gEDA, chỉ trong thời gian này, thông thường tôi sử dụng KiCad.
ikku
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.