6.1 The Variables Tab
6.1.1 Setting Initial Value
다음과 같은 미분방정식을 푼다고 하자.
\[J \dot{\omega} + b \omega = 0\]이를 simulink로 해결하기 위해서는 초기 조건이 필요하다. 예를 들면,
\[\omega _{0} = \textrm{10 rad/s}\]Simscape에서는 어디에 초기값을 지정해야 할까?
The Variavles Tab
블록 파라미터를 더블클릭하면 Variables
항목에서 초기값을 지정할 수 있다. 블록 변수에는 네 가지 설정이 있다.
- Override
- Priority
- Beginning Value
- Unit
Beginning Value
와 Unit
항목이 target initial value를 결정한다. 변수값을 Beginning Value
에 할당하면, Override
항목이 자동적으로 체크된다.
Override
항목의 체크를 해제하면 변수는 default 상태로 되돌아간다. 다시 체크하면 되돌릴 수 있다.(toggling)
Priority
항목는 simscape이 target 초기값을 만족시키도록 시도하는 순서를 결정한다. 대부분 시뮬레이션을 시작할 때의 특정 값을 High
로 설정한다.
만약 초기값을 설정하고 싶지 않다면 None을 고른다.
Low` priority는 잘 쓰지는 않는다.
6.1.2 Gear System
두 Inertia, 기어 시스템을 구성하자. 각속도 $\omega$, 토크 $\tau$, 맞물린 기어비는 $\frac{N_{1}}{N_{2}}$라고 하자. 즉 input은 기어 2, output은 기어 1이다.
기어비에 따른 각속도, 토크 관계식은 다음과 같다.
\[\begin{align*} \omega_{2} &= \frac{N_{1}}{N_{2}} \omega_{1} \\ \tau_{2} &= \frac{N_{2}}{N_{1}} \tau_{1} \\ \end{align*}\]시작은 Damper-Inertia 시스템.
Foundation Library > Mechanical > Mechanisms > Gear Box
Gear Box
와 두 번째 Inertia
(기어 1)를 추가하자.
Gear Box
의 S 포트는 input shaft를 의미한다. 이를 첫 Inertia
에 연결한다. O 포트는 두 번째 Inertia
에 연결한다.
Gear Ratio
는 $\frac{N_{1}}{N_{2}}=2$로 설정.
새 Inertia
파라미터는 $\textrm{0.05 kg·m}^{2}$로 설정.
Gear Box
는 두 Inertia
블록의 각속도 비를 고정한다. Gear ratio
가 $2$이므로,
만일 이대로 실행하면, Gear Box
S 포트에 연결된 Inertia
는 Gear Box
O 포트에 연결된 Inertia
의 두 배 속도로 회전하게 된다. 확인해 보자.
Ideal Rotational Motion Sensor
는 R 포트와 C 포트 사이의 각속도 또는 각도 차를 감지한다. W 포트는 각속도를, A 포트는 각도를 출력한다.
그러나 이대로 실행하면 오류가 발생한다.
Simscape 블록은 종종 하나 또는 여러 Beginning value
들이 High
priority로 default 지정되어 있다. 예를 들면, Inertia
블록은 Rotational velocity
가 $\textrm{10 rad/s}$이다.
이렇게 미리 초기값이 지정되어 있으면 시스템 거동을 보기 편하기 때문.
즉, input Inertia
(기어 2)의 초기값이 $\textrm{10 rad/s}$로 지정되어 있는 것.
이상하다. 그 말대로라면 output Inertia
(기어 2)가 $\textrm{5 rad/s}$로 시작하는 그래프가 잘 나올텐데?
Output Inertia
역시 초기값이 지정되어 있기 때문. 게다가 두 초기값 모두 priority가 High
이다. 여기서 충돌이 발생.
Output Inertia
의 초기 각속도 priority를 None
으로 설정하자.
제대로 된 결과가 나온 것을 볼 수 있다.