서보 모터 떨림 및 윙윙거림: 원인과 해결 방법
By Kunkune | Published: 2026-10-16
Category: 사용 방법 가이드
서보 지터와 버즈는 일반적으로 전원, 배선 또는 신호 문제로 인해 발생합니다. 각 증상을 진단하고 추측 없이 수정하는 방법은 다음과 같습니다.
빠른 답변
서보의 지터링과 윙윙거림의 대부분은 서보 자체가 아닌 전원 문제에서 발생합니다. 서보를 Arduino에서 분리된 5-6V 전원 공급 장치에 연결하고, 소형 서보당 최소 1A 정격을 사용하며, Arduino와 접지를 공유하고, 신호선을 짧게 유지하세요. 떨림이 계속되면 서보가 손상되었거나 부하가 토크 정격에 비해 너무 무거운 것일 수 있습니다.
서보가 떨리는 이유: 세 가지 실제 원인
서보는 폐루프 모터입니다. PWM 신호를 내부 전위차계와 비교하고 두 값이 일치할 때까지 모터를 구동합니다. 이 루프가 방해를 받으면 지터링과 윙윙거림이 발생합니다. 실질적인 원인은 세 가지뿐입니다: 불안정한 전원, 노이즈가 있는 신호, 또는 기계적 과부하. 전원이 단연 가장 흔한 원인입니다. Arduino의 온보드 5V 레귤레이터는 일반적으로 500mA만 공급하며, 소형 서보는 움직이기 시작하는 순간 700mA 이상을 끌어당길 수 있습니다. 이 전압 강하는 서보의 내부 로직을 리셋시켜 빠른 떨림을 유발합니다. 신호 문제가 그 다음으로 흔합니다: 긴 전선, 불량한 접지, 또는 LED나 부저도 구동하는 핀에서 나오는 PWM이 원인일 수 있습니다. 기계적 과부하는 마지막입니다: 혼이 무거운 부하나 걸리는 링키지와 싸우고 있다면 서보는 지속적으로 탐색하며 정지 전류에서 윙윙거립니다.
전원 공급 장치 노이즈: 가장 흔한 해결책
서보의 전원선을 Arduino에서 분리하고 별도의 5-6V 전원 공급 장치에 연결하세요. 4xAA 배터리 팩이나 벤치 전원 공급 장치로 테스트할 수 있습니다. 서보의 접지를 전원 공급 장치의 접지와 Arduino의 접지 모두에 연결하세요. 이 한 가지 변경만으로 대부분의 지터링이 해결됩니다. Arduino의 레귤레이터가 더 이상 브라운아웃되지 않기 때문입니다. 이미 별도의 전원 공급 장치를 사용 중인데도 윙윙거림이 들리면, 서보의 전원 및 접지 핀에 서보 가까이 470uF ~ 1000uF 전해 콘덴서를 추가하세요. 콘덴서는 모터가 시작될 때마다 발생하는 전류 스파이크를 흡수합니다. 속도 제어도 필요한 DC 모터 프로젝트의 경우, 1203BK와 같은 PWM 모터 속도 컨트롤러가 로직 전원에서 모터 노이즈를 분리할 수 있지만, 이는 서보 드라이버가 아닙니다. 모터와 로직 전원선을 분리하고 전원선을 꼬아 방사 노이즈를 줄이세요.
Arduino 서보 윙윙거림을 위한 신호 및 배선 점검
전원이 깨끗한데도 서보가 여전히 떨린다면 신호 경로를 살펴보세요. Arduino 핀과 서보 신호선 사이에 20cm 미만의 짧은 점퍼 와이어를 사용하세요. 긴 신호선은 모터와 스위칭 전원 공급 장치의 노이즈를 포착합니다. 시리얼을 사용한다면 Uno의 0 및 1 핀을 피하세요. Servo 라이브러리는 일부 보드에서 9 및 10 핀의 PWM을 비활성화하므로 보드 문서를 확인하세요. 코드에서 서보 위치를 서보가 움직일 수 있는 것보다 빠르게 업데이트하지 않는지 확인하세요. 센서 노이즈로 인해 값이 약간씩 변하는 새 위치를 매 루프 반복마다 쓰는 것은 흔한 실수입니다. 데드밴드를 추가하세요: 대상이 2도 이상 변경될 때만 servo.write()를 호출하세요. 외부 센서를 사용하여 서보를 명령한다면 센서 판독값을 필터링하세요. 예를 들어, DS1302와 같은 RTC 모듈은 센서가 아니지만, 프로젝트가 시간에 따라 서보를 움직인다면 매 루프가 아닌 초당 한 번 시간을 읽으세요.
기계적 원인: 서보가 스스로와 싸우는 경우
서보 혼을 분리하고 무부하 상태로 서보를 작동해 보세요. 윙윙거림이 사라지면 문제는 기계적입니다. 링키지의 걸림, 스플라인에 너무 깊게 눌린 혼, 또는 서보의 토크를 초과하는 부하가 있는지 확인하세요. SG90와 같은 소형 서보는 1.8V에서 약 4.8 kg-cm의 정지 토크를 가지고 있습니다. 이를 초과하면 지속적인 탐색과 발열이 발생합니다. 또한 서보가 단단히 장착되었는지 확인하세요. 느슨한 마운트는 서보가 진동하게 하며, 내부 전위차계가 이를 위치 오류로 읽어 피드백 루프를 만듭니다. 무부하 및 깨끗한 전원 공급 상태에서도 서보가 윙윙거린다면 내부 전위차계나 기어 트레인이 마모되었을 수 있습니다. 이 경우 교체가 실질적인 해결책입니다.
문제 해결을 중단하고 서보를 교체해야 할 때
별도의 전원 공급 장치, 콘덴서, 짧은 신호선, 무부하 테스트를 모두 시도했는데도 서보가 여전히 떨리거나 윙윙거린다면 서보 자체가 손상되었을 가능성이 높습니다. 내부 전위차계 마모는 저렴한 서보에서 장기간 사용 후 흔합니다. 교체 전에 서보 테스터나 알려진 양호한 Arduino 핀으로 신호를 확인하세요. 동일한 설정에서 새 서보가 작동한다면 기존 서보가 문제입니다. 새 서보도 떨린다면 문제는 서보가 아닌 전원 또는 신호 경로에 있습니다. 부하가 걸린 상태에서 윙윙거리는 서보를 계속 작동하지 마세요. 정지 전류가 모터를 과열시켜 드라이버나 전원 공급 장치를 손상시킬 수 있습니다.
서보 지터 진단 표
- 서보가 움직이기 시작할 때 윙윙거리거나 떨림: Arduino의 5V 레귤레이터가 서보의 돌입 전류로 인해 전압 강하를 일으키고 있습니다. 서보를 소형 서보당 최소 1A 정격의 별도 5-6V 전원 공급 장치에 연결하고 접지를 함께 연결하세요. 떨림이 멈추면 전용 서보 전원 공급 장치가 해결책입니다.
- 이동 명령 없이 지속적인 낮은 수준의 윙윙거림: 서보가 노이즈가 있는 신호를 받거나 기계적으로 부하가 걸린 상태입니다. 긴 신호선, 공유 접지, 또는 걸리는 링키지가 있는지 확인하세요. 코드에 데드밴드를 추가하여 작은 센서 변화가 서보를 업데이트하지 않도록 하세요. 혼을 분리했을 때 윙윙거림이 멈추면 문제는 기계적입니다.
- 깨끗한 전원 공급과 무부하 상태에서도 지속되는 지터링: 서보의 내부 전위차계나 기어가 마모되었을 가능성이 높습니다. 알려진 양호한 서보로 테스트하세요. 새 서보가 작동한다면 기존 서보를 교체하세요. 동일한 설정에서 새 서보가 올바르게 작동한다면 문제 해결을 중단하고 서보를 교체하세요.
서보 전원 및 신호에 도움이 되는 부품
- PWM 모터 속도 컨트롤러 DC 6V-28V 3A 1203BK – 가변 저항기: PWM 모터 속도 컨트롤러 DC 6V-28V 3A 1203BK, 가변 저항기, 80W 용량, 컴팩트한 50×32×15mm 디자인. 로직 전원에서 모터 노이즈를 분리해야 하는 DC 모터 프로젝트에 유용합니다. 서보 드라이버는 아니지만 모터 노이즈가 지터링을 유발하는지 테스트하는 데 도움이 될 수 있습니다.
- 실시간 클록 모듈 - DS1302: DS1302 실시간 클록 모듈은 내장 크리스탈과 CR2032 백업으로 초, 분, 시, 요일, 날짜, 월, 연도 시간 유지 기능을 제공하며 3선 직렬 인터페이스를 통해 통신합니다. 서보 프로젝트가 시간 기반이라면 매 루프 대신 초당 한 번 시간을 읽으면 떨림을 유발할 수 있는 불필요한 서보 업데이트가 줄어듭니다.

