巷ではマルチコプターが大変なことになってます。
そのおかげで、やたら規制が多くなって来ているようです。
ここ田舎でも、公園での飛行禁止が検討されていると噂で聞こえてきます。
ということで、今日はジンバルをマルチコプターに取り付けてみました。
Multiwiiのバージョンは2.3です。2.3からはMultiWiiConfのGUIでパラメータが設定できるようになりました。当方GUIはMultiWiiWinGUIを使っていたので気づきませんでした。
また、S-BUSで接続しているせいか、もともと組み込まれていないのかわかりませんが送信機から
ジンバルを制御することができません。どうせなら送信機からも制御できるよう、Multiwiiのプログラムを書き換えてました。
Cam Stabilisationを有効にするため、“Config.h”を書き換えます。
ジンバルを2軸で制御する場合は、“SERVO_TILT”を有効にします。
シャッターもコントロールするなら“CAMTRIG”を有効にします。
/************ Cam Stabilisation ************/
//#define SERVO_MIX_TILT
#define SERVO_TILT <-先頭の“//”を削除する。
/* camera trigger function : activated via Rc Options in the GUI.........
// trigger interval can be changed via (*GUI*) or via AUX channel
// #define CAMTRIG <-シャッターも使うなら先頭の“//”を削除する。
#define CAM_TIME_HIGH 1000 // the duration of HIGH state servo expressed in ms
ジンバルのピッチを送信機から操作できるようにする為、“Output.cpp”を書き換えます。
私の場合、T14SGの左の肩のトリムレバーを11CHに割り当てたのでているので“rcData[11]”
としています。
/************** Cam stabilize Servos ******************/
#if defined(SERVO_TILT)
servo[0] = get_middle(0)
+ rcData[11] - 1500; <-追記します。
servo[1] = get_middle(1);
if (rcOptions[BOXCAMSTAB]) {
servo[0] += ((int32_t)conf.servoConf[0].rate * att.angle[PITCH]) /50L;
servo[1] += ((int32_t)conf.servoConf[1].rate * att.angle[ROLL]) /50L;
}
#endif
MultiWiiConfのセッティング画面です。
CAMSTABとCAMTRIGは有効にしないと動作しませんので、チェックしておきます。
(1)のSELECTSETTINGをクリックすると(2)のSERVOが現れ、SERVOをクリックすると次の画面に遷移します。
MultiWiiConfのGIMBALセッティング画面です。
(3)GIMBALをクリックすると各値が設定できます。
TILT_PROPとROLL_PROPの値は傾きに応じたサーボの角度を設定します。
マイナスを入れるとリバース動作となります。
この例ではTRIGGERが表示されてますが、“Config.h”でCAMTRIGを有効にしないと表示されません。
これで取りあえずジンバルが利用可能となりました。今度はカメラを搭載してみましょう。