Lifelog/RC

16채널 12비트 PWM 서보모터 드라이버 모듈 (PCA9685)

sunshout1 2025. 6. 21. 15:16

PCA9685는 NXP(구 Philips)에서 제작한 16채널, 12비트 PWM 컨트롤러입니다. I2C를 통해 제어되며, 한 개의 보드로 최대 16개의 PWM 출력을 동시에 제어할 수 있습니다.

🔧 주요 스펙 요약

항목설명
제어 방식 I2C (최대 1MHz Fast Mode 지원)
출력 채널 수 16채널 (개별 제어 가능)
PWM 분해능 12비트 (4096단계)
PWM 주파수 24Hz ~ 1526Hz 설정 가능
동작 전압 VCC: 2.3V ~ 5.5V (논리 회로용), V+ (모터용 전력): 최대 6V
출력 드라이버 오픈 드레인 또는 토템 폴
주소 설정 6비트 주소 핀 → I2C 주소 최대 62개 보드 동시 제어 가능 (0x40 ~ 0x7F)

🔌 전기적 연결 예 (Jetson Nano 기준)

Jetson NanoPCA9685설명
3.3V or 5V VCC 논리 회로 전원
GND GND 공통 그라운드
SDA (핀 3) SDA I2C 데이터
SCL (핀 5) SCL I2C 클럭
 

ESC나 서보에 공급되는 전원은 PCA9685의 V+ 핀을 통해 공급됨. Jetson Nano와는 별도의 파워 소스 (ex. 5V BEC, LiPo 배터리)를 사용해야 함.

🔢 PWM 동작 방식

  • PWM은 4096단계(0~4095) 로 표현됨
  • 하나의 PWM 주기 동안 특정 구간만 HIGH로 유지하여 펄스 폭을 조절함
  • PWM 주파수는 24Hz ~ 1526Hz 범위 내에서 설정 가능
    • 일반적인 서보나 ESC는 50Hz 사용

예시

  • 50Hz 주파수 → 주기 20ms = 20000us
  • 1000us → 약 5% duty cycle → 약 205 ticks
  • 2000us → 약 10% duty cycle → 약 410 ticks

📌 I2C란?

I2C (아이투씨 또는 I-squared-C) 는 필립스(현 NXP)에서 개발한 양방향 2선식 직렬 버스 통신 프로토콜입니다.

  • 2개의 신호선만 사용:
    • SCL (Serial Clock Line) : 클럭 신호
    • SDA (Serial Data Line) : 데이터 신호
  • 멀티 마스터, 멀티 슬레이브 구성 가능
  • 마스터가 클럭 제공, 슬레이브는 수동적

 

Jetson NANO 핀

* Jetson NANO에는 두 개의 I2C를 연결할 수 있다.

연결하기 전

sunshout@Bentley:~$ i2cdetect -y -r -a 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
sunshout@Bentley:~$

연결한 후

sunshout@Bentley:~$ i2cdetect -y -r -a 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

 

✅ I2C vs SPI vs UART 비교

항목I2CSPIUART
선 수 2 4+ (MOSI/MISO/SCLK/SS) 2 (TX/RX)
속도 중 (최대 3.4Mbps) 빠름 (10+ Mbps 가능) 느림 (115200bps 등)
주소 지원 O (7/10비트) X (별도 SS 필요) X (1:1 연결)
동기/비동기 동기 동기 비동기
마스터/슬레이브 멀티 가능 단일 마스터 단일/양방향 (1:1)

 

728x90