> 업계 통찰 >커스텀 드라이브
기술 지원

51 마이크로 컨트롤러는 스티어링 기어를 어떻게 제어합니까? 초보자도 이해할 수 있는 연결 방법 및 절차

게시됨 2026-03-19

당신은 이것에 대해 생각해 봤을 것입니다: 51 마이크로 컨트롤러는 너무 고전적이고 저렴합니다.서보 기구? 대답은 '그렇다'이며, 여러 면에서 그렇습니다. 오늘 우리는 51 마이크로 컨트롤러를 사용하여 연주하는 방법에 대해 이야기하겠습니다.서보 기구그리고 당신의 작은 공예품을 움직이게 만드세요.

51 마이크로 컨트롤러는 스티어링 기어를 어떻게 제어합니까?

스티어링 기어는 실제로 "게으른 사람"입니다. 어디로 회전할지 알려주기만 하면 내부 회로와 모터를 사용해 해당 위치로 달려갑니다. 이를 알려주는 방법은 폭을 조정할 수 있는 구형파 신호인 PWM파입니다. 표준서보 기구20밀리초의 펄스 주기가 필요하며, 여기서 높은 레벨의 폭에 따라 서보의 각도가 결정됩니다.

51 마이크로 컨트롤러에는 전용 하드웨어 PWM 모듈이 없지만(이전 모델에는 이 모듈이 없으며 향상된 버전에 대해 별도로 설명하겠습니다) 타이머를 사용하여 시뮬레이션할 수 있습니다. 이는 스톱워치를 사용하여 시간을 측정하는 것과 같습니다. 핀이 먼저 높은 레벨을 출력하도록 한 다음 타이머가 만료되면 로우 레벨로 당기고 반복하기 전에 20밀리초 기간이 끝날 때까지 기다립니다. 타이밍이 충분히 정확하다면 51 마이크로컨트롤러는 이 작업을 완벽하게 수행할 수 있습니다.

스티어링 기어 제어에는 어떤 구성 요소가 필요합니까?

서보를 회전시키려면 마이크로컨트롤러만으로는 충분하지 않습니다. 우선 저전력 SG90과 같이 사용하기 쉬운 서보가 있어야 합니다. 다음으로는 특히 중요한 전원 공급 장치가 있습니다. 서보의 작동 전류는 특히 시동 순간에 작지 않습니다. 마이크로컨트롤러 개발 보드에서 직접 전원을 공급받으면 마이크로컨트롤러가 쉽게 다시 시작될 수 있습니다. 따라서 서보용 5V 전원 공급 장치(배터리 팩, 전압 안정화 모듈 등)를 별도로 준비해야 합니다.

다른 소형 구성 요소도 필수입니다. 연결에는 브레드보드 또는 DuPont 와이어가 사용됩니다. 100μF 정도의 콘덴서를 준비하여 서보 전원 양단에 필터링하는 것이 가장 좋습니다. 커패시터는 작은 저장소처럼 작동하여 전류 변동을 완충하고 스티어링 기어가 보다 안정적으로 작동하도록 하며 마이크로컨트롤러가 재설정 시 "연루"되는 것을 방지할 수 있습니다.

51 마이크로컨트롤러 제어 서보 프로그램 작성 방법

프로그램 작성의 핵심 아이디어는 타이머를 사용하여 20밀리초 주기를 생성하고 핀을 제어하여 해당 주기 동안 다양한 폭의 펄스를 출력하는 것입니다. 예를 들어, 0.1밀리초마다 중단되도록 타이머를 설정한 다음 계산합니다. 1.5밀리초의 펄스를 출력하려면 인터럽트에서 카운트가 15에 도달할 때 핀을 로우로 당긴 다음 카운트가 200(20밀리초에 도달)에 도달할 때 핀을 하이로 당기는 식으로 진행됩니다.

코드 작성도 복잡하지 않습니다. 타이머 인터럽트 서비스 기능에서 if 문을 사용하여 현재 카운트 값이 설정된 펄스 폭 값에 도달했는지 확인한 다음 서보 핀을 0으로 지웁니다. 메인 프로그램에서는 스티어링 기어 각도를 쉽게 변경하려면 펄스 폭 값에 해당하는 변수만 수정하면 됩니다. 물론, 프로그램 실행의 기본이 되는 타이머와 인터럽트를 초기화하는 것도 잊지 마세요.

스티어링 기어 회전 각도 설정 방법

스티어링 기어의 회전 각도는 높은 수준의 펄스 폭에 의해 직접 결정되며 둘 사이의 관계는 기본적으로 선형입니다. 일반적으로 0.5밀리초의 펄스는 0도에 해당하고, 1.5밀리초는 90도에 해당하며, 2.5밀리초는 180도에 해당합니다. 서보 브랜드마다 약간의 차이가 있을 수 있지만 이것이 일반적인 범위입니다.

그렇다면 프로그램에서 각도를 어떻게 설정합니까? 각도 변수를 정의한 다음 간단한 공식을 사용하여 필요한 펄스 폭을 계산할 수 있습니다. 펄스 폭 = 0.5 + (각도/180)*2.0, 단위는 밀리초입니다. 그런 다음 이 시간을 타이머 카운트 값으로 변환합니다. 예를 들어 앞서 언급한 대로 0.1밀리초에 하나의 인터럽트가 있는 경우 1.5밀리초는 15개의 인터럽트입니다. 마지막으로 이 카운트 값을 인터럽트의 비교 변수에 할당하면 됩니다. 간단하죠?

51 다중 서보의 마이크로 컨트롤러 제어 방법

프로젝트에는 스티어링 기어가 두 개 이상 있는 경우가 많습니다. 예를 들어, 다리가 6개인 로봇을 만들려면 많은 것이 필요합니다. 51 마이크로컨트롤러를 사용하여 여러 서보를 제어하는 ​​일반적인 방법은 "시간 공유 다중화"입니다. 각 서보에는 20밀리초 주기 펄스가 필요하므로 20밀리초를 여러 세그먼트로 나눌 수 있으며 각 세그먼트는 서보 펄스를 출력합니다. 예를 들어 먼저 1번 서보에 0.5~2.5밀리초의 펄스를 보낸 다음 즉시 2번 서보에 펄스를 보내는 식으로 모든 서보의 펄스가 20밀리초 이내에 전송되는 한 계속 진행됩니다.

이 방법은 여러 개의 IO 포트가 필요하며, 인터럽트 프로그램을 순서대로 배열해야 합니다. 귀하의 마이크로컨트롤러가 하드웨어 PWM 모듈을 갖춘 향상된 마이크로컨트롤러라면 걱정할 필요가 없습니다. 여러 개의 PWM 출력을 직접 구성할 수 있으므로 CPU는 이에 대해 걱정할 필요가 거의 없으며 정확도가 더 높습니다. 초보자의 경우 시분할 다중화를 먼저 연습한 후 원리를 이해한 후 방법 업그레이드를 고려하세요.

51 마이크로컨트롤러 제어 서보에 대해 자주 묻는 질문

서보를 가지고 놀 때 가장 흔히 접하게 되는 것은 지터입니다. 이는 일반적으로 전원 공급 장치 문제입니다. 서보가 움직이면 전압이 낮아지고 마이크로 컨트롤러가 제대로 작동하지 않아 신호 장애가 발생합니다. 해결책은 전원을 강화하고, 독립된 전원을 사용하며, 전원선과 접지선을 최대한 굵고 짧게 만드는 것이며, 커패시터는 서보에 가깝게 설치하는 것이 좋다.

서보 각도가 올바르지 않거나 응답이 느린 경우가 있습니다. 이는 신호 라인의 간섭으로 인해 발생하거나 프로그램의 타이밍이 충분히 정확하지 않기 때문일 수 있습니다. 간섭 방지 기능을 향상시키기 위해 10k 풀다운 저항을 신호 라인에 연결하여 접지할 수 있습니다. 프로그램적으로는 수정진동자가 정확한지, 타이머의 초기값이 잘못 계산되었는지 확인한다. 이러한 기초가 올바른지 확인하십시오. 그러면 서보가 원하는 위치에 도달할 수 있습니다.

51 마이크로컨트롤러를 사용하여 서보를 작동하는 과정에서 특별히 흥미로운 결함을 발견했거나 흥미로운 응용 프로그램을 생각해낸 적이 있습니까? 댓글 영역에 메시지를 남기고 공유하는 것을 환영합니다. 더 많은 친구들이 이 실용적인 팁을 볼 수 있도록 좋아요를 누르고 저장하는 것도 잊지 마세요!

업데이트 시간:2026-03-19

미래에 힘을 실어주다

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

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