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

마이크로컨트롤러를 사용한 마이크로 서보 각도 제어에 대한 완벽한 가이드

게시됨 2026-04-07

이 가이드는 표준 마이크로 모터의 회전 각도를 정밀하게 제어하는 ​​데 필요한 모든 것을 제공합니다.서보 기구마이크로 컨트롤러를 사용합니다. 핵심 원칙은 간단합니다.서보 기구의 출력축 위치는 펄스 신호의 폭에 따라 결정됩니다. 가장 일반적인 마이크로서보 기구s, 1.5밀리초(ms)의 펄스 폭은 샤프트를 90°로 중심에 두고, 1.0ms는 샤프트를 0°로 이동하고, 2.0ms는 180°로 이동합니다. 그러나 실제 서보는 다양합니다. 이 기사에서는 특정 브랜드에 의존하지 않고도 정확한 각도별 제어를 달성하기 위한 검증된 방법, 코드 예제 및 교정 단계를 제공합니다.

01어떻게마이크로 서보펄스 폭을 각도로 해석

에이마이크로 서보소형 DC 모터, 피드백 전위차계 및 제어 회로가 포함되어 있습니다. 회로는 들어오는 펄스 폭을 전위차계의 위치와 비교합니다. 펄스 폭이 원하는 위치와 일치하면 모터가 정지합니다. 펄스 폭과 각도 사이의 관계는 서보의 기계적 한계 내에서 선형입니다.

표준 신호 사양:

펄스 반복률:50Hz(주기 = 20ms)

사용 가능한 펄스 폭 범위:일반적으로 1.0ms ~ 2.0ms

해당 각도 범위:0° ~ 180°

이는 서보가 20ms마다 펄스를 예상한다는 의미입니다. 펄스 폭을 1.0ms에서 2.0ms로 변경하면 샤프트에 0°에서 180°까지 명령을 내릴 수 있습니다.

일반적인 실제 사례:

2개 사세요마이크로 서보같은 배치에서 나온 것입니다. 1.5ms 펄스를 보낼 때 하나는 완벽하게 90°에 중심을 둡니다. 다른 하나는 85°에서 멈춥니다. 이는 피드백 전위차계 및 기계적 조립의 제조 공차로 인해 발생합니다. 따라서 항상 각 서보를 개별적으로 교정하십시오.

02단계별: 코드로 서보 각도 제어

대부분의 마이크로 컨트롤러 플랫폼은 안정적인 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)을 사용하여 각도를 해당 펄스 폭으로 자동 변환합니다. 그러나 이 기본값은 특정 서보와 일치하지 않을 수 있습니다.

03교정: 실제 펄스 폭 한계 찾기

정확한 각도를 얻으려면 서보에서 0°와 180°를 생성하는 정확한 펄스 폭을 결정해야 합니다.

교정 절차:

1. 포인터를 부착하거나 샤프트의 중립 위치를 표시합니다.

arduino micro servo degree_arduino micro servo degree_arduino micro servo degree

2. 1.5ms 펄스를 보냅니다. 샤프트는 90°에 가까워야 합니다. 오프셋을 기록해 두십시오.

3. 샤프트가 더 이상 움직이지 않을 때까지 펄스 폭을 10μs씩 줄입니다. 이것이 실제 0° 펄스 폭입니다.

4. 샤프트가 더 이상 움직이지 않을 때까지 펄스 폭을 1.5ms에서 10μs 단위로 늘립니다. 이것이 실제 180° 펄스 폭입니다.

세 가지 일반적인 서보의 일반적인 측정 결과:

서보 샘플 실제 0° 펄스(μs) 실제 180° 펄스(μs) 중앙 90° 펄스(μs)
샘플 A 540 2420 1480
샘플 B 510 2450 1500
샘플 C 570 2380 1460

이 값은 1000μs~2000μs를 가정하면 최대 15°의 오류가 발생할 수 있음을 보여줍니다. 항상 보정된 값을 사용하십시오.

코드에 보정 적용:

대부분의 서보 라이브러리에서는 다음을 사용하여 사용자 정의 펄스 폭 범위를 설정할 수 있습니다.붙이다()과부하 또는 별도의 기능. 예:

myServo.attach(9, 540, 2420); // 핀, 최소 펄스 폭(μs), 최대 펄스 폭(μs)

보정한계로 부착한 후,myServo.write(90)정확한 중심 펄스(이 경우 1480 µs)를 전송하여 실제 90°를 제공합니다.

04일반적인 문제 및 해결 방법

문제 전형적인 원인 검증된 수정 사항
서보가 흔들리거나 진동합니다. 전원 공급이 부족하거나 소음이 심함 별도의 5V 레귤레이터(예: 5V 1A)를 사용하고 서보 근처의 전원과 접지에 100μF 커패시터를 추가하세요.
서보가 명령된 각도로 이동하지 않습니다. 펄스 폭 범위 불일치 교정 절차를 수행하고 사용자 정의 최소/최대 펄스 폭을 설정합니다.
서보는 0°에서 90° 사이에서만 회전합니다. 펄스 폭은 1.5ms를 초과하지 않습니다. 코드를 확인하세요.쓰기(180)실제로 >1.5ms 펄스를 보냅니다. 사용자 정의 연결 범위 사용
서보가 빨리 뜨거워집니다. 펄스 반복률이 너무 높음 서보 라이브러리 출력이 50Hz(20ms 주기)인지 확인하십시오. 일부 PWM 구성은 더 높은 주파수를 출력합니다.

05안정적인 각도 제어를 위한 실행 가능한 권장 사항

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단계: 설정 문서화– 각 서보에 대해 보정된 펄스 폭을 기록해 두십시오. 서보를 교체하는 경우 즉시 다시 교정하십시오.

06다시 언급된 핵심 원칙:

마이크로 서보 각도는 펄스 폭에 의해 직접 제어됩니다. 표준 매핑(1.0ms = 0°, 1.5ms = 90°, 2.0ms = 180°)이 시작점입니다. 실제 서보는 진정한 0°~180° 정확도를 달성하기 위해 최소 및 최대 펄스 폭을 개별적으로 교정해야 합니다. 교정하지 않으면 10°~20°의 오프셋이 발생할 수 있습니다.

교정 절차를 따르고 코드에서 펄스 폭 범위를 사용자 정의하면 로봇 팔부터 카메라 짐벌까지 모든 응용 분야에 대해 반복 가능하고 정확한 서보 포지셔닝을 얻을 수 있습니다. 항상 각 서보의 실제 한계를 테스트하고 이에 따라 코드를 조정하십시오. 이 방법을 사용하면 추측이 필요 없으며 프로젝트가 항상 안정적으로 작동하도록 보장됩니다.

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

미래에 힘을 실어주다

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

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