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

32채널 서보 제어 보드 프로그램 다이어그램: 배선, 코딩 및 디버깅에 대한 전체 가이드

게시됨 2026-04-29

0132채널 조향장치 제어보드 프로그램 다이어그램빠른 시작

32개의 서보가 함께 작동하도록 제어하기 위한 핵심 방법은 YPMFG 브랜드와 같은 PCA9685 칩 기반의 32채널 PWM 드라이버 보드를 사용하고 Arduino/ESP32/Raspberry Pi와 같은 메인 제어 보드의 I2C 인터페이스를 사용하여 명령을 전송하며 각 서보는 독립적으로 각도를 제어할 수 있습니다. 12단어 요약: 전선을 연결하고, 라이브러리를 굽고, PWM 값을 보냅니다. 전체 프로그램 다이어그램, Arduino 샘플 코드 및 5가지 고주파 문제에 대한 솔루션이 아래에 나와 있으므로 추가로 검색할 필요가 없습니다.

02하드웨어 배선 다이어그램(코어 연결)

32채널 서보 제어 보드와 메인 제어 보드에는 4개의 전선만 필요합니다.

제어 보드 핀 메인 제어 보드에 연결 설명하다
VCC(3~5V) 3.3V/5V 출력 논리 전원 공급 장치, 메인 제어와 동일한 전압
접지 접지 공통 접지, 연결해야 함
SCL SCL(Uno의 A5와 유사) I2C 클록 라인
SDA SDA (어떻게 A4 on Uno) I2C 데이터 라인

서보의 전원 공급과 관련하여 주의해야 할 핵심 사항은 다음과 같습니다. 32채널 서보는 메인 제어 보드에서 전원 공급을 받아서는 안 됩니다. 5V 또는 6V 조정 전원 공급 장치에 연결해야 합니다. 여기서 전류 계산 방법은 서보의 수에 차단되었을 때 각 서보의 전류를 곱한 값입니다. 해당 프로그램 다이어그램에 해당하는 실제 배선 예는 다음과 같습니다.

외부 전원 공급 장치의 양극 단자를 제어 보드에 연결하십시오.V+단자, 음극접지

특정 서보를 연결할 때 빨간색 와이어는 제어 보드의 각 단계에 해당하는 동일한 채널의 빨간색 포트에 연결되어야 하며, 갈색 와이어는 갈색 포트에 연결되어야 하며, 주황색 및 노란색 와이어는 PWM 신호 포트에 연결되어야 합니다.

한 예로, 한 제조사가 12자유도 로봇을 만들다가 외부 전원이 연결되지 않아 메인 제어반이 타버린 일이 있다.올바른 작동 방법은 6V/10A 스위칭 전원 공급 장치를 사용하여 제어 보드에 직접 전원을 공급하는 것입니다.

03Arduino 프로그램 코드(직접 복사 가능)

다음 프로그램은 32채널 제어보드를 초기화하고 첫 번째 서보를 0°로 회전시키고 세 번째 서보를 180°로 회전시킨 후 모든 서보를 한 주기로 스캔하는 프로그램입니다. 핵심 함수 setPWM(channel, on, off)에서 off 값에 해당하는 펄스 폭은 0°는 150, 90°는 375, 180°는 600입니다(50Hz 주파수 기준이며 펄스 범위는 0.5ms - 2.5ms입니다).

#포함하다#포함하다// 공식 라이브러리 Adafruit_PWM서보 기구드라이버 PWM = Adafruit_PWM서보 기구드라이버(0x40); //기본 I2C 주소 0x40 #define서보 기구MIN 150 // 0° 펄스 폭 #define SERVOMAX 600 // 180° 펄스 폭 void setup() { Serial.begin(9600); pwm.begin(); pwm.setOscillatorFrequency(27000000); // 내부 발진기 교정 pwm.setPWMFreq(50); // 서보 표준 50Hz 지연(10); } void loop() { // 0번째 채널이 0°로 회전합니다 pwm.setPWM(0, 0, SERVOMIN); 지연(1000); // 0번째 채널이 180° 회전합니다. pwm.setPWM(0, 0, SERVOMAX); 지연(1000); // 모든 채널은 (int ch = 0; ch에 대해 순서대로 스캔됩니다.

32路舵机控制板程序图_舵机控制电路板_如何用程序控制舵机

서보의 움직임을 관찰하려면 위의 코드를 Arduino에 업로드하십시오. 32개 채널이 모두 정상 상태라면 32개 채널 서보 제어 보드의 프로그램 다이어그램이 적용되었음을 의미합니다.

04디버깅 및 일반적인 문제 해결(Q/A 형식)

Q1: 서보가 전혀 움직이지 않는데 어떻게 빨리 위치를 잡을 수 있나요?

외부 전원 공급 장치의 전압과 전류를 주의 깊게 확인하고 멀티미터를 사용하여 제어 보드의 V+와 GND 사이에 전기가 있는지 측정하고 서보를 별도로 테스트한 후 PWM 신호에 직접 연결하십시오.

Q2: 서보가 흔들리거나 지정된 각도로 회전할 수 없습니까?

A: 전원 공급이 부족합니다. 총 전류를 계산하기 위해 각 서보의 전류는 유휴 상태일 때 200mA이고 회전자 잠긴 상태일 때 1A입니다. 32채널의 경우 적어도 10A 이상의 스위칭 전원이 필요합니다.

Q3: I2C 통신이 실패했습니다(스캐너가 장치를 찾을 수 없음)?

A: SCL과 SDA가 반대로 연결되어 있는지 확인하세요. 풀업 저항과 관련하여 대부분의 보드에는 4.7kΩ이 통합되어 있어 I2C 속도를 100kHz로 줄입니다.

Q4: 서로 다른 브랜드의 서보가 서로 다른 펄스 폭을 갖고 있는 경우 어떻게 해야 합니까?

SERVOMIN 및 SERVOMAX 매크로에 따라 별도로 교정하십시오. 먼저 서보를 0°로 회전시키는 테스트 프로그램을 작성하고 실제 각도를 측정한 후 값을 조정해야 합니다. 그런 다음 서보를 180°로 회전하고 실제 각도를 다시 측정하고 값을 조정하는 테스트 프로그램을 작성해야 합니다.

Q5: 여러 개의 서보가 동시에 원활하게 움직이도록 제어하는 ​​방법은 무엇입니까?

먼저 A씨는 pwm.setPWM을 이용하여 채널별 업데이트 작업을 수행하는 방법을 언급했는데, 이 작업은 Non-Blocking 및 Delay를 가지고 있다. 따라서 여러 서보의 동기화를 위해서는 millis()를 통해 구현된 누적 시간차를 활용하는 것이 좋습니다. 이것이 사실입니다.

32路舵机控制板程序图_如何用程序控制舵机_舵机控制电路板

05고급: Raspberry Pi Python 제어 예

Raspberry Pi 사용자의 경우 adafruit-circuitpython-pca9685 라이브러리를 설치한 후 I2C에 연결할 수도 있습니다.. 다음 코드는 채널 2의 서보를 앞뒤로 스윙하게 만듭니다.

adafruit_pca9685에서 보드 가져오기 adafruit_motor에서 PCA9685 가져오기 서보 가져오기 i2c =busio.I2C(board.SCL, board.SDA) pca = PCA9685(i2c, 주소=0x40) pca.주파수 = 50 서보2 = 서보.서보(pca.channels[1], min_pulse=500, max_pulse=2500) True인 동안: Servo2.angle = 0 time.sleep(1) Servo2.angle = 180 time.sleep(1)

프로그램 다이어그램에서 Raspberry Pi와 Arduino의 연결 방법은 동일합니다. 즉, SCL은 GPIO2에 연결되고 SDA는 GPIO3에 연결되며 GND는 공통 접지입니다.. 실행하기 전에 반드시 i2cDetect -y 1을 사용하여 장치 주소가 0x40인지 확인하세요.

06전체 프로젝트 프로세스 및 실행 제안

에 따라32채널 조향장치 제어보드 프로그램 다이어그램, 3시간 이내에 32채널까지의 배선부터 독립제어가 가능합니다. 결론을 강화하기 위해서는 다음과 같은 순서로 동작해야 합니다.

1. 해야 할 준비 작업은 YPMFG 32채널 서보 제어 보드, Arduino Uno, 12V~5V/10A 전압 안정화 모듈, MG995 서보 32개를 구하는 것입니다.

2. 배선을 시작합니다. 지속시간은 10분입니다. 섹션 1의 배선도에 따라 I2C와 외부 전원 공급 장치를 연결해야 합니다. 서보를 먼저 연결하지 말고 제어 보드 표시등을 테스트하십시오.

3. Arduino 코드를 복사하고 Adafruit_PWMServoDriver 라이브러리를 설치한 후 주소를 0x40으로 변경합니다. 이 과정은 15분 정도 소요됩니다. 굽기 프로그램입니다.

4. 단일 서보에서 테스트(5분 소요)를 수행하고, 서보를 채널 0에 연결하고, 코드를 업로드하고, 0° 및 180°로 회전할 수 있는지 확인합니다.

5. 32개 채널로 확장, 소요시간은 1시간: 모든 서보를 순서대로 하나씩 연결하고 각 채널의 응답을 확인합니다.

6. 교정 및 최적화. 이 과정은 1시간이 소요됩니다. 각 서보의 실제 펄스 범위를 측정하고 SERVOMIN/MAX 값을 업데이트해야 합니다.

핵심 요점을 반복하십시오. PCA9685에 의해 생성된 PWM은 모든 32채널 서보 제어 보드의 핵심입니다. 프로그램 다이어그램의 핵심은 I2C를 올바르게 연결하고, 외부 전원 공급 장치를 올바르게 연결하고, 라이브러리 기능을 올바르게 호출하는 것입니다. 이 세 단계에 오류가 없으면 32개 채널이 전체 로드 상태에서도 안정적으로 작동할 수 있습니다.

07일반적인 오해 바로잡기

오해 1과 관련하여 서보 제어 보드에 USB를 통해 직접 전원을 공급할 수 있다고 생각하는 것은 잘못된 것입니다.USB에서 제공하는 전원 전류는 최대 500mA에 불과하므로 두 개의 서보가 연결되어 있어도 제어 보드가 다시 시작됩니다.. 따라서 전원 공급 장치에는 외부 조정 전원 공급 장치를 사용해야 합니다.

오해 2: 모든 서보 펄스 폭이 150~600이 아닙니다. → 이는 잘못된 것입니다. 아날로그 서보는 디지털 서보와 다르므로 데이터시트를 참조해야 합니다.

32채널이 32개의 PWM 핀을 사용해야 한다는 오해가 있는데 이는 잘못된 것입니다. I2C 버스에는 2선만 필요하므로 주소를 변경하면 62채널 확장 기능을 구현할 수 있습니다.

08리소스 및 신뢰할 수 있는 참고 자료

이 문서의 모든 데이터는 다음과 같은 검증 가능한 소스를 기반으로 합니다.

Philips Semiconductor의 2015년 버전 PCA9685 칩 데이터 시트 8장에는 "PWM 주파수 및 해상도"라는 라벨이 붙어 있습니다.

공식 문서인 Adafruit PWM Servo Driver Library에는 setPWMFreq() 함수의 펄스 폭 계산 공식과 setPWM() 함수의 펄스 폭 계산 공식이 있습니다.

조향 기어 제어 분야의 산업 표준에서는 50Hz PWM의 펄스 폭이 0.5ms~2.5ms 범위에 있을 때 각도가 0°~180°에 해당한다고 규정하고 있습니다.

위의 코드와 배선도를 사용하여 직접 생산하거나 가르칠 수 있습니다. YPMFG 제어 보드와 Arduino를 결합하면 헥사포드 로봇, 32축 로봇 팔 및 무대 조명 어레이에 성공적으로 사용되었습니다. 실행 중에 문제가 발생하면 섹션 1의 배선 표와 섹션 5의 조치 목록을 다시 참조하십시오. 오류의 95%는 전원 공급 장치 또는 I2C 잘못된 배선으로 인해 발생합니다.

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

미래에 힘을 실어주다

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

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