Lifelog/RC

BN-880 vs. BN-220 GPS 차이

sunshout1 2026. 7. 25. 11:13
반응형

BN-880BN-220은 모두 베이티안(Beitian)사의 인기 있는 GPS 모듈이지만, 지자기 센서(나침반) 탑재 여부크기/무게에서 큰 차이가 있습니다.

핵심 차이점 비교

구분 BN-220 BN-880
가격 2만원 정도 1.5만원 정도
전자나침반 (Compass) 없음 있음 (HMC5883L/QMC5883L 탑재)
기판 크기 약 22 × 20 × 6 mm 약 28 × 28 × 8.5 mm
무게 약 5.3g 약 10g
안테나 크기 상대적으로 소형 상대적으로 대형 (신호 감도 우수)
연결 인터페이스 UART (TX, RX, VCC, GND) UART + I2C (SCL, SDA)
주요 용도 경량 FPV 드론, 위치 확인/속도 표시 자율주행, RC 카, INAV/ArduPilot

상세 특징 분석

1. 지자기 센서 (전자나침반, Compass)

  • BN-880: I2C 방식의 지자기 센서가 내장되어 있어, 기체가 완전히 정지해 있어도 현재 기체/로봇이 바라보는 절대적인 방위(동서남북)를 측정할 수 있습니다.
  • BN-220: 나침반 센서가 없습니다. 위성 이동 궤적을 기반으로 방향을 계산하므로, 이동 중일 때만 방향 추정이 가능합니다 (정지 상태에서는 어디를 바라보는지 알 수 없음).

2. 크기 및 수신 감도

  • BN-880: 기판과 세라믹 안테나 수신부 크기가 커서 위성 신호 수신율(SNR)이 뛰어나고, 수신 장애물이 많아도 위성 감도가 비교적 안정적입니다.
  • BN-220: 소형·경량이 최대 장점이지만, 안테나가 작아 초기에 위성을 수신해 위치를 잡는 데(Cold Lock) 시간이 약간 더 소요될 수 있습니다.

 

전자 나침판(Magentometer)

전자나침반(Electronic Compass / Digital Compass)은 기존의 자석 바늘(지침) 대신 전자기적 센서를 이용해 지구의 자기장을 감지하고, 현재 장비가 바라보는 절대적인 방위각(동·서·남·북)을 디지털 데이터로 측정하는 센서입니다.

보통 지자기 센서(Magnetometer)라는 명칭으로 부릅니다.

작동 원리 (어떻게 방향을 찾을까?)

지구는 거대한 자석과 같아서 북극(지자기 북극)과 남극을 잇는 자기선이 흐르고 있습니다.

  1. 지자기 측정: 전자나침반 내부의 칩(X, Y, Z 3축 센서)이 지구 자기장의 세기와 방향을 미세한 전압 변화로 감지합니다.
  2. 방위각 계산: 센서가 읽어들인 X축과 Y축의 자기장 수치를 조합하여 수식으로 각도를 산출합니다.
  3. 디지털 출력: 계산된 결과(예: $0^\circ$=북쪽, $90^\circ$=동쪽)를 I2C나 SPI 같은 통신으로 비행 컨트롤러(FC)나 라즈베리파이에 전달합니다.

일반 GPS와의 결정적인 차이

많은 분들이 GPS가 있으면 방향을 알 수 있다고 오해하지만, 두 센서가 방향을 찾는 방식은 완전히 다릅니다.

구분 일반 GPS 모듈 (BN-220 등) 전자나침반 (BN-880 내장 등)
방향 측정 방식 위성 위치가 점 A ➔ 점 B로 이동한 궤적을 보고 방향 추정 지구 자기장을 측정하여 현재 정지 상태의 방위를 즉시 측정
정지 상태일 때 어느 방향을 보고 있는지 모름 (방향 데이터 오류/불가) 정지해 있어도 정방향을 정확히 파악
용도 이동 중인 속도, 현재 위도/경도 좌표 확인 자율주행 시 기체/로봇의 헤딩(Heading) 각도 제어

 

I2C (Inter-Integrated Circuit)

I2C(Inter-Integrated Circuit)는 필립스(현 NXP)에서 개발한 시리얼 직렬 통신 규격입니다.

앞서 언급했던 BN-880의 전자나침반(지자기 센서)이나 각종 센서, 디스플레이 모듈이 비행 컨트롤러(FC), 라즈베리파이, 아두이노 같은 메인 칩과 데이터를 주고받을 때 가장 흔하게 사용하는 방식입니다.

I2C의 가장 큰 특징: "단 2개의 선"

I2C 통신의 최대 장점은 선 2개(SCL, SDA)만 있으면 여러 개의 장치를 동시에 연결할 수 있다는 점입니다.

  • SCL (Serial Clock): 데이터 송수신 타이밍을 맞추기 위한 클록(Clock) 신호선 (Master가 출력)
  • SDA (Serial Data): 실제로 데이터가 이동하는 데이터 신호선 (양방향)

작동 방식 (마스터와 슬레이브)

I2C는 1개의 Master(주격)와 여러 개의 Slave(종격) 구조로 동작합니다.

  • Master (주제어장치): 라즈베리파이, FC, 아두이노 등 (클록 생성 및 통신 주도)
  • Slave (모듈/센서): BN-880의 나침반 센서, OLED 디스플레이, 기압계 등

💡 어떻게 선 하나로 여러 장치를 구별할까? (고유 주소)

I2C에 연결된 모든 슬레이브 기기는 7비트 또는 10비트의 고유 주소(Address)를 가지고 있습니다.

  1. 라즈베리파이(Master)가 "주소 0x1E(나침반 센서), 응답하라!" 하고 SDA 선에 신호를 보냅니다.
  2. 해당 주소를 가진 센서만 "네, 준비됐습니다(ACK)" 하고 응답하며 통신이 시작됩니다.
  3. 이 덕분에 통신선 2개에 최대 127개의 센서를 물리적으로 병렬 연결하여 사용할 수 있습니다.

주요 통신 방식 비교 (UART vs SPI vs I2C)

임베디드/드론 분야에서 자주 쓰는 3대 시리얼 통신과의 차이점입니다.

구분 UART (비동기) SPI (동기) I2C (동기)
필요한 선 개수 2개 (TX, RX) 4개+ (SCLK, MOSI, MISO, CS) 2개 (SCL, SDA)
연결 가능 기기 수 1:1 통신만 가능 1:N (단, 기기당 CS선 추가 필요) 1:N (선 2개로 수십 개 연결)
통신 속도 보통 (수 kbps ~ 수 Mbps) 매우 빠름 (수십 Mbps 이상) 보통~빠름 (100kHz ~ 3.4MHz)
주요 용도 GPS(BN-220/880 위치), 시리얼 콘솔 고속 디스플레이, SD카드, 자이로 지자기 센서, 기압계, 소형 LCD

 

BN-880 모듈을 사용할 때 GPS 위치 정보는 UART를 쓰고, 전자나침반 정보는 I2C를 사용합니다.

[라즈베리파이 Zero]                    [BN-880 모듈]
   GPIO 2 (SDA)  <===================>  SDA  (나침반 데이터)
   GPIO 3 (SCL)  <===================>  SCL  (나침반 클록)
   GPIO 15 (RXD) <===================>  TX   (GPS 위치 데이터)
   GPIO 14 (TXD) <===================>  RX   (GPS 설정 명령)
   5V / GND      <===================>  VCC / GND

📌 풀업 저항(Pull-up Resistor) 참고 I2C 버스는 기본적으로 신호가 없을 때 HIGH(5V 또는 3.3V) 상태를 유지해야 하는 오픈 드레인(Open-Drain) 방식입니다. 보통 라즈베리파이나 FC 보드 내부에 풀업 저항이 이미 들어있어, 별도 저항 없이 선만 연결해도 바로 동작합니다.

728x90
반응형