실험실
1. 하나의 SW로 전원 On / Off / Key input 을 동시에 처리하는 방법.
Cute Logger에서 사용된 방법입니다.
전원이 꺼져 있을때 SW3를 누르면 다음과 같은 순서로 전원을 켭니다.
SW3가 눌러져 Q6가 On 되고 regulator 3번 Pin이 "High" 가 된다. --> U7 regulator가 turn on 된다. --> CPU 전원이 인가 되면서 CPU가 turn on 된다 --> CPU는 전원이 켜지자 마자 "On/Off Key detect" port를 읽어 sw가 눌려 있는지 검사한다. -> 만일 sw가 눌려 있다면 약 0.5초 정도 더 기다려 보고 그래도 계속 sw가 눌려 있다면 "phold" pin을 "H"로 만들어 sw에서 손을 떼도 계속 전원이 들어 올 수 있도록 한다.
전원이 켜져 있을때 SW를 길게 누르면 다음과 같은 순서로 전원을 끄게 됩니다.
SW3가 누른다. --> interrupt가 발생하게 되고 CPU는 "On/Off Key detect" 단자를 읽는다 --> 읽은값이 "Low" 이면 SW 입력이 단순히 SW를 잠깐 누른건지 아니면 전원을 끄기 위해 길게 누르는 것인지를 판별하기 위해 3초간 계속해서 "Low"를 유지하는지 시간을 측정한다. --> 3초 이상 SW를 계속해서 누른 것이라면 "phold" pin을 "Low"로 만들고 LCD back light를 끈다. --> 이 상태에서 SW에서 손을 떼는 즉시 Q6가 turn off 되면서 regulator를 끄게 되고 결과적으로 CPU의 전원이 꺼진다.
2. LDO에 Enable/Disable 입력이 없는 경우에도 아래와 같이 똑같은 방식으로 회로를 구성 할 수 있습니다..
***다만 Battery와 Regulator 사이에 들어가는 PNP 트랜지스터의 전류 용량을 충분히 큰 것으로 선정해야 CPU에서 필요로 하는 전류를 공급할 수 있습니다.
3. SW 두개를 사용하여 On / Off를 각 각 수행 할 경우.
SW 2개를 사용 할 수 있다면 CPU port 한개를 절약 할 수 있으며 On / Off를 빨리 수행 할 수도 있습니다.
On Key를 눌러 CPU에 전원이 인가되고 CPU Boot up시에 무조건 "Phold"를 "H"로 만들어 주면 계속 전원이 유지 됩니다.
이 상태에서 OFF key를 누르면 KRC102S, KRA102S가 모두 전원이 꺼지게 되고 결과적으로 CPU는 더이상 "Phold"를 "High"로 유지 할 수 없게 되어 전원이 꺼지게 됩니다.
CPU port도 절약하고 전원을 빨리 On/ Off 할 수 있다는 장점은 있지만 CPU로서는 언제 전원이 꺼질지 모르기 때문에 전원을 끄기 전에 반드시 처리해야 할 procedure가 있는 경우라면(EEPROM save등...) 이 방법을 사용 할 수 없습니다.
** 물론 Off key를 Q7의 Base에 연결하지 않고 별도의 CPU 입력 port에 연결하는 방법으로 CPU에게 전원을 끄도록 신호를 줄 수도 있습니다.
안녕하세요.
좋은 정보를 얻을 수 있어서 정말 감사드립니다.
그런데 회로를 보고 잘 이해가 안되는 부분이 있어서요.
1번회로를 보면 아래쪽에 on/off key detect 가 CPU 입력으로 가는것 같은데요.
앞에 다이오드 방향이 저렇게 되어있어도 cpu 로 입력을 받을 수 있나요?
다이오드 방향이 역방향인데요. ???
듀얼 mosfet으로 이 기능을 구현한다고 이래저래 짱구를 굴리고 있었는데 간단하면서도 센스있는 회로입니다.. 와..
덕분에 고민이 쉽게 해결되어 너무 감사드립니다 ^^
최대한 작게 만들어 보려는데 위 회로의 NPN, PNP가 하나의 패키지로 합쳐진 SMD 타입의 제품 혹시 써보신것 있으시면 여쭤봐도 될까요? ^^;;
감사합니다 ^^
혹시 한가지만 더 여쭤봐도 될까요 ㅎ
브레인님 회로를 아래처럼 그렸구요 USB가 연결되면 스위치 동작과 관계없이 바로 켜고싶은데 아래 그림에서 왼쪽 빨간 라인처럼 V_USB를 PHOLD에 연결하면 USB가 연결되면 바로 켜지고 USB가 연결되어있지 않을때는 스위치를 눌러서 켜는게 가능할까요?
그리고 이렇게 연결하면 PHOLD가 3.3V MCU의 GPIO에 연결되어있어서 USB연결시 5V가 걸릴텐데 Level shift 없이 전류제한저항을 달아서 보호가 가능할지도 궁금합니다~!
초보분들은 본 강좌 실습시 트랜지스터 취급하실때 다음 사항을 같이 숙지하셔서 저같은 실수를 하지 않길 바랍니다~~
http://ezcircuits.net/zbxe/User/50343
브레인님 감사 드립니다.
안녕하세요 정말 궁금했던 내용이었는데 너무 잘 알려주셔서 감사합니다
다름이 아니라 저 회로를 꼭 구현해보고싶은데 혹시 사용하신 다이오드를 알 수 있을까요?
감사합니다
안녕하세요? 브레인 님께서 Push SW로 On/Off 하는 회로와 상세한 설명 덕분에 많이 배우고 있습니다.
올려주신 글과 다른 분들의 댓글을 보며 회로를 구현하고 정상적으로 확인을 했으나 Regulator 기준으로 부하를 걸어 줄 경우 약 100mA 수준으로 한계가 있는 것 같습니다. 처음에는 부하를 250mA 걸어주면 왜 0V로 떨어지는 지 이해가 되지 않았는데 공부하면서 찾게 되었네요.
제가 생각하는 회로는 Battery 3.7V를 Push SW로 On/Off 하여 제어 할 때, 3.7V to 5V를 만들고, 다시 5V를 가지고 12V를 만들어야 하는데 12V 출력에서 Load는 약 200~250mA 부하가 필요합니다.
아무리 생각해도 이상적인 회로를 구현하기가 어려워 일주일 정도 노력하다가 염치 불구하고 도움을 요청드리고자 합니다.
첨부 파일 확인 후 도움을 주실 수 있으실런지요?
부탁 드립니다.^^