![]() 各グラフの色は下記を示しています。 青・・・Target(アーム位置入力) 緑・・・FeedBack(可変抵抗出力) 茶・・・Clip Input(過大、過少な入力信号の切り取り) 赤・・・Max Limits(過大、過少なアームの動作制限) 黄・・・PWM 灰・・・中央値512(破線)、最小値0、最大値1024 |
Arduino UNOにはSMC3というモーターコントロールソフトを書き込みました。 パソコンにはSMC3 Utilityというソフトをインストールしました。 この構成でモーターの回転を調整します。 フライトシミュレーターとはまだ接続しない状態で調整します。 アームがプラスマイナス60度の範囲で動くように調整します。 左の図はSMC3 Utilityの画像です。 10ビット(0~1024)で制御されます。 グラフの中央値は512で一番下の最小値が0、一番上の最大値が1024です。 制御は一般的なPID制御です。 PIDのパラメーターは任意に設定できます。 アームが不都合な動きをしないよう下記の機能があります。 Clip Input・・・過大、過少な入力信号の切り取り Max Limits・・・過大、過少なアームの動作制限 |
| モーターの逆回転による損傷を防止するため、初めて動かす時は下記の手順で操作するよう説明されています。(XSimulator.net内の説明文から抜粋) モーターの回転方向と可変抵抗の電圧変化方向を整合させる作業です。) 1.モーターの電源を切断する 2.Simtools が実行されていないことを確認してください。まだ準備ができていません。 3.SMC3をインストールしたArduinoをHブリッジに接続し、USB経由でコンピューターに接続します。 4.Windows SMC3 ユーティリティ ソフトウェアを実行し、Arduino と通信できることを確認します (ボー レートを設定する必要はありません。ボー レートは変更できません) 5.すべてのモーターのKp、Ki、Kd、PWMmin、PWMmax、PWMrevを0に設定します(これにより、モーターが動かなくなります)。 6.クリップを 255 に設定し(最初にこれを実行する必要があります)、制限を 255 に設定します(これにより、セットアップ中に何か問題が発生した場合に十分な余裕が生まれます)。 7.モーターの電源をオンにします。この段階では何も動かないはずです。 8.Kpを約400に設定します 9.ゆっくりとPWMmaxを上げていきます…ある時点でモーターが動き始めるはずです。動き始めたら、「緑」のフィードバックラインが「青」の目標位置に向かって動いていることを確認します。 ・そのようになった場合は、モーターとフィードバックは正しく配線されています。他のモーターのテストに進みます。 ・モーターが遠ざかっている場合は、直ちにモーターの電源をオフにしてください(または、PWMmaxを再び素早く下げてください)。この場合、テスト対象モーターへの配線を逆にするか、テスト対象モーターのフィードバックポテンショメーターへの+5VとGNDの配線を逆にする必要があります(両方をしないでください)。テストを最初からやり直してください。 10.各モーターに対して上記の操作を実行します |
|
| モーターの回転方向の設定が済んだの可変抵抗を取り付けてフィードバック制御のテストをしました。 3角波形の入力を与えて動作させました。 うまく動きました。 |
|
![]() |
アームと椅子フレームを連結しました。 |
動作良好です。 |
|
| 椅子に座って動かしました。 | |
![]() |
可動範囲プラスマイナス8度です。 実際に動かしてみて可動範囲が小さいと思いました。 可動範囲を大きくするにはアームの長さを長くするかロッドの位置をユニバーサルジョイントに近づけるの2案があります。 ユニバーサルジョイントからロッドまでの前後方向の距離・・・A 左右のロッド間の距離・・・・B 現在の値は下記の通り。 A=350mm(ピッチング8度) B=725mm(ローリング7.5度) 動作範囲を大きくしたい場合ロッドの位置を下記のように変えることで可能です。 A=230mm(ピッチング13度) B=475mm(ローリング12.9度) モーターの位置もロッドの位置に合わせて移動します。 |