게시됨 2026-04-05
설정서보 기구특정 회전 각도로 모터를 회전시키는 것은 로봇 공학, 자동화 및 DIY 전자 장치의 기본 작업입니다. 이 가이드는 표준을 만드는 데 필요한 정확한 단계, 코드 논리 및 교정 방법을 제공합니다.서보 기구특정 브랜드나 제품에 의존하지 않고 필요한 각도로 회전할 수 있습니다. 범용 펄스 폭 원리, 단계별 프로그래밍 접근 방식 및 일반적인 각도 오류 문제를 해결하는 방법을 배우게 됩니다. 결국에는 서보 각도를 정확하고 반복적으로 설정할 수 있게 됩니다.
모든 표준 서보는펄스 폭 변조(PWM)회전 각도를 결정하는 신호입니다. 제어 신호는 50Hz 주파수(주기 = 20밀리초)입니다. 각 20ms 주기 내에서 높은 펄스("켜짐" 시간)는 서보가 어디로 가야 하는지 알려줍니다.
1.0ms 펄스→ 0도(대부분의 서보에서 시계 반대 방향으로 완전히 회전)
1.5ms 펄스→ 90도(중앙 위치)
2.0ms 펄스→ 180도(시계방향 전체)
이 값은 업계 표준입니다. 그러나 실제 끝점은 개별 서보마다 약간 다를 수 있습니다. 아래 표는 보편적인 관계를 보여줍니다.
> 주요 사실: 펄스 폭에 따라 각도가 선형적으로 변경됩니다. 0°에서 180° 사이의 각도에 대해 필요한 펄스 폭 = 1.0ms + (각도/180) × 1.0ms.
다음 네 가지 보편적인 단계를 따르세요. 브랜드별 소프트웨어나 하드웨어는 가정되지 않습니다.
표준 서보에는 세 개의 와이어가 있습니다.
브라운 또는 블랙– 접지(컨트롤러의 GND에 연결)
빨간색– 전원(대부분의 서보는 5V, 서보의 정격 전압을 확인하세요)
주황색 또는 노란색– 신호(PWM 가능 핀에 연결)
> 심각한 경고: 부하가 걸린 상태에서는 마이크로 컨트롤러의 5V 핀에서 직접 서보에 전원을 공급하지 마십시오. 서보당 최소 1A를 제공할 수 있는 별도의 5V 전원 공급 장치를 사용하십시오.
50Hz 신호(20ms 주기)를 생성하도록 마이크로 컨트롤러 또는 서보 드라이버를 구성하십시오. 그런 다음 목표 각도에 따라 펄스 폭을 설정하십시오.
계산 예: 45°로 설정하려면
펄스 폭 = 1.0 + (45/180)×1.0 = 1.0 + 0.25 = 1.25ms
계산 예: 135°로 설정하려면
펄스 폭 = 1.0 + (135/180)×1.0 = 1.0 + 0.75 = 1.75ms
다음 논리는 모든 플랫폼(Arduino, Raspberry Pi, ESP32 등)에서 작동합니다.
PWM 주파수 설정 = 50Hz PWM 분해능 설정 = 1 µs(마이크로초) 단계 함수 setAngle(angle_degrees): angle_degrees 180인 경우: angle_degrees = 180 pulse_width_us = 1000 + (angle_degrees / 180)1000 # pulse_width_us는 1000과 2000 사이입니다. 쓰기 PWM 신호: 주기 = 20000 µs, high_time = pulse_width_us
코드를 업로드한 후 서보 혼을 관찰하세요. 경적이 예상 위치로 이동하지 않으면 섹션 4의 보정을 따르십시오.
세 개의 관절(어깨, 팔꿈치, 손목)이 있는 간단한 로봇 팔을 생각해 보세요. 팔꿈치 관절이 2초에 걸쳐 30°에서 120°로 움직이기를 원합니다.
사례 단계:
1. 팔꿈치의 서보를 식별합니다.
2. 각도를 점진적으로 증가시키는 루프를 작성합니다.
시작 각도 = 30° → 펄스 폭 = 1.0 + (30/180)×1.0 = 1.1667 ms
종료 각도 = 120° → 펄스 폭 = 1.0 + (120/180)×1.0 = 1.6667 ms
3. 20밀리초(초당 50단계)마다 각도를 1°씩 늘립니다.
![]()
4. 총 기간 = (120-30) 단계 × 0.02초 = 1.8초(대략).
결과: 팔꿈치가 30°에서 120°까지 흔들림 없이 부드럽게 움직입니다. 이 방법은 매일 수천 대의 취미생활자 및 교육용 로봇에 사용됩니다.
1.0~2.0ms 범위가 정확하더라도 90°에 대한 명령이 85° 또는 95°가 되는 것을 알 수 있습니다. 이는 제조 공차로 인해 정상적인 현상입니다. 각 서보를 개별적으로 교정하십시오.
1. 서보를 0°로 명령합니다(1.0ms 펄스 전송).
2. 경적에 실제 위치를 표시합니다.
3. 서보를 180°로 명령합니다(2.0ms 펄스 전송).
4. 실제 위치를 표시합니다.
5. 실제 각도 범위를 측정합니다. 예를 들어 물리적 범위가 170°인 경우:
실제 최소 펄스 = 1.0ms(여전히 작동함)
실제 최대 펄스 = 2.0ms는 170°를 제공합니다. → 180°를 얻으려면 2.058ms가 필요합니다.
6. 표준 범위를 변경하는 대신 원하는 각도를 실제 범위에 매핑하십시오.
실제 각도 = 원하는 각도 × (true_max_angle / 180)
예: 실제 최대 각도 = 170°인 경우 원하는 90°를 얻으려면:
실제 각도 = 90 × (170/180) = 85°→ 85° 펄스를 보냅니다.
이 선형 매핑은 물리적 혼이 원하는 위치로 정확히 이동하도록 보장합니다.
성공을 보장하려면 다음 오류를 피하세요.
일부 서보는 연속 회전을 위해 수정되었습니다. 이 경우 펄스 폭은 더 이상 절대 각도를 설정하지 않습니다. 대신에:
1.5ms→ 중지
(예: 1.3ms) → 차이에 비례하는 속도로 한 방향으로 회전
>1.5ms(예: 1.7 ms) → 반대 방향으로 회전
연속 회전 서보의 경우 피드백 센서(엔코더)가 없으면 "각도 설정"이 불가능합니다. 절대 각도 위치 지정에는 표준 서보(0~180°)를 사용합니다.
핵심원리 반복: 서보 회전 각도는 펄스 폭이 1.0ms(0°)에서 2.0ms(180°) 사이인 50Hz PWM 신호를 생성하여 설정됩니다. 관계는 선형적입니다.
즉각적인 조치 계획:
1. 연결하다서보를 전용 5V 전원 공급 장치에 연결합니다(서보가 두 개 이상인 경우 마이크로컨트롤러의 5V 핀이 아님).
2. 생성하다선호하는 플랫폼의 서보 라이브러리 또는 원시 PWM을 사용하여 모든 GPIO 핀에서 50Hz PWM 신호.
3. 믿다펄스 폭:pulse_us = 1000 + (원하는 각도/180)1000.
4. 시험0°, 90°, 180°가 있습니다. 실제 위치를 표시하십시오.
5. 교정위치가 2° 이상 벗어난 경우 섹션 4의 매핑 공식을 사용합니다.
6. 점차적으로 이동기계적 응력을 피하기 위해 20~50ms마다 1~2°씩 각도를 변경하여 각도 간을 조정합니다.
이 가이드를 따르면 표준 서보를 ±1° 정확도로 0°에서 180° 사이의 각도로 설정할 수 있습니다. 브랜드별 트릭은 필요하지 않습니다. 모든 서보가 준수하는 범용 PWM 표준만 있으면 됩니다.
업데이트 시간:2026-04-05