読者です 読者をやめる 読者になる 読者になる

統失ニートの再受験日記

大体は海水魚について書きます。統失ですが、医学部再受験しようと思います。

倒立振り子9

Arduino

f:id:cmsan:20150404203234j:plain

モーターをスプリントダッシュからノーマルのFA{130}にしてみます。ついでに、ギア比も{38.2:1}{114.7:1}戻します。

方法が右往左往して申し訳ないですが、モーターを変えたので、再び極配置からアプローチをしてみたいと思います。また、以前の記事のトルクと力の関係の部分を修正します。

まず、下の式が成り立つのは一緒です。

   {u = 6.6537 θ + 0.1131 \dot θ + 0.0455x + 0.0546 \dot x}

問題は次の部分です。、以前の記事では、トルクを使って力を求めましたが、トルクは、力{u}が最大でないときは、保存量でないので、異なる{r、u}間で{T}を保存量として

   {T = r × u = const}

は成り立ちません。なので、トルクから力を求める方法は、ここでは間違いと思われます。

 

今回は力{u}を求めるのに運動量保存則を用います。今、FA{130}モーターの回転数を調べて、{10000}rpmとします。ギア比{1/114.7}を考慮して単位を直すと{n = 1.4531}[回転数/秒]となります。従って、{1}秒間にタイヤの進む距離は、{2 \pi r × n}で、これがそのまま速度{v}となり、

   {v=2 \pi r n = 0.2648 }[m/s]

となります。モーターの回転による推進の運動量は微小時間に振り子に加わる力に等しいと考えて、運動量保存則より、

   {u = \frac{mv}{\delta t} = \frac{0.645 × 0.2648}{  \delta t}}

となります。これが、FA{130}モーターの出力できる力になります。analogWrite()関数からの出力は、これで理論で求めた力を割ればよいので、

   {i = \frac{理論から得た力u × \delta t}{0.645×0.2648}×255}

となります。

今、仮に{\delta t = 0.01}とすると、{u = 17.08}となります。さらに{u}の理論式で{\dot θ=x= \dot x=0}と仮定すると、{θ \simeq 2.57}deg程度まで変化できる見積もりになります。さあこれで、振り子が立つと信じて再実験です!自信はありませんが。((;゚Д゚)ガクガク

相変わらず立ってくれません。(´・ω・`)ショボーン

ただ、モーターを変えたおかげで動きが多少安定したような感じがするので、プログラムの修正したり、パラメータをちょっとずつ変更したりして、極配置でしばらく様子を見ようと思います。