목록기타 (263)
마음 속 하늘은 항상 맑음~!
포토다이오드를 이용한 스위칭을 위해서 포토다이오드를 샀었는데, 반응 속도가 만족할 정도가 아니다. 무려 40밀리초의 상승이나 하강 엣지가 있어서 밀리초 단위의 반응은 기대할 수 없다. 그리고 더 빠른 반응 속도의 OP-AMP 회로 구성은 빛에 대한 민감도가 너무 낮다. 그늘 밝기 정도는 되어야 작동하는터라 또한 목적에 부합하지 않았다. 그리고 OP-AMP 회로 구성은 빛이 낮으면 펄스화되는 문제가 또한 있었다. 테스트에는 LM358을 사용. 일단 낮은 민감도를 가지는 포토다이오드 스위칭은 다음과 같은데, R1은 최대 1M 정도가 좋고 더 높으면 제대로 반응하지 않는다. R1이 100k정도되어도 노이즈가 많이 나타난다. 1M 저항의 경우엔 상승 하강 시간은 큰 자이가 없이 보다 안정한 신호를 나타내고 있었..
대부분 온라인에서 판매하는 저렴한 18650관련 리튬이온 충전회로는 1000mA 기준으로 부품이 붙어서 나온다. 이걸 1200mAh 배터리를 충전하려거나 2000, 2200용량보다 적은 용량의 충전배터리를 충전시키려면 약간의 제한이 따른다. 일반적으로 충전배터리의 절반 전류로 충전을 해야 문제가 없다. 아래의 전류 제한 회로는 3.9저항에서 전압 드랍이 커서 하단의 부하에는 100mA의 충전 전류만 걸린다. 여튼 이러한 문제를 해결하기 위해서는 TP4056보드의 2번 핀에 붙은 저항을 수정하면 된다. 이는 TP4056 기술문서에 정의되어 있는데 다음과 같다. 기본적으로 1.2k 저항이 붙어있는데 1k 저항을 2개 붙이면 전류가 580mA가 되어서 1200mAh를 충전하는데 문제가 없다. 실제로 2k저항으..
500mA를 만들려다 만들어진 600mA 정전류 회로. 18650 플래시 중에 1200mA를 자주쓰이는 것 같아서 기존의 1A충전 회로를 쓸 수 있도록 만들었다. LED는 보일 정도로 밝기가 안나오고 2907은 다른 PNP 타입의 트랜지스터를 쓰면 된다. 병렬로 해도 트랜지스터의 발열이 좀 있다. 일단 600mA 정도의 전류가 나오는 것은 확인. 오차로 더 많이 나올수도 있다. 대충 설계 이론치는 (1.8+0.6+0.6-0.7)/3.9=589mA이나 테스터기로 측정해보니 약간 더 나온다.
좀 더 전압이 안정한 TL431 레귤레이터. Q1 앞 부분은 그냥 커런트 소스 회로이고 이 회로에서 가장 중요한 부분은 C1이다. C1이 있느냐 없느냐에 따라 전압 정확도가 부하에 따라 변화하는게 달라진다. 0.01uF(103)을 사용해도 큰 문제는 없었지만 가장 보편적인 0.1uF(104)을 사용했다. 인터넷에 검색해보면 C1이 붙은 회로가 정전압 회로라고 나오기도 한다. Q1을 포함한 앞부분을 그냥 저항 1개로 대체해도 되지만 전압에 따른 발열이나 전류량의 변화로 좀 더 정확도가 떨어지는 전압이 나온다. Q1은 PNP형이라면 어떤걸 써도 무방하다. 5V를 얻으려면 분압저항을 만들어 같은 값을 사용하고, 중간에서 TL431 Ref 단자로 입력하면 해결된다. 이는 낮은 전류를 위한 회로로 터치센서(TTP..
기존의 소스에서 보다 메모리 패닉이 줄어들도록 drawXBM 코드를 개선하고, 시간을 표시하는 부분이 인터넷 연결에 관계없이 계속 동작하도록 변경했다. 아직 와이파이가 끊기는게 없어서 제대로 동작하는지는 확인하지 못했다. 그리고 API로 데어터를 가져오는 부분에 문제가 생겨서 리셋하는 것도 방지했다. 최대로 작동을 안정화시키는데 노력했고 예상 외의 문제가 아니라면 제대로 동작하리라 생각한다. 기존의 방법론도 문제없이 1달 넘게 문제없이 동작했었는데, 이렇게 바꾸게 된 것은 사실 소켓 데이터 연결의 lua 스크립트가 너무 커서 스크립트가 컴파일되지 않는 문제가 생겨서 여러 개의 스크립트로 분리했다. 그리고 동작 스크립트 파일이 계단형 호출이 아닌 하나의 스크립트 안에서 호출되도록 변경했다. 전역 변수 선언..
이 실행 파일의 목적은 Ping이 막힌 IPv4 로컬 서브넷의 ARP핑을 체크하는 툴입니다. 다른 윈도우즈 구현은 Cygwin이나 Pcap같은 라이브러리가 필요한데, 이 실행파일은 그런 것들이 필요하지 않고 그냥 실행하는 것으로 ARP Ping을 체크할 수 있습니다. 툴을 배포하는 홈페이지는 이곳 : https://www.elifulkerson.com/projects/arp-ping.php
인터넷 상에 돌아다니는 대표적인 7번 스위칭 신호 출력의 555 PWM회로가 있는데, 낮은 주파수에서는 잘 동작하는지는 모르겠지만, 높은 주파수에서는 7번에서 나오는 스위칭 신호가 너무 두루뭉실해져서 제대로 OFF상태를 만들지 못하는 것 같다. 아마 저항이 너무 크거나 하는 문제인 것 같은데, 저 값을 줄이면 저항에 흐르는 전류량이 증가하는 문제가 생긴다. 그래서 7번을 끊고 3번을 스위칭 신호로 이용하면 되는데, 3번을 스위칭 신호로 이용하게 되면 PWM 뿐만 아니라 주파수도 변하는 PWM이 된다. 이 방법은 별로 추천하지 않는다. 결론적으로 이런 임시적인 수정은 큰 의미가 없고, 555PWM을 제대로 구현하려면 7번에서 스위칭 신호가 나오는 회로보다는 3번에서 스위칭 신호가 나오는 회로 도면을 추천한..
간단한 555 NCV 디텍터. 실제로 만들어봤는데 생각보다 너무 민감해서 와이파이 신호에서도 작동하는 듯. NCV라고는 하지만 EMF 디텍터에 더 가까운 것 같다.
앞부분은 간단한 전원부인데 2.5V 레퍼런스 전압을 얻을 수 있는 TL431를 응용하여 5V전압을 만들어낸다. 소전력 회로라서 추천은 하지 않는 방식. TTP223 모듈을 외부에서 연결하는데 이 모듈은 터치에 대한 값을 IO핀을 통해서 내보낸다. ATTiny85는 3번에서 신호를 받는데, 외부 인터럽트 핸들링을 이용한다. 왜냐면 단지 논리값으로 유지되는 시간이 몇초 안되고 TTP223모듈의 B점퍼를 연결해도 딱히 좋은 효과가 나지 않기 때문. 외부 인터럽트 핸들링이 가능한 다른 마이크로 컨트롤러를 사용해도 된다. (편집) Hi Z 풀다운 저항 R6추가로 FET Gate가 Hi Z 상태일 경우에 On이 되고 적은 전류에도 발열이 나는 경우를 방지한다. 아두이노로 작업한 간단한 코드는 다음과 같다. #inc..
대충 포맥스로 글루건을 이용해서 상자를 만들고 집어넣었다. 8266+0.96인지 I2C를 연결하기만 했고, 기상 데이터 API는 OpenWeatherMap을 사용했다. 3시간 마다 예보를 보여주는데, 무료 API 제한이라 어쩔 수 없다. 데이터를 받아와서 뿌려주는데 아이콘이 없어서 도안을 찾고 다시 그리느라 좀 힘들었다. 이미지 로딩 문제가 있었는데, 이게 GIMP로 만들어진 XBM(데이터 형식의 문자열 파일)은 제대로 지원하지 않는데 약간의 트윅이 필요한데 스크립트에서 반전해주는 것으로 해결할 수 있었다. 5분마다 상태를 업데이트하고 맨 상단에는 타이머 이벤트로 시간이 업데이트 되도록 했다. nodemcu 펌웨어로 만들었는데 최신 펌웨어에서는 타이머 이벤트를 이제 정해진 숫자로 지정할 수 없고, 와이파..