どどーんはじめました。~その8~ 6chプロポの憂鬱

私が使用している送信機はフタバT6EXで、2.4GHzではありますがFASST方式のちょっと古い物です。

FASSTだとマルチコプター向きの小型で安い受信機があまりなく、AliexpressやBanggoodで探すととこのあたりぐらいです。

ケースから出して熱収縮をかぶせています

そして6chというチャンネル数ですが、飛行機とかを飛ばしているときは不足を感じませんがマルチコプターでレースをやると色々と不足してきます。

まず6chの内、1~4chはスティックに割り当てるので残りは2chとなります。

しかしドローンレースで欲しい機能を列挙するとこんな感じ・・・

  1. ARMING切替(モーター回して飛ばせる状態か又は待機状態かの切替)
  2. 機体発見ブザー
  3. 飛行モードの切替(レースの時はACROモードだけど 初心者なので安定重視のANGLEモードも使える状態にしておきたい 。)
  4. 機体反転モード(墜落してひっくり返った時に起こすためのモード)
  5. 電波遮断後何秒か以内にモーターが停止する事。

1.のARMING切替は必須でこれしないと飛べません。
2の機体発見ブザーも私には必須です(今年の夏、山に飛び込んだ機体を探し回りブザーの音で発見する事が出来ました)。
3.のモード切替は上手になれば常にACROモードだけも良いのかもしれませんが当面はANGLEモードも使える様にしときたいと思います。
4.の機体反転モード(カメモードとも言うそうです)はレース本番以外は無くても何とかなるかな?本番までに腕を磨きANGLEは無くしてカメモードにしようと思います。

最後の5はチャンネル数と直接関係ないのですが、これが義務付けられているレースもあったりするし安全の為なので設定しておきたいところです。ところが私が使っている受信機は電波が途切れた事をFCに伝えてくれない様です。
こちらのSBUSプロトコルの説明によると「FAILSAFEが入ると24バイト目の下から4bit目が立つ」となっていますが波形を見る限りこの受信機では変化がありません。因みに息子が使っているFHSSの受信機では電波が途切れるとSBUS出力自体が止まってしまうので、これが正しいかどうかは分かりませんがFCには伝わりそうです。
ただし私の受信機にもFailSafe機能というのがあり、 この機能をONにしておくと電波が途絶えた際あらかじめ送信機側で設定した スロットル値になるという動作をします。という事はこの機能でARMINGチャンネルをOFFにしたら良いかと思いましたが、私の送信機の制約なのかFailSafeにはスロットルチャンネルしか設定できません。またスティックを最小にしてもモーターが止まる所までスロットルを下げる事ができなかったので、苦し紛れですが次の方法で設定しました。

  • FailSafe機能をONにする。
  • 送信機側でFailSafe時のスロットル値を設定する。この時デジタルトリムを最小値にした状態でスロットルスティックも最小にして記録する(その後トリムは元に戻す)
  • フライトコントローラーの設定(BataFlightConfigurator使用)の基本画面で「 MOTOR_STOP アーム後にモーターを回転させない 」をONにする。

FailSafe設定の際トリムも含めて最小の値にするところがミソです。トリムが通常値だとスティックを最小にしてもモーターが完全に停止しませんでした。最後のMOTOR_STOPをONにするのは安全上良くないですが他に方法が見当たりません。

・・・で、話が横道にそれましたが6チャンネルプロポの空き2チャンネルをどう割り当てるかという話です。
まずARMINGは当面スティックワークでやる事にします(ARMINGはどのチャンネルにも割り当てなければスティックで操作できます。このときスロットル=最小、ラダー=最右にする事でARMING、ラダー=最左にするとDISARMとなります)。
あとは機体発見ブザーに1チャンネル、モード切替に1チャンネルを割り当てる事にします。機体反転モードの割り当てが無いですが、レース本番ではANGLEモードは不要なのでACROモードに固定する事で切替をなくし、そこで空いたチャンネルを機体反転に割り当てようと思います。

・・・と、この状態で暫く練習し・・・

そろそろカメモードを試そうとして機体反転モードにしたらブザーを鳴らせる事を知りました。そうすると機体発見ブザー代りに使えそうな気がします。すると今までブザーに割り当てていたチャンネルが空くのでこれにARMINGを割り当てる事が出来そうです。試してみたところこれで何とかなりそうなので11月の初レースはこれで行ってみます。

どどーんはじめました。~その7~いろいろ修理

前回書いた通り11月に鹿児島県出水市で開催されるレースに出る為、日々練習をしております。
しかし実機を飛ばすと(または飛ばさなくても)色々な箇所を壊し、そして修理を繰り返しており、その記録です。

フライトコントローラー その1

フライトコントローラーOMNIBUSF4 V3を修理した話を先日書きました。
このFCは息子が逆電圧を印加してレギュレータICが壊れたので交換した物で、その他は一見問題なさそうなので暫くは木のフレームに積んで飛ばしていました。ところがある時から飛行中に訳もなく墜落したり、電源を入れても何も操作が出来なかったり、その内BetaFlightConfiguratorとも接続できなくなってしまいました。結局はファームを書き直したら復活したのですが、逆電圧のせいでフラッシュメモリが消えた(又は書いていないbitが書き込み状態になった?)のでしょうかね?
そもそも 逆電圧で壊れない方が不思議な気もしますが。
とりあえず様子見中です。

フライトコントローラーその2

同じ様に修理したフライトコントローラー(以下FC)がもう一つあります。
「Mini F3 Flytower」という名称でAliexpressから購入した物。購入時はESCとセットでしたがESCは燃えてしまって交換しています。
ところが元々のESCはBEC回路(5Vレギュレータ)を内蔵していたのに、交換後のESCはBECを搭載しておらず、FCの5V入力端子にバッテリー電圧(11.1Vや14.8V)が直接加わっていました。これで息子が飛ばしていたのですが、今回私がレースに出る為に借りたら上記の接続が発覚しました。とりあえず飛べはするのですがいつ壊れても不思議はありません。また5V端子に(高電圧の)電源が入っていますが本来バッテリ電圧を与えるはずの端子はオープンのままなのでOSD表示にバッテリー電圧が出ないという問題もあります。もちろん電圧低下アラームも出ないので非常に不安です。
そこで正しい接続(VBAT端子にバッテリーを接続)してみると・・・案の定レギュレータが壊れていてFC内の5V電源が出ていませんでした。
レギュレータの型番をみると先日修理したOMNIBUSF4V3と同じ型番のICを使用しています(FCでは標準的なICなんですかね?)。先日買ったICがまだ残っているので交換すると、ちゃんと5Vが出る様になりました。・・・という事でこのFCでレースに出場予定です(大丈夫か?)。

真ん中付近に写っている1F8のマーキングがあるのが交換したレギュレータIC。

木のフレーム

予備機として使用予定の木のフレームは相変わらずポキポキと折れていきます。しかし木のフレームの良いところはエポキシで修理できる点です。また原価が安いので沢山レーザーカットしておきどんどん交換していけます。 強度アップの工夫も色々としており今のところ4代目となりました。
が、やっぱり木製フレームでレースするのは無謀なのかも。

色々強度アップの工夫をした4代目フレーム。
縦に補強を入れてT字型の断面になっています。その分重くなるのを防ぐためアームを少し細くたりFCの下を肉抜きしたり・・・。

カーボンのフレーム

こちらは息子が折ったカーボンのフレーム。カーボンの板が折れると重ねた層が分離した様になるんですね。繊維が完全に切れている訳でもなさそうなので(いや多少は切れているんでしょうけど)、ダメ元で修理してみました。エポキシ接着剤をドライヤーで温めて柔らかくしておき、層の隙間に行き渡る様にした後、万力で挟んで固定したところ結構いい感じに固まっています。耐久性は分かりませんが。

VTX

練習していて息子の機体と空中衝突し、VTXの押しボタンスイッチとLEDが吹き飛んでいました。とりあえず電波は出ているので周波数や出力を変更しないならこのまま使えるのですが・・・これもその内なんとかしたいと思います。
しかしレースに間に合わないとマズイのでVTXは新たに発注しました。

FPVゴーグルのスポンジ

以前書いたEachineの安いゴーグルを使っていますが、顔に当たる部分のフェルトが剥がれてきました。スポンジとフェルトの2重構造になっているところが剥がれるのです。そこで「ボンドGPクリアー」で接着してもまたすぐ剥がれるので今度は「ボンドウルトラ多用途」で試したところ上手くついています。

他にも根本で電線が切れたモーターとかパワーMOSFETから煙を吐いたESCとか、なんとかしたいパーツが色々あるので、いずれ修理にトライしたいと思います。

どどーんはじめました。~その6~

昨年11月、鹿児島県出水市で開催されたU199ドローンレースに息子が参加した話を書きました。 この大会が今年も開催されるそうです。 そこで今回、ついに私もエントリーしてしまいました。
因みにU199とは航空法的に「無人航空機」とはみなされない200g未満の機体で速さを競います。200g未満だと「模型飛行機」という扱いだそうです。

私が使用する機体は昨年息子が飛ばした物をベースに宮崎ドローンクラブの方から頂いた部品を使って色々と修理したもの・・・

息子のお下がり。


予備機も欲しいなという事で先日修理したFCその他を載せて製作する事にしました。このFCは本来5インチ機等で使う物なのでサイズが大きく、普通のU199フレームには収まらないので合板をレーザーカットして製作しました。エポキシ接着剤をドライヤで温めて木に浸み込ませています。

2.5mmの合板2枚をエポキシで貼り合わせ。

レースまでに何とか落ちずに飛べる様、日々シミュレータ(VelociDrone)および時々実機で特訓中です。

実機で練習すると壊しては修理の繰り返しです。
合板のフレームはやっぱり折れやすいですが エポキシで修理できるし予備も簡単に作れます。

ポッキリ。
折れたところをエポキシで固めるとその部分は丈夫になるのですが次は別の場所が折れます。

さてどうなる事やら。。。

ARマーカーでドローン制御

ドローンを自動制御してみたくなりました。
いきさつを言うと、とある大学でドローン競技があり、その中に人が操作せず空中に5秒間ホバーリングさせるという種目があるのを知りました。私が競技に出場する訳ではないのですがこれをやってみたくなりました。

まず空中に静止させるには考えられる方法が色々あります。GPSで座標を取得してフィードバックするというのが一番ありそうですが、世の中に既にあるし屋外で実験するのも中々大変です。できればコアレスモーターの軽いやつを使って室内で試したいのです。そこでARToolkitなるものを使ってみようと思います。

前に作った「どどーん」を使いたい。

ARToolkitはARマーカーという図形を印刷しておき、これをカメラで映すと画像に3Dの物体が合成されて現れるアレです。詳細はこちらを参照ください。
ARToolkit本家→ http://www.hitl.washington.edu/artoolkit/
工学ナビさんの説明→ http://kougaku-navi.net/ARToolKit/

そしてマーカーはこんな感じの図形です。

ARToolkitについてきたサンプルマーカーをそのまま使用

ARToolkit自体はCのライブラリなのでVisualC++から呼び出します。
ARToolkitに画像を渡しマーカーを認識しすると、マーカー座標からカメラ座標への変換行列が得られます。 ARtoolkitの一般的な使い方ではこれを元に図形を描画するのですが、この行列にはマーカーの位置が3次元的にどっちにあるか、またどの方向に傾いているかという情報が含まれるので、今回はこれを元にドローンを制御し、常に同じ位置にマーカーが見える様にしてやればホバーリングできるはず・・・という目論みです。

最初はこんな感じでやろうと思っていました。

ARマーカーは壁等に貼っておきます。

そしてコントローラーはこれ。Arduionoでサーボを制御して送信機のスティックを動かすという無理やりな構造。

やはりこのコントローラーは無理がありました。最初は手動でホバーリングさせてから自動に切り替えたいのですが、この切替がうまくできません。また縦軸を動かすと横軸が微妙に動くという問題もあります。 制御パラメーターの微調整が必要になる筈ですが、不安定なコントローラーでは訳が分からなくなりそうなので、まずはPCが考える値を確実にドローン側のフライトコントローラーに伝えるため、以前作ったTWE-Liteを使った送受信機を使う事にします。

またドローンに搭載したVTXから送られてくる画像では画質が今イチな上に振動の影響なのかARマーカーの認識が不安定でした。そこでARマーカーをドローンにぶら下げ、三脚に固定したカメラで検出する方法に変更しました。これでもマーカーが揺れますがカメラが固定なのでこっちの方がマシなのです。

カメラは固定に変更。ドローン側にARマーカーをぶら下げます。
こんな感じで糸でぶら下げました。

固定カメラで見たマーカーの位置を元に制御量を決め、FT232RL→TWE-Liteを経由してドローンのフライトコントローラーに伝えます。
また最初に手動で浮かせてから自動に切り替えるのでRC送信機→受信機→HOI-Link→PCの経路で送信機の操作量をそのままドローンにスルーすることもできます。HOI-Linkはこれまた先日作成したS-BUS→HIDコンバーターで、ラジコン受信機が出すS-BUS信号をPCからジョイスティックに見える信号に変換してPCに入力します。
なお手動と自動は送信機のスイッチで切り替える様にしました。

こんな感じで何枚もペラを折ってしまいながら調整を繰り返しました。
スロットルの制御が一番難しいです。まあ自分が操縦しても高度を維持するのが結構難しいので自動制御でも同じなのでしょう。特にロール、ピッチ、ヨーの制御だったらニュートラル位置がだいたい決まっているのでそこを中心に上下してやればよいのですがスロットルだけはこの値にすれば上下しない位置というのが決まっていないしバッテリーの残量によっても変わってくるので飛びながら調整していく必要があります。

そんな感じで何とかホバーリングが10秒以上は 持続するようになったのが次の動画です。まだ上下動が大きいのでもう少しパラメーターを調節したいところ。またバッテリーが消耗してくると何故かYaw軸が右に回ってきて制御で打ち消せなくなってきます

追記・・・

その後パラメータをイジってかなり安定になりました。
またYaw軸が回ってしまうのは機体の特性っぽいですが、これを制御で抑えられない原因が判りました。ドローンが右に回った時、回転行列から取ってくる角度が本来ならマイナスの値になる筈なのにプラスの値になる場合があります。この時自分の目で見てもマーカーは左に回っている様に見えるのです。この原因はARマーカーを印刷した紙が風で曲がっている為だと思います。ARToolkitはマーカーの四隅の頂点位置から角度を算出しますが、マーカーの角が曲がると正しい角度を割り出せないんですね。そこでマーカーの曲がり易そうな箇所を裏からスチレンペーパーで補強したところ、イイ感じになっています。
これでバッテリーが無くなるまでホバーリングを続ける様になりました。
安定化後の動画 ↓

モーションフライトシミュレータ強化~2~

またまた前回の続きで、モーション・フライトシミュレータのリンク機構を強化していきます。

2×4材の両面を鉄板で補強するので、その分の厚みを減らすため両面をCNCで削りました。片側1mm、反対側1.5mmで合計2.5mm減らしています。
鉄板は3mm厚×2枚なので6mm分の厚みが増えており、差し引きすると3.5mm厚くなっています、元々キャスターとの隙間が大きすぎてワッシャーを挟み込んでいたのでこれくらいがちょうどよいのです。

厚さ調整のため切削中。4Φのエンドミルで。

そしてベアリングを嵌め込む溝を掘ります。

こっちは2Φのエンドミルで。

削り終わりました。

両面から同じ切削をします。そして中心はドリルで貫通させます。

これで2×4材の加工は完成です。ベアリングを嵌め込んだ写真は撮り忘れました。

前回作成した鉄板で挟み込んで座版に取付けます。

穴あけをミスった側。

本体に取付けて補強は完成。

ベアリングを入れた効果があるのかイマイチ不明ですが、鉄板のお陰で安心感が上がり、少なくとも崩壊してバラける事は無いはず(と思いたい)。

モーションフライトシミュレータ強化

このところ風邪をひいたり色々あって作業の進みが遅くなっていますが、前回に続きMakerFaireKyotoに向け、モーション・フライトシミュレータのリンク機構を強化していきます。

まず鉄板工作の部分を溶接しました。

相変わらず綺麗に溶接できません。

出っ張りがあっては困る部分をグラインダで削って平らにします。

削ってしまえば溶接の汚さが少しは隠せる・・・

そして穴あけですが、一か所間違って空けなおしたので二つながった穴になりました。不要な部分を溶接で埋めようかとも思いますが・・・まずはこのまま様子を見ます。

教訓:”布を切る前に七回測れ”

この2×4材の出っ張り部分にはベアリングを埋め込む予定なので、穴位置を鉄板とぴったり合わせるため作り直します。

また鉄板の厚みが3mm×2枚とかなり厚くなるので、2×4材の方を削って薄くします。カンナでやろうとも考えましたが、厚みを一定に保つためCNCで切削しました。

この続きはまた後日・・・。

Maker Faire Kyotoにモーションシミュレータを持っていきたい

今年のゴールデンウィークには京都でMakerFaireがあります。
MakerFaireは東京では毎年開催され、少し規模が小さいMini MakerFaireは山口や大垣で不定期に(大体1年おきぐらい?)開かれていますが近畿では初めてです。どんな感じになるのでしょう。
会場はけいはんなイノベーションセンターという所ですが行った事はありません。地図を見ると京都といってもむしろ奈良に近く、大阪にも近い様ですね。

今回はゴールデンウィークでもあるので実家の神戸に帰省してそのまま参加したいと思います。 という事で出展を申し込んで承認メールが先日届きました。
また、この距離だと車で行けるのでモーションシミュレータを持っていくつもりです。そのために広めのスペースも申請済なのです。

そして出展の際には来客の方々にも試していただこうと思うので、耐久性アップの為に補強をしておこうと思います。
一番不安なところはこのリンク部分で、現状ではキャスターを横向きに固定し、そこに2x4材に穴をあけて軸を通しています。

座席下のリンク機構

この2x4材が割れるとどうしようもなくなるので鉄板で補強し、ついでにベアリングも入れる予定。
こんな感じで・・・

現状の2×4材はそのまま残し、鉄板でサンドイッチにして補強します。

鉄板を直角に曲げるのは中々大変そうです。また直角に溶接するのも私の腕では不安です。そこで折り曲げ部分だけアングルを使う3分割構造にします。という事で3mmの 鉄板とアングルを写真の様に切り出しました。3mmの鉄板を切るのも中々大変なのでジグソーに金鋸の刃を付けて切り出しましたが、何年か前のハンズマンガラクタ市にプラズマカッターが激安で出いていたのを買っとけば良かったと、こういう時いつも後悔します。

何とか切り出しました。

あとは溶接ですが土日が雨だったので今回はここまで。今度の休みに晴れたら続きを実施します(いつも溶接したい時に限って雨が降る気がする。)

鹿児島県出水市ドローンレース

息子が初めてドローンレースに出るというので鹿児島県出水市まで連れて行きました。 出水市は鹿児島県ですが熊本県とは隣接しており、最近津奈木まで高速道路が開通したので約2時間の道のりです。 この陸上競技場でU199クラスのドローンレースが開催されます。

到着すると既に皆さん練習飛行をされていますが、これまで見ていた息子の飛行と比べると次元が違う速さで目がついていきません。いくら初出場とはいえレベルが違うのは歴然としています。でも練習だと思ってやるしかありません。

最初は3台ずつの模擬レース、その後タイムアタックですが、やはり速度の差は圧倒的です。それでも何とか落とさずに2分間飛び続けました。

控室はこんな感じ。ベテランの方々に色々な事を親切に教えて頂きました。機体が振動する症状への対処方法や、墜落して裏返しになった時に片側だけプロペラを逆転させて元に戻す方法等、知らなかった事を色々と。。。

また息子は3セルのリポバッテリーで飛ばしていたのですが皆さん4セルを使われている様です。そこで「一回これでやってみろ」と4セルリポを渡されました。コイツ、いきなり4セルなんか使って大丈夫かいな?とみていたら本人は「これ、イイ!」と言って飛ばしています。確かに見るからに早くなっているし音も全く違います。 結局この4セルリポを頂いてしまいました(すみません。ありがとうございました)。

ところでこのレースは出水市の大産業祭というイベントの一環なので子供たちにも見てもらうという意図があるのだと思われ、模擬レースの順番が結構な周期で回ってきます。これが息子には素晴らしく練習になった様です。飛ばしたらバッテリが冷えるのを待ってすぐに充電をします。

昼休みには出場者にお弁当を頂けました。私も出場者ではないのに頂いてしまいました(ごちそうさまです)。

最後のタイムアタックに息子は4セルリポで挑戦。明らかにタイムが縮まっています。結構いいタイムで回った周があったのですが最後にゲートをくぐり損なって無効に。勿体ない。

参加賞として (有)エアクラフトさんからHYPERIONのリポ保管バッグと、参加者のTed Tさんが作られているFPVアンテナを頂きました。

帰宅後、出水ドローンクラブのサイトに順位が公表されていました。息子は8人中5位だそうです。初出場にしては頑張ったのではないかと思います。

という事で楽しい一日を過ごさせていただきました。運営をされた方々、色々教えてくださった参加者の方々、ありがとうございました。来年も開催されたら是非参加させていただきたいと思います。
息子だけでなく今度は自分も・・おい大丈夫か?

TWE-Liteプロポ化計画

久々にMONOワイヤレスのページを見たらTWE-Liteの電波強力版である”RED”というのが出ていました。最大3Kmぐらい届くとの事。これなら空ものラジコンでも全く問題なく飛ばせそうです(実際は私が飛ばすものなんて100m程しか離れないんですけどね)。
そこでTWE-Liteを使ってラジコンプロポの代りにならないか試してみたくなりました。

なおTWE-Liteとは、当初は東京コスモス電機でしたが今はそこから分離したMONOワイヤレスが出している無線モジュールです。

こんなの・・・

TWEpropo_1

TWE-Lite(下) とTWE-Lite DIP(上)

TWE-Liteは内蔵マイコンのプログラムを書き換える事ができるので、MONOワイヤレス社からは色々な用途のプログラムをダウンロードできる様になっています。この中にはラジコン用のアプリもあるのですが、ラジコンカーを前提にされたもので、そのままで飛行機やマルチコプターを制御するのには向きません。

これを何とかして受信側TWE-LiteからS-BUS信号を出せれば小さなマルチコプターぐらい飛ばせるんじゃないかと考えています。するとフタバとかの立派なプロポを使わなくても済むし、またフライトヨークやラダーペダルで操縦したり、ちょっと夢が広がるじゃないですか

で、試してみる事にします。でもいきなり高出力版のREDを買うのもなんなので、まずは手持ちの通常出力版(こちらはBLUEという名前になったらしい)で試します。
まず送信側のTWE-Liteにはボリューム4個+スイッチ4個を付けて状態を発信します。この部分は「OpenStick無線化実験」の時のプログラムをほぼ流用です。
これを受けて受信側TWE-LiteがS-BUS信号を生成してフライトコントローラ(F3EVO)に入れるという計画です。

という事で早速プログラムを書いてデバッグです。受信側TWE-Liteが出すS-BUS信号を先日作成したS-BUS信号解読機(ArduinoMEGA256)に入力してデバッグを開始したのですが・・・受信機のデバッグ以前にS-BUS解読機側のスケッチがミスっていたのを発見。修正しました。

~~修正版S-BUS解読スケッチ(11bitデータに並び替える部分のミス修正)~~

int count;
long interval;
void setup() {
 Serial.begin(115200); // Terminal
 Serial1.begin(100000,SERIAL_8E2); // S-BUS
 count=0;
}

void loop() {
 int data[26];
 int val[19];
 int i;
 if (Serial1.available() > 0) {
 data[count]=Serial1.read();
 interval=millis();
 count++;
 }
 if ((interval+4 < millis()) && (0 < count) ) {
  count=0;

  val[0] =((data[1] & 0xff)<<0) + ((data[2] & 0x07)<<8);
  val[1] =((data[2] & 0xf8)>>3) + ((data[3] & 0x3f)<<5);
  val[2] =((data[3] & 0xc0)>>6) + ((data[4] & 0xff)<<2) + ((data[5] & 0x01)<<10);
  val[3] =((data[5] & 0xfe)>>1) + ((data[6] & 0x0f)<<7);
  val[4] =((data[6] & 0xf0)>>4) + ((data[7] & 0x7f)<<4);
  val[5] =((data[7] & 0x80)>>7) + ((data[8] & 0xff)<<1) + ((data[9] & 0x03) <<9);
  val[6] =((data[9] & 0xfc)>>2) + ((data[10] & 0x1f)<<6);
  val[7] =((data[10] & 0xe0)>>5) + ((data[11] & 0xff)<<3);
  val[8] =((data[12] & 0xff)<<0) + ((data[13] & 0x07)<<8);
  val[9] =((data[13] & 0xf8)>>3) + ((data[14] & 0x3f)<<5);
  val[10]=((data[14] & 0xc0)>>6) + ((data[15] & 0xff)<<2) + ((data[16] & 0x01)<<10);
  val[11]=((data[16] & 0xfe)>>1) + ((data[17] & 0x0f)<<7);
  val[12]=((data[17] & 0xf0)>>4) + ((data[18] & 0x7f)<<4);
  val[13]=((data[18] & 0x80)>>7) + ((data[19] & 0xff)<<1) + ((data[20] & 0x03) <<9);
  val[14]=((data[20] & 0xfc)>>2) + ((data[21] & 0x1f)<<6);
  val[15]=((data[21] & 0xe0)>>5) + ((data[22] & 0xff)<<3);
  val[16] = (data[23] & 0x1) ? 0x7ff : 0 ;
  val[17] = (data[23] & 0x2) ? 0x7ff : 0 ;
  val[18] = (data[23] & 0x8) ? 0x7ff : 0 ; // Failsafe
  for (i=0 ; i<19; i++ ) {
   Serial.print(val[i],DEC);
   Serial.print(F(" "));
  }
  Serial.print(F("\n"));
 }
}

 

大体動作がOKになったところでフライトコントローラ’F3EVO’に接続してみます。
フライトコントローラはUSBでPCに接続しておき、設定ソフト ’CleanFlight’ の ’Receiver‘ タブ使うと送信機の操作に合わせて信号が変化するのが確認できました。

CleanFlight

CleanFlightで受信機の信号をモニター中。

 

ここまではTWE-LiteのDIPタイプをブレッドボードに載せて試していました。
大体イケてるっぽいので次は表面実装版のTWE-Liteモジュールを使い、実際に機体に載せる基板を作ります。

いつもの様にKicadでパターンを書いてガーバーデータを出力して・・・

TWEpropo-Rxガーバー

Kicadで出力したパターン

 

でもウチのCNCの精度でこのパターンそのままでは削れる気がしません。そこでガーバーデータの座標値をテキストエディタで抜き出してJw-cadに読み込ませ、これを下書きにしてカットする部分を手書きしていきました。
こうしてカットラインの間隔を極力広いパターンに作り変えます。

TWEpropo-Rx Cutpattern

ピンク色がガーバーから抜き出した下書き。
黒線が手書きのカットライン。

そして切削。

TWEropo-Rx

切削完了。

と、軽く書きましたが何だかんだで失敗しながら3回切削しました。
チップ抵抗、チップコンデンサを1608サイズにしたのも失敗で、ルーペを見て汗をかきながらハンダ付けを行いました。
そして実装したのがこれ。

TWEpropo

クワッドコプターと接続したところ。
まだ受信機は固定していません。

次は送信機を作っていきたいと思います。

リニアガイドで2代目ラダーペダル制作~その3~

二代目ラダーペダルの続きを製作します。

まず合板に部品取り付け位置を書込みます。
鉛筆で描いてもいいのですが手っ取り早くレーザーで描画しました。
真ん中の部分はボリュームが埋まる所なのでドリルと糸鋸でくり抜いています。

RudderPedal2nd_1

合板にレーザーマーキング

 

そして部品を取付けました。

RudderPedal2nd_2

部品取付け完了。

ペダルはリニアガイドに載っていて前後に動かすとワイヤーを通じて真ん中のプーリーに接続した可変抵抗器を回します。またワイヤーにより左右のペダルは交互に動作します。
ワイヤーの部分、当初は水糸を使ってみたけど伸びるので被覆付きのワイヤーに変更しました。

RudderPedal2nd_3

反対側から見たところ。

戸車プーリーと適当なバネ。

RudderPedal2nd_3.5

戸車プーリーでワイヤーを支えます。
プーリーは適当にプリントしたパーツで固定。

 

機構的な部分は大体できたので後はUSBインターフェースを取付けます。
今回はアナログ3軸だけなのでPIC18F14K50を使ったOpenStick Liteを使用しました。
部品数が少ないので今回は基板切削はせずユニバーサル基板で配線します。

jw-cadで配線計画を立てて・・・

RudderPedal2nd_4

ユニバーサル基板での配線予定図

配線しました。

RudderPedal2nd_5

基板完成

そういえばOpenStick Liteはβ版としてブログには載せましたが正式ページを作っていません(ま、いいか)。

配線も済んだので動画を撮ってみました。

 

ではMotionSimulatorに載せてみます。我が家の工作室だと狭いので機材一式を和室に運びました。

RudderPedal2nd_4

和室に移動しました。結構重いです。
しかし変な絵面だな。

ではFlightSimulatorXを立ち上げてフライトしてみます。今までのラダーペダルはペダル位置が高くて足が宙に浮いた感じでしたが、今回は踵を床に付けたまま操作できるので微調整がしやすくなりました。しかしワイヤーを通じたリンクの抵抗が若干大きい気がします。

 

因みに一代目ラダーペダルはこれ。シーソー式でした。

一代目ラダーペダル

何度もMakerFaireに持って行った一代目ラダーペダル。
今回でお役御免です。

こちらはお役御免です。お疲れさまでした。