최근 프로젝트를 진행하면서 AVi 라는 플라이트 컴퓨터를 만든 경험이 있다. (자세한 내용은 여기로)
그런데 최근에
이 분의 PCB 로켓 고도측정계 영상을 보게 되었다. 마침 내 보드를 어떻게 하면 작고 가볍게 로켓에 적재할 수 있으며, 또한 선 정리에 대한 어려움이 있었기 때문에 나는 이것을 한번 도전해 보기로 하였다.
이 글은 내가 이 프로젝트를 진행하면서 배운 점, 알게 된 점들을 기록해 놓은 것이다. 솔직히 한국어로 된 자료가 많이 없기도 하고 영어로 된 자료도 너무 복잡하거나 이해하기 어려워서 배울 겸, 자료 기여도 할 겸 해서 이 글을 작성하게 되었다.
시작하기에 앞서 내기 무엇을 알아야 하는지를 정리해 보았다.
- 회로도 (Schemetic) 의 작성 방법
- 마이크로 컨트롤러 칩 사용 방법
- 전원 공급 방법
- 센서 제어 방법
- 아두이노 모듈과 호환되는 핀 구축 방법
- PCB 주문 방법
- 기판 조립에 관한 문제
오늘 이 글에서는 위의 문제들을 순서대로, 내가 어떻게 해결해 나갔는지에 대한 글이다.
회로도 작성
회로도 작성은 아두이노를 해본 경험이 있는 나로써는 딱히 엄청 어렵다~ 의 느낌은 아니였다.
일부 핀들을 제외하고는 각 핀의 역할이 뭔지, 어떻게 사용해야 하는지가 아두이노와 매우 유사한 부분이 있었다.
예를 들면 PD0 ~ PD7까지는 아두이노와 차이점 없이 그냥 Digital 0~7인 것 이다.
애초에 내가 사용한 ATmega328p는 아두이노 레오나르도에 들어가는 마이크로 컨트롤러이다.
이외의 내가 모르는 핀의 연결, 처음 보는 개념들도 있었다. 그것들을 간단히 소개하자면,
- 전압 레귤레이터 사용법
- 리셋
- 크리스탈
- 캐패시터 사용법
- 저항의 필요성
1번부터 설명하자면 별것 없다.
이렇게 생긴 전압 레귤레이터를 데이터시트에 맞도록 연결해 주기만 하면 된다.
생각보다 별것 없다. 그냥 회로도 대로 연결해 주기만 하자.
래귤레이터 앞뒤로 220uF 캐패시터를 달아주면 좀 더 안정적으로 전원을 공급할 수 있다.
그 다음은 리셋이다. 리셋은 마이크로 컨트롤러에 GND를 인가해 줘서 작동한다. 따라서 업로드시 필요한 DTR포트 (업로드시 타이밍에 맞춰 리셋을 눌러줘야 함. 따라서 이 기능을 자동으로 수행하기 위해 필요함)와 물리적 스위치를 연결해서 작성했다.
또한 평소에는 3.3v(High)에 연결되어야 리셋이 되지 않기 때문에 풀업 저항을 이용해서 값을 고정해줬다.
크리스탈은 IC의 클럭을 16MHz로 만들기 위해 사용하였다. ATmega328p의 경우 내부에 8MHz 오실레이터가 내장되어 있어서 딱히 필요는 없지만 속도가 2배 빨라지는 것이기 때문에 이를 사용하였다.
캐패시터와 저항은 솔직히 아직도 잘 모르겠다. 각각의 기능은 이론적으로 알고 있지만, 어디에 사용해야 하는지, 어떻게 사용해야 하는지에 대해서는 아직은 이해가 부족하다고 느껴진다.
내가 이 프로젝트를 진행하면서 저항은 오직 풀업, 풀 다운에만 사용했기 때문일 수도 있다.
캐패시터의 경우에는 그냥 이론적으로 전기를 저장해서 회로의 안정성을 높이는 역할만 있는 것 같은데, 그렇다면 3.3v와 GND 사이에 용량이 큰 하나의 캐패시터만 있으면 될 것 같은데.. 왜 각 센서마다 달아야 하는지 아직은 모르겠다. 필요 없다는 것은 아니고 내가 이해가 안된다는 것이다(진짜로)
센서 연결하기
나는 이번 프로젝트에서
- BMP280
- MPU6500
- RYLR998 (모듈)
- GPS 6M (아두이노용 모듈)
- Micro SD 카드 리더
- 모스펫
- GPS, HX711 을 위한 마운트홀
을 한 보드에 담아야 한다.
여기에서 BMP280, MPU6500은 I2C 통신 방법을 사용하기 때문에
와 같이 각 핀을 3.3v로 풀업 해주었다.
사실 여기가 나에게 있어서 가장 어려운 부분이였든데, 여기를 참고해서 작성하였다. (이 부분은 작동이 미지수라서 추후 pcb가 도착하면 수정하겠다.) MPU6500의 회로도는 찾을 수 없어서 BMP280의 회로를 참고해서 작성하였기 때문에 작동은 미지수이다.
3월20일) 드디어 부품들이 와서 조립을 해 보았다. 결과는 :
2025.03.20 - [분류 전체보기] - Kicad로 PCB 제작하기 : 납땜부터 코딩까지 (2)
에서 확인해 보길 바란다. 스포를 하자만 정상적으로 작동한다 ㅎㅎ
Micro sd 리더는 비슷한 데이터시트를 보고 영어가 맞는 곳으로 연결해 주었다.
이분 영상에서 연결한 것을 봤는데 딱히 저항이나 캐패시터 없이 바로 ATTiny 칩에 연결할 것을 보고 대충 연결한 것이다.
마찬가지로 이것도 작동이 미지수이다.
해서 이렇게 회로도를 작성하고 PCB편집기로 선을 이어서 설계를 마쳤다.
완성된 모습은 다음과 같다.
생각보다 그럴싸 하게 만들어 진것 같다.
틀린 내용이나 잘못된 내용이 있으면 댓글 달아주세요
'발사체' 카테고리의 다른 글
400Ns High-power 로켓모터 개발일지 : 2주 연속 불발하다(3) (0) | 2025.03.23 |
---|---|
Kicad로 PCB 제작하기 : 납땜부터 코딩까지 (2) (0) | 2025.03.20 |
400Ns High-power 로켓모터 개발일지 (2) (0) | 2025.03.17 |
400Ns High-power 로켓모터 개발일지 (1) (0) | 2025.03.09 |