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

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

냐.한국 자세히보기

임베디드 32

SlimeVR 트래커 PCB 제작하기 1월 14일 (3D 모델 생성과 부품 배치 정리)

Kicad에서는 3D 뷰어 기능으로 완성품의 미리보기를 지원합니다. 가끔 패드만 존재하고 3D 모델링이 없는 도면이 있는데, 직접 그려넣으면 됩니다. 회전이나 배치, 치수, 단위를 생각하지 말고 자신이 원하는 기준으로 실물과 같게 만들어주시면 됩니다. 다 만들었으면 STEP 또는 VRML(*.wrl)로 저장해서 적당히 원하는 데 가져다둡니다. 저는 시스템 기본경로인 C:\Program Files\KiCad\share\kicad\modules\packages3d\Connector_USB.3dshapes를 사용했습니다. 여기 두면 자신 외에는 아무도 실물을 보지 못하고 업데이트 시 사라지기 때문에 왠만하면 프로젝트 속에 저장해주세요. 수정할 풋프린트를 선택하고 E키로 속성에 들어가면 3D Settings라는..

SlimeVR 트래커 PCB 제작하기 1월 11일 (Type-C 단자 추가)

요즘 대세인 USB-C 단자를 넣어보겠습니다. USB-B Micro 5핀에서 쓰이는 4가닥이 나오는 게 목표기 떄문에 사실상 포트만 바꾸는 거지만 PD 어댑터를 트리거링하거나 전류 제한을 걸고, 거꾸로 꽂아도 작동이 되야하는 등 조건이 조금 까다롭습니다. 참고로 라이브러리 중 리셉터클 붙어있는 단자는 뒤집어져 있는 단자도 전부 연결해야 합니다. 기존 2.0 단자에서 3.0 단자로 변경한 모습입니다. 3.0은 단자 그림이 굉장히 큽니다. 같은 칸 안에 어떻게든 끼워넣는데는 성공했어요. 그런데 단자 심볼만 큰 게 아니라... 진짜 단자도 큽니다....같은 자리에 넣을 수 없어요...ㅋㅋ 전부 분해했어요 ㅠㅁㅠ 얼추 결선은 마친 것 같습니다 :) 공간이 부족해 틈새에 끼워넣은 게 좀 늘었습니다. 그리고 상단에..

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의 길쭉한 크기 떄문에 길이는 거의 차이가 없습니다. 납땜 상태도 완벽하고 문제도 없어보이기에 전원을..