運動方程式で、インダクタンスと負荷トルクを無視して電圧Eを求めると、式3となる。
このように、電圧には角速度だけでなく、角加速度が関係し、角変位制御駆動の直線駆動では、角加速度がt1=0.1で+∞、t2=0.2で−∞となるために、図3のような結果となった。これを避けるためには、角加速度が連続的に変化するようにすればよい。そのための方法が、図4に示す角速度制御駆動で、この場合も直線駆動と正弦波駆動が考えられる。このとき、駆動時間は一定であるため、Δt=t4−t1となる。また、図4においてt1=0.1、t2=0.13、t3=0.17、t4=0.2とする。
図4の直線駆動の場合をModelicaでテキスト表現すると下記となる(リスト3 ※変更部分のみ記す)。
model rigidlinearV ―――省略――― parameter Real t1=0.1; parameter Real t2=0.13; parameter Real t3=0.17; parameter Real t4=0.2; equation thetav=der(theta); thetaa=der(thetav); E=V+R*i+L*der(i); i=T/Kt; V=Ke*der(theta); T=J*thetaa+Tloss; J=M*r^2; thetav0=1.43*theta0/(t4-t1); thetav = if (time<t1) then 0 elseif (time>=t1 and time<t2) then (thetav0/(t2-t1))*(time-t1) elseif (time>=t2 and time<t3) then thetav0 elseif (time>=t3 and time<t4) then thetav0-(thetav0/(t4-t3))*(time-t3) elseif (time>=t4) then 0 else 0; end rigidlinearV;
同様に、図4の正弦波駆動の場合は以下となる(リスト4)。
model rigidcosV ―――省略――― parameter Real t1=0.1; parameter Real t2=0.13; parameter Real t3=0.17; parameter Real t4=0.2; equation thetav=der(theta); thetaa=der(thetav); E=V+R*i+L*der(i); i=T/Kt; V=Ke*der(theta); T=J*thetaa+Tloss; J=M*r^2; thetav0=1.43*theta0/(t4-t1); thetav = if (time<t1) then 0 elseif (time>=t1 and time<t2) then 0.5*thetav0*(1-cos((pi/(t2-t1))*time-(pi/(t2-t1))*t1)) elseif (time>=t2 and time<t3) then thetav0 elseif (time>=t3 and time<t4) then 0.5*thetav0*(1+cos((pi/(t4-t3))*time-(pi/(t4-t3))*t3)) elseif (time>=t4) then 0 else 0; end rigidcosV;
上記を解析した結果を、直線駆動と正弦波駆動で示す(図5)。このように、直線駆動、正弦波駆動で波形は異なるものの、大きさは同程度となっている。以上から、モーターのことを考えると角速度制御駆動の正弦波駆動がよいと考えられる。
Copyright © ITmedia, Inc. All Rights Reserved.