게시됨 2026-04-08
만약 당신의서보 기구Arduino에 연결된 모터가 갑자기 회전을 멈추거나 전혀 움직이지 않는 경우 전자 프로젝트에서 가장 일반적인 문제 중 하나에 직면하게 됩니다. 이 가이드는 실제 시나리오를 기반으로 단계별 진단 및 복구 프로세스를 제공합니다. 아래의 체계적인 점검을 통해 정확한 원인을 파악하고 정상복원을 하게 됩니다.서보 기구몇 분 안에 작동됩니다.
보고된 사례의 70% 이상에서서보 기구전류가 충분하지 않아 회전을 멈춥니다.
중요한 사실:일반적인 소형 서보(예: SG90 또는 유사한)는 유휴 상태일 때 200~500mA를 소비하고 회전을 시작할 때 최대 1.5~2A를 소비합니다. Arduino 보드의 5V 핀은 총 약 400~500mA만 안전하게 공급할 수 있습니다. Arduino의 5V 핀에서 직접 서보에 전원을 공급하면 전압이 떨어지고 서보가 정지하거나 정지하며 Arduino가 재설정될 수 있습니다.
검증된 솔루션:
최소 2A 정격의 별도 외부 5V DC 전원 공급 장치를 사용하십시오.
서보의 빨간색 와이어(VCC)를 외부 공급 장치의 양극 단자에 연결합니다.
서보의 갈색/검은색 선(GND)을 외부 공급 장치의 음극 단자에 모두 연결합니다.그리고Arduino의 GND(공통 접지).
서보의 주황색/노란색 신호선을 Arduino PWM 핀(예: 핀 9)에 연결해 두세요.
사례 예:한 취미생활자가 세 개의 서보를 갖춘 로봇 팔을 만들었습니다. 2초 작동 후 모든 서보가 정지되었습니다. 원인은 Arduino의 5V 핀에서 모든 서보에 전원을 공급하는 것이었습니다. 5V/5A 외부 전원으로 이동한 후 모든 서보가 올바르게 회전했습니다.
연결이 끊어졌거나 잘못 배치된 신호선은 회전하지 않습니다. 고급 사용자라도 때때로 신호선과 전원선을 교체합니다.
단계별 검증:
1. 신호선(일반적으로 주황색, 노란색 또는 흰색) → 디지털 PWM 가능 핀(예: Arduino Uno의 3,5,6,9,10,11)에 연결됩니다.
2. 전원선(빨간색) → 외부 5V 공급 장치(또는 부하가 없는 작은 서보 하나를 테스트하는 경우에만 Arduino 5V).
3. 접지선(갈색 또는 검정색) → Arduino와 공통 접지.
최소한의 스케치로 테스트합니다.표준 Sweep 예제(파일 → 예제 → Servo → Sweep)를 업로드하고 서보 이동을 확인합니다. 그렇다면 배선이 올바른 것입니다.
서보.부착()또는 잘못된 핀많은 사용자가 전화하는 것을 잊어버립니다.붙이다()~에설정(), 또는 PWM을 지원하지 않는 핀을 사용합니다. 없이붙이다(), 서보는 제어 신호를 받지 않고 가만히 있습니다.
올바른 최소 코드 구조:
#포함하다서보 myServo; 무효 설정() { myServo.attach(9); // 실제 신호 핀과 일치해야 합니다. } void loop() { myServo.write(0); // 0도 – 가장 왼쪽 위치 지연(1000); myServo.write(90); // 90도 – 중심 지연(1000); myServo.write(180); // 180도 – 가장 오른쪽 위치 지연(1000); }
일반적인 실수:사용아날로그쓰기()또는디지털쓰기()서보 핀에서 – 필요한 50Hz PWM 신호를 생성하지 않습니다. 서보 라이브러리 또는 직접 펄스 폭 변조만 작동합니다.
서보에서 윙윙거리는 소리가 나지만 회전하지 않는 경우 내부 기어가 벗겨졌거나 외부 물체가 혼을 막고 있는 것일 수 있습니다.
진단 절차:
서보 혼(플라스틱 암)을 분리합니다. 그런 다음 테스트 코드를 실행합니다. 혼 없이 서보가 자유롭게 회전하는 경우 문제는 기계적 바인딩입니다(부하가 너무 무겁거나 걸림).
혼을 분리한 후에도 서보가 회전하지 않으면 내부 기어가 파손되었을 수 있습니다. 서보 기어(특히 플라스틱 기어)는 갑작스러운 힘이 가해지거나 혼이 세게 멈출 때 벗겨집니다.
사례 예:로봇 팔이 테이블 가장자리에 부딪힌 후 사용자의 서보 회전이 멈췄습니다. 경적을 제거하면 서보 샤프트가 자유롭게 회전하는 것이 드러났지만 기어 트레인은 내부에서 부서졌습니다. 서보를 교체(또는 메탈 기어로 업그레이드)하여 문제를 해결했습니다.
하드웨어 오류는 덜 일반적이지만 가능합니다. 체계적으로 테스트:
1. 다른 핀에서 서보 테스트(예: 핀 9에서 핀 10으로 이동하고 코드를 업데이트합니다). 작동하면 원래 핀이 손상된 것입니다.
2. 정상 작동이 확인된 서보 테스트동일한 핀과 코드에 있습니다. 좋은 서보가 회전하면 원래 서보에 결함이 있는 것입니다.
3. 간단한 서보 테스터로 서보 테스트(전용 장치 또는 외부 50Hz 신호 발생기) 테스터를 사용해도 회전하지 않으면 서보 내부 제어 보드에 결함이 있는 것입니다.
Arduino Servo 라이브러리는 하드웨어 타이머를 사용합니다. Arduino Uno에서는 비활성화됩니다.아날로그쓰기()핀 9와 10. Arduino Mega에서는 서로 다른 타이머가 서로 다른 핀에 영향을 미칩니다. 코드가 여러 라이브러리를 사용하는 경우(예:서보 기구그리고소프트웨어직렬또는IR원격), 서보 신호가 충돌하여 중지될 수 있습니다.
해결:
하나의 서보 라이브러리 인스턴스만 사용하세요.
꼭 사용해야 한다면소프트웨어직렬, 직렬 통신 후 서보를 초기화합니다.
타이머를 분리하려면 Arduino Mega를 사용하거나서보 기구도서관분리하다()그리고붙이다()동적으로.
Arduino의 전원이 켜지면 서보는 무작위 신호를 수신합니다.붙이다()호출됩니다. 서보가 즉시 움직이도록 프로그래밍된 경우 손상된 초기 신호를 수신하여 잠길 수 있습니다.
고치다:첫 번째 지연 전에 1~2초 지연을 추가합니다.서보.쓰기()명령.
무효 설정() { myServo.attach(9); 지연(2000); // 안정화를 위해 전원을 허용합니다. myServo.write(90); }
대부분의 서보는 전력 부족으로 인해 정지됩니다.– 항상 공통 접지가 있는 외부 5V 공급 장치를 사용하십시오.
두 번째로 흔한 것: 누락됨서보.부착()– 이 라인이 존재하고 유효한 PWM 핀을 사용하는지 확인하십시오.
세 번째: 기계적 바인딩 또는 벗겨진 기어– 혼을 제거하여 자유로운 회전을 테스트합니다.
넷째: 코드 충돌 및 타이머 문제– 스케치를 최소한으로 단순화하십시오.
회전하지 않는 Arduino 서보를 즉시 해결하려면 다음 정확한 순서를 따르십시오.
1. Arduino에서 서보의 빨간색 선을 분리합니다.별도의 5V/2A 전원 공급 장치에 연결하세요. 공급 장치의 접지를 Arduino GND에 연결하십시오.
2. 스윕 예시 업로드다른 코드 없이.
3. 서보 혼을 제거하십시오Sweep 예제를 다시 실행하세요.
4. 여전히 회전이 되지 않는 경우, 서보를 정상적으로 작동하는 장치로 교체하십시오.
이 네 단계는 모든 "서보 회전이 중지된" 사례의 95%를 해결합니다. 항상 작업 공간에 예비 서보와 전용 전원 공급 장치를 보관하십시오. 변경하기 전에 배선과 코드를 문서화하고 각 하드웨어 구성 요소를 개별적으로 테스트하여 오류를 격리하십시오.
업데이트 시간:2026-04-08