게시됨 2026-03-06
회전하는 방법 이해하기서보 기구90도는 생각보다 어렵지 않아요
많은 친구들이 제품 혁신을 할 때, 특히 로봇, 스마트 홈 또는 모델 작업을 할 때 스티어링 기어의 작은 일을 피할 수 없습니다. 하지만 제가 시작했을 때, 저는서보 기구90도 회전하는데 그렇게 순종적이지 않다는 것을 알았습니다. 각도가 맞지 않거나 계속 흔들리거나 심지어 타버릴 수도 있습니다. 사실 이 작품을 만드는 핵심은서보 기구정확하게 90도 회전하는 것은 그 기질을 이해하고 올바른 방법을 선택하는 것입니다. 너무 어렵게 생각하지 마시고 오늘은 본격적으로 이야기해 보도록 하겠습니다.
서보가 90도 회전하도록 하려면 먼저 서보가 사용자의 말을 어떻게 듣는지 이해해야 합니다. 일반 서보 내부에는 전위차계가 있습니다. 이는 제어반에 "내가 지금 어디로 가고 있는지"를 실시간으로 알려주는 작은 피드백 청지기와 같습니다. 당신이 보내는 신호는 실제로 "야, 그 위치로 이동해"라고 말하는 것입니다. 이 신호는 일반적으로 펄스 폭 변조 신호인 PWM 파입니다. 간단히 말해서, 높은 레벨의 지속 시간을 변경하여 서보에 목표 각도를 알려줍니다.
표준 서보의 경우 이 상위 수준 시간은 일반적으로 0.5~2.5밀리초이며, 이는 0도~180도에 해당합니다. 그래서 90도 회전시키려면 약 1.5ms 정도의 높은 신호와 같은 중간값을 알아내야 합니다. 물론 서로 다른 브랜드의 서보의 펄스 폭 범위는 약간 다를 수 있습니다. 가장 안전한 방법은 서보의 기술 매뉴얼을 확인하여 0도와 180도에 해당하는 특정 펄스 폭을 찾은 다음 중간 값을 취하여 각도가 거의 동일하도록 하는 것입니다.
귀하의 프로젝트에서는 서보를 정확하게 제어하여 90도 회전할 수 있습니다. 이는 귀하의 기술을 과시하기 위한 것뿐만 아니라 그것이 가져오는 이점이 실제이기 때문입니다. 가장 눈에 띄는 점은 움직임이 깔끔하고 산뜻하다는 점이다. 예를 들어, 로봇 팔을 만들려면 A 지점에서 무언가를 집어 B 지점에 배치하고 중앙에서 90도 회전해야 합니다. 각도가 올바르지 않으면 포인트를 놓치거나 놓칠 수 있습니다. 정확한 각도는 기계 구조가 작업을 수행할 때 높은 반복성과 부드러운 움직임을 보여 "전문적"으로 보이게 한다는 것을 의미합니다.
또한 정밀한 제어로 조향기어의 수명도 연장할 수 있습니다. 생각해 보면, 모든 명령으로 인해 서보가 부정확한 각도로 멈추게 되면 모터는 항상 정지되거나 수정된 상태에 있게 되어 높은 열, 높은 전류 및 빠른 기어 마모가 발생합니다. 정확한 위치에 놓이게 되면 즉시 긴장을 풀고 위치를 유지할 수 있습니다. 이러한 방식으로 서보는 쉽게 작동할 수 있고 자연스럽게 내구성이 향상되며 제품의 신뢰성도 높아집니다.
이 펄스 폭을 계산하는 것은 실제로 매우 간단합니다. 이를 수학적 문제로 다루겠습니다. 방금 언급한 바와 같이 대부분의 서보의 펄스 폭 범위는 0.5ms ~ 2.5ms이며 이는 0° ~ 180°에 해당합니다. 이 범위는 2ms(2.5-0.5)이며 180도 변경에 해당합니다. 그러면 각 각도에 해당하는 펄스 폭 변화는 2ms를 180°로 나눈 값이며 이는 대략 0.011ms, 즉 11마이크로초와 같습니다.
따라서 90도에 해당하는 펄스 폭은 0.5ms(0도)부터 시작하고 90에 11마이크로초를 더한 값입니다. 90에 0.011ms를 곱하면 0.99ms에 0.5ms를 더한 결과가 약 1.49ms가 됩니다. 실제로 작동시키면 0.5ms에서 2.5ms까지 선형적으로 변합니다. 제어 코드에 1.49ms 값을 입력하기만 하면 됩니다. 서보의 범위가 다른 경우(예: 0도는 0.6ms에 해당하고 180도는 2.4ms에 해당) 동일한 공식을 사용하고 다시 계산하여 잘못되지 않았는지 확인하십시오.
서보를 90도 회전하도록 제어하는 코드를 작성하는 것은 이제 정말 편리합니다. 특히 이런 종류의 플랫폼을 사용할 때 더욱 그렇습니다. 가장 일반적인 SG90 서보를 사용하는 경우 내장된 서보 라이브러리를 직접 호출하여 단 몇 줄의 코드만으로 작업을 완료할 수 있습니다. 핵심은.write(90);이 문장을 사용하면 라이브러리 기능이 90도를 해당 펄스 폭 신호로 변환하여 전송하는 데 자동으로 도움이 됩니다.
하지만 좀 더 세밀하게 제어하고 싶다면 PWM 출력을 사용할 수도 있습니다. 예를 들어 ESP32 또는 STM32를 사용하는 경우 PWM 주파수와 듀티 사이클을 직접 설정할 수 있습니다. PWM 주기가 20ms(주파수 50Hz)라고 가정하면 90도는 1.5ms의 높은 레벨에 해당하고 듀티 사이클은 1.5/20 = 7.5%입니다. 코드에서 PWM 듀티 사이클을 7.5%로 직접 설정하면 서보가 약 90도 회전합니다. 직접 작성하면 이해도가 더 깊어지고 다양한 비표준 서보에 맞게 펄스 폭 범위를 유연하게 조정할 수 있다는 장점이 있습니다.
많은 초보자들이 이 문제에 직면합니다. 신호가 주어지자마자 서보가 "휙"하는 소리와 함께 튀어오르는데, 이는 무섭게 보이고 흔들리는 경향이 있습니다. 천천히 꾸준히 서보를 90도 회전시키려면 비결은 "스텝 실행"과 "지연 추가"입니다. 목표 각도를 0에서 90까지 직접 던질 수는 없지만 루프에서 각도를 조금씩 늘리도록 합니다. 예를 들어 매번 1도씩 늘리고 그런 다음 10밀리초에서 20밀리초의 지연을 추가합니다.
이런 식으로 서보는 설정한 단계에 따라 전혀 갑작스럽지 않고 한 번에 한 단계씩 부드럽게 움직입니다. 지터 문제는 대부분 전원 공급 부족이나 신호 간섭으로 인해 발생합니다. ️첫 번째 단계전원 공급 장치를 확인하는 것입니다. 서보가 작동할 때 전류는 매우 높습니다. 제어 회로와 동일한 약한 전류를 공유하지 마십시오. 전원을 별도로 공급하고 접지를 공유하는 것이 가장 좋습니다. ️두 번째 단계는신호선을 최대한 짧게 유지하십시오. 길이가 길어야 하는 경우 신호 라인에 자기 링이나 작은 커패시터를 사용하여 접지하여 고주파 간섭을 필터링할 수 있습니다.
분명히 1.5ms로 계산되어 있는데, 돌아서 보면 5도 어긋나 있습니다. 이것은 흔한 일입니다. 당황하지 마십시오. 오류는 주로 스티어링 기어 자체의 기계적 복귀 차이와 제어 신호의 부정확성이라는 두 가지 측면에서 발생합니다. 기계적 복귀 차이는 기어 백래시로 인해 발생합니다. A 방향에서 회전하고 B 방향에서 회전하면 최종 정지 위치가 약간 다릅니다. 해결책은 프로그래밍하는 동안 서보가 항상 같은 방향에서 목표 각도에 도달하도록 하는 것입니다. 예를 들어, 매번 목표보다 약간 작게 회전시킨 다음 목표를 향해 앞쪽으로 돌려 간격을 없애십시오.
제어 보드에서 생성된 PWM 펄스 폭이 정확하지 않기 때문에 신호가 정확하지 않습니다. 예를 들어 1.5ms를 출력하려는 경우 실제 측정된 출력은 1.48ms에 불과합니다. 이를 위해서는 코드의 미세한 조정, 즉 교정이 필요합니다. 서보를 이론적인 90도로 회전시키는 프로그램을 작성한 다음 눈금자를 사용하여 팔의 실제 편향 각도를 측정한 다음 반대 방향으로 펄스 폭 값을 수정할 수 있습니다. 회전 암이 방향타 하우징에 수직이 되도록 만드는 펄스 폭 값을 찾기 위해 여러 번 시도하십시오. 나중에 기억될 수 있도록 코드에 작성하세요.
좋아요, 우리는 서보를 90도 회전시키는 것에 대해 꽤 많이 이야기했습니다. 원리부터 코드, 속도 조정, 오류 제거까지 모두 실제로 시도해 보면 익힐 수 있는 작은 기술입니다. 소규모 프로젝트를 진행할 때 서보의 어떤 문제가 가장 자주 문제가 되는지 모르겠습니다. 지터, 약점 또는 각도를 정확하게 조정할 수 없습니까? 댓글 영역에서 여러분의 경험에 대해 이야기하는 것을 환영합니다. 서보를 가지고 놀고 있는 친구들과 좋아요를 누르고 공유하는 것도 잊지 마세요. 그러면 우리가 함께 소통하고 발전할 수 있습니다!
업데이트 시간:2026-03-06