버튼으로 마이크로 컨트롤러의 전원을 전환하는 방법은 무엇입니까?


13

배터리 전원을 사용하는 마이크로 컨트롤러 장치가 있습니다. 현재 간단한 켜기 / 끄기 스위치로 전원을 전환합니다. 회로도 (및 아마도 마이크로 컨트롤러 프로그램)를 최소한으로 수정하고 장치가 꺼져있을 때 소비 하지 않고 하나의 푸시 버튼으로 전원을 전환하고 싶습니다 . 어떻게하니?

추가되었습니다 . 다음 트릭을 알고 있습니다.

여기에 이미지 설명을 입력하십시오

시작시 마이크로 컨트롤러는 PB3을 high로 설정하여 장치의 전원을 유지합니다. 그러나 이것은 S1을 눌러 장치 를 꺼야 하기 때문에 내 문제에 대한 해결책이 아닙니다 .

추가되었습니다 . 회로에서 VT2를 제외 할 수 있습니까 (예 : VT1의 마이크로 컨트롤러 드라이브베이스)?


래칭 푸시 버튼이 적합한 솔루션입니까?
AndrejaKo

@AndrejaKo : 번호

그럼 행운을 빕니다! 내가 보는 한 가지 방법은 푸시 버튼을 누르는 동안 커패시터를 충전 한 다음 MOSFET과 같이 무언가를 활성화하려고 시도하지만 버튼을 누르는 시간에 따라 다릅니다.
AndrejaKo

@tcrosley 그것은 중복이 아니며, 당신이 말하는 질문은 버튼을 누를 때 전원을 토글 할 필요가 없으며, 마이크로 컨트롤러가 스스로 셧다운되도록 켜야한다는 것입니다.
Bruno Ferreira

@BrunoFerreira 알겠습니다. 동의합니다. 이전 의견을 삭제했습니다. 나는 이 답변에 마이크로 라인을 추가 했지만 좋은 답변 인 답변에했던 것처럼 제너를 포함시키지 않았습니다.
tcrosley

답변:


6

제공 한 회로에 따라 스위치 (S1) 바로 뒤에 직렬로 다이오드를 직렬로 추가 할 수 있으며 (스위치에 연결된 음극) 스위치를 다시 눌렀는지 감지하기 위해 입력을 사용할 수 있습니다. PB3.
수정 필요

제너 다이오드는 전원 공급 장치에서 나오는 전압으로부터 PIC 입력을 보호합니다.


다이오드의 역할은 무엇입니까?
m.Alin

@ m.Alin 여기의 다이오드를 사용하면 스위치를 놓을 때 마이크로 컨트롤러가 감지 할 수 있습니다. 우리가 다이오드를 가지고 있지 않다면 VT1이 작동을 시작할 때 항상 마이크로 컨트롤러 입력에 대해 높은 수준을 유지할 것입니다.
브루노 페레이라

8

당신은 실제로 얼마나 떨어져 있어야합니까? 많은 최신 마이크로 컨트롤러는 작은 배터리의 자체 방전 전류보다 훨씬 낮은 수면 전류를 가지고 있습니다. 푸시 버튼을 사용하여 마이크로의 I / O 핀을 간단히 구동 할 수 있습니다. 그러면 버튼을 누를 때마다 절전 모드와 활성 모드간에 전환됩니다. 일부 수신 거부가 필요하지만 펌웨어에서도 가능합니다.

이런 종류의 온 / 오프 방법은 요즘 꽤 흔해지고 있습니다. 마이크로 컨트롤러가 µA 만 필요한 경우, 마이크로 컨트롤러는 진정으로 꺼질 필요가 없으며 잠을 자지 않아도됩니다. 버튼 라인은 마이크로가 절전 모드에서 깨어날 수있는 무언가에 연결되어야하지만, 거의 모든 마이크로는 보통 그중 하나 이상을 가지고 있습니다.


1
동의합니다. 오늘날 많은 디자인에는 켜기 / 끄기 버튼이 없으며 버튼 누름만으로 깨어납니다.
Oli Glaser

Me 장치에는 LCD 및 기타 주변 장치도 포함되어 있습니다. 따라서 전원도 꺼야합니다.

4
@user : 마이크로 전원을 꺼야한다는 의미는 아니며 다른 로직 만 사용해야합니다. 마이크로가 온 / 오프 사고를하는 동안, 마이크로는 다른 디바이스에 대한 전력을 제어하여 마이크로가 슬리핑 될 때 오프되도록한다. 이것은 당신이 어떤 것을 켜고 끄는데 편리한 극성이 될 수있는 고의적 인 디지털 출력을 가지고 있으며 아날로그 하드웨어에서 토글 링을 구현할 필요가 없다는 것을 의미합니다.
Olin Lathrop

많은 마이크로 컨트롤러가 수면 전류가 매우 낮더라도 품질 조정기는 비용이 많이 드는 것보다 비쌉니다. 추가 250uA (또는 2.5mA)를 사용하는 레귤레이터는 장치가 사용 중일 때만 작동해야하는 경우에는 문제가 없지만 장치가 "스위치가 꺼진"경우에도 작동해야하는 경우 완전히 허용되지 않습니다. . 몇 년 전 제가 디자인 한 한 제품은 레귤레이터를 사용하지 않았습니다. 대신 세 개의 트랜지스터와 약 7 개의 저항을 사용하여 공칭 5 볼트 전원을 프로세서 제어 셧다운에 제공했습니다. "레귤레이터"표준에 의해 전압 정확도는 정말
미쳤다

1
@OlinLathrop : 2N3094 2 개와 2N3906 비용은 $ 0.07 미만입니다. 10 개의 부품이 조립 당 1 페니가 든다고해도 10 만개의 부품이 제조 될 경우 단위당 1 센트가 절약됩니다. 제품이 이런 종류의 볼륨을 가지지 않는다면, 그 $ 0.10을 짜내려고 노력할 가치가 없을 것입니다. 내가 디자인을 할 때 오늘날의 레귤레이터를 사용할 수 있고 얼마나 잘 팔릴 지 미리 모른다면 아마도 스탠바이 제어 기능이있는 레귤레이터를 사용했을 것입니다. 그러나 회로는 작동하고 다른 것보다 저렴합니다. 계속 사용하지 않을 이유가 없습니다.
supercat

3

편집-반사시 아래 회로 (참조를 위해 남겨 두겠습니다)는 마이크로가없는 회로에 사용하기에 가장 적합합니다. 다른 답변에서 언급했듯이 실제로 uA를 감당할 수 없다면 마이크로 스위치를 사용하여 전력 토글을 제어하지 않는 것이 합리적이지 않습니다. 구성 요소를 덜 사용하고 정확하게 제어 할 수 있기 때문입니다.
가장 간단한 버전은 풀업 버튼, 접지 버튼이있는 IOC (변경시 인터럽트) 입력과 같은 것일 수 있습니다. 마이크로는 항상 전원이 공급되고 나머지 회로에 대해 P- 채널 MOSFET (게이트에서 풀업으로)을 제어합니다. 잠 자면 게이트가 플로팅하여 회로를 끕니다.

기준 회로 :

토글 스위치

처음에는 P-MOSFET이 꺼 지므로 Q2에는베이스 전류가 없으며,이 역시 꺼져 있습니다. Q1이 꺼져 있으므로 Q1c는 5V입니다. 회로는 정적입니다.

S1 (+ 및-노드 무시, SPICE 트리거링 목적을 위해 존재 함)을 누르면 Q1c의 5V가 Q2베이스에 연결되어 켜집니다. 이렇게하면 P-MOSFET 게이트가 접지로 당겨져 켜집니다.
R4에 5V가 표시되고 S1이 해제되면 Q2s베이스에 전류를 유지하는 데 필요한 전류를 제공합니다 (따라서 MOSFET도 켜짐). R2를 통한 전류가 C1 ~ ~ 600mV를 충전 할 때 Q1도 켜집니다. <200mV (즉, Q1이 켜져 있음)
회로가 다시 정적 상태입니다.

S1을 다시 누르면 Q1은 Q2를 끄는 R4 (Q2를 유지하는 상태)의 전류를 싱크합니다. R1은 MOSFET베이스를 최대 5V까지 끌어 당기고 다시 끕니다.

시뮬레이션은 다음과 같습니다 (버튼을 누르면 V (푸시) 높음이 나타남).

토글 스위치 심

또한 전류 헤드의 전원을 끈 후 (C1 방전 및 Q1이 꺼질 때) 회로가 꺼진 상태에서 전력을 소비하지 않는 것을 볼 수 있습니다 (I (V1)의 커서는 19.86s이고 측정 값은 329nA입니다).

토글 스위치 전원

원래 회로 아이디어는 내 것이 아닙니다 . Dave Jones가 EEVblog를 통해 가져 왔습니다 .


1

Bruno Ferreira가 제안한 바와 같이, 버튼을 "오프"스위치로 작동시키는 가장 쉬운 방법은 회로를 변경하여 버튼을 언제 누를지를 프로세서에 알리는 것입니다. 필자는 제너없이 VDD를 초과하는 전압으로부터 프로세서의 입력을 보호하기 위해 저항을 적절히 사용할 수 있다고 생각한다.

다음 은 사용할 수있는 회로 설계의 대략적인 스케치입니다. 오른쪽 절반은 프로세서의 동작을 나타내며 레귤레이터를 위해 트랜지스터, 제너 및 저항의 조합을 사용했습니다. 이 시뮬레이터의 게이트는 항상 + 5V 출력을 생성하기 때문에 프로세서의 출력은 게이트가 아닌 아날로그 스위치 VDD를 사용하여 표시됩니다.

무시할 경우 문제를 일으킬 수있는 회로의 주요 측면은 VDD가 ~ 3.6V 이상이 아니면 프로세서가 회로를 켤 수 없도록 설계되었다는 것입니다. 또한 VDD가 3.5V 미만일 때마다 프로세서가 항상 출력을 켜려고 시뮬레이터를 조작했습니다. 프로세서가 전력이 소진 될 때 로직을 높게 출력하려고 시도하지 않는다고 가정하는 많은 디자인을 보았습니다. 이 가정은 테스트에 사용되는 일부 칩 배치에서는 문제가 없지만 본격적인 생산에 사용되는 다른 칩 배치에서는 실패합니다. 저전압 상태에서는 대부분의 프로세서의 동작이 지정되지 않습니다. 이러한 조건에서 프로세서의 동작이 중요하지 않도록 적절한 디자인을 설계해야합니다 (약간의 참고 : 아마도 프로세서가 t인가 된 전압보다 높은 전압을 생성하도록 명시 적으로 설계되어 마술처럼 그렇게하지 않습니다. 나는 그것에 대한 명시적인 사양이 있다고 생각하지 않지만 대부분의 경우 안전하게 추론 될 수 있다고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.