Bảo vệ chân đầu vào của vi điều khiển khỏi công tắc nguồn mềm


10

Tôi đang làm việc trên một công tắc nguồn mềm cho một vi điều khiển trong đó một công tắc tạm thời có thể bật mạch (bao gồm cả vi điều khiển), và sau đó khi công tắc được đẩy lần thứ hai, vi điều khiển có thể tự tắt sau khi thực hiện một số thao tác dọn dẹp.

vẽ mạch

Tôi có mạch trên cho đến nay, nhưng tôi không chắc nó sẽ đáng tin cậy. Tôi đang sử dụng pin lithium-ion (3.7-4.2V) và bộ điều chỉnh TC1015 (đầu ra 3.0V). Ý tưởng là khi nhấn công tắc, bộ điều chỉnh bật, sau đó vi điều khiển sẽ đặt uC Powerở mức cao, giữ cho chính nó. Khi nhấn công tắc lần thứ hai, ngắt uC Switchsẽ cho phép vi điều khiển đặt uC Powerở mức thấp, tự tắt.

Điều tôi không chắc chắn là, nếu tôi cần bảo vệ vi điều khiển khỏi điện áp pin. Bộ vi điều khiển tôi đang sử dụng có điện áp tối đa tuyệt đối trên các chân I / O của Vdd + 0,4V, vì vậy tôi không chắc cách xử lý tốt nhất.

Thứ hai, mạch này có thực sự giữ cho bộ điều chỉnh không bật khi ở trạng thái "tắt" không? Tôi đã nghĩ về việc sử dụng một điện trở kéo xuống trên đường kích hoạt, nhưng tôi lo lắng về sự rút ra hiện tại trong khi chip được bật.

Chỉnh sửa: Vi điều khiển là tải chính sẽ được chuyển đổi, vì vậy không may đặt nó ở chế độ năng lượng thấp sẽ không hoạt động ở đây.

Chỉnh sửa # 2 (Sau khi câu trả lời đã được đăng):

Tôi đã kết thúc bằng cách sử dụng các mạch dưới đây:

sơ đồ mạch cố định

Mạch được đăng trước đó không hoạt động tốt và có vấn đề với đường kích hoạt nổi khi vi điều khiển không cấp nguồn cho nó.

Mạch mới sử dụng flip flop, với dòng dữ liệu thường được kéo xuống thấp. Nhấn công tắc chạm đồng hồ, bật hệ thống. Các lần nhấn tiếp theo của công tắc sẽ điều khiển CLOCKdòng cao (cho phép vi điều khiển cảm nhận được báo chí), nhưng không ảnh hưởng đến đầu ra của bộ điều chỉnh. Khi vi điều khiển đã sẵn sàng tắt nguồn, nó sẽ đặt DATAđường cao và sau đó đặt CLOCKđường cao, điều này sẽ khiến bộ điều chỉnh tắt.

Một trong những điều thực sự tốt đẹp về thiết lập này, đó là nhấn nút đầu tiên để bật bộ điều chỉnh và giữ cho đến khi vi điều khiển sẵn sàng tắt. Bounce không phải là một vấn đề, bởi vì cho dù dòng đồng hồ lên cao bao nhiêu lần, dòng dữ liệu vẫn bị giữ ở mức thấp khi kéo xuống. Ngoài ra, mức vẽ hiện tại phải rất tối thiểu (chỉ là flip flop và TC1015 khi tắt), và có dòng rút tối thiểu thông qua các điện trở trong khi bật.

Bộ vi điều khiển cần phải được bảo vệ khỏi điện áp pin trên dòng đồng hồ, nhưng như @Andy aka đã đề xuất, điều đó có thể được thực hiện với một điện trở trên CLOCK.

Câu trả lời:


4

R1 và R2 sẽ giới hạn dòng điện vào các chân trên uC của bạn và điều này thường đủ để bảo vệ thiết bị của bạn - bạn chỉ cần kiểm tra thông số kỹ thuật "giới hạn" đó là gì và chọn giá trị điện trở phù hợp với nguồn cung cấp uC có thể ở 0V (không được cấp nguồn). Các zener có thể được để lại trên cơ sở này.

Độ tin cậy là một vấn đề khác. Chuyển đổi bị trả lại có thể khiến uC của bạn bật và sau đó tắt một vài lần, vì vậy hãy viết mã của bạn để nhận biết điều này.

Tôi nghĩ có thể nên bật điện trở nhưng có thể ở khu vực + 10K và có thể mức này có thể cao hơn có thể là 100 nghìn.

Điện áp trên chân tắt máy phải có ít nhất 45% so với Vin, vì vậy đây không phải là vấn đề.


3

Đây có vẻ như là một hệ thống tự chốt, theo lý thuyết nên hoạt động, giống như mạch rơle tự chốt (Một nút được sử dụng để bật rơle, và sau đó vì chân tải và chân cuộn dây được gắn với nhau, rơle vẫn bật miễn là nguồn điện đi đến các chân tải).

Để kiểm tra nó, mà không mạo hiểm với một vi điều khiển, bạn có thể làm điều này. Thêm một tải giả để giữ cho bộ điều chỉnh hạnh phúc (một vài đèn led, để bạn có thể thấy rằng nó đang hoạt động), và sau đó buộc đầu ra vào điểm được đánh dấu uC Power. Sau khi bạn nhấn công tắc, bộ điều chỉnh sẽ khởi động, bật đèn led và uC Power, do đó sẽ giữ chân Bật ở mức logic cao (Shutdown Logic High tối thiểu 45% so với VIN, vì vậy 1,89V ở mức 4.2V. ).

Vì vậy, nếu bạn nhấn nút và đèn led vẫn sáng sau khi bạn nhả nó, nó sẽ hoạt động. Nếu không, nó sẽ không hoạt động như vậy.

Cảnh báo: Tôi nói vậy, không chắc chắn cách điốt Zener sẽ khiến mạch phản ứng mặc dù.


0

Mạch liên kết pin, tín hiệu vi điều khiển và đầu vào SHDN * của bộ điều chỉnh (được đổi tên thành EN) có vẻ tinh ranh.

Làm thế nào về việc sử dụng một chốt (chạy bằng nguồn pin) để nắm bắt việc đóng phím. Sau đó, đầu ra của chốt này có thể được OR'ed với tín hiệu tín hiệu từ MCU để điều khiển chân SHDN * của bộ điều chỉnh (được đổi tên thành EN trong sơ đồ). Khi khởi động, MCU nên lái dòng kích hoạt của nó trước, sau đó xóa chốt, do đó đảm bảo EN vẫn được xác nhận.

Hành động nút tiếp theo có thể được theo dõi thông qua chốt: nếu nhấn công tắc một lần nữa, chốt sẽ lại cao. MCU nhận thấy điều này và xóa cả chốt và tín hiệu cho phép của nó, kích hoạt tắt máy. Vì công tắc được chốt, MCU có thể theo dõi điều này rất thuận tiện bằng cách bỏ phiếu ở tần số nhàn nhã.

Một tinh chỉnh tùy chọn nữa sẽ là một mạch để đảm bảo rằng khi pin tự trực tuyến, hệ thống sẽ bật nguồn mà không cần sử dụng nút. Đây có thể là một số loại xung đặt chốt.


0

Kéo EN thấp với một điện trở phù hợp và buộc nó vào chân io trên mcu. Công tắc bật trên một pin đầu vào của mcu. Nhấn nút sẽ kích hoạt ngắt trên chân đầu vào mcu để tắt chân đầu ra điều khiển chân EN của LDO của bạn.

Đặt mcu vào giấc ngủ sâu sẽ cho phép pin được kéo xuống thấp và vô hiệu hóa LDO. Kích hoạt ngắt với công tắc sẽ đánh thức nó, kéo pin lên cao một lần nữa và bật lại bật LDO.


Xin lỗi, tôi nên chỉ định rõ hơn một chút, vi điều khiển là tải chính mà LDO sẽ chuyển đổi, do đó, để nó ở trạng thái năng lượng thấp sẽ không hoạt động.
Carson Darling
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.