게시됨 2026-04-07
이 가이드는 표준 마이크로 모터의 회전 각도를 정밀하게 제어하는 데 필요한 모든 것을 제공합니다.서보 기구마이크로 컨트롤러를 사용합니다. 핵심 원칙은 간단합니다.서보 기구의 출력축 위치는 펄스 신호의 폭에 따라 결정됩니다. 가장 일반적인 마이크로서보 기구s, 1.5밀리초(ms)의 펄스 폭은 샤프트를 90°로 중심에 두고, 1.0ms는 샤프트를 0°로 이동하고, 2.0ms는 180°로 이동합니다. 그러나 실제 서보는 다양합니다. 이 기사에서는 특정 브랜드에 의존하지 않고도 정확한 각도별 제어를 달성하기 위한 검증된 방법, 코드 예제 및 교정 단계를 제공합니다.
에이마이크로 서보소형 DC 모터, 피드백 전위차계 및 제어 회로가 포함되어 있습니다. 회로는 들어오는 펄스 폭을 전위차계의 위치와 비교합니다. 펄스 폭이 원하는 위치와 일치하면 모터가 정지합니다. 펄스 폭과 각도 사이의 관계는 서보의 기계적 한계 내에서 선형입니다.
표준 신호 사양:
펄스 반복률:50Hz(주기 = 20ms)
사용 가능한 펄스 폭 범위:일반적으로 1.0ms ~ 2.0ms
해당 각도 범위:0° ~ 180°
이는 서보가 20ms마다 펄스를 예상한다는 의미입니다. 펄스 폭을 1.0ms에서 2.0ms로 변경하면 샤프트에 0°에서 180°까지 명령을 내릴 수 있습니다.
2개 사세요마이크로 서보같은 배치에서 나온 것입니다. 1.5ms 펄스를 보낼 때 하나는 완벽하게 90°에 중심을 둡니다. 다른 하나는 85°에서 멈춥니다. 이는 피드백 전위차계 및 기계적 조립의 제조 공차로 인해 발생합니다. 따라서 항상 각 서보를 개별적으로 교정하십시오.
대부분의 마이크로 컨트롤러 플랫폼은 안정적인 50Hz 펄스를 생성하는 내장 서보 라이브러리를 제공합니다. 다음은 PWM 출력 및 서보 제어 라이브러리를 지원하는 모든 마이크로컨트롤러에서 작동하는 일반 코드 예제입니다.
서보의 전원선(빨간색)을 최소 500mA를 제공할 수 있는 5V 공급 장치에 연결하십시오.
접지선(갈색 또는 검정색)을 마이크로컨트롤러의 GND에 연결합니다.
신호선(주황색, 노란색 또는 흰색)을 PWM 지원 핀(예: 핀 9)에 연결합니다.
#포함하다서보 myServo; 무효 설정() { myServo.attach(9); // 9번 핀에 서보를 연결합니다. } void loop() { myServo.write(0); // 명령 0도 지연(1000); myServo.write(90); // 90도 명령 지연(1000); myServo.write(180); // 180도 명령 지연(1000); }
그만큼쓰다(각도)기능은 기본 매핑(0°→1.0 ms, 180°→2.0 ms)을 사용하여 각도를 해당 펄스 폭으로 자동 변환합니다. 그러나 이 기본값은 특정 서보와 일치하지 않을 수 있습니다.
정확한 각도를 얻으려면 서보에서 0°와 180°를 생성하는 정확한 펄스 폭을 결정해야 합니다.
1. 포인터를 부착하거나 샤프트의 중립 위치를 표시합니다.
![]()
2. 1.5ms 펄스를 보냅니다. 샤프트는 90°에 가까워야 합니다. 오프셋을 기록해 두십시오.
3. 샤프트가 더 이상 움직이지 않을 때까지 펄스 폭을 10μs씩 줄입니다. 이것이 실제 0° 펄스 폭입니다.
4. 샤프트가 더 이상 움직이지 않을 때까지 펄스 폭을 1.5ms에서 10μs 단위로 늘립니다. 이것이 실제 180° 펄스 폭입니다.
세 가지 일반적인 서보의 일반적인 측정 결과:
이 값은 1000μs~2000μs를 가정하면 최대 15°의 오류가 발생할 수 있음을 보여줍니다. 항상 보정된 값을 사용하십시오.
대부분의 서보 라이브러리에서는 다음을 사용하여 사용자 정의 펄스 폭 범위를 설정할 수 있습니다.붙이다()과부하 또는 별도의 기능. 예:
myServo.attach(9, 540, 2420); // 핀, 최소 펄스 폭(μs), 최대 펄스 폭(μs)
보정한계로 부착한 후,myServo.write(90)정확한 중심 펄스(이 경우 1480 µs)를 전송하여 실제 90°를 제공합니다.
1단계: 항상 각 서보를 개별적으로 교정하세요.– 공장 사양을 가정하지 마십시오. 실제 0° 및 180° 펄스 폭을 측정하는 데 5분 정도 소요됩니다.
2단계: 전용 전원 공급 장치 사용– 마이크로 컨트롤러의 5V 핀에서 직접 마이크로 서보에 전원을 공급하지 마십시오. 갑작스러운 전류 소모로 인해 컨트롤러가 재설정될 수 있습니다. 5V 1A UBEC 또는 규제된 외부 공급 장치를 사용하십시오.
3단계: 코드에 교정 값 저장– 교정 후 최소 및 최대 펄스 폭을 하드코딩합니다. 예:
#define SERVO_PIN 9 #define SERVO_0_PULSE 540 // 0°에 대해 측정된 µs #define SERVO_180_PULSE 2420 // 180°에 대해 측정된 µs Servo myServo; myServo.attach(SERVO_PIN, SERVO_0_PULSE, SERVO_180_PULSE);
4단계: 간단한 테스트로 확인– 0°, 45°, 90°, 135°, 180°를 명령합니다. 정확도를 확인하려면 각도기를 사용하세요. 각도가 2° 이상 어긋나면 교정을 반복하십시오.
5단계: 설정 문서화– 각 서보에 대해 보정된 펄스 폭을 기록해 두십시오. 서보를 교체하는 경우 즉시 다시 교정하십시오.
마이크로 서보 각도는 펄스 폭에 의해 직접 제어됩니다. 표준 매핑(1.0ms = 0°, 1.5ms = 90°, 2.0ms = 180°)이 시작점입니다. 실제 서보는 진정한 0°~180° 정확도를 달성하기 위해 최소 및 최대 펄스 폭을 개별적으로 교정해야 합니다. 교정하지 않으면 10°~20°의 오프셋이 발생할 수 있습니다.
교정 절차를 따르고 코드에서 펄스 폭 범위를 사용자 정의하면 로봇 팔부터 카메라 짐벌까지 모든 응용 분야에 대해 반복 가능하고 정확한 서보 포지셔닝을 얻을 수 있습니다. 항상 각 서보의 실제 한계를 테스트하고 이에 따라 코드를 조정하십시오. 이 방법을 사용하면 추측이 필요 없으며 프로젝트가 항상 안정적으로 작동하도록 보장됩니다.
업데이트 시간:2026-04-07