이전 글에서 설명했던 시리얼 통신을 이제 직접 모터 드라이버와 연결해서 모터를 제어할 것이다. 이를 위해 내가 사용한 모터의 종류인 QDD 모터의 소개 잠깐과 구매 회사인 SteadyWin, 통신 배선과 UI 사용법을 적어보겠다.
QDD 모터란?

QDD 모터는 Quasi Direct Drive의 약자로, 한국어로 번역하자면 준 직접 모터라고도 해석하면 쉽다. 기존의 직접 모터(Direct Drive)는 모터 내부 회전자에 연결된 감속기가 돌아가며 모터의 축을 돌리는 반면에, QDD 모터는 낮은 기어비의 감속기가 포함된 내부 회전자를 돌리는 방식이다.

QDD는 낮은 감속비를 사용해 빠른 응답으로 로봇 구동에 많이 사용된다. 이에 대해 QDD의 장단점을 GPT로 약간 정리해봤다.
⚙️ 2️⃣ QDD가 좋은 이유 (특히 토크 추정 & 원격 제어에서)
🌟 이유 1. “전류 ≈ 토크” 관계가 거의 완벽해짐
기어비가 낮으니까, 모터가 힘을 내는 전류 값만 봐도 관절의 실제 토크를 거의 그대로 알 수 있어요.
즉, 토크 센서 없이도 정밀한 토크 제어가 가능해요. 전류 → 자속 → 토크, 기어가 거의 없으면 손실도 거의 없어요.
🌟 이유 2. “역구동(backdrivable)”이 쉬움
낮은 기어비면, 사람이 관절을 밀거나 충격을 줘도 모터가 자연스럽게 움직일 수 있어요.
즉, 힘을 주면 로봇이 부드럽게 밀려요.
이게 사람과 상호작용(협동 로봇, 원격 조작 등) 에서 매우 중요해요.
딱딱하지 않고, 충격을 흡수하면서 유연하게 반응하니까요.
🌟 이유 3. 충격을 제한할 수 있음
로봇 다리나 팔이 바닥이나 물체에 부딪히면 큰 충격이 발생하죠.
기어비가 크면 (예: 100:1)
- 출력 쪽에서 작은 충격이 들어와도
- 기어비² 만큼 커져서 모터 축에는 매우 큰 관성 토크가 전달돼요.
- 결국 기어나 축이 부러질 수 있어요 ⚡️
QDD는 기어비가 작으니까
- 역구동이 잘 되고,
- 충격이 모터 쪽으로 흡수되어 파손을 줄일 수 있어요.
그래서 사족보행 로봇이나 인간형 로봇처럼 충격이 많은 시스템에 딱이에요.
🧠 3️⃣ QDD의 단점
❌ 낮은 토크 밀도 (힘이 약함)
- 기어비가 낮으니까 모터가 직접 큰 힘을 내야 해요.
- 즉, 같은 크기의 모터라면 기어비가 높은 구동기보다 힘이 약해요.
- 그래서 큰 모터를 써야 하고, 무게도 늘어남.
❌ 부피가 커짐
- 직접 구동에 가까울수록 모터 직경이 커져요.
- 로봇 팔의 어깨나 손목처럼 좁은 공간엔 물리적으로 안 들어가는 경우도 있어요.
| 직접 구동 (기어 X) | 토크 감지 완벽 / 부드러움 / 하지만 크고 무거움 | 고가 협동로봇, 연구용 |
| QDD (기어비 5~10:1) | 토크 감지 좋고, 충격 보호 가능, 효율 좋음 | MIT Cheetah, Boston Dynamics Spot 등 |
| 고기어비 (50~100:1 이상) | 토크 큼 / 작고 가벼움 / 하지만 딱딱함, 역구동 어려움 | 산업용 로봇, 전통 매니퓰레이터 |
💡 정리하자면
| 토크 제어 | 전류 ≈ 토크 → 제어 쉬움 | 토크 크기 제한 |
| 충격 대응 | 역구동 쉬워 충격 완화 | 부피 커짐 |
| 효율 | 마찰, 백래시 적음 | 힘 대비 무겁고 비쌈 |
| 활용 분야 | 사족보행 로봇, 협동 로봇, 착용 로봇 | 대형 산업용 매니퓰레이터에는 부적합 |
SteadyWin QDD Motor
많은 QDD 모터 사 중에서, 나는 SteadyWin QDD 모터를 구매했다. ① 실제 MIT에서 사용했다는 모터가 이 회사의 모터이기도 했고, ② 가격이 싸며 ③ 설명서가 다 있었기 때문이다. 물론 설명서는 중국어라 온라인 pdf 번역기를 통해 아름아름 이해했다. (중국어는 번역해도 이해하기가 좀 난해한 면이 있다) 돈이 많다면 DINGS, Cubemars 모터들도 구매하면 좋을 듯 하다. 가격은 40만원 중후반이다. (달러가 많이 올라서 좀 더 비쌀 것이다)
QDD 모터의 스펙을 보기 위해선 SteadyWin 홈페이지에 있는 엑셀 표를 보는 것이 좋다. 정격 전압부터 토크, 전류 등 여러 지표가 있으니 이를 참고하면 좋을 듯 하다. 나는 낮은 감속비 및 48V로 동작할 수 있는 드라이버를 선택했고, GIM8108-8 모터를 GDZ468H 드라이버로 2개 구매하였다.
※ 가끔가다 중국 업체를 선호하지 않는 사람들이 있는데, 내 생각은 이런 모터류도 괜찮다고 생각되었다. 나도 하다가 궁금증이 생기면 모아서 업체 이메일로 많이 물어봤는데, 그때마다 답변도 빠르고 친절해서 좋았다.




RS485를 이용한 모터 드라이버 연결
이젠 모터를 실제로 연결한 뒤 제어해보겠다.

모터 뒷면을 보면 위와 같이 커넥터 2개가 있다. 좌측 4구 커넥터는 통신용 커넥터로, CAN 통신을 위한 H, L과 RS485를 위한 A, B가 있다. 우측의 2구 커넥터는 전원 핀으로, VBUS는 V+에, GND는 GND에 연결하면 된다.


모터 제어를 위해 사용된 준비물은 위의 그림과 같다. 먼저 QDD 모터의 전원을 넣어주기 위해 SMPS가 추가적으로 필요하며, 사이트에 있는 엑셀에서 허용 전압을 확인한 뒤 이에 맞춰 전원을 넣어줘야 한다. GDZ468H는 최대 48V까지 허용 전압이며, 나는 테스트를 위해 MEANWELL 사의 24V SMPS를 사용했다. 사용하지 않는 콘센트를 잘라 N, L, Earth를 SMPS에 연결하고, 출력 핀인 V+, V-를 각각 QDD 모터의 VBUS, GND에 연결하면 된다.
또한 컨버터 옆의 스위치를 485로 설정한 뒤, T+와 T-를 각각 A, B에 연결한다. 이후에 USB를 컴퓨터에 연결하면 된다.
※ 모터처럼 고전압을 다루는 기계에 USB로 연결할 때, 쇼트 등의 이유로 드라이버가 고장나게 된다면 연결되어 있는 모든 소자가 고장날 가능성이 높다. 이는 드라이버가 컨버터를 타고 노트북의 USB 단자까지 고장날 수 있다는 것이다. 이를 방지하기 위해선 USB Isolator를 컨버터와 노트북 사이에 연결해 노트북의 사망 가능성을 낮출 수 있다.

이렇게 하드웨어 배선을 마쳤다면, 사용될 프로그램을 설치해야 한다. 이는 SteadyWin 사이트에서 SUPPORT > Document Download에서 자신이 구매한 드라이버에 맞는 파일을 다운받아야 한다. 나는 GDZ468H 드라이버로 구매하였으므로, 아래의 사진처럼 다운받겠다.

파일을 다운받아 열어보면, 모든 파일이 중국어로 되어있어 읽을 수 없을 것이다. 내부 데이터시트 및 설명서들도 모두 중국어였고, 이에 회사에 영어 자료가 있는 지 물어봤지만 최근까지 데이터시트를 갱신해서 번역할 시간이 없으니 AI 번역으로 읽으라는 답변을 받았다. 맞는 말이긴 한 것 같다.
다른 파일들은 통신 프로토콜에 관한 내용이라 넘기고, 우리가 볼 것은 '5.上位机' 파일이다. 번역하면 호스트 컴퓨터, 즉 우리가 제어할 UI이란 뜻이다. 파일을 열고 ZE300_GUI을 실행하도록 하자.

우리가 이전에 Hercules 프로그램에서 포트를 여는 것처럼 똑같이 모터와 연결하면 된다. 다만 모터의 초기 세팅에서 Baudrate가 115200이므로, 장치 관리자에서 COM 포트에 해당되는 시리얼 통신의 Baudrate를 똑같이 115200으로 맞춰주도록 하자.
올바른 COM 번호, Baudrate를 사용하면 정상적으로 연결되며 화면은 아래와 같이 바뀌게 된다.

여기서 두 번째 엔코더 값을 설정한 드라이버라면 바로 동작이 가능하지만, 나는 엔코더가 1개만 있는 모터를 구매했으므로 우측 상단에 Fault Code가 0x08 - Encoder Fault가 발생했다. 이는 드라이버에선 2개의 엔코더 설정을 했으나, 실제 하드웨어 상에선 엔코더가 1개만 있기 때문에 발생하는 문제였다. 이를 해결하기 위해선 모터 드라이버의 변수를 읽은 뒤, 'Enable 2nd Encoder'를 꺼준 뒤 써주면 된다. Configuration 창 내 좌측 버튼인 读取 (읽기) > Enable 2nd Encoder 해제 > 우측 버튼인 写入并保存(쓰기 및 저장) 를 눌러 엔코거 1개의 설정으로 바꿔주자. 그러면 에러 문제도 사라지게 될 것이다.
모터 제어에는 전류, 속도, 위치 제어가 가능하다. 테스트이니 전류 제어를 통해 모터 속도를 제어해볼 것이다. 즉 모터가 내가 설정한 전류만 먹을 정도로 동작하도록 하는 것이다. 나는 무부하 상태로 0.6A로 구동시켰고, 동작 모습은 아래와 같다.
모터의 제어 중 Kp, Ki 등을 수정해 정확한 제어를 시도해볼수 있다. 여러 동작 기능이 있으니 하나씩 눌러가며 테스트해보자.
이렇게 해서 RS485 통신으로 QDD 모터와 연결하는 법을 배워봤다. 이를 위해 시리얼 통신 이론부터 테스트, 모터의 장단점 등을 배워가며 실습해봤다.
나도 누구한테 배운 것이 아니라 구글링을 통해 배운 내용이므로 틀린 부분이 있을 수 있다. 하지만 이런 방법으로도 모터를 제어할 수 있다는 것을 알았으면 좋겠다.
'Information | 잡학다식 정보' 카테고리의 다른 글
| RS485 통신으로 QDD 모터 제어하기 ① | 시리얼 통신 이론과 루프백 테스트 (0) | 2025.10.03 |
|---|---|
| MDH250과 MD400T를 이용한 BLDC 모터 제어 | 이륜, 사륜 제어 순서 및 방법 알아보기 (0) | 2025.07.28 |
| 최저의 가격으로 최대의 퍼포먼스 | 비트엠 32UHD 모니터 후기 (0) | 2025.07.27 |