> 업계 통찰 >서보 기구
기술 지원

일반적인 PCA9685 서보 드라이버 문제 해결: 실용 가이드

게시됨 2026-04-17

이 가이드는 PCA9685 기반 PWM 드라이버 모듈을 사용하여 제어할 때 발생하는 가장 자주 발생하는 문제를 해결합니다.서보 기구에스. 실제 사용자 경험을 바탕으로 전원 불안정 및 신호 노이즈부터 충돌 및 구성 오류 해결에 이르기까지 근본 원인과 실행 가능한 수정 사항에 중점을 둡니다. 각 문제는 일반적인 시나리오와 함께 단계별 해결 방법으로 설명됩니다. 결국에는 신뢰성 있는 진단을 보장하기 위한 명확한 진단 작업 흐름과 예방 조치를 갖게 됩니다.서보 기구작업.

01서보 기구움직이지 않거나 불안감만 발생함

일반적인 경우:사용자는 표준 5V 서보를 PCA9685 출력 채널 0에 연결합니다. 마이크로컨트롤러는 PWM 신호를 보내지만 서보는 정지 상태를 유지하거나 회전하지 않고 비정상적으로 진동합니다.

근본 원인:

서보에 대한 전원 공급이 부족하거나 불안정합니다.

PCA9685, 서보 전원 및 마이크로컨트롤러 간의 공통 접지가 누락되었습니다.

잘못된 PWM 주파수 또는 펄스 폭 범위.

솔루션:

서보 전용 외부 전원 공급 장치를 사용하십시오(예: 최대 2-3개의 마이크로 서보의 경우 5V / 2A, 더 큰 서보의 경우 더 높은 전류). 마이크로컨트롤러의 5V 핀에서 PCA9685의 V+ 핀을 통해 서보에 전원을 공급하지 마십시오.

모든 접지를 연결하십시오. 마이크로컨트롤러 GND, PCA9685 GND 및 서보 전원 공급 장치 GND를 함께 연결해야 합니다.

표준 아날로그/디지털 서보의 경우 PWM 주파수를 50Hz(주기 20ms)로 설정합니다. 펄스 폭 확인: 일반적으로 1.0ms(0°), 1.5ms(90°), 2.0ms(180°). 도서관을 이용하세요setPWMPreq(50)최소/최대 펄스 값을 조정합니다.

02서보가 비정상적으로 움직이거나 무작위로 움직입니다.

일반적인 경우:서보는 스위핑 테스트를 실행하지만 가끔 잘못된 각도로 점프하거나 명령 없이 움찔합니다. 여러 개의 서보가 함께 작동하면 문제가 더욱 악화됩니다.

근본 원인:

PWM 신호 라인의 전기적 노이즈.

동시 서보 이동 중에 전압이 떨어집니다.

마이크로컨트롤러와 PCA9685 간의 I²C 통신 오류.

솔루션:

PWM 신호 배선(SDA, SCL)을 짧게 유지하십시오(

PCA9685 모듈에 가까운 서보 전원 레일 전체에 대형 전해 커패시터(470~1000μF, 6.3V 이상)를 추가합니다.

점진적인 각도 변경(예: 20ms 지연으로 10° 단계)을 전송하여 서보 속도를 줄입니다.

I²C 풀업 저항을 확인하십시오. 대부분의 PCA9685 모듈에는 4.7kΩ 풀업이 포함되어 있습니다. 여러 I²C 장치가 동일한 버스에 있는 경우 총 풀업 저항이 너무 낮아질 수 있습니다. 추가 풀업을 제거하거나 10kΩ 저항을 사용하십시오.

03I²C 버스에서 PCA9685가 감지되지 않음

일반적인 경우:I²C 스캐너 스케치는 예상 주소(기본값 0x40)에서 장치를 반환하지 않습니다. 사용자가 VCC, GND, SDA, SCL을 올바르게 연결했습니다.

근본 원인:

다른 I²C 장치와의 충돌을 해결합니다.

솔더 브리지 또는 잘못된 주소 핀(A0-A5) 구성.

배선이 느슨하거나 전압 레벨이 잘못되었습니다(3.3V 대 5V).

솔루션:

I²C 스캐너를 실행하여 활성 주소를 확인합니다. 0x40이 누락된 경우 A0-A5 점퍼를 확인하십시오. 모두 열림 = 0x40입니다. A0을 닫으면 1(0x41)이 추가되고 A2는 4가 추가됩니다.

PCA9685 모듈이 5V 로직을 지원하는지 확인하십시오(대부분 지원). 마이크로컨트롤러가 3.3V에서 실행되는 경우 SDA/SCL을 직접 연결하세요. PCA9685는 5V에 견딜 수 있지만 모듈 사양을 확인하세요.

주소 핀과 전원 핀의 리플로우 솔더 조인트. 멀티미터를 사용하여 SDA/SCL 핀에서 마이크로컨트롤러 핀까지의 연속성을 측정합니다.

04일부 서보는 다른 서보가 작동하는 동안 응답하지 않습니다.

일반적인 경우:6개의 서보가 채널 0-5에 연결됩니다. 채널 0-3은 제대로 작동하지만 채널 4와 5에는 움직임이 표시되지 않습니다. 배선은 동일하게 보입니다.

근본 원인:

PCA9685 출력 채널이 손상되었습니다(드물지만 가능함).

해당 채널에 대한 잘못된 PWM 듀티 사이클 계산(예: 오버플로 또는 잘린 값)

특정 출력 핀 헤더의 느슨하거나 차가운 납땜 연결부.

솔루션:

작동하지 않는 서보를 작동하는 채널(예: 채널 0)로 바꿉니다. 작동한다면 원래 채널에 결함이 있는 것입니다. 대신 다른 채널을 사용하세요.

코드를 확인하세요. 올바른 채널 번호에 쓰고 있고 12비트 해상도(0~4095)를 사용하고 있는지 확인하세요. 값이 0이면 듀티가 0%(서보가 유지되지 않을 수 있음)인 반면, 4095는 100%(전체 켜짐, 서보에 적합하지 않음)를 제공합니다. 50Hz의 경우 활성 펄스 폭은 듀티 사이클 = (펄스 폭 / 20ms)에 해당합니다. 4095.

헤더 핀을 검사합니다. 작동하지 않는 채널의 신호 핀과 접지 핀을 다시 납땜합니다.

05서보가 엔드포인트에 도달했지만 진동하거나 과열됨

일반적인 경우:서보는 0°와 180°로 올바르게 회전하지만 끝점에서 큰 윙윙거리는 소리가 나고 뜨거워집니다. 이는 명령을 중지한 후에도 발생합니다.

근본 원인:

pca9685舵机的常见问题_pac9685舵机_舵机使用说明

끝점의 펄스 폭이 서보의 기계적 한계를 초과합니다.

지나치게 긴 펄스 폭으로 인해 서보가 강제로 정지됩니다.

솔루션:

윙윙거리는 소리 없이 서보가 수용하는 실제 펄스 폭 범위를 측정하십시오. 안전한 범위(예: 0.6ms~2.4ms)에서 시작하여 점차 범위를 좁혀보세요. 많은 표준 서보는 0.9ms ~ 2.1ms에서 잘 작동합니다.

코드에서 사용자 정의 최소 및 최대 펄스 폭을 정의하십시오. PCA9685의 경우 펄스 폭을 레지스터 값으로 변환합니다.펄스 = (pulse_width_us / 20000_us) 4095. 0.9ms의 예: (900/20000)4095 ≒ 184. 2.1ms의 경우: (2100/20000)4095 ≒ 430. 값을 0.5ms 이하 또는 2.5ms 이상으로 강제하지 마십시오.

윙윙거리는 소리가 지속되면 서보를 물리적으로 멈출 때까지 완전히 구동하지 않음으로써 서보의 최대 토크를 줄이십시오.

06다중 PCA9685 보드 – 주소 구성이 저장되지 않음

일반적인 경우:사용자는 3개의 PCA9685 모듈을 스택하고 A0-A5 점퍼(예: 0x40, 0x41, 0x42)를 통해 주소를 설정합니다. 전원을 껐다 켜면 모든 보드가 0x40으로 되돌아갑니다.

근본 원인:

주소 점퍼 패드의 콜드 솔더 조인트.

라이브러리는 명시적으로 지정하지 않는 한 기본 주소로 모든 보드를 초기화합니다.

솔루션:

A0-A5의 솔더 브리지를 물리적으로 확인합니다. 0x41의 경우 납땜 A0이 닫힙니다. 0x42의 경우 솔더 A1이 닫힙니다. 0x43, 납땜 A0 및 A1 등의 경우 연속성 모드에서 멀티미터를 사용하여 확인합니다.

소프트웨어에서 고유 주소를 사용하여 각 PCA9685를 인스턴스화합니다.PCA9685 pwm1(0x40); PCA9685 pwm2(0x41);등. 자동 감지에 의존하지 마십시오.

주소 지속성을 테스트하기 전에 10초 동안 전원을 완전히 끄십시오.

07서보 응답이 느리거나 명령보다 뒤처집니다.

일반적인 경우:팬-틸트 메커니즘은 두 개의 서보를 사용합니다. 급격한 각도 변경(50ms마다)을 전송하면 서보가 느리게 움직이며 목표 위치에 도달하지 못합니다.

근본 원인:

PWM 신호의 업데이트 속도는 서보의 성능보다 낮습니다. PCA9685는 모든 채널을 동시에 업데이트하지만 I²C 버스 속도가 너무 느릴 수 있습니다.

서보 자체에는 제한된 속도(예: 0.2초/60°)가 있습니다. 그보다 빠르게 명령을 보내면 백로그가 발생합니다.

솔루션:

I²C 클록 속도를 400kHz로 높입니다(대부분의 마이크로컨트롤러와 PCA9685에서 지원). 사용Wire.setClock(400000)PCA9685를 초기화하기 전에.

서보의 전송 시간과 일치하는 간격으로 각도 변경을 보냅니다. 0.2초/60° 서보의 경우 각 60° 단계마다 최소 200ms를 기다립니다.

PCA9685의 내장 발진기(내부 25MHz)를 사용하세요. 외부 크리스털이 필요하지 않습니다. 소프트웨어 PWM 루프를 피하십시오.

08서보가 드리프트하거나 위치를 유지하지 않음

일반적인 경우:서보를 90°로 설정한 후 천천히 멀어지거나 가벼운 외부 힘에 저항할 수 없습니다.

근본 원인:

PCA9685 출력 주파수는 정확히 50Hz가 아닙니다(내부 발진기 허용 오차로 인한 드리프트).

서보의 데드밴드는 넓지만 PWM 신호에는 지터가 있습니다.

솔루션:

PCA9685의 내부 발진기를 교정합니다. 대부분의 라이브러리에서는 주파수 오프셋 조정을 허용합니다.pwm.setOscillatorFrequency(25000000)– 오실로스코프로 실제 주파수를 측정하고 조정합니다.

불감대가 더 좁은 고품질 서보(예: 디지털 서보)를 사용하십시오.

20ms마다 동일한 위치를 반복적으로 전송하여 작은 유지 토크를 추가합니다(PCA9685는 이 작업을 자동으로 수행합니다.setPWM한 번만 호출됩니다. 계속 재전송하면 I²C 트래픽 지터가 발생할 수 있습니다. 대신, PWM을 한 번 설정하고 하드웨어가 이를 유지하도록 하십시오.

09예방 조치 및 모범 사례

대부분의 PCA9685 서보 문제를 방지하려면 다음 체크리스트를 따르십시오.

전원 공급 장치:서보용 별도의 5V 공급 장치, 2-3개의 마이크로 서보당 최소 1A 정격. 전원 레일 전체에 470~1000μF 커패시터를 추가합니다.

접지:모든 구성 요소에 대한 단일 공통 접지 지점입니다.

배선:짧은 I²C 와이어(연선이 도움이 됨) 서보 전원선을 신호선에서 멀리 두십시오.

빈도:표준 서보의 경우 항상 50Hz를 설정하십시오. 가능하면 오실로스코프를 사용하여 확인하십시오.

펄스 폭 제한:보수적으로(0.9ms – 2.1ms) 시작하고 서보 데이터시트에 따라 조정하십시오.

주소:멀티미터로 솔더 브리지를 다시 확인하십시오. 코드에 주소를 명시적으로 할당합니다.

테스트:여러 개의 서보를 추가하기 전에 I²C 스캐너와 단일 서보 스윕을 실행하세요.

10핵심 테이크아웃

> 대부분의 PCA9685 서보 문제는 부적절한 전력, 공통 접지 누락 또는 잘못된 PWM 타이밍으로 인해 발생합니다.하드웨어 결함을 의심하기 전에 먼저 이 세 가지를 해결하십시오.

최종 조치 권장사항:하나의 서보, 전용 5V/2A 공급 장치, 1000μF 커패시터로 간단한 테스트 설정을 구축하고 50Hz에서 0.9ms에서 2.1ms까지 스윕을 실행합니다. 안정적인 작동을 확인하세요. 그런 다음 전력과 온도를 모니터링하면서 한 번에 하나의 서보를 추가하여 점진적으로 확장합니다. 이러한 체계적인 접근 방식은 일반적인 문제의 90%를 제거합니다.

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

미래에 힘을 실어주다

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

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