티스토리 뷰

Luanbot-factory/MISO-bot

DC Motor Control -1-

Lunabot87 2019. 3. 26. 01:30

DC Motor Control -1-


시작하기에 앞서...

이 글은 모바일로봇을 제작하기 위한 DC 모터의 모델링 및 PID제어를 메트렙(MatLab)을 통해 시뮬레이션을 해보고, 이를 가지고 실제 모터에 적용 하는 것을 목표로 작성하려고 합니다. 빠르게 글을 올리지는 못하겠지만, 꾸준히 올림으로써 향후 누군가 이 블로그 글이 도움이 되었으면 하는 마음으로 작성해보도록 하겠습니다.


DC Motor의 구조

모터는 다른말로 전동기라고도 부르며, 전기에너지를 입력받아 기계에너지를 출력하는 에너지 변환 기기 입니다.
전동기의 기계적인 구조로는 고정자(Stator), 회전자(Rotor), 정류자(Commutator), 브러쉬(Brush)로 이루어져 있습니다.



고정자는 고정이 되어있는 상태로 자속을 발생시키는 역할을 하는 녀석을 말합니다. 

계좌 권선이라고도 하며 DC 모터에는 영구자석을 많이 사용합니다.


회전자는 말 그대로 회전하는 부분입니다. DC 모터에서는 이부분이 이제 모터 샤프트로 연결이 되어 있습니다.

이러한 회전자에 전류가 흐르면서 고정자에서 발생하는 자속과 상호작용하여 회전자 도체에 발생된 힘에 의해 회전하게 됩니다.


정류자, 브러쉬 회전자의 회전과는 상관없이 정류작용을 통해 회전자 도체의 전류 분포를 항상 동일하게 유지하는 역활을 합니다.

이를 통해 한쪽 방향으로 회전자의 전류방향을 유지함으로써 계속해서 같은 방향으로 회전하게 되는 것입니다.




모델링

DC 모터(이하 전동기)는 앞서 전기에너지를 기계에너지로 변환하는 에너지 변환 기기라고 이야기 했습니다.

전동기의 에너지 변환 과정은 다음과 같이 3단계로 볼 수 있습니다.




이런 시스템을 간단하게 설명을 하자면,

1. 모터 회전자에 인가해주는 전압$(v)$이 전기 시스템을 통해 전류$(i)$로 출력하게 됩니다. 

2. 이 전류$(i)$를 자계시스템에 인가하여 자속$(\phi)$과의 상호작용을 통해  토크$(T)$를 출력하게 됩니다.

3. 마지막으로 이 토크$(T)$를 기계시스템에 인가를 하면 최종적으로 각속도$(\omega)$를 출력하게 되는 것입니다.


이러한 에너지 변환을 각 시스템 모델링을 통해 전동기 모델링을 만들어 보도록 하겠습니다.


[1] 전기 시스템

첫번째로 전기 시스템을 모델링 하기위해 모터의 구조를 간단하게 나타내면 다음 그림처럼 됩니다.





전기 시스템의 부분은 Armature circuit 부분이며, 이를 수식적으로 나타내면 다음과 같습니다.


$$V_a = R_a i_a + L_a {di_a \over dt} + e_a$$


여기서 $V_a$는 인가 전압$[V]$, $R_a$는 내부 저항$[\Omega]$, $L_a$는 내부 인덕터$[H]$, $e_a$는 유기기전력(또는 유기전압)$[V]$ 입니다.

위 식에서 대부분은 무엇인지 아시겠지만 생소한 개념이 $e_a$일거라 생각합니다. 

유기기전력이란 고정자에서 발생하는 자계$B[T]$와 회전체의 회적 속도$v[m/s]$(자계의 $90^\circ$방향)와 도체의 길이$l[m]$ 의해 유도되는 전압입니다.


여기까지 읽으셨으면 플레밍의 오른손 법칙을 떠올렸을 거라 생각합니다.





다시말해 유기기전력고정자와 회전자에서 발생되는 자계와 각속도가 플레밍의 오른손 법칙에 따라 발생되는 전압입니다.


플레밍의 오른손 법칙을 수식으로 정리하면 다음과 같습니다.


$$e_a = Blv[V]$$


여기서 $B$는 자속밀도를 말하며, 고정자에서 발생되는 자속량$\phi$을(를) 단면적으로 나눈 것을 말합니다.

이제 $B$를 $\phi$ 로 나타내고, $v$를 $\omega$로 나타내었을때 수식을 다음과 같이 쓸수 있습니다.


$$e_a = k_e \phi \omega$$


여기서 $k_e$는 역기전력 상수이며 단위는 $[ {Vs \over radWb} ]$ 입니다.


이를 가지고 다시 수식을 정리하면 최종적으로 다음과 같습니다.


$$V_a = Ri_a + L_a {di_a \over dt} + k_e \phi \omega$$



[2] 자계시스템

전기시스템에서 구한 전류$i_a$가 회전자에 흐르게 되면서 발생되는 토크$T_m$은 플레밍의 왼손법칙에 의해 다음과 같이 나타낼 수 있습니다.

(위 역기기전력도 자계를 이용하기는 하나, 앞서 에너지 변환 관점으로 설명하기위해 전기시스템에 포함 시켰습니다.)





$$F = Bli[N]$$


여기서 자계$B$가 형성되어있는 공간내에 전류$i_a$가 흐르면 도체에 발생되는 힘을 구할 수 있습니다.

앞서 전기시스템의 역기기전력을 구한것 처럼 자계$B$를 자속$\phi$로 변환하면 수식을 다음과 같이 변환할 수 있습니다.


$$ T_m = k_T \phi i_a$$


이때 $k_T$는 토크상수 이며 단위는 $[ {Nm \over WbA} ]$ 입니다.

($k_e$ 와 $k_T$의 경우 MKS 단위계에서는 같은 값을 가집니다. 이와 관련된 내용은 추후에 시간이되면 추가하도록 하겠습니다.)



[3] 기계시스템

축으로 연결된 기계적 부하 시스템을 2차 미분방정식으로 나타내면 다음과 같습니다.
(기계시스템의 유도방정식은 여기서 다루지 않겠습니다.)




$$T_m  = J\dot{\omega}  + b\omega + T_L \qquad (\omega = {d\theta \over dt})$$

여기서 $\omega$는 회전자의 회전 각속도$[rad/s]$, $T_L$은 부하 토크$[N]$, $J$는 관성 모멘트, $b$는 마찰계수 입니다.

이때 $T_L$은 다음과 같은 수식으로도 나타낼 수 있습니다.




최종 모델링

앞서 시스템 별로 만든 수식을 하나로 합치면 전동기의 모델링을 다음과 같이 나타낼 수 있습니다.

($k_e = k_T$이며 $\phi$는 고정자의 자속이고 이는 $V_a$가 일정한 전동기 모델에서는 변하지 않는 값이므로 이를 모두 상수로 묶어 $K$로 나타낼수 있다.)



$$V_a = Ri_a + L_a{di_a \over dt} + K \omega$$



$$Ki_a = J\dot{\omega}  + b\omega + T_L \qquad (\omega = {d\theta \over dt})$$









'Luanbot-factory > MISO-bot' 카테고리의 다른 글

WSL2 Customize  (1) 2021.10.03
WSL2 GUI 사용하기  (1) 2021.10.02
WSL2 Ubuntu VScode 연동  (2) 2021.10.01
WSL2 Ubuntu설치  (4) 2021.09.30
DC Motor Control -2-  (3) 2021.03.19
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31