inflearn logo
강의

講義

知識共有

PMSMベクトル制御を完全攻略 - 理論、Matlab、STM32の実習まで!

講義資料を学習したChatGPTsのリンク

제어기 설계 요구사항 관련 질문입니다.

解決済みの質問

15

rnjsehgus5151

投稿した質問数 3

0

제어쟁이님 강의 들으면서 6-step commutation. FOC 기반 속도 제어기, 위치 제어기를 설계하는 방법은 이제 어느 정도 알게 되었는데, 이걸로 프로젝트를 하려니 제어기 설계 목표를 어떻게 설정해야 할지 잘 모르겠습니다.

제어 관련 과목에서 Overshoot나 Settling time, bandwidth와 같은 정량적인 제어기 성능 지표들을 공부하긴 했는데, 문제는 제가 만들고자하는 어플리케이션에 필요한 수치를 어떻게 알아내야 하는 지 감이 잘 안잡혀서 질문드립니다.

현재 자율주행 자동차와 로봇팔 프로젝트를 할 때 직접 모터제어를 하려고 하는 상황인데, 이 부분이 고민입니다.

stm32 motordriver

回答 2

0

insid2embedded

안녕하세요.

강의에서 배운 내용을 실제 프로젝트에 적용하려고 하시니 이제 이런 고민이 생기시는 것 같습니다. 제어기를 구현하는 방법과, 내 시스템에 필요한 성능을 정하는 것은 서로 다른 문제라서 충분히 어려울 수 있습니다.

이때는 처음부터 “Overshoot는 몇 %, 대역폭은 몇 Hz로 해야 하지?”라고 접근하기보다, “내가 만드는 시스템이 어떤 일을 해야 하는가?”에서 출발하는 탑다운 방식으로 접근하시는 것을 권해드립니다. 먼저 동작 조건과 목표를 정하고, 여기서 필요한 토크·속도와 제어 성능을 도출하는 순서입니다. 실제 모터 선정 절차에서도 이동 거리, 이동 시간, 정지 정확도 등의 장비 요구사항을 먼저 정하도록 안내합니다.

예를 들어 로봇팔이라면 “몇 kg의 물체를, 얼마나 멀리 뻗은 상태에서, 얼마 만에 이동시키고, 어느 정도 정확하게 내려놓을 것인가?”를 먼저 정해보세요.

이 중 물체의 무게와 팔의 길이는 필요한 토크를 계산하는 출발점이고, 이동 시간과 허용 오차는 제어 성능을 정하는 출발점이 됩니다.

간단한 예로, 관절축에서 수평으로 30 cm 떨어진 곳에 있는 1 kg의 물체를 버티는 데만 약 2.94 N·m의 토크가 필요합니다.

토크 = 1 kg × 9.81 m/s² × 0.3 m ≈ 2.94 N·m

그런데 이것은 물체의 무게만 고려한 값입니다. 실제로는 팔과 그리퍼 자체의 무게, 가감속에 필요한 토크, 마찰 등을 추가로 고려해야 합니다. 다관절 로봇팔은 자세에 따라 각 관절에 걸리는 부하도 달라지므로, 부하가 크게 걸리는 자세를 확인해야 하고요. 감속기를 사용한다면 관절에서 필요한 토크를 감속비와 효율을 고려해 모터축 기준으로 환산해야 합니다.

자율주행 차량도 마찬가지입니다. 차량의 총질량, 목표 속도, 가속 시간, 올라가야 하는 경사, 바퀴 크기 등을 먼저 정한 뒤 필요한 구동력과 모터 토크·회전속도를 계산하는 방식으로 접근하시면 됩니다.

다만 학생 프로젝트에서 처음부터 모든 기구 특성과 부하를 정밀하게 모델링하기는 부담스러울 수 있습니다. 그래서 저는 가능한 범위까지 먼저 계산하고, 초기 하드웨어 후보를 고를 때는 계산한 필요 토크에 2~2.5배 정도의 여유를 두는 접근을 권하고 싶습니다. 처음부터 최소 사양에 딱 맞추기보다는, 부하 추정 오차나 설계 변경에 대응할 여지를 확보하자는 의미입니다.

물론 2~2.5배는 모든 시스템에 적용되는 정답이나 안전을 보장하는 수치는 아닙니다. 계산을 생략하고 무조건 큰 모터를 고르라는 뜻도 아니고요. 특히 계속 버텨야 하는 토크는 연속 정격으로, 가감속 때 잠깐 필요한 토크는 피크 토크와 허용 지속시간으로 구분해서 확인해야 합니다. 반복 동작에서는 RMS 토크에 따른 발열도 중요하며, 요구 회전속도에서 해당 토크를 낼 수 있는지까지 확인해야 합니다.

그리고 질문하신 Overshoot와 Settling time은 실제 작업에서 허용할 수 있는 움직임과 시간으로 바꿔 생각해보시면 조금 더 명확해집니다.

가령 설명을 위한 가상의 목표로, “로봇팔의 이동 지령이 끝난 뒤 0.2초 안에 목표 각도 ±1° 범위에 들어와 유지되어야 한다”, “목표 각도를 넘어가는 움직임은 최대 1°까지만 허용한다”처럼 정할 수 있습니다. 그러면 앞의 조건은 정착시간과 허용 오차, 뒤의 조건은 오버슈트 요구사항으로 연결됩니다. 여기서 0.2초와 1°는 권장값이 아니라 예시이고, 실제 값은 다음 작업까지 기다릴 수 있는 시간과 물체를 놓는 데 필요한 정확도에 따라 정하시면 됩니다.

즉, 요구사항은 사용 목적에 맞게 설계자가 먼저 결정해야 하는 값도 있습니다. “물체를 놓고 다음 동작으로 넘어가기까지 얼마나 기다릴 수 있나?”, “이 정도 위치 오차면 작업이 가능한가?”를 먼저 판단하고, 그 목표를 하드웨어와 제어기로 달성할 수 있는지 검토하는 것입니다.

대역폭은 이렇게 정한 응답 목표를 만족하도록 모델과 시뮬레이션을 바탕으로 선정하시면 됩니다. 강의에서 다룬 것처럼 전류·속도의 캐스케이드 제어 구조를 사용한다면, 안쪽 루프가 바깥쪽 루프보다 충분히 빠르게 응답하도록 구성하고 전류 루프부터 순서대로 튜닝하는 것이 기본입니다. 시스템 요구사항은 바깥에서 안쪽으로 내려가며 정하되, 실제 제어기 튜닝은 안쪽부터 진행한다고 생각하시면 됩니다.

처음 프로젝트에서는 우선 “이 하중을 이 시간 안에 움직이고, 이 오차 안에 멈춘다”는 식으로 검증 가능한 목표 몇 가지부터 적어보시는 것을 권합니다. 그 목표를 기준으로 계산하고 하드웨어를 선정한 뒤, 실제 부하를 연결해 응답과 발열을 측정하면서 모델과 튜닝을 보완해보세요. 감사합니다.

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. rnjsehgus5151님.

제어기 설계 시 성능 목표를 설정하려면 먼저 모터가 구동하는 plant와 실제 애플리케이션의 요구사항을 정의해야 합니다. 자동차라면 목표 가감속 시간, 최대 속도, 등판·부하 조건, 허용 속도 오차 등을 기준으로 정하고, 로봇팔이라면 관절의 이동 시간, 위치 오차, 정착 시간, 허용 진동과 하중 조건 등을 기준으로 정량화할 수 있습니다.

다만 제공된 기존 게시물에는 자동차·로봇팔의 구체적인 요구사항에서 overshoot, settling time, bandwidth를 어떻게 산정하는지에 대한 직접적인 답변은 없습니다. 아래 게시물에서 plant를 명확히 정의하고, 제어 목표와 검증 방법을 구체화해야 한다는 점을 참고하실 수 있습니다.

조언 부탁드립니다.

해당 답변에서는 제어기 설계 및 취업 프로젝트를 설명할 때 “어떤 plant를 모델링했고, 어떤 제어 목표를 세웠으며, 어떻게 검증했는지”를 구체적으로 정리하는 것이 중요하다고 안내하고 있습니다. 실제 프로젝트에서는 먼저 시스템의 최대 성능과 안전상 한계를 확인한 뒤, 그보다 여유 있는 목표값을 정하고 시뮬레이션과 실험을 통해 조정하는 방식이 일반적입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

I/f 제어에서 각도를 고정한 상태로 전류를 인가했을 때, 한 번에 전류를 강하게 주면 안되나요?

0

48

2

위치 제어, 노션, AI 관련 문의

0

39

1

11챕터 노션설명자료는 원래 없는건가요?

0

51

1

B-저출력 보드 직접 수령 가능 여부 문의드립니다.

0

46

1

전환시 오버슈트

0

61

2

예제 코드 문의

0

77

2

I/F 제어 문의

0

64

1

RPM 문의

0

62

2

전압벡터이동 관측 문의

0

73

2

시뮬링크 문의

0

112

2

다이나모 문의

0

55

1

IPMSM 인덕턴스 측정 방법

0

88

2

커리큘럼 문의

0

59

2

기어비가 없는 무부하 모터의 I/F 제어 문의

0

63

2

대칭공간벡터변조 문의

0

68

2

SPWM 문의

0

57

2

STM32CubeIDE 버전 정보 문의

0

72

2

a,b,c상 전류와 센서리스전환부의 소음

0

93

2

I/F 제어 d축정렬 질문

0

53

3

SPMSM 문의

0

69

3

자화 인덕턴스 변동분 문의

0

48

1

PMSM 블락파라미터 미지원

0

93

2

Hall 센서 + 센서리스

0

101

2

조언 부탁드립니다.

0

126

1