Làm thế nào để thực hiện một công tắc nguồn mềm có thể điều khiển bằng vi điều khiển?


16

Tôi muốn thiết kế một mạch sao cho vi điều khiển có thể thay đổi chân GPIO và tắt toàn bộ hệ thống (bao gồm cả chính vi điều khiển). Và khi người dùng nhấn một nút tạm thời, nguồn điện sẽ được đưa trở lại.

Điều này có thể không?

Câu trả lời:


11

văn bản thay thế

Ví dụ này sử dụng bộ điều chỉnh tăng dần Maxim MAX1835 , nhưng cũng có thể được áp dụng cho những người khác có pin tắt máy.

Mạch thường được cấp nguồn. Khi người dùng nhấn nút ấn, pin được đưa vào pin -SHDN, cho phép bộ điều chỉnh và bật 3.3V cho vi điều khiển. Sau đó, vi điều khiển đặt logic 1 trên đạo trình POWER ON, giữ nguồn sau khi người dùng nhả nút nhấn. Khi vi điều khiển muốn tự tắt, nó sẽ đặt đạo trình POWER ON thành 0.


2
Rất quan trọng, tôi nghĩ rằng, đang thảo luận về việc chuyển đổi đó.
Kortuk

2
@Kortuk, điểm tốt. Tôi đã giả định rằng micro sẽ bật đủ nhanh để nó có thể ghi đè lên công tắc trước lần nảy đầu tiên, giả sử lái pin cao là điều đầu tiên mà micro làm. Nếu đó không phải là trường hợp, người ta có thể thêm một tụ điện trên đầu -SHDN để tạo hằng số thời gian cho bật (mặc dù điều này cũng sẽ gây ra một chút chậm trễ khi tắt). Một nF 10 có lẽ cần phải được bỏ lại để khử nhiễu (nó được bao gồm trong sơ đồ mẫu biểu dữ liệu). Hoặc người ta có thể thêm mạch RC bổ sung cho chỉ công tắc.
tcrosley

Tôi đã thấy một số bị trả lại điên rồ trên thiết bị chuyển mạch trước đây.
Kortuk

Một vấn đề lớn hơn mà chuyển đổi bị trả lại là hành vi của bộ xử lý trong khi tắt nguồn. Đặc biệt, có thể tốt để đảm bảo rằng bộ xử lý chỉ có thể bật nguồn cung cấp khi VDD của nó ở trên điểm đảm bảo hoạt động chính xác. Tôi đã phải điều chỉnh một số mạch tự động tắt nguồn đôi khi sẽ bị lỗi do bộ xử lý chạy mã ngẫu nhiên khi VDD giảm xuống dưới điện áp hoạt động hợp lệ. Mã ngẫu nhiên có thể đặt mức đầu ra "bật nguồn" cao, từ đó sẽ cấp nguồn cho thiết bị sao lưu, chạy mã tại một địa chỉ ngẫu nhiên.
supercat

1

Một cách để làm điều này là vào chế độ ngủ sâu trên vi điều khiển.

Nhiều bộ vi điều khiển hỗ trợ đánh thức bởi một ngắt ngoài, chẳng hạn như cạnh trên chân IO.


sau đó tôi cũng sẽ nhận được sự rút ra hiện tại của nguồn cung cấp điều tiết cho vi mô phải không?
cksa361

Đúng. Bạn muốn.
Toby Jaffey

@ cksa361, một số micros đây là ampe nano hoặc micro. Tôi sử dụng MSP430 và chúng tôi giữ nó khoảng 3-5 microamp.
Kortuk

0

Vâng, điều này chắc chắn là có thể, nhưng cách bạn đạt được điều này phụ thuộc vào loại tải bạn sẽ bật và tắt.

Có lẽ đơn giản như chỉ cần sử dụng rơle được kết nối với mã PIN đầu ra của vi điều khiển (thông qua một bóng bán dẫn và diode bảo vệ) và một công tắc nút nhấn được kết nối với một pin được cấu hình làm đầu vào.

Dưới đây là một sơ đồ mạch ví dụ đơn giản: sơ đồ rơle điều khiển bởi vi điều khiển

Khi sử dụng một nút công tắc đẩy nhất thời, hãy cẩn thận của debounce tuy nhiên, bạn sẽ cần phải thực hiện một sự chậm trễ trong mã vi điều khiển của bạn để đảm bảo rằng bạn kiểm tra tình trạng của nút nhấn trên một khoảng thời gian (ví dụ 1ms) trước khi chuyển sang tiếp sức của bạn trở lại Nếu bạn không, thì vi điều khiển có thể nhận nhiều tín hiệu và chuyển đổi rơle của bạn nhiều lần trong một khoảng thời gian rất ngắn và bạn sẽ thấy rằng nút của bạn hoạt động không liên tục.

CẬP NHẬT Tôi vừa thấy chỉnh sửa của bạn về việc giảm sức mạnh của vi điều khiển. Bạn có thể cung cấp thêm một số thông tin về những gì bạn thực sự cố gắng làm? Thật khó để trả lời câu hỏi của bạn mà không hiểu toàn bộ hệ thống.

Nếu bạn cũng muốn tắt vi điều khiển, thì bạn cần một số cách để lấy lại nguồn cho vi điều khiển. Có lẽ bạn có thể sử dụng rơle để cấp nguồn cho mọi thứ kể cả vi điều khiển, theo cách đó vi điều khiển có thể tự tắt, nhưng không bật lại. Sau đó, nút ấn của bạn có thể được kết nối qua công tắc rơle của bạn, để rút ngắn nó một cách hiệu quả, cho nó đủ thời gian để bật nguồn và giữ cho rơle tự mở.

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.