반응형

들어가며

XBee 2.4GHz 모듈에 대해서 USB, JST-GH(Pixhawk용) 인터페이스가 있었으면 좋겠다는 생각이 있었는데, 관련 제품이 없어서 만들어보려고 한다.

PCB 설계에 대해서 배운 적은 없지만, 설계 룰을 따로 찾아보고 연습삼아 만들어보았다.

 

목차

개발 동기
개발 요구사항 정리
PCB 설계 및 외주 제작 업체 JLCPCB 소개
easyEDA 를 이용한 PCB 설계
    파트 찾기
    Schematic 그리기
    그리는 방법 1 - Wire와 Net Port으로 연결한다.
    그리는 방법 2 - 소자 별 회로 구성 가이드의 참조
    설계 미스 포인트..
    TX/RX가 헷갈릴 경우를 대비한 점퍼
    Schematic to PCB...
    PCB 패턴 그리기
    도선 폭 설계
    BOM(Bill Of Material), 자재 명세서 만들기
    PCB Fabrication File (Gerber) 만들기
주문 결과

작동 확인

 

 

개발 동기

통신 상태도 표시해주면서 Pixhawk에도 쓰고, 컴퓨터에도 연결해서 XBee 모듈을 사용할 수 있는 제품이 없어?ㅠㅠ

 

시중의 제품을 조사해보면 다음과 같다.

1. XBee USB to Serial Module, 5천원 정도..?

USB와 직렬 통신 인터페이스가 되어있는 모듈은 있다. USB to Serial 칩으로 FT232를 사용했다. FT232 칩에서 나오는 TX/RX LED, 그리고 XBee 의 RSSI 포트를 이용하여 전원, 통신, 신호 세기 등을 표시했다. 3.3V 레귤레이터는 AMS1117 3.3V 를 사용했다. 5V -> 3.3V 이고 0.8A 짜리이다.

특징 칩 : FT232, AMS1117 3.3V

https://www.navimro.com/p/K28011761/

2. CUAV XB Radio Pro - XBee XSC 900MHz 모듈, 22만원

위와 동일하며, RSSI 인터페이스를 따로 뽑아주었다. FT232 모듈을 사용했고 

이 모듈의 문제점은 저 XBee 제품의 펌웨어 버전이 정식 버전이 아니라서 내부 파라미터를 수정할 수 없다는게 가장 큰 문제이다. 그리고 Broadcast setting이 되어있어서 모듈이 한 쌍이 아닌 여러 쌍을 쓰게 되면 시끌벅적해지는 문제가 있다. 안그래도 900MHz 라서 baudrate도 낮은데 같은 채널과 네트워크의 이야기를 모두 다 듣기 때문..

그리고 저 주파수 대역(900MHz)은 북미/유럽은 ISM 대역인데 국내는 LTE 전용 주파수로 할당되어 있어서 사용하면 불법이다.

특징 칩 : FT232, YL518E(1:2 Multi-plexer), SI7615ADN (p-Ch MOSFET)

https://ko.aliexpress.com/i/32908921388.html

 

2번 제품의 보드만 사고 싶은데, 제품 자체가 너무 비싸다. XBee XSC 모듈만 사면 하나에 10만원 이내로 사는데 저 breakout board만 하면 싼거 같은데.. 

 

위 두 제품 모두 동일하지만 THT(Though-Hole Type, 쓰루홀 타입)으로 되어있는데, 아예 제품으로 나간다면 XBee SMT(Surface-Mount Type, 표면 실장 형) 을 실장할 수 있었으면 좋겠다. 붙였다 뗄 일이 없을테니.

그래서 PCB 기판을 설계해서 주문해보았다.

 

개발 요구사항 정리

기능적 요구사항은 다음과 같이 정의했다.

  1. USB Micro-B 포트로 컴퓨터와 통신하고, JST-GH 6-pin으로 Pixhawk에서 쓸 수 있어야한다.
  2. 전원, TX/RX 상태와 RSSI를 LED 으로 표시하여 동작 확인이 용이해야한다.
  3. XBee THT 모듈과 SMT 모듈 모두 붙일 수 있어야한다.
  4. 기껏 설계했는데 TX/RX 헷갈리면 어떻해? 사용자가 원하는대로 바꿀 수 있게 해줘.
  5. 볼트 체결할 수 있는 홀이 필요해

 

이에 따라서 필요한 제품을 조사하면 다음과 같이 정리했다.

  1. USB to Serial Chip : FT232, CP2102N 등..
  2. USB 5V -> 3.3V 레귤레이터 : LM1117, AMS1117 등..
  3. 외부 인터페이스 : USB Micro-B, JST-GH 6-pin 

위와 같이 정리하고 JLCPCB의 EDA 툴인 easyEDA 으로 설계하고 JLCPCB에 외주 제작을 주문해보자.

 

PCB 설계 및 외주 제작 업체 JLCPCB 소개

PCB 외주 제작을 위해 찾아보았을 때 국내 업체도 있지만 비쌌고, 프로토타이핑 관련하여 시장 파괴적인 가격을 가진 유명한 업체가 있었다. 중국의 PCB 외주 생산 업체인 JLCPCB는 재미있는 구조를 가지고 있는게, PCB 제품에 대한 A-Z으로 해당 기업이 제공한 생태계에서 모두 가능하다.

 

1. PCB 설계 도구 easyEDA

웹 기반, 프로그램 기반 모두 구동 가능하며 가볍게 쓰기 좋다. 이 프로그램에서 BOM, Gerber 파일 모두 제작이 가능하다. 심지어 소자 관련 라이브러리도 제공한다.

2. PCB 외주 제작 업체 JLCPCB

3. PCB SMT Assembly : JLCPCB & LCSC Electronics

easyEDA으로 설계한 PCB 에 대해서, LCSC 에서 제품을 찾아서 연결하고 BOM 작성 및 Gerber를 넘기면 JLCPCB에서 PCB 기판 제작 및 PCB Assembly(자삽) 가 가능하다.

 

예전에 한샘디지텍에 외주 제작을 주문할 때는 Altium Designer 를 이용하여 설계했는데 PCB 설계 따로, PCB 외주 제작 주문 따로, 소자 주문 따로, 제품 다 오면 손으로 일일히 납땜하는 수삽..

 

EDA(Electronic Design Automation) 툴로 다른 것을 찾아보긴 했으나, 생태계가 갖추어진 곳에서 작업하는게 중간에 끼인 일을 안해도 되서 이렇게 진행했다.

 

easyEDA 를 이용한 PCB 설계

나는 웹에서 사용했다. 컴퓨터에 설치해서 쓰는 것보다 UI가 편하더라..

 

파트 찾기

Schematic 에서 많이 쓰는 파트는 Commonly Library 에서 고르고 이외의 소자는 Library에서 찾는다. Commonly LIbrary에서 쉽게 땡겨온다고 해도 실제 제품이 있는지는 반드시 찾아야 주문할 수 있다...

Commonly Library and Library Windows, Searching about USB Micro-B Port...

 

Schematic 그리기

그리는 방법 1 - Wire와 Net Port으로 연결한다.

아래 그림처럼 Wire 연결과 Goto 문과 같이 Net Port 연결 등을 수행한다. 아래 그림은 USB Micro-B 와 JST-GH 6-Pin을 작업한 것이다. 연결하지 않는 포트(NC, Not-Connect)는 X 표로 표시해둔다.

아.. USB VCC GND 반대로 했다..........................

 

그리는 방법 2 - 소자 별 회로 구성 가이드의 참조

전력부 설계 방법[1]

0. 레귤레이터도 입출력단에 캐패시터를 달아서 갑작스러운 전압과 전류의 변화를 막는다. LM1117의 경우, 입출력 단에 탄탈 커패시터를 달아서 노이즈를 해소한다. 짧게 탄탈 커패시터의 특징을 적으면, 극성을 가지고 온도 특성과 주파수 특성이 좋아서 스파이크 형상의 전류가 나오지 않는다고 한다. 또한 전해 커패시터와 비교하면 비교적 소형이며 상대적으로 큰 정전 용량이지만 가격이 비싸다고 한다.

LM1117 System Examples [1]

통신 칩 설계 방법[2]

USB to Serial 칩인 CP2102N을 대상으로 설명하면 전원 연결 가이드는 다음과 같다.

 

1. 리셋 핀 (RSTb)는 low 일 때 작동하며 각 로직 핀 마다의 최대 전류는 +-100mA 이다. 따라서 가이드는 풀업 저항 1kOhm 저항을 VIO와 연결해줄 것을 권고한다.

2. 5V 전압이 인가되는 VREGIN은 입력 전압 단에 4.7uF과 0.1uF 바이패스 커패시터를 가능하면 핀과 가까이 장착하도록 가이드한다.

3. USB의 5V 전원을 사용하고 CP2102N 내부의 3.3V 레귤레이터를 사용하면 Fig.2.1 처럼 연결하나, 내부 레귤레이터를 사용하지 않을 경우엔 VREGINVDD에 전원을 연결한다.

4. CP2102N의 VBUS 핀은 USB의 VBUS 핀과 연결해야한다고 되어있다. 이는 USB 가 연결되어있는지 인식하는 선이라 한다. 아래 그림처럼 저항 사이에 끼어있다면 USB 전압을 5V 라 가정 할 때, CP2102N의 VBUS은 KVL에 따라서 약 3.4V 가 인가된다.

5. 통신 상태를 나타내는 핀으로 TXT와 RXT가 있다. 이는 VIO와 저항과 LED으로 연결하도록 가이드한다.

위의 정리를 토대로 Schematic 을 구성하면 다음과 같다.

 

각 번호에 맞게 회로를 구성했다.

설계 미스 포인트..

하나 실수한 것은 3번 항목의 USB 전원을 인가할 때는 상관 없으나, Pixhawk에서 3.3V 전압이 인가되어 들어올 때, CP2102N 칩에 전원을 공급하여 TX/RX LED를 켤려고 Fig2.3과 같이 레귤레이터가 파괴되지 않도록 아래의 5V->다이오드->3.3V 회로를 그렸는데, 이 구조보다는 3.3V 전압이 5V 쪽에 인가되지 않으면서 VREGINVDD에 연결되도록 해야했다.

그렇다면 위 회로는 Pixhawk에서 3.3V 전압을 인가받을 때 VBUS를 통해서 USB에 연결되었다고 인식할까?

VBUS가 High 라고 인식하는 전압은 VIO-0.6V 이며 VIO=VDD=3.3V 근방이다. 따라서 High 로 인식하는 전압은 2.7V 이며, 위 회로대로라면 해당 상황에서 약 2.2V 가 인가되어 High 라고 인식하진 못한다.

다이오드는 1N4007WS 으로 순방향으로 1A 까지 허용하며, 이때 사용하는 장치는 CP2102N 뿐이므로 충분하다.

우려되는 점은 LM1117이 5V 전압이 인가되지 않았는데 3.3V 전압 출력을 해야하는 상황에서 어떻게 동작할 것인지 이다. 어차피 Pixhawk에서 .3.3V 전압이 연결되면 이쪽에서 전력을 뽑진 않으며, 동작하지 않을 것 같지만 찜찜한 구석이 있다.

 

TX/RX가 헷갈릴 경우를 대비한 점퍼

아래 그림처럼 가짜 저항을 만들었다. 실제 PCB에 실장 할 생각은 없으나 만일에 대비해서 점퍼 패드를 만들었다. 사용할 때는 RX는 RXT, TX는 TXT에 연결하면 되는데, 만약 PCB Artwork를 반대로 했다면 다른 곳을 연결해서 고칠 수 있다.

PCB Assembly 할 때 SMT 를 붙일것이 아니기 때문에 BOM에서는 빼겠다고 체크한다.

Schematic to PCB...

아무튼 이런식으로 Schematic 을 연결하고 Update PCB를 해주면 PCB 설계도가 나온다.

 

PCB 패턴 그리기

이미 다 그려서 설명할 것은 없다....

1oz 1.6T, 2 layer로 설계했고, Top Layer만 SMT 모듈이 붙는다. 저렴하게 자삽 주문(Economy Assembly)을 할려고 그랬다.

대충 설명하면 우측 부분에는 XBee THT 혹은 SMT 를 장착할 수 있도록 하기 위해, 기타 SMT 소자들은 모두 좌측으로 몰아두었다. 

좌측은 USB Micro-B 포트와  통신 상태나 전원 상태를 표시하는 LED가 있다.

우측은 JST-GH 6-Pin 포트를 만들어두고, THT 또는 SMT 모듈을 장착할 수 있도록 인터페이스를 만들어두었다. 그리고 SMT 부분에 Top/Bottom Layer에 Copper Area 를 두어 EMI를 해소하고자 했다.

그리고 우하단은 u.FL 단자를 외부에서 연결할 수 있도록 연결했다. 모듈에도 달려있지만 외부로 일단 뽑았다.

 

전원부를 따로 보면 다음과 같다.

Ground Pattern on PCB

전원부 도선 폭은 15~40mil로 다양하다. 이는 도선 폭에 따라서 온도 상승 기준 별 허용 전류량이 국제 규정으로 정의되어있다고 한다.[3,4] 최대 전류 소모량을 계산하면 대략 최대 200mA 이다.

XBee3 Pro, Tranmit Current 135mA @ 19dBm

CP2102N, Normal Operation, 13.7 mA @ 3Mbps transmitting continuous bi-directional data 

 

도선 폭 설계 [4]

동박 1oz/ft2 두께 기준, 온도 상승 10도, 최대 200mA 일 경우, 3.34mil 을 최소 내부 도선 폭으로 요구하며

동박 1oz/ft2 두께 기준, 온도 상승 10도, 최대 500mA 일 경우, 11.8mil 을 최소 내부 도선 폭으로 요구한다.

동박 1oz/ft2 두께 기준, 온도 상승 10도, 최대 1.0A 일 경우, 30.8mil 을 최소 내부 도선 폭으로 요구한다.

 

막연하게 도선 폭 크게 그리자고 했는데 다행히 괜찮은 수준이다....

 

BOM(Bill Of Material), 자재 명세서 만들기

자삽(PCB Assembly)을 주문한다면 실장할 제품에 대해 정보를 정리해줘야한다. 이 부분이 제일 골치아프다. 전자부품 취급 회사인 LCSC 사에서 취급하던가 JLCPCB Assembly에서 사용가능하거나, 사용 가능해도 최소 주문 수량이 맞아야한다.

[Fabrication]->[BOM] 탭을 들어가면 사용하는 칩에 대해서 아래 그림과 같이 실제 제품과 연결해주게 된다. 그러나 처음 이걸 눌러보면 저항이나 커패시터는 아무것도 안되어있다....사용 가능한 부품을 찾는게 일이다. 참고로 여기서 부품을 Assign 한다고 해도 PAD가 같지 않을 수 있기 때문에 이 전의 Schematic 할 때부터 다 맞춰두고 시작하는게 좋다. 아니면 다 그려놓고 필요한 부품을 찾던가.. 

다 Assign 하면 One-click Order Parts를 눌러서 웹 사이트로 넘어가자

 

이부분은 BOM 파일을 넘기는 부분인데 과정이 이해는 안된다.

그냥 BOM_Manufacturer Partselect type에서 Manufacturer Part Number를 선택하고 넘긴다.

제품이 다 있으면 오케이다.

 

 

PCB Fabrication File (Gerber) 만들기

[Fabrication]->[PCB Fabrication File(Gerber)] 탭으로 들어가서 주문할 PCB의 거버 파일을 만든다.

결제 창은 다음과 같다.

이것저것 원하는대로 선택한다. 진짜 싸다.. 미쳤다.

 

 

주문 결과

아직 제작 중이라고 한다.

재미있는 것은 아래 그림처럼 제작 타임라인이 나온다.

 

작동 확인

그럭저럭 제품은 잘 나왔다.

 

작동을 검증했을 때 초점을 둔 부분은 다음과 같다.

1. LM1117 3.3V 전원의 동작을 통한 XBee로의 전원 공급

2. CP2102N 칩의 동작 (USB ~ Serial 통신 검증, TXL, RXL Blinking)

3. uSMT, THT ~ JST-GH I/F 확인

4. PWR, RSSI, TX/RX LED 확인

5. u.FL 커넥터 & 외장 안테나를 통한 통신 확인

 

찾은 오류를 보완하고 (USB VCC/GND 반대로) 연결했을 때 다음과 같았다.

2. CP2102N 칩이 동작하지 않는다. 칩이 문제인지..

3.1 uSMT, THT ~ JST-GH I/F 확인은 했다. UART 통신은 확인했지만 TX/RX 가 반대로 되어있다.

3.2 Pixhawk의 TELEM1 전원은 3.3V 가 아니라 5V 였다.

4. PWR, RSSI LED는 잘 동작한다. 통신이 될 때, RSSI LED가 점등 되는 것을 확인할 수 있다. 다만, 밝기가 너무 밝다.

5. 통신은 확인했다.

 

개선해볼 점은 다음과 같다.

1. 고주파수를 가지는 도선은 짧고 Via를 최대한 제거해보려고 한다. USB D+D- 선이 그렇다.

 

[1] Texas Instruments, "LM1117 800-ma, Low-Dropout Linear Regulator", Available at https://www.ti.com/lit/ds/symlink/lm1117.pdf?ts=1674774648789 

[2] Silicon Labs, "USBXpress Family CP2102N Data Sheet," https://www.silabs.com/documents/public/data-sheets/cp2102n-datasheet.pdf

[3] 마이크로펀, "PCB 패턴 전류 계산 국제 규격??" Available at https://m.blog.naver.com/microfun/222006852757

[4] PCB Trace Width Calculator, Available at http://circuitcalculator.com/wordpress/2006/01/31/pcb-trace-width-calculator/

 

728x90

+ Recent posts