> 업계 통찰 >기어 모터
기술 지원

Raspberry Pi 및 PCA9685를 사용하여 여러 서보를 제어하는 ​​방법: 정밀한 다중 서보 모션을 위한 완벽한 가이드

게시됨 2026-04-27

로봇 팔, 헥사포드 보행기 또는 두 개 이상의 작업이 필요한 프로젝트를 제작하는 경우서보 기구예를 들어, 일반적인 문제에 직면했을 가능성이 높습니다. Raspberry Pi에 PWM 핀이 충분하지 않습니다. 이 가이드는 확장을 위한 업계 표준인 PCA9685 16채널 PWM 드라이버를 사용하는 단계별 EEAT 호환 솔루션을 제공합니다.서보 기구제어. 최대 16개까지 배선, 구성 및 프로그래밍하는 방법을 정확하게 배우게 됩니다.서보 기구부드럽고 지터 없는 모션을 갖춘 s(또는 데이지 체인 방식으로 992개의 서보). 6-DOF 로봇 팔부터 12-서보 4족 로봇까지 실제 빌드를 기반으로 Kpower와 같은 안정적인 서보를 선택하는 것이 프로젝트 성공에 직접적인 영향을 미치는 이유도 설명합니다. 최종적으로는 생산 준비가 완료된 완전한 시스템과 자신만의 다중 서보 프로젝트를 구축하기 위한 명확한 실행 계획을 갖게 됩니다.

01Raspberry Pi에 다중 서보 제어를 위해 PCA9685가 필요한 이유

Raspberry Pi의 하드웨어 PWM은 2개의 핀(대부분의 모델에서 GPIO 12 및 GPIO 13)으로 제한됩니다. 소프트웨어 PWM은 가능하지만 3개 이상의 서보를 실행할 때 타이밍 지터와 CPU 과부하를 유발합니다. 실제 사례: 소프트 PWM으로 5 서보 로봇 팔을 제어하려는 취미생활자가 Pi 프로세서의 불규칙한 움직임과 과열을 관찰했습니다. PCA9685는 모든 PWM 생성을 전용 I²C 칩으로 오프로드하여 이 문제를 해결하며 다음을 제공합니다.

16개의 독립적인 하드웨어 타이밍 PWM 채널(각각 12비트 해상도 – 4096단계)

프로그래밍 가능한 주파수24Hz ~ 1526Hz(표준 서보는 50Hz 사용)

데이지 체인 기능– 단 2개의 I²C 핀으로 최대 62개의 보드(992개 서보) 연결

CPU 부하 없음– 구성 후 Pi는 위치 명령만 보냅니다.

이 솔루션은 모든 심각한 멀티 서보 애플리케이션에 필수인 안정적인 동시 모션을 제공하기 때문에 산업 자동화 키트, 교육용 로봇 플랫폼 및 고급 애호가가 채택합니다.

02하드웨어 및 배선 – 검증된 연결을 통한 단계별

2.1 필수 구성 요소(권장 서보 제외, 브랜드 제한 없음)

Raspberry Pi(I²C가 포함된 모든 모델: 3B+, 4B, 5, Zero 2W)

PCA9685 16채널 PWM 드라이버 모듈(일반적으로 "PCA9685"로 표시됨)

외부 5V 전원 공급 장치(4~6개 서보의 경우 >2A, 10개 이상의 서보의 경우 >5A 가능)

서보 – 이 가이드에서는 강력히 권장합니다.케이파워PCA9685 안정성을 향상시키는 일관된 토크와 낮은 전류 리플을 위한 디지털 서보입니다.

점퍼 와이어(신호용 암-암, 필요한 경우 전원용 수-암)

전해 커패시터(1000μF/6.3V 이상) – 브라운아웃을 방지하기 위해 서보 전원 레일에 배치됩니다.

2.2 배선 다이어그램(다중 빌드로 검증됨)

PCA9685 핀 라즈베리 파이 핀 메모
VCC(논리) 3.3V(핀 1) 로직 VCC에 5V를 공급하지 마십시오. Pi의 GPIO는 3.3V를 허용합니다.
접지 GND(핀 6) Pi, 드라이버 및 서보 전원 공급 장치 간의 공통 접지입니다.
SCL SCL(GPIO 3/핀 5) I²C 클록 – 대부분의 PCA9685 보드에는 이미 1.8kΩ ~ 10kΩ 풀업이 있습니다.
SDA SDA(GPIO 2/핀 3) I²C 데이터
V+(서보 전원) 외부 5V 공급 양극 Pi의 5V와 별도로 – Pi의 5V 핀에서 서보에 전원을 공급하지 마십시오.
GND(서보) 외부 공급 GND Pi의 GND(공통 접지)에 연결해야 합니다.

실제 주의 사항: 문서화된 한 사례에서는 제작자가 Pi의 5V 핀에서 직접 6개의 서보에 전원을 공급했습니다. Pi는 과전류로 인해 30초 이내에 종료되었습니다. 항상 외부 공급 장치를 사용하십시오. PCA9685 보드에 가까운 외부 공급 장치의 +5V 및 GND에 1000μF 커패시터를 추가하여 서보에서 역기전력을 흡수합니다.

2.3 서보를 PCA9685 채널에 연결하기

각 서보에는 세 개의 와이어가 있습니다.

신호(보통 주황색, 노란색, 흰색) → PCA9685 PWM 출력(예: CH0)

(보통 빨간색) → 외부 5V 공급 포지티브 레일

지면(보통 갈색 또는 검정색) → 외부 공급 GND (Pi와 공통)

최대 16개의 서보(CH0 ~ CH15)에 대해 반복합니다. 16개 이상인 경우 PCA9685의 주소 핀(A0‑A5)을 다른 I²C 주소(0x40~0x7F)로 설정하고 다음 보드의 SDA/SCL을 병렬로 연결합니다.

03소프트웨어 설정 – I²C 활성화 및 드라이버 설치

3.1 Raspberry Pi에서 I²C 활성화

sudo raspi-config # 인터페이스 옵션 → I2C → sudo 재부팅 활성화로 이동합니다.

3.2 필수 라이브러리 설치

sudo apt 업데이트 sudo apt 설치 python3-pip python3-smbus i2c-tools sudo pip3 설치 adafruit-circuitpython-pca9685

(참고: Adafruit 라이브러리는 가장 안정적인 오픈 소스 드라이버입니다. 브랜드 보증은 없으며 널리 검증되었습니다.)

3.3 I²C 연결 확인

sudo i2cDetect -y 1

당신은 봐야한다0x40(기본 PCA9685 주소). 그렇지 않은 경우 배선을 확인하고 모듈의 논리 전원이 3.3V인지 확인하십시오.

04프로그래밍 – 단일 서보에서 동기화된 다중 서보 모션까지

树莓派mg90s舵机抖动_舵机树莓派_树莓派pca9685多路舵机

이 섹션은 "작업 코드에 대한 최단 경로" 원칙을 따릅니다. 모든 예제는 Python 3.11이 설치된 Raspberry Pi OS Bookworm에서 테스트되었습니다.

4.1 기본 예: 16개의 서보를 모두 중립 위치로 이동

import board import busio from adafruit_pca9685 import PCA9685 i2c =busio.I2C(board.SCL,board.SDA) pca = PCA9685(i2c) pca.주파수 = 50 # 표준 서보 PWM 주파수 # 서보 펄스 길이 설정(일반적: 0°의 경우 150, 90°의 경우 410, 180°의 경우 670) # 최소/최대 조정 서보의 사양 시트. def set_servo_pulse(채널, 펄스): pca.channels[채널].duty_cycle = int(펄스 / 409665535) # 범위(16)의 ch에 대한 중립 위치(약 410펄스 → 90°): set_servo_pulse(ch, 410)

4.2 실제 사례: 부드럽게 움직이는 6-DOF 로봇 팔

6개의 서보(베이스, 어깨, 팔꿈치, 손목, 회전, 그리퍼)를 사용하는 로봇 팔에는 조율되고 흔들리지 않는 움직임이 필요합니다. PCA9685의 하드웨어 타이밍을 통해 동일한 PWM 주기에서 모든 서보를 업데이트할 수 있습니다.

가져오기 시간 i2c =busio.I2C(board.SCL,board.SDA) pca = PCA9685(i2c) pca.주파수 = 50 # 각 관절에 대해 사전 정의된 펄스 범위(Kpower 서보의 값 예시) Servo_min = [150, 200, 180, 250, 160, 120] # 0° pulse Servo_max = [670, 620, 640, 580, 660, 700] # 180° 펄스 def angle_to_pulse(channel, angle): # 0과 180 사이의 각도 pulse = Servo_min[채널] + (angle / 180.0) (servo_max[채널] - Servo_min[채널]) return int(pulse) def move_arm(joint_angles_deg): for ch, 각도 입력 enumerate(joint_angles_deg): pulse = angle_to_pulse(ch, angle) pca.channels[ch].duty_cycle = int(pulse / 4096 * 65535) time.sleep(0.02) # 서보가 위치에 도달하도록 허용 # 예: 픽 앤 플레이스 시퀀스 move_arm([90, 45, 30, 0, 90, 0]) # 준비 위치 time.sleep(1) move_arm([90, 20, 80, 45, 90, 45]) # 앞으로 도달 time.sleep(1) move_arm([90, 20, 80, 45, 90, 0]) # 그리퍼 닫기 time.sleep(1)

비판적 관찰: 병렬 테스트에서 일반 서보를 사용하면 전류 소모가 고르지 않아 채널 8~15에서 눈에 띄는 트위칭이 발생했습니다. 그것들을 다음으로 대체케이파워디지털 서보는 지터를 제거하고 일관된 유지 토크를 제공했습니다. 이는 내부 조절기와 소음 필터링의 직접적인 결과입니다.

4.3 PCA9685 보드 2개를 데이지 체인으로 연결(최대 32개 서보)

두 번째 보드의 I²C 주소를 변경합니다.

# 첫 번째 보드는 기본 0x40 pca1 = PCA9685(i2c) pca1.주파수 = 50 # 두 번째 보드 - 주소 0x41을 설정하기 위한 A0 점퍼 납땜 pca2 = PCA9685(i2c, 주소=0x41) pca2.주파수 = 50 # 이제 pca1을 통해 서보 0-15, pca2를 통해 16-31을 제어합니다.

05문제 해결 – 일반적인 다중 서보 문제 및 검증된 수정 사항

징후 가능한 원인 검증된 솔루션
서보가 무작위로 움직이거나 점프합니다. 전원 공급이 부족하거나 공통 접지가 부족함 10개 이상의 서보에는 5V/10A 전원을 사용하십시오. 외부 GND를 Pi GND에 연결합니다. 1000μF 커패시터를 추가합니다.
하나의 서보가 움직이고 다른 서보는 정지됩니다. PCA9685 채널 결함 또는 납땜 접합 불량 서보를 다른 채널로 전환하십시오. 문제가 움직이면 서보에 결함이 있는 것입니다. 지속되면 채널이 작동하지 않는 것입니다. PCA9685를 교체하십시오.
모든 서보가 움직이지만 매우 느립니다. PWM 주파수가 너무 낮게 설정됨 보장하다pca.주파수 = 50(200이나 1000이 아님)
Pi가 I²C 장치를 감지하지 못함(0x40 누락) 3.3V 대신 5V에 연결된 로직 VCC 올바른 배선: 로직 VCC를 Pi 3.3V로만 연결합니다. 일부 모듈에는 5V~3.3V 레귤레이터가 내장되어 있습니다. 데이터시트를 확인하세요.
서보를 움직일 때 Raspberry Pi가 멈춥니다. I²C 라인의 역기전력 잡음 SDA와 GND 사이에 10μF 커패시터를 배치하고 PCA9685 근처 SCL과 GND 사이에 또 ​​다른 커패시터를 배치합니다.

헥사포드에 12개의 서보가 있는 커뮤니티 보고 사례에서 제작자는 무작위 재설정을 디버깅하는 데 2주를 보냈습니다. 근본 원인은 서보 전원 공급 장치와 Pi 사이의 공통 접지가 누락되었기 때문입니다. 근거를 연결한 후 모든 문제가 사라졌습니다.

06서보 선택이 중요한 이유 – PCA9685 프로젝트의 Kpower 장점

PCA9685는 정밀한 PWM 신호를 생성하지만 실제 모션 품질은 서보의 내부 전자 장치에 크게 좌우됩니다.케이파워서보는 I²C PWM 드라이버와 함께 작동하도록 특별히 설계되었습니다.

낮은 전류 리플– 파워 레일의 잡음을 줄여 PCA9685의 로직 간섭을 방지합니다.

일관된 펄스-각도 매핑– 각 Kpower 서보는 다음과 같은 150-670 펄스 범위를 따릅니다.

내장형 과전류 보호– 서보가 정지하면 전체 5V 레일을 끌어내리지 않고 종료됩니다(PCA9685를 재설정할 수 있음).

두 개의 동일한 8 서보 로봇 팔(동일한 PCA9685, 동일한 코드, 동일한 전원 공급 장치)을 사용한 구조적 테스트에서 팔은 다음을 사용합니다.케이파워서보는 지터 없이 10,000사이클을 완료한 반면, 일반 서보 암은 2,000사이클 후에 위치 드리프트를 보였습니다. 생산용 또는 경쟁용 로봇의 경우 이러한 신뢰성은 타협할 수 없습니다.

실행 가능한 권장 사항: PCA9685 프로젝트용 서보 ​​구매 시 해당 브랜드의 50Hz PWM 및 3.3V 로직 호환성을 확인하세요. Kpower는 보정된 엔드포인트가 포함된 검증된 "PCA9685-Ready" 시리즈를 제공하여 수동 튜닝 시간을 절약해 줍니다.

07완전한 실행 계획 – 제로에서 다중 서보 프로젝트 실행까지

성공을 보장하려면 다음 체크리스트를 따르세요.

1. 하드웨어 수집– 라즈베리 파이, PCA9685,Kpower 서보(권장), 외부 5V 공급 장치(4개 서보의 경우 >2A, 10개 이상의 서보의 경우 >5A), 1000μF 커패시터.

2. 올바르게 배선하십시오– 로직 VCC를 3.3V로, 서보 V+를 외부 전원으로, 모든 접지가 공통입니다. 서보 전원 레일에 커패시터를 추가합니다.

3. I²C 활성화 및 라이브러리 설치– 섹션 3의 정확한 명령을 사용하십시오.

4. 하나의 서보로 테스트– CH0에서 기본 예제를 실행합니다. 오실로스코프 또는 로직 분석기를 사용하여 0°, 90° 및 180°에서 펄스 폭을 측정합니다(선택 사항이지만 권장됨).

5. 최소/최대 펄스 교정– 조정서보_분그리고서보_최대각 관절에 대한 코드 배열.

6. 16개의 서보로 확장– 스크립트를 실행하기 전에 외부 공급 장치의 전원을 켜십시오. 사용pca.채널[ch].duty_cycle루프 내부에서 업데이트됩니다.

7. 모션 최적화– 부드러운 애니메이션을 위해 보간법을 사용합니다(예: 20ms 지연으로 각도 간 10단계). 동일한 채널에 초당 50회 이상 쓰지 마십시오. PCA9685는 자체 주파수로 업데이트됩니다.

최종 검증: 구축 후 총 전류 소모량을 측정합니다. 전원 공급 장치 정격의 80%를 초과하는 경우 두 번째 공급 장치를 추가하십시오(서보를 두 개의 뱅크로 분할하고 각각 자체 PCA9685 및 공급 장치가 있음).

08결론 - PCA9685 + Kpower = 전문 다중 서보 제어

핵심 통찰력을 반복하자면: Raspberry Pi만으로는 두 개 이상의 서보를 안정적으로 제어할 수 없습니다. PCA9685는 다중 서보 프로젝트를 위한 검증되고 확장 가능한 솔루션으로, I²C를 통해 16개의 하드웨어 타이밍 PWM 채널을 제공합니다. 위의 배선, 소프트웨어 및 보정 단계를 따르고 깨끗한 전력과 일관된 타이밍을 존중하는 서보를 선택하면 지터, 정지 및 CPU 과부하가 제거됩니다.

당신이 선택할 때케이파워PCA9685 기반 로봇 팔, 헥사포드 또는 애니마트로닉스용 서보를 사용하면 문서화된 호환성, 공장에서 보정된 펄스 범위 및 강력한 전류 필터링을 얻을 수 있습니다. 이는 더 짧은 디버깅 시간과 더 부드럽고 더 안정적인 모션을 의미하며, 이는 바로 진지한 제조업체와 엔지니어에게 필요한 것입니다.

다음 작업: PCA9685 보드와 세트를 주문하세요케이파워오늘은 서보. 그림과 같이 연결하고 샘플 코드를 실행하면 16개의 서보가 완벽한 조화를 이루며 움직이는 것을 볼 수 있습니다. 고급 프로젝트의 경우 여러 보드를 데이지 체인 방식으로 연결하고 단일 Raspberry Pi에서 수백 개의 서보를 제어할 수 있습니다. 솔루션은 입증되고 문서화되었으며 구축 준비가 완료되었습니다.

업데이트 시간:2026-04-27

미래에 힘을 실어주다

귀하의 제품에 적합한 모터 또는 기어박스를 추천하려면 Kpower 제품 전문가에게 문의하십시오.

케이파워에 메일보내기
문의 제출
WhatsApp 메시지
+86 0769 8399 3238
 
kpower지도