inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

PMSM 벡터제어 완전정복 - 이론, Matlab, STM32 실습까지!

I/F제어 실습

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

해결된 질문

20

Noob

작성한 질문수 1

0

안녕하세요. 강사님.

강의 잘 보고 있습니다.

 

집에 굴러다니는 BLDC 모터가 있어 이 모터로 테스트 하고 있습니다.

보드도 ST에서 파는 평가보드 사서 사용하고 있는데요.

물론 강사님이랑 같은 테스트 환경도 안 맞추고 시험하면서 질문을 남기는게 실례일 수도 있지만, 너무 궁금해서 질문 드립니다.

 


Q. 기어비가 없는 무부하 모터에서 I/F 제어가 원래 잘 안되는건가요?

I/F 제어를 두 단계로 테스트를 해봤습니다.

 

  1. F = 0, I 증가

theta를 0으로 두고 I를 서서히 증가 시켰을 때, abc 상의 전류를 관찰했습니다. 그 경우 설정한 I의 값이 a상, 그리고 -0.5I 값이 b,c 상에 모니터링 됨을 확인했습니다.

특이사항으로는 I를 크게주는 경우에 모터가 계속 회전하는 현상을 관찰했습니다.

예를 들어 I를 0.01 -> 0.1로 서서히 증가시키면 문제가 없으나 처음부터 0.1을 주면 모터가 계속 회전을 합니다. 이 경우 I와 theta를 0으로 설정해도 회전을 합니다.

 

  1. F 상수 값 고정, I 상수 값 고정

rpm을 특정 상수로 두고 i 값을 0.01로 두면, 이상적인 경우 abc상 전류는 0.01A 정현파로 나오면서 모터가 회전을 해야하는데, 모터가 미친듯이 회전을 하고, abc상 전류를 보면 깨진 것처럼 모니터링 됩니다.


V/F 제어로 모터 회전, 전류 측정에는 문제가 없음을 확인했습니다.

AI에게 물어보니까 무부하 모터의 경우 관성 질량 모멘트가 낮아 작은 전류에도 모터가 회전해서 폭주가 일어날 수 있다고 합니다.

그런데 이게 맞는 말인지는 제가 확인이 안됩니다.

다이나모 강의에서 다이나모를 사용하지 않고 제어를 할 경우 정밀 제어가 어렵다고 강사님께서 설명해주셨던 것으로 기억을 하는데, 보통 이런 작은 용량의 모터도 해당이 되는건가요?

현재 사용하고 있는 모터가 무부하시 0.039A를 소모한다고 데이터시트에 명시는 되어 있습니다.

stm32 motordriver

답변 2

1

제어쟁이

안녕하세요.

기어비가 없는 무부하 모터라서 I/F 제어가 원래 안 된다고 보기는 어렵습니다. 무부하 상태라도 전류제어기와 좌표변환, 상 순서, 전류 센싱 스케일이 정상이라면 I/F 제어로 모터는 지령 주파수에 맞춰 회전해야 합니다.

다만 지금 현상만 보면 가장 의심되는 부분은 전류제어기 튜닝 문제입니다. 먼저 전류 PI 제어기 게인이 제대로 맞아 있는지 확인하는 것이 우선으로 보입니다.

강의에서 설명한 것처럼 I/F 제어 상태에서 theta = 0으로 고정하고, d축 전류를 인가해서 전류 응답을 먼저 확인해보세요. 이때 정상이라면 a상 기준으로 보았을 때 대략 다음과 같은 전류가 나와야 합니다.

Ia = I

Ib = -0.5I

Ic = -0.5I

즉, theta를 고정하고 d축 전류만 천천히 증가시켰을 때 abc상 전류가 위 관계로 잘 따라오는지 확인해야 합니다. 이때 단순히 최종값만 보는 것이 아니라, 전류가 지령값에 수렴하는 데 시간이 얼마나 걸리는지, 오버슈트나 진동이 없는지도 같이 봐야 합니다. 전류 응답이 느리거나 진동하면 I/F 구동에서도 전류가 깨진 것처럼 보일 수 있습니다.

또 한 가지는, theta를 0으로 고정한 상태에서 전류를 크게 한 번에 인가하면 로터가 자속 위치에 맞춰 움직이거나 튈 수 있습니다. 특히 무부하이고 관성이 작은 모터라면 작은 토크에도 로터가 민감하게 반응할 수 있습니다. 그래서 전류는 처음부터 크게 주기보다는 작은 값에서 천천히 올리면서 확인하는 것이 좋습니다.

하지만 F = 0, theta = 0으로 고정한 상태인데도 모터가 계속 회전한다면 단순히 무부하라서 그렇다고 보기는 어렵습니다. 이 경우에는 다음 항목들을 먼저 의심해봐야 합니다.

  1. 전류 PI 게인이 맞지 않아 전류루프가 불안정한 경우

  2. 전류 센싱 스케일 또는 오프셋이 맞지 않는 경우

  3. a, b, c 상 순서가 맞지 않는 경우

  4. Park/Clarke 변환 부호 또는 theta 방향이 반대인 경우

  5. PWM 출력이 포화되거나 전류 지령이 실제보다 크게 들어가는 경우

그다음 F를 일정하게 주고 I를 일정하게 준 상태에서는, 정상이라면 모터 속도는 지령한 주파수에 맞춰 회전해야 합니다. 이때 기계각 속도는 극쌍수에 따라 결정됩니다.

mechanical rpm = 60 × electrical frequency / pole pair

따라서 무부하 상태에서 정격 전류 범위 안의 적절한 전류를 인가하고 주파수를 천천히 올리면, 모터가 지령 주파수에 맞춰 안정적으로 회전해야 정상입니다.

현재처럼 I = 0.01A 정도의 아주 작은 전류로 테스트하면 전류 센싱 노이즈, 오프셋, 데드타임 영향 때문에 파형이 깨져 보일 수도 있습니다. 사용 중인 모터의 무부하 전류가 데이터시트상 0.039A라면, 0.01A는 실제 구동 확인용으로는 너무 작을 가능성이 있습니다. 전류 제한을 안전하게 걸어둔 상태에서 조금 더 의미 있는 전류값으로 천천히 올리며 확인해보는 것이 좋습니다.

정리하면, 기어비가 없거나 무부하라서 I/F 제어가 원래 안 되는 것은 아닙니다. 지금 단계에서는 다이나모 유무보다는 전류제어기 튜닝, 전류 센싱, 상 순서, 좌표변환 방향을 먼저 확인하는 것이 맞습니다. 다이나모는 이후 벡터제어에서 토크 응답이나 부하 조건을 검증할 때 더 중요한 장비이고, 지금처럼 I/F로 오픈루프 구동을 확인하는 단계에서는 필수 조건은 아닙니다.

0

인프런 AI 인턴

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

Noob님, 질문 주셔서 감사합니다.

기어비가 없는 무부하 모터에서 I/F 제어가 잘 안 되는 이유는 여러 가지 요인이 있을 수 있습니다.

  1. 관성모멘트 부족: 무부하 상태의 모터는 관성모멘트가 매우 낮기 때문에 작은 전류 변화에도 쉽게 반응하여 안정적으로 제어하기 힘들 수 있습니다. 이는 AI가 설명한 내용과 일치합니다.

  2. 전류 제어의 민감성: 설정한 전류(I)를 급격하게 증가시키면 전자기적 반응이 즉각적으로 발생하여 모터가 계속 회전할 수 있습니다. 이는 모터의 물리적인 반응 속도와 제어 신호의 응답 속도 차이로 발생할 수 있습니다. 따라서 전류를 서서히 증가시키는 것이 중요합니다.

  3. 드라이브 및 제어기의 설정: I/F 제어 설정에서 PID 제어기의 파라미터가 적절하지 않거나 모터의 특성에 맞지 않는 설정이 이루어져 있을 경우 제어 실패가 발생할 수 있습니다. 제어 파라미터의 튜닝이 필요할 수 있습니다.

  4. 실험 환경의 영향: 실험 환경이 강의 내용과 다르기 때문에 발생할 수 있는 차이점도 고려해야 합니다. 강의에서 언급된 다이나모는 모터의 부하를 조절하는데 유용하지만, 부하 모터를 변경하면서 동일한 세팅을 사용하는 경우 제어가 어려울 수 있습니다.

작은 용량의 모터에서도 제어 안정성 확보를 위해서는 이러한 요인들을 고려해야 하며, 일부 경우에는 다이나모나 부하를 추가하여 제어 환경을 더 안정적으로 만드는 것이 도움이 될 수 있습니다. 데이터시트에서 제공하는 정보도 중요하지만 실제 측정과 제어 경험이 큰 도움이 될 것입니다.

추가적인 도움이 필요하시다면 Spring Boot Reference DocumentationStackOverflow와 같은 리소스를 참고하셔서 보다 상세한 정보를 얻는 것도 좋습니다. 강의 내용에 따라 제어 방식을 조정해 보시길 권장합니다.

커리큘럼 문의

0

9

2

대칭공간벡터변조 문의

0

19

2

SPWM 문의

0

23

2

STM32CubeIDE 버전 정보 문의

0

20

2

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

0

44

2

I/F 제어 d축정렬 질문

0

23

2

SPMSM 문의

0

24

3

자화 인덕턴스 변동분 문의

0

27

1

PMSM 블락파라미터 미지원

0

34

2

Hall 센서 + 센서리스

0

62

2

조언 부탁드립니다.

0

77

1

오실로스코프 측정

1

58

2

STM32CubeIDE Version 질문

0

56

2

BLDC

0

53

2

센서리스 속도제어기의 Feedback RPM에 따른 속도 진동

0

63

1

V/F 전압 제어

0

71

1

e_d_hat

0

55

2

강의 중에 스코프파형 보는 부분 혹은 DAC 출력 질문입니다.

0

59

2

데드타임에 의한 전류 파형 왜곡 (챕터82) D축 전류 진동

0

80

2

노이즈

0

89

3

Simulink

0

83

2

IF제어 모터자속과 D축 정렬에서 질문있습니다.

0

101

1

제어쟁이님의 속도제어기 응답성과 제 제어기 응당섭이 조금 다릅니다.

0

69

2

합성 코일 방향 확인 한번 해주실수 있을까요?

0

83

1