📕 Tutorial #3: Starting a new PCB, Placing Components, Improving Schematic 영상을 참고하여 정리 및 실습한 글입니다. - 참고
PCB 캔버스, 그리드 설정을 조금 수정해줍니다. 단위는 mm 그대로 사용하고요. 그리드 크기, 스냅 크기, Alt 스냅, 라우팅 폭 등을 수정합니다.

Tools > Set Board Outline 에서 보드 윤곽선 설정을 바꿔줍니다.

그러면 아래와 같이 보드 크기가 변경됩니다. 보드는 너비를 길게, 높이는 짧게 해서 길쭉하게 만들 예정이에요.

Power와 관련된 USB 커넥터, 그리고 마이크로컨트롤러 디버깅 관련 헤더 커넥터를 먼저 배치해줍니다.

부품이 많아서 못 찾겠다면, 회로도에 가서 배터리 커넥터를 선택한 다음에 "Tools > Cross Probe and Place" 하면 PCB에서 바로 해당 부품을 바로 찾을 수 있습니다.
자, 아래와 같이 배치하려고 했더니 좀 아쉽습니다. 부품 H1의 GND, +VBAT 위치를 보면 반대로 배치하면 좋을 거 같네요.

따라서 아래와 같이 180도 회전시켜서 배치해줍니다.

그 다음에 다이오드를 배치해줍니다. 배치하고 보니 USB 커넥터와 D1의 +5V_USB 연결하기가 좀 어려운 거 같네요. +5V_USB와 +VBAT 가 서로 바뀌면 좋을 거 같습니다.

회로도로 가서 해당 다이오드 선택 후 Format > Flip Vertical 해줍니다. 그리고 저장 후 Design > Update PCB 해줍니다.

이렇게 하면 +5V_USB, +VBAT 가 서로 잘 바뀐 걸 알 수 있습니다.

음. 근데 부품 배치할 때, prefix(접두어)가 표시되는게 좀 불편해서 안보였으면 좋겠습니다. 그럴때는 다음과 같이 안보이게 할 수 있습니다.

이어서 USB 커넥터와 연결되는 커패시터 배치해줍니다.

이렇게 계속해서 저항, 커패시터, LM1117 연결 과정을 진행합니다. 어떻게 하면 이쁘고 깔끔하게 잘 배치할까 끼워 맞추기 하는 게 PCB 레이아웃 과정인 거 같네요. (재밌는 거 같기도 하고...?)
지금까지 POWER 관련 배치한 거를 3D 뷰로 보면 다음과 같습니다. (오 신기합니다)

마이크로컨트롤러를 배치해봅니다. 근데 크기가 모자란거 같은데요? 빨간색 부분이 넘어가서 문제가 될 거 같지만 살짝 넘어가도 괜찮습니다.

실제 3D 뷰로 보면 이렇게 나오거든요. 실제 부품이 필요한 부분은 그보다 작기 때문에 괜찮습니다. (널널하죠?)

이런식으로 MCU, Accelerometer, RGB LED 배치를 해줍니다.

나머지 커패시터와 저항 등 자잘한 부품을 배치해 줍니다.

이제 남은건 저항 4개입니다.

이것들은 저항 4개 선택 후 하위 레이어로 바꿔주겠습니다.

마이크로 USB 커넥터는 전부 금속 재질입니다. 그래서 아마 이쪽에는 트랙을 배선하고 싶지 않을 겁니다. 하지만 여기에 그라운드 비아(via) 같은 건 배치해도 괜찮을 겁니다.

원한다면 Top Layer를 숨길 수 있습니다. (다른 모든 레이어도 껐다 켰다 할 수 있습니다). 음 완벽하네요.

드디어 우리 보드에 모든 부품을 배치했습니다. 🎉 🎉 🎉
우리 보드를 자세히 살펴보면 전원부가 엄청나게 크다는 걸 알게 될 겁니다. 여러 사람들이 지적을 했는데, 왜냐하면 이 전원부는 거의 한계치에서 작동할 것이기 때문입니다.
예를 들어, 전원부의 모든 전압 강하를 계산하고 다이오드의 전압 강하, 그리고 USB +5V의 허용 오차를 고려하면 이게 최선의 선택은 아니라는 거죠. 또한 배터리로 작동하는 기기의 경우, 이 특정 전원부는 전류 소모량이 꽤 높습니다.
그래서 저는 제대로 만들기로 결심했습니다. 우리는 더 나은 것을 사용하기로 결정했고 이 전원부를 교체할 겁니다. 이미 회로도에 다 배치했는데 이제 와서 바꾸다니...!! 이미 한 걸 다 지워야 하잖아요? 하지만 이건 지극히 정상적인 과정입니다. 여러분이 직접 보드를 설계할 때도 이건 정말 흔한 일입니다.
예를 들어 부품 배치를 하거나 레이아웃 작업을 할 때 업데이트를 해야 할 때가 있습니다. 이번 실습을 통해 실제 작업이 어떻게 이루어지는지 볼 수 있으니까 완전 럭키비키 아닌가요?
그리고 이 전원부를 바꾸는 것의 두 번째 장점은 우리가 조금 더 배울 수 있다는 점입니다. 무엇에 주의해야 하는지, 혹은 어떤 파라미터를 확인해야 하는지요. 여러분의 보드에 사용할 전원부를 결정할 때 말이죠.
자, 이제 우리 보드에 맞는 더 나은 power supply를 찾아봅시다. JLCPCB 사이트에서 Power Management ICs > Low Dropout Regulators(LDO) 검색해봅니다. 3.3V 고정 출력을 적용합니다. 그리고 제가 전에 설명했듯이, 저는 텍사스 인스트루먼트(Texas Instruments)의 부품을 사용하는 것을 정말 좋아합니다.
이렇게 해서 찾은게 "TPS76933DBVR" 입니다. (데이터시트 참고)
🤔 LM1117MPX 대신에 TPS76933DBVR를 사용하려는 이유? (chatgpt를 완전 신뢰하는건 아니지만 맞는 내용인 거 같습니다)

TPS76933DBVR를 쓰려는 이유
LM1117을 그대로 쓰는 게 더 좋은 경우
정리해보면, TPS76933DBVR는 저전력·소형·저드롭아웃이 필요한 배터리 구동 기기에서 LM1117보다 유리하고, 반대로 큰 전류가 필요한 시스템에서는 LM1117이 더 적합합니다.
여러분의 보드를 위한 전원 공급 장치를 선택할 때, 가장 먼저 확인해야 할 두 가지 중요한 파라미터는 최대 입력 전압과 최대 출력 전류입니다. 그리고 이 표의 권장 작동 조건에서, 이 칩의 입력 전압이 2.7V에서 10V 사이인 것을 볼 수 있습니다.

이건 괜찮습니다. 왜냐하면 우리가 사용할 최대 전압은 7.5V이기 때문입니다.
그리고 최대 출력 전류는 100mA 입니다. 자, 이제 이게 정말 중요합니다. 왜냐하면 "이게 충분한가요?" 라고 물어볼 수 있기 때문입니다. "제 애플리케이션에 필요한 최대 출력 전류를 어떻게 계산하죠?" 아주 좋은 질문입니다.
우리 전원 공급 장치에 무엇이 연결되어 있는지 한번 봅시다. 회로도로 가서 우리 전원 공급 장치에서 +3V3 전원에 연결된 모든 부품에 전력을 공급할 겁니다.

가속도 센서, 마이크로컨트롤러, 몇 개의 풀업 저항, 그리고 헤더에도 3.3V 전원이 연결되어 있습니다. 그러니 디버거가 얼마나 많은 전류를 필요로 할지도 고려해야 합니다. LED는 +VIN에서 전력을 공급받으므로, 이 LED를 통해 흐르는 전류에 대해서는 걱정할 필요가 없습니다.
먼저, 가속도 센서와 마이크로컨트롤러의 데이터시트를 확인하고, 이 저항들을 통해 흐를 수 있는 최대 전류를 계산해보겠습니다.
[가속도 센서 최대 전류 확인]
가속도 센서의 데이터시트를 열겠습니다. 여기서 전기적 특성, 단위(Units)열을 보고 A, µA, mA를 찾아봅시다. 이 가속도 센서의 전류 소모량은 고해상도 모드에서 155 µA 입니다. 아무것도 아닌 수준이죠.

즉, 100mA 전원 공급 장치는 이 가속도 센서에 전력을 공급하기에 충분하다는 뜻입니다. 걱정할 필요가 없습니다. 이 가속도 센서는 전력이 거의 필요하지 않습니다.
[마이크로컨트롤러 최대 전류 확인]
다음으로, 마이크로컨트롤러의 데이터시트를 엽니다. 마이크로컨트롤러가 얼마나 많은 전류를 필요로 할지 알아볼 겁니다.
마이크로컨트롤러의 특정 전류 값을 확인해 보죠. 표에서 공급 전류(IDD) 다양한 모드와 다양한 VDD 전압에 대해서요. 이 마이크로컨트롤러는 다양한 모드로 작동할 수 있는데, 우리는 그 모든 모드를 지원하고 싶으니 이 표에서 가장 높은 숫자를 찾아서 그 모드에서 얼마나 많은 전류가 필요한지 알고 싶습니다.
30.2 DC Characteristics: PIC16F/LF1825/1829-I/E (Industrial, Extended)

대부분 마이크로암페어 단위로 아주 작은 값들이니 이것들에 대해서는 걱정할 필요가 없겠네요. 여기 밀리암페어가 있네요. 가장 큰 값은 4.4mA입니다. 3.6V VDD에서 이 모드에서 그렇습니다. 4x PLL이 활성화된 8MHz 내부 RC 오실레이터. 이건 제가 이 마이크로컨트롤러를 테스트할 때 사용했던 모드입니다. 마이크로컨트롤러가 가장 높은 주파수인 32MHz로 작동하는 모드니까요. 4.4mA는 문제없습니다. 우리 전원부가 공급할 수 있는 100mA보다 훨씬 낮으니까요.
계속 스크롤해 보죠. "메모리 프로그래밍 사양..." 이 특별한 핀에 걸리는 전압은 8~9V... 프로그래밍 중 공급 전류... 이 프로그래밍 모드는 사용하지 않을 것 같습니다. 우리는 저전압 프로그래밍 모드를 사용할 거니까요. 하지만 그래도 이 프로그래밍 모드가 필요하다면 10mA는 여전히 괜찮습니다.
30.5 Memory Programming Requirements

✍️ 근데 이건 타켓 보드가 제공하는 게 아니라 디버거/프로그래머 장치(PICkit, MPLAB Snap, ICD 등) 가 타겟 MCU에 제공하는 전압/전류가 아닐까 생각합니다. LDO 는 사실 관여할 문제는 아닌거 같아요.
[마이크로컨트롤러 입력핀과 출력핀 전류]
마이크로컨트롤러의 여러 핀들은 연결되어 있지 않으니 이것들은 걱정할 필요가 없습니다. 일부는 입력으로 사용될 것이고, 내부 풀업 저항을 사용할 수도 있습니다. 이건 보통 저항값이 높기 때문에 이 내부 풀업 저항을 통해 흐르는 전류에 대해서는 걱정할 필요가 없습니다.

출력도 있을 겁니다. 이 핀들은 LED를 제어하는 데 사용될 것이고, 출력으로 설정할 겁니다. 그리고 아마 이것에 대해 좀 더 이야기해볼 수 있겠네요. 이건 까다로운 주제입니다. 너무 길게 만들고 싶지 않으니 아주 간단하게 무슨 일인지 설명해 볼게요.

[순간 전류 피크와 저항 추가]
기본적으로 이 트랜지스터들을 스위칭하지 않을 때는 이 마이크로컨트롤러와 이 MOSFET들 사이에는 전류가 거의 흐르지 않습니다. 하지만 스위칭하는 순간, 즉 이 출력들을 Low에서 High로, 또는 High에서 Low로 바꿀 때, 전류에 피크가 생길 수 있습니다. 그리고 이 피크가 너무 높으면 이 약한 100mA 전원 공급 장치에 노이즈나 다른 문제를 일으킬 수 있고, 그러면 문제가 될 수 있습니다.
그래서 안전을 위해 나중에 이 마이크로컨트롤러와 트랜지스터 사이에 직렬로 저항을 배치해서 마이크로컨트롤러와 MOSFET 사이를 흐르는 최대 전류를 제한할 겁니다. 하지만 전력 소비 관점에서는 이 LED를 켜는 이 핀들의 출력에서 나오는 최대 전류에 대해 걱정할 필요가 없습니다.
그럼에도 불구하고, 여러분이 다른 트랜지스터를 사용하거나, 이 트랜지스터들을 마이크로컨트롤러에서 더 멀리 배치해야 하거나, 더 높은 주파수에서 작업하는 경우, 어떤 경우에는 마이크로컨트롤러(또는 프로세서)와 트랜지스터의 게이트 사이에 저항을 배치하고 싶을 수도 있습니다. 원한다면 '2N7002 게이트 저항'으로 검색해볼 수 있습니다. 또는 'gate resistor'라고 검색하세요.
중요한 점은, 이 전원부를 그다지 강력하지 않은 전원부로 바꿀 때, 제 생각에는 이 마이크로컨트롤러와 MOSFET 사이에 직렬로 저항을 배치해서 마이크로컨트롤러와 MOSFET 사이를 흐르는 최대 전류를 제한하는 것이 안전할 수 있다는 겁니다. 언제냐면, 이 MOSFET들을 스위칭할 때요.
이 프로젝트를 간단하게 유지하려고 노력하고 있습니다. 그래서 우리가 사용하는 부품이나 회로와 관련된 모든 종류의 주제를 다루지는 않을 겁니다. 왜냐하면 그렇게 하면 이 영상과 튜토리얼이 훨씬 더 길어질 것이기 때문입니다. 그러니 모든 것을 다루지는 않는다는 점을 명심해 주세요.
[플로팅 상태와 풀다운 저항]
우리가 또 무엇을 다룰 수 있을까요? 마이크로컨트롤러와 이 MOSFET 연결에 대해 이야기할 때요. 또 어떤 다른 부품을 이 마이크로컨트롤러와 MOSFET 사이에 배치할 수 있을까요? 풀다운(Pull-down) 저항입니다.
왜 우리는 마이크로컨트롤러와 이 트랜지스터들 사이에 풀다운 저항을 배치하고 싶을까요? 왜냐하면 이 풀다운 저항들이 이 트랜지스터들의 초기 상태를 지정해 줄 것이기 때문입니다.
보드에 전원을 연결하고 소프트웨어, 즉 펌웨어가 아직 완전히 초기화되지 않았을 때, 이 트랜지스터들을 제어하는 데 사용하는 IO 핀들은 입력으로 지정될 겁니다. 그래서 이 신호들이 기본적으로 플로팅(floating) 상태가 되는 짧은 기간이 있습니다. 바로 그때 이 풀다운 저항이 이 트랜지스터의 상태를 지정하는 데 도움이 될 수 있습니다.
우리 경우(이 특정 보드에서는)에는 중요하지 않습니다. 왜냐하면 우리는 LED를 구동하고 있으니까요. 최악의 경우, 전원이 연결될 때 LED가 아주 짧은 시간 동안 깜빡일 수 있습니다. 저는 신경 쓰지 않습니다. 문제없어요.
하지만 어떤 경우에는 문제가 될 수 있습니다. 예를 들어 모터나 다른 것을 구동하는 경우, 초기화 과정이 너무 길거나 하면, 풀다운 저항을 거기에 배치해야 할 수도 있습니다. 어쨌거나 더 이상 자세히 다루지 않겠습니다. 현재는 보드를 작게 유지하고 싶어서 이 풀다운 저항은 정말 필요하지 않습니다.
[풀업 저항 전류 계산]
우리는 이 출력들에서 나오는 전류, 입력으로 들어가는 전류에 대해 이야기했고, 이 풀업 저항이 있는 신호들은 어떨까요? 이 신호가 Low일 때 이 풀업 저항을 통해 얼마나 많은 전류가 흐를까요?

옴의 법칙을 사용할 수 있죠. 3.3V를 사용할 건데, 이것은 풀업 저항 양단에 걸리는 전압입니다. 그리고 이 3.3V를 풀업 저항의 값으로 나누어야 합니다. 그거 10k 옴이죠. 그러면 우리 전원 공급 장치에서 풀업 저항을 통해 흐르는 전류는 신호가 Low일 때, 330 마이크로 암페어(µA)입니다. 이것은 매우 낮은 전류고, 여기 풀업 저항이 몇 개 밖에 없이니 최악의 경우, 이 풀업이 있는 모든 신호가 Low일 때, 약 1밀리암페어 정도가 될 겁니다. 걱정할 필요 없겠네요.
[디버깅 커넥터 흐르는 전류]
남은 것은 이 디버그 커넥터를 통해 흐르는 전류를 다시 확인하는 것뿐입니다. 디버거의 데이터시트를 열고 전류 관련 정보를 찾아보겠습니다. VDD 감지 연결은 타겟 프로세서에서 아주 적은 전류를 끌어옵니다. 실제 전원은 PICKit 시스템에서 공급되며, VDD 감지 라인은 타겟 전압을 추적하기 위한 참조용으로만 사용됩니다. 즉, 이 커넥터로 들어가는 전류에 대해 걱정할 필요가 없다는 뜻이죠.
원문: "The VDD sense connection draws very little current from the target processor. The actual power comes from the MPLAB PICkit 4 In-Circuit Debugger system, as the VDD sense line is used as a reference only to track the target voltage."
좋습니다. 우리가 보드에서 소비되는 정확한 전류량을 계산할 수 없더라도, 우리는 이 전류가 우리 새 전원 공급 장치가 공급할 수 있는 100mA보다 낮을 것이라고 꽤 확신할 수 있습니다.
하지만 전원 공급 장치 자체는 어떻습니까? 이 새 전원 공급 장치는 얼마나 많은 전류를 필요로 할까요? 그리고 우리가 확인하고 싶은 다른 파라미터들이 있습니다. 우리 새 전원 공급 장치의 데이터시트에서요. 우리가 확인하고 싶은 다음 숫자는 이 칩 자체가 소비하는 전류입니다.
출력 전류가 0~100mA 사이일 때, 이 레귤레이터는 약 17마이크로 암페어가 필요합니다.

우리 보드에 현재 있는 LM1117 레귤레이터의 데이터시트를 보면, 3.3V에 대한 동일한 전류는 5mA, 심지어 최대 10mA까지 될 수 있습니다. 그러니 이 LM1117 레귤레이터 자체는 많은 전류를 필요로 합니다.

이것이 바로 새 레귤레이터가 이 기존 레귤레이터보다 훨씬 더 나은 또 다른 이유입니다. 우리가 사용하려는 이 새 레귤레이터는 훨씬 작고 전력 효율이 높을 뿐만 아니라, 또 다른 장점이 있습니다.
그건 바로 이 드롭아웃(dropout) 전압에 관한 것입니다. 기본적으로, 아주 간단히 말해서, 드롭아웃 전압은 레귤레이터가 제대로 작동하기 위해 레귤레이터 양단에 필요한 최소 전압입니다. 즉, 예를 들어 출력에서 3.3V를 생성하고 싶고, 레귤레이터 양단에 이 최소 드롭아웃 전압이 필요하다면, 입력 전압은 이 드롭아웃 전압에 출력 전압을 더한 값이 될 것입니다.
이 드롭아웃 전압이 매우 높으면 매우 높은 입력 전압이 필요하게 되는데, 이는 배터리로 작동하는 기기에는 좋지 않습니다. 배터리로 작동하는 기기의 경우, 배터리를 아주 낮은 전압까지 방전시킬 수 있고, 우리 보드는 여전히 제대로 작동해야 하니까요. 이 LM1117 레귤레이터를 보면 100mA 출력에 대한 드롭아웃 전압은 최대 1.2V까지 될 수 있습니다. 이것은 최소 입력 전압이 3.3 더하기 1.2V, 즉 4.5V라는 것을 의미합니다.

하지만 우리 새 레귤레이터의 드롭아웃 전압을 보면, 3.3V 출력과 100mA에서, 드롭아웃 전압은 단 200mV입니다.

와우. 이것은 우리 새 레귤레이터가 배터리 전압, 즉 레귤레이터의 입력 전압이 3.3V 출력에 200mV를 더한 값, 즉 최소 3.5V까지 낮아져도 작동할 것이라는 의미입니다. 이것은 LM1117의 4.5V보다 훨씬 낫습니다.
회로도로 돌아가서 라이브러리, "TPS76933DBVR(PB-FREE)" 레귤레이터를 검색합니다. 음. 재고가 없네요...

TPS76933DBVR (PB-FREE) 와 TPS76933DBVR는 거의 같은 제품이지만, 납(Pb) 사용 여부와 관련된 환경/규제 사항에서 차이가 납니다. PB-FREE 라는건 '무연'이라는 의미입니다. 더 친화적이죠. 아 G4 인것도 무연인가보네요. 앗. 이것도 재고 없네요. 그냥 써야겠네요.
회로도에 배치합니다. 그리고, 이 레귤레이터 주변에 무엇을 더 연결해야 하는지 다시 확인해야 합니다.

입력에는 1μF 커패시터를 연결하고 출력에는 4.7μF 커패시터를 연결합니다. 필수는 아니지만, 4.7μF 또는 더 큰 세라믹 입력 바이패스 커패시터를 입력과 접지 사이에 연결하고 칩 가까이에 배치하는 것을 권장합니다.
이론적으로는 회로도에 이미 있는 100μF 커패시터를 사용할 수도 있겠지만, 여기서는 1μF 커패시터를 사용합니다. 이 회로를 따르겠습니다.
회로도에 1μF 커패시터를 추가합시다. 전압을 확인하고, 25V니까 괜찮습니다.

데이터시트로 돌아가서 출력 커패시터에 대해 뭐라고 하는지 살펴보겠습니다. 모든 LDO 레귤레이터와 마찬가지로, 이 칩은 출력과 접지 사이에 출력 커패시터를 연결해야 합니다. 최소 권장 커패시턴스는 4.7μF입니다. ESR은 0.2옴에서 10옴 사이여야 합니다.
여기 몇 가지 권장 사항이 있네요. 10μF 커패시터도 권장하는데, 이건 이미 회로도에 있으니 좋습니다. 어쩌면 확인해야 할 유일한 것은 우리 커패시터의 ESR이 0.2옴에서 10옴 사이인지입니다.
회로도로 돌아가서, 10μF 커패시터를 선택하고 데이터시트 보기를 클릭합니다. 그리고 데이터시트를 엽니다. 제조업체 부품 번호를 복사해서 해당 커패시터를 검색합니다.

이 커패시터의 경우 100KHz에서 ESR 최대값은 3입니다. 0.2옴에서10옴 사이가 맞습니다. 완벽하네요. 10μF 커패시터를 사용할 수 있습니다.
회로도로 가서 이 오래된 레귤레이터를 새 것으로 교체할 수 있습니다.

나머지 핀들을 어떻게 연결해야 하는지 알아보고 싶습니다. 우리가 할 일은 데이터시트를 살펴보는 것입니다. 3번 핀을 접지에 연결한 것을 볼 수 있습니다. 그리고 4번 핀은 연결되지 않았습니다.
EN 입력에 1.7V 이상의 전압이 가해지면 레귤레이터가 비활성화됩니다. EN 입력에 0.9V 미만의 전압이 가해지면 레귤레이터가 활성화됩니다. 그래서 이 활성화 핀을 접지에 연결한 것입니다. 그러면 이 레귤레이터의 출력이 활성화됩니다.
FB는 TPS76901 전용 피드백 전압입니다. 이건 우리가 사용하는 칩이 아닙니다. NC는 연결 없음, 고정 옵션 전용입니다. 이건 우리 칩에 해당합니다. 따라서 이 핀은 연결하지 않을 겁니다.

정리해보면 기본적으로 우리가 해야 할 일은 두 핀을 접지에 연결하는 것뿐입니다.

이제 회로도를 저장합니다. PCB 업데이트를 누릅니다. 이 부품들을 변경하고 이 네트들을 변경할 것입니다. '트랙 네트도 업데이트'를 체크하세요. 변경 사항 적용.

여기 새 부품들이 있습니다. 보시다시피, 이 새로운 전원 공급 장치는 이전 것보다 훨씬 적은 공간을 차지합니다.

그리고 이 헤더를 업데이트하면 공간을 좀 더 절약할 수 있습니다. 6번 핀은 필요하지 않기 때문입니다. 5핀 헤더만 사용하면 공간을 더 절약할 수 있습니다. 회로도로 돌아가서 이 6핀 헤더를 5핀 헤더로 교체합시다.

이것을 삭제하고, 부품 지정자 H2를 기억하세요. 여기서 지정자를 변경합니다. 그리고 배치합니다.

마지막으로 변경하고 싶은건 마이크로컨트롤러 핀과 LED 트랜지스터 사이 저항을 연결합니다. 여기서는 0 레지스터를 복붙해서 연결합니다.

마이크로컨트롤러 핀 ↔ MOSFET 게이트 사이 저항(= 게이트 직렬 저항, 흔히 0Ω 저항으로 넣는 경우)”는 사실 회로 동작에는 꼭 필요하지 않지만, 설계 편의성과 안정성을 위해 자주 넣는 부품입니다.
지금 LED 제어처럼 단순한 회로라면 0Ω으로 그냥 직결해도 문제는 없습니다. 하지만 “혹시 모를 문제 해결용 슬롯”을 만들어 둔다는 의미에서 0Ω 저항을 넣는 거예요.
최종적으로 PCB 업데이트 해주기

먼저 보드에 공간을 좀 만들겠습니다. LED와 그 저항을 치워두겠습니다. 그리고 이 새로운 공간에, 이 새 레귤레이터를 맞춰 넣으려고 합니다. 어떻게 연결할지 연결을 보세요. 적절히 회전시키고 배치하세요.
다시 말하지만, 이 출력 커패시터를 레귤레이터의 출력 핀에 매우 가깝게 배치하고 싶습니다. 그리고 LED와 저항을 다시 놓겠습니다.
여러분이 직접 보드에 LDO를 배치할 때, 명심해야 할 매우 중요한 파라미터가 하나 더 있습니다. 바로 LDO 레귤레이터의 온도죠. LDO는 매우 뜨거워질 수 있는데, 특히 LDO의 패키지가 매우 작거나, 입력 전압과 출력 전압의 차이가 매우 클 경우에 그렇습니다. 이럴 때는 LDO 레귤레이터에서 열을 어떻게 빼낼 것인지에 대해 정말 신중해야 합니다.

데이터시트에는 열 방출과 관련된 몇 가지 계산에 대한 내용이 있습니다. 원하신다면 이 주제에 대해 자세히 살펴볼 수 있습니다. 간단하게 설명하자면, 레귤레이터에서 열로 변환될 전력을 대략적으로 계산하는 매우 간단한 방법이 있는데, 이게 꽤 유용합니다.
기본적으로 레귤레이터 양단에 걸리는 전압에 레귤레이터를 통해 흐르는 전류를 곱하면 됩니다. 그게 바로 전력입니다. 우리 보드의 최대 입력 전압은 배터리로부터 7.5V가 될 겁니다. 다이오드에서 약간의 전압 강하가 발생할 거고요. 다이오드를 선택하고 데이터시트를 보면, 100mA일 때 순방향 전압 강하가 0.5V 정도인 것을 볼 수 있습니다. 즉, 여기 +Vin은 최대 약 7V가 될 거라는 뜻입니다.
그리고 우리 출력 전압이 3.3V이기 때문에, 레귤레이터 양단에 걸리는 전압은 7V - 3.3V, 즉 3.7V가 됩니다. 만약 우리가 레귤레이터에서 100mA를 사용한다면, 이 레귤레이터에서 소모되는 전력은 레귤레이터 양단의 3.7V에 100mA, 즉 0.1A를 곱한 값이 됩니다. 결과는 0.37W, 즉 이 레귤레이터에서 370mW가 소모되는 거죠.
이것은 매우 간단하고 대략적인 계산이라는 점을 명심하세요. 하지만 LDO에서 5W의 전력이 소모되는지, 아니면 단지 몇 mW의 전력이 소모되는지에 대한 감을 잡기에는 충분합니다. 1W 이상이면 주의해야 합니다. 물론 풋프린트나 LDO의 크기에 따라 달라지겠지만요. 이것은 LDO의 전력 소모에 대해 특별히 신경 써야 할지, 아니면 큰 문제가 되지 않을지를 대략적으로 추정할 수 있는 매우 간단한 방법입니다.
우리 보드에서는 이 작은 LDO의 전력 소모에 대해 크게 걱정하지 않아도 됩니다. 왜냐하면 실제로 100mA를 구동하지 않을 것이기 때문입니다. 이 레귤레이터에서는 훨씬 적은 전류를 사용할 겁니다. 그리고 우리 보드에는 그라운드 플레인과 파워 플레인이 있을 겁니다. 그래서 여러 개의 비아를 사용하면 이 칩에서 약간의 열을 빼낼 수 있습니다. 그라운드 플레인이나 파워 플레인으로 열을 내려보낼 수 있죠.
여기에 폴리곤을 만들 수도 있지만, 너무 작아서 열 방출에 큰 도움이 될 것 같지는 않습니다. 하지만 여러 개의 비아를 사용해서 비아를 통해 열을 빼내는 것이 더 도움이 될 거라 생각합니다. 그래도 이 LDO에서 100mA를 사용하지 않을 것이기 때문에 뜨거워질 것 같지는 않습니다.
좋습니다. 모든 것을 왼쪽으로 옮기고 이 세 개의 부품(저항)을 배치합시다. 왼쪽 화살표 키를 사용해서 모든 부품을 이동할 수 있습니다.

그리고 저항들을 위한 공간을 좀 찾아보죠. 적절한 공간에 배치해줍니다. (촘촘해라...)

공간을 조금 더 만들고 있습니다. 왜냐하면 레이아웃과 비아를 고려할 때, 이렇게 하면 배선하기가 매우 어려울 수 있고 비아를 위한 공간이 거의 없기 때문입니다.

'Tools'로 가서 'Set Board Outline'을 선택하고, 너비를 예를 들어 56mm로 변경합니다.

3D 뷰로 보기

실제 보드에는 이 헤더들을 모두 장착하지 않을 겁니다. 프로그래밍용으로 이 헤더만 장착할 거예요. 이것만 필요하거든요. 다른 헤더들은 와이어를 납땜하거나 디버깅을 위한 용도일 뿐입니다.
그래서 3D 모델을 실제 보드와 조금 더 비슷하게 만들기 위해 이 헤더들의 3D 모델을 제거할 수 있습니다. 이 창을 닫고, 보드에서 첫 번째 배터리 헤더를 선택하고, 컨트롤 키를 누른 상태에서 I2C 헤더와 LED 주변의 이 헤더들을 선택하세요.

그런 다음 여기 파라미터 또는 속성 패널로 가서 3D 모델을 찾은 다음, 여기를 왼쪽 클릭해서 파라미터를 제거합니다. OK를 클릭하세요.

그리고 이 3D 버튼을 클릭하면, 이제 3D 뷰에서 헤더가 장착되지 않은 것을 볼 수 있습니다.

이것이 우리 보드의 모습입니다. 여러분의 보드는 이렇게 보일 겁니다.
다음에는 모든 것을 연결할 겁니다. 즉, 우리 보드의 PCB 레이아웃을 진행할 겁니다.