여러분은 가만히 계세요 제가 모두 고장낼게요

IT 지식, PC 모바일 문제 해결 그리고 종종 애니 게임 일상생활 근황을 종종 올리고 있어요!

냐.한국 자세히보기

임베디드/SlimeVR 25

SlimeVR 트래커 PCB 제작하기 1월 11일 (자폭 버튼과 배터리 누수)

자폭 버튼 제 PCB에는 옵션/다운로드 모드 진입버튼과 함께 추후 사용을 생각해서 캘리브레이션 스위치를 넣어놨습니다. 그런데 어째선지 이 리셋 버튼만 누르면 USB 연결이 끊겨버리는 거였어요. 처음에는 리셋 기능의 특징인건가 하고 생각하고 넘겼지만 가만 생각해보니 CH340은 어떠한 리셋 신호도 받고 있지 않을 뿐더러 나중에 생각해보니 저는 리셋버튼을 만든적이 없었던겁니다... 그러면 저 스위치는 뭐였을까요? ... 네 그렇습니다. GND와 3.3v를 쇼트내주는 자폭 스위치였던 겁니다. 어쩐지 저걸 누르면 버튼이 따끈따끈했네요... 12번 GPIO 핀은 무제한 풀업에 연결되어 있고 캘리브레이션 스위치는 쇼트 버튼이었던 거죠.. 바로 원래대로 고쳤네요 휴우... 라우팅 완료. 사실, 이제 리셋기능은 사라졌..

SlimeVR 트래커 PCB 제작하기 1월 11일 (외부 UART와 배터리 커넥터)

디버그의 편의성과 추후 하우징 디자인을 생각해 여러가지를 추가해보도록 하겠습니다. 외부 UART 프로브 추가하기 기존 SMT 어셈블리 작업시 CH340(USB-UART 브릿지)의 재고가 없어서 주문을 못했는데, 보드에 직접 납땜해서 데이터를 이동하려니 고생이 이만 저만이 아니더군요ㅠ 그래서 이번에는 외부 커넥터를 하나 만들기로 했습니다. 펌웨어를 올리고 내리거나 디버깅용으로 사용하기 위한 외부 UART 프로브입니다. 사용 중에는 전혀 필요없고 100% 디버깅 용도의 핀입니다. 프로덕션에서도 그대로 유지할 생각입니다. 으악.. 둘데가 없네요ㅠ 테스트포인트로 패드를 교체했습니다. 1mm 크기는 여전히 도움이 되지 못합니다.(사실, 저것도 충분히 작은 크기입니다) 이제 조금 괜찮네요 실크는 버튼 위쪽, 프로브..

MPU6050 외부 오실레이터 사용하기

아무리 코드에서 오실레이터를 외부로 변경하는 레지스터를 I2C로 쏴줘도 내부 오실레이터를 계속 사용하네요.. 보드에 들어가는 전원 상태가..? 일단 이거 먼저 봐야겠어요...ㅋㅋㅋㅋ (해결완료)TP4056이 배터리가 없으면 충전과 방전을 반복하는 동작이 수행되면서 독특한 패턴을 찍는 모양입니다. 무지성으로 클럭소스 레지스터 변경 코드를 쏴주기로 했습니다. 저렇게 설정하고 패킷을 캡쳐하면 어떤 느낌으로 나올지 보고 제대로 ESP에서 MPU6050으로 신호를 보내는 지 확인하는 게 먼저같네요 일단 저 구문을 지나가는 건 콘솔로 확실히 확인 완료. 6B를 기준으로 검색하면 될 것 같습니다. 6B44의 데이터를 보내고 있습니다. 일단 저게 찍혀나온다는 건 ESP8266은 아무런 문제없이 I2C 신호를 쏴주고 있..

SlimeVR 트래커 PCB 제작하기 1월 6일 (외부 I2C 포트 만들기)

위에서 봤듯이 짧은 부분에 배치하면 배터리 납땜 난이도가 헬로 변하기 때문에 긴 옆부분에 배치해야 합니다. 아래 크레딧을 작성했던 부분이 남아 글씨를 이동하고 그 부분에 포트를 배치하도록 하겠습니다. 커넥터를 연결하기 쉽게 TP4056 부산물들을 이동한 다음 옆으로 밀어줬습니다. 1.5mm 정도 살짝 앞으로 튀어나온 이유는 3D 출력물 등으로 하우징을 설계하면 포트가 하우징으로 하중을 전달하도록 구성해 보려는 것도 있고 무엇보다 뽑거나 끼우기 더 수월할 것으로 보여요. 외장 센서를 연결하기 위한 케이블 순서는 통용되는 표준과 같도록 배치했습니다. 커넥터는 그냥 가장 저렴한 제품입니다.(JST PH 시리즈 4극 S4B) 외부 확장모듈을 항상 사용하는 게 아니기에 필요한 경우에만 직접 손 납땜 조립할 생각이..

SlimeVR 트래커 PCB 제작하기 1월 4일 (레귤레이터 이야기)

벌써 몇개월이 그냥 흘러갔네요 새로운 기능을 추가하기 위해 회로도를 정리했습니다. 이전에 AMS1117을 사용해 주문했는데 3.3V 위아래를 오가는 리튬이온 배터리에서 사용하기에 1117은 부적합했습니다. AMS1117의 설명 중 드롭아웃 전압에 관련된 부분인데, 최대 전압 강하가 1.3V로 되어 있습니다. 즉 입력보다 출력이 1.3V 낮다는 뜻인데, 3.3V 전압을 만들기 위해서는 3.3+1.3=4.6V 이상이 항상 공급되어야 합니다. 2.5V~4.2V를 왔다갔다 하는 리튬이온 배터리 애플리케이션에선 적합하지 않은 레귤레이터입니다. (LDO 이름값이..ㅠ) JLC 라이브러리만을 보고 있기에 선택지가 별로 없네요.. 남은 대안은 TOREX사의 XC6206 레귤레이터와 Holtek사의 HT7533이 있습니..

SlimeVR 트래커 PCB 제작하기 12월 26일

오늘은 시간도 없고 졸려서 불편했던 점만 약간 개선하고 마쳐야겠어요 일단 제작하면서 본인이 가장 헷갈렸던 + -에 표시를 넣어줬습니다. 반대로 넣으면 고장나면서 올바른 방향을 표기해두지 않는다니... 당장 표시했어요 어마어마하게 뜨거워지는 TP4056의 방열을 위해 바닥면 구리 채움을 아주 크게 늘렸습니다. 발열을 줄이기 위해서 충전 속도를 제한할 수도 있지만 그렇게 하고싶진 않네요..!! 일단은 여기까지입니다.

SlimeVR 트래커 PCB 제작하기 12월 20일 (PCB 도착했어요)

11월 22일에 주문했으니 택배 도착까지 한달정도 걸린 것 같습니다. 사실 저는 이 상자를 나름 좋아하는데 이번에는 찌그러져서 왔네요 ㅠㅠ 아쉽게도 굿즈나 테이프 등은 들어있지 않았습니다. 지인분의 Cherry MX키용 PCB를 같이 주문했기에 합배송 받았습니다. 조립하지 않은 PCB는 진공포장으로, SMT 조립된 PCB는 랩과 에어캡으로 감싸서 배송되었습니다. 구성품은 PCB 5장이고 5장 모두 SMT Assembley를 신청했기에 조립되어서 도착했어요. 다만.. 재고가 없어서 두 부품은 못 붙여왔네요 ㅠㅠ 이전에 지인분이 만들었던 FBT와의 비교샷입니다. 기존에 만들었던 하우징보다 작아졌지만 18650의 길쭉한 크기 떄문에 길이는 거의 차이가 없습니다. 납땜 상태도 완벽하고 문제도 없어보이기에 전원을..

SlimeVR 트래커 PCB 제작 11월 26일 (풋프린트 실수)

밥 먹는데 JLC에서 메일이 하나 왔습니다. Sir or madam으로 시작하면 언제나 뭔가 실수했다는 메일이던데 아니나 다를까 패드 하나를 잘못 그린 모양입니다. TP4056은 SOP8 SMD 패키지로 알고 있는데 회로도 풋프린트를 보러 가야겠습니다. 아무리 봐도 저는 SOP-8을 달았는데 자꾸 다르다고 하네요 해당 페이지의 EasyEDA 그림인데 확실히 뭔가 다르게 생기긴 했어요 JLC 쪽에선 위 그림처럼 해당 부품을 붙이지 않고 조립하겠냐고 물어보고 있길래 일단 취소하겠다고 답했습니다. 데이터 시트에 굉장히 친 절하게 부품의 모양과 치수가 그려져 있기에 저는 이를 토대로 패드의 크기를 계산해 이름과 관계없이 비슷한 패드를 넣어보려고 합니다. D가 4.7~5.1mm, E가 3.8~4mm 정도 되어 보..

SlimeVR 트래커 PCB 제작하기 11월 25일 (PCB 주문해요)

PCB 기판을 JLCPCB를 통해 주문하겠습니다. 모든 게 끝난 것 같아서 차차 주문해보려고 합니다. 기판만 주문한다면 스페셜 오퍼를 사용하면 5장에 2달러입니다. 배송비가 별도라고 해도 공짜나 다름없어요 파일을 업로드하면 자동으로 도면을 그려주는데, 가끔 안 뜰 때가 있습니다. 단순히 파일을 다시 올리면 어지간해선 뜨지만 계속 그런다면 무언가 잘못 올린 게 없나 확인해보세요 미리보기가 뜨지 않아도 주문은 가능하지만 웬만하면 다시 올리는 게 좋습니다. 옵션은 전부 기본값으로 뒀고 색깔만 화이트로 바꿨습니다. 초창기에는 SMT 어셈블리에 무조건 초록색만 가능했는데 이제는 선택지가 다양해졌어요! SMT 신청하기 SMT에 사용할 면을 골라줍니다. 앞면과 뒷면 중 한 면에만 SMT 어셈블리를 신청할 수 있으므로..