티스토리 뷰

오늘은 아두이노를 이용해서 RC 모터를 돌리기 연습을 해 보았습니다.

요즘에는 RC 모터도 종류가 엄청 많네요.

저는 집에 보관되어 있던 오래된 RC 모터를 꺼내서 움직여 보겠습니다.

서보모터 모델은 Hitec HS-322 입니다.

 

Hitec HS-322

 

RC 모터는 입력전압에 Duty 비를 조절해서 각도를 쉽게 변화시킬 수 있습니다.

다만, 회전 범위는 -90~90º로 총 180º 만 회전합니다.

(360º 돌아가는 RC 모터도 있습니다.)

 

총 20 ms 를 주기로 아래 각도를 유지합니다.

Pulse 의 High 상태 (5V)가 1.5 ms, Low 상태 (0V) 가 18.5 ms 일 때 각도 0º

Pulse 의 High 상태 (5V)가 2 ms, Low 상태 (0V) 가 18 ms 일 때 각도 +90º (시계방향)

Pulse 의 High 상태 (5V)가 1 ms, Low 상태 (0V) 가 19 ms 일 때 각도 -90º (반시계방향) 

 

RC 모터 끝에 선이 세 가닥이 있는데, 빨강은 전원선, 검정은 접지선, 노랑은 신호선입니다.

빨간색 선에 모터를 구동시킬 주전원을 넣고,

검정색 선은 GND 에 연결하고,

노란색 선에는 아두이노에서 나오는 pulse 신호를 연결해 주면 됩니다.

 

간단하게 움직이는 것만 확인할 것이므로

IDE에서 제공하는 blink 예제를 활용하기로 하고,

빨간색 선은 아두이노 5V 핀,

검정색 선은 아두이노 GND 핀,

노란색 선은 아두이노 13번 핀에 연결합니다.

 

RC모터 돌리기
RC 모터 돌리기 - 선연결
RC모터 돌리기 - 보드 연결

 

Blink 예제를 열어서 delay값을 조절하여 pulse 흉내를 냈습니다.

High: 1 ms, Low: 19 ms --> -90º (for 문으로 100번 반복)

High 2 ms, Low 18 ms --> 90º (for 문으로 100번 반복)

 

 

약간의 오차가 있는 것 같지만 아래 그림처럼 파형이 만들어졌습니다.

 

High 1 ms, Low 19 ms pulse
High 2 ms, Low 18 ms pulse

 

RC 모터를 연결하면 아래 영상처럼 구동이 됩니다.

회전 확인을 위해서 스티커를 붙였는데 처음 예상처럼 180도를 움직이지 않네요.

제 기억에도 HS-322이 오래된 모터라,

구동을 위한 pulse 길이가
조금 달랐던 것 같습니다.

 

https://youtu.be/pMh1Ye1hrss?si=88dLX62MHYUHgVGl

 

 

 

 

이 방식으로는 delay에 1.5를 줄 수도 없어서 각도 0º 를 만들기도 어렵네요.

아무튼 RC 모터가 돌아가는 것을 확인했습니다.

댓글
공지사항
최근에 올라온 글