Example 2023.5.12

Spooling Elevator 糸巻きエレベーター

VIVIWARE Cell Rotatorとモーターを使った、0.5回転以上回転させることができる機構です A mechanism that can rotate more than 0.5 revolutions using VIVIWARE Cell Rotator and a motor.

タグ一覧 Tag List

使っているVIVIWARE Cell VIVIWARE Cell

その他使っているもの Other Parts

VIVIWARE CELLでは、サーボとモーターを制御がすることができます。

どちらも回転出力ですが、少し使い方が違います。

サーボは、上の写真のように軸が180度ほど回転し、好きな位置で止めることができます。

一方、モーターは何回転もできますが、どこで止めるかを決める事ができません。

それでは、半回転以上回転する機構で、思い通りの位置で止めたいときにはどうすればよいのでしょうか?

例えば、糸を巻き上げてエレベーターを作ってみたいときとか。

今回はそんなときに使える方法を紹介します。

ここで使うのは、VIVIWARE Cell Motor Driver(以降、Motor Cell)とVIVIWARE Cell Rotator(以降、Rotator Cell)です。

動きの概略

まず、モーターを回転させます。

次に回転した角度を計測して、必要な位置まで回転しているか確認しながら、モーターの回転速度を変化させ最後は停止させます。

これを「フィードバック制御」と呼びます。

聞き慣れない「フィードバック制御」という言葉ですが、この考え方は日常生活においてもよく使われています。

例えば、温度調整のないストーブで部屋を暖めるとき場合を考えてみてください。

温度が高くなりすぎたら火力を弱めて、一定の温度になるようにしています。

これらは全て、温度を感知するセンサーからの信号をフィードバックさせて、温度を制御していると考えるわけです。

さて、今回の例に戻りましょう。

ここでは、Motor CellRotator Cellの軸を接続し、モーターが回転すると、その回転角度を検出できるようにします。

その様子を以下の写真に示します。

詳しくは以下のプログラムを参照してください。

プログラム

まず目標値をVIVIWARE Cell Slider(以降、Slider Cell)で決めたいので、例えば50を入力します。

一方、現在のモーターの位置をRotator Cellで計測しますが、最初は0とします。

次にSlider CellRotator Cellの差を計算すると、50が出力されます。

その差が有るときにはモーターが回るように、Scale moduleで値を調整し(上の写真では20)、モーターが回転を始めます。

徐々にRotator Cellの値が大きくなることを確認します。

もう少し待って、Rotator Cellの出力が徐々に大きくなり49になったとします。

するとSlider Cellとの差は1となり、モーターへの出力は10となって、最初より小さくなってきたことがわかります。

そして、Rotator Cellが50になった瞬間には差が0となるため、モーターへの出力は0となり、この機構は停止します。

次にRotator Cellの値が変化したときには、同様にしてモーターの回転が追従することがわかります。

プロジェクトシェア

こちらのプログラムは、実際にビデオを撮影した時に利用したものです。

ここではVIVIWARE Cell Message Boardを追加し、文字で状態を表示しています。

Slider Cellの位置 -> 糸巻きの位置 と表示されます。

糸巻き

モーターとRotator Cellをつないでいる糸巻きは、下図のような部品でできています。

この図面も手元で開くことができます。

VIVIWARE Shellを起動してプロジェクトシェア後、確認してみてください。

VIVIWARE Shellのプロジェクトシェアについて、くわしくはこちら

レーザーカットして組み上げると、下図の様になります。

動画

 

このように、Slider Cellを操作すると、それに合わせてモーターが回転して一定の位置で停止する、という機構ができました。

 

(Created by Hideaki Nii)

VIVIWARE CELLでは、サーボとモーターを制御がすることができます。

どちらも回転出力ですが、少し使い方が違います。

サーボは、上の写真のように軸が180度ほど回転し、好きな位置で止めることができます。

一方、モーターは何回転もできますが、どこで止めるかを決める事ができません。

それでは、半回転以上回転する機構で、思い通りの位置で止めたいときにはどうすればよいのでしょうか?

例えば、糸を巻き上げてエレベーターを作ってみたいときとか。

今回はそんなときに使える方法を紹介します。

ここで使うのは、VIVIWARE Cell Motor Driver(以降、Motor Cell)とVIVIWARE Cell Rotator(以降、Rotator Cell)です。

動きの概略

まず、モーターを回転させます。

次に回転した角度を計測して、必要な位置まで回転しているか確認しながら、モーターの回転速度を変化させ最後は停止させます。

これを「フィードバック制御」と呼びます。

聞き慣れない「フィードバック制御」という言葉ですが、この考え方は日常生活においてもよく使われています。

例えば、温度調整のないストーブで部屋を暖めるとき場合を考えてみてください。

温度が高くなりすぎたら火力を弱めて、一定の温度になるようにしています。

これらは全て、温度を感知するセンサーからの信号をフィードバックさせて、温度を制御していると考えるわけです。

さて、今回の例に戻りましょう。

ここでは、Motor CellRotator Cellの軸を接続し、モーターが回転すると、その回転角度を検出できるようにします。

その様子を以下の写真に示します。

詳しくは以下のプログラムを参照してください。

プログラム

まず目標値をVIVIWARE Cell Slider(以降、Slider Cell)で決めたいので、例えば50を入力します。

一方、現在のモーターの位置をRotator Cellで計測しますが、最初は0とします。

次にSlider CellRotator Cellの差を計算すると、50が出力されます。

その差が有るときにはモーターが回るように、Scale moduleで値を調整し(上の写真では20)、モーターが回転を始めます。

徐々にRotator Cellの値が大きくなることを確認します。

もう少し待って、Rotator Cellの出力が徐々に大きくなり49になったとします。

するとSlider Cellとの差は1となり、モーターへの出力は10となって、最初より小さくなってきたことがわかります。

そして、Rotator Cellが50になった瞬間には差が0となるため、モーターへの出力は0となり、この機構は停止します。

次にRotator Cellの値が変化したときには、同様にしてモーターの回転が追従することがわかります。

プロジェクトシェア

こちらのプログラムは、実際にビデオを撮影した時に利用したものです。

ここではVIVIWARE Cell Message Boardを追加し、文字で状態を表示しています。

Slider Cellの位置 -> 糸巻きの位置 と表示されます。

糸巻き

モーターとRotator Cellをつないでいる糸巻きは、下図のような部品でできています。

この図面も手元で開くことができます。

VIVIWARE Shellを起動してプロジェクトシェア後、確認してみてください。

VIVIWARE Shellのプロジェクトシェアについて、くわしくはこちら

レーザーカットして組み上げると、下図の様になります。

動画

 

このように、Slider Cellを操作すると、それに合わせてモーターが回転して一定の位置で停止する、という機構ができました。

 

(Created by Hideaki Nii)

Share

share
close

Share