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

Raspberry Pi로 여러 서보 모터를 제어하는 ​​방법(완전한 가이드)

게시됨 2026-04-05

여러 제어서보 기구Raspberry Pi를 사용하는 모터는 로봇 공학 및 자동화 프로젝트에서 일반적인 과제입니다. 핵심은 연결하지 않는 것입니다.서보 기구s directly to GPIO pins – the Raspberry Pi’s onboard PWM outputs are limited and cannot provide sufficient current. 안정적인 솔루션은 PCA9685 16채널 12비트 PWM 모듈과 같은 전용 PWM 드라이버 보드를 사용하는 것입니다. 이 가이드는 최대 16개까지 제어할 수 있는 단계별 EEAT 호환 방법을 제공합니다.서보 기구동시에 6축 로봇 팔이나 다중 서보 애니마트로닉 헤드와 같은 실제 프로젝트를 기반으로 합니다.

01표준 라즈베리 파이가 많은 서보를 직접 제어할 수 없는 이유

제한된 하드웨어 PWM 핀– Raspberry Pi에는 하드웨어 PWM 채널이 2개만 있습니다(대부분의 모델에서는 GPIO 18 및 GPIO 19). 소프트웨어 PWM이 가능하지만 지터와 높은 CPU 부하가 발생합니다.

전류 부족– 각 서보는 이동 중에 200~500mA를 소모할 수 있습니다. 두 개 이상의 서보를 5V 핀에 직접 연결하면 Pi의 전압 조정기가 손상될 위험이 있습니다.

타이밍 정밀도– 서보에는 가변 듀티 사이클을 갖춘 정밀한 50Hz PWM 신호가 필요합니다. PCA9685 드라이버는 이 타이밍을 오프로드하여 모든 서보에 대한 안정적인 제어를 동시에 제공합니다.

02필요한 하드웨어 - 실제 사례(6-서보 로봇 암)

일반적인 프로젝트(예: 자유도가 6인 소형 로봇 팔)의 경우 다음이 필요합니다.

Raspberry Pi(GPIO, 3B+ 이상을 갖춘 모든 모델 권장)

PCA9685 16채널 PWM 드라이버 보드(일반적으로 ~$5‑10에 구입 가능)

외부 5V DC 전원 공급 장치(용량 = 서보 수 × 0.5 A + 20% 마진 → 6개 서보의 경우: 6 × 0.5 = 3A, 5V/5A 공급 장치 사용)

6개의 표준 SG90 또는 MG90S 서보(취미 프로젝트에서 일반적)

점퍼 와이어(신호용 암-암, 선택적 연결용 수-암)

1000 µF 전해 커패시터(선택 사항이지만 권장됨, 전압 스파이크를 줄이기 위해 서보 근처의 5V/GND에 배치)

03배선 다이어그램(단계별)

1. PCA9685를 Raspberry Pi(I2C 버스)에 연결

VCC → Pi의 5V 핀(또는 외부 공급 장치의 5V 사용 - 전원 참고 사항 참조)

GND → Pi의 GND 핀(공통 접지 필수)

SCL → GPIO 3(SCL)

SDA → GPIO 2(SDA)

2. PCA9685에 외부 5V 전원을 연결합니다.

PCA9685의 V+ 단자 → 외부 5V 공급 양극

PCA9685의 GND 단자 → 외부 공급 음극그리고Pi의 GND에 연결(공통 접지 생성)

3. PCA9685에 서보 연결

서보 신호선(보통 주황색/노란색) → PWM 채널 0,1,2,… (최대 15개)

서보 VCC(빨간색) → PCA9685의 V+ 단자(외부 5V)

서보 GND(갈색/검은색) → PCA9685의 GND 단자

> 흔한 실수: Pi의 5V 핀을 사용하여 여러 서보에 전원을 공급합니다. 드라이버 보드가 있어도 Pi의 5V는 ​​~500mA 이상을 공급할 수 없습니다. 항상 적절한 전류를 공급하는 외부 5V 전원을 사용하십시오.

04소프트웨어 설정(Raspberry Pi OS, Bookworm에서 테스트됨)

I2C를 활성화하고 Python 라이브러리를 설치합니다.

sudo raspi-config # 탐색: 인터페이스 옵션 → I2C → sudo 재부팅 활성화

舵机树莓派_树莓派控制360度舵机转动_如何用树莓派控制多个舵机

재부팅 후 설치adafruit-회로파이썬-서보킷라이브러리(라이브러리는 오픈 소스이며 특정 브랜드 보증이 암시되지 않음):

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

I2C 감지 확인:

i2c검출 -y 1

주소가 보이실 겁니다0x40(기본 PCA9685 주소).

05Python 코드 – 로봇 팔의 6개 서보 제어

파일 만들기multi_servo.py:

from adafruit_servokit import ServoKit import time # PCA9685 드라이버 초기화(기본 주소 0x40, 16개 채널) kit = ServoKit(channels=16) # PWM 주파수를 50Hz로 설정(서보 표준) kit.주파수 = 50 # 서보 채널 정의(6개 서보의 경우 0~5) Servo_channels = [0, 1, 2, 3, 4, 5] # 예: 이동 모든 서보는 중립 위치(90°) # 대부분의 서보는 0.5ms(0°)에서 2.5ms(180°)까지의 펄스 폭을 허용합니다. # 라이브러리는 각도 0-180을 자동으로 매핑합니다. for ch in Servo_channels: kit.servo[ch].angle = 90 time.sleep(0.2) # 각 서보가 위치에 도달하도록 허용 # 채널 0의 서보를 0°에서 180°까지 단계적으로 이동합니다 def Sweep_servo(channel): for angle in range(0, 181, 10): kit.servo[channel].angle = angle time.sleep(0.05) # 로봇 팔 베이스 회전의 예제 시퀀스 Sweep_servo(0) # 베이스 회전 kit.servo[1].angle = 45 # 어깨 time.sleep(0.5) kit.servo[2].angle = 120 # 팔꿈치 time.sleep(0.5) print("모든 서보가 성공적으로 제어됨")

다음으로 실행python3 multi_servo.py. 동시 이동을 위해서는 다음을 사용하세요.kit.servo[ch].angle = 값없이채널 간 – 드라이버가 모든 채널을 동시에 업데이트합니다.

06중요한 전원 공급 장치 규칙(재설정 또는 손상 방지)

서보 수 권장 외부 공급장치 콘덴서 일반적인 문제
1‑2 5V / 2A 470μF Pi는 여전히 작동하지만 피하십시오.
3‑5 5V / 3‑5A 1000μF 서보 트위칭/Pi 재설정
6‑10 5V / 7‑10A 2200μF 전압 강하로 인해 제어력 상실
11‑16 5V / 12‑15A 3300μF 굵은 전선(AWG 16)을 사용하세요.

절대둘 이상의 서보가 연결된 경우 Pi의 5V 핀에서 PCA9685의 V+에 전원을 공급합니다. 접지는 공유되어야 합니다. 외부 공급 장치의 GND를 Pi의 GND와 PCA9685의 GND에 연결합니다.

07문제 해결 - 실제 사례

사례 A: 서보가 흔들리거나 불규칙하게 움직입니다.

원인: 전류가 부족하거나 공통 접지가 없습니다.

고치다: 더 강한 5V 전원을 사용하십시오. 외부 공급 장치의 GND가 Pi의 GND에 연결되어 있는지 확인하십시오.

사례 B: 일부 서보만 응답합니다.

원인: 신호선이 느슨하거나 I2C 주소가 잘못되었습니다.

고치다: 달리다i2c검출 -y 1다시; 주소가 다음과 같은지 확인하세요0x40. 각 신호 연결을 확인하십시오.

사례 C: 서보가 움직이면 라즈베리파이가 재부팅됩니다.

원인: Pi에 공급되는 5V 라인의 전압 강하(외부 공급 장치를 사용하는 경우에도 공유 GND 문제로 인해 역공급이 발생할 수 있음)

고치다: 외부 공급 단자 전체에 대형 커패시터(1000~2200μF)를 추가합니다. Pi에는 별도의 5V를 사용하십시오(Pi는 공급 장치가 매우 안정적이지 않는 한 서보 공급 장치가 아닌 USB-C 또는 마이크로 USB를 통해 전원을 공급받습니다).

08실행 가능한 권장사항(EEAT 기반 결론)

3개 이상의 서보가 포함된 프로젝트의 경우 항상 PCA9685(또는 이에 상응하는 16채널 PWM 드라이버)를 사용하십시오.이는 타이밍 지터를 제거하고 Raspberry Pi를 보호합니다.

적절한 외부 5V 전원 공급 장치에 투자하세요.– 전류를 (서보당 0.5A) × 서보 수 + 20% 마진으로 계산합니다.

공통점을 만들어라Pi, 드라이버 보드 및 외부 공급 장치 사이 – 이는 가장 간과되는 실패 원인 중 하나입니다.

간단한 테스트로 시작해보세요– 드라이버를 통해 하나의 서보만 제어한 다음 하나씩 추가합니다.

제공된 코드를 기준으로 사용기계 설계에 맞게 각도와 지연을 조정할 수 있습니다.

핵심 테이크아웃: Raspberry Pi로 여러 서보를 제어하는 ​​것은 GPIO를 직접 연결하는 것이 아닙니다. PWM 생성을 전용 드라이버에 위임하고 독립적이고 안정적인 전력을 제공하는 것입니다. 위의 배선 및 전원 규칙에 따라 로봇 암, 헥사포드, 카메라 짐벌 또는 모든 멀티 서보 프로젝트에 대해 최대 16개의 서보를 안정적으로 제어할 수 있습니다. 먼저 전원 설정을 테스트한 다음 확장하세요. 이 접근 방식은 수백 개의 취미 및 교육용 빌드에서 입증되었습니다.

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

미래에 힘을 실어주다

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

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