ラジコンヘリ

E-SKY のラジコンヘリのブログです

過去の投稿日別表示

[ リスト | 詳細 ]

全1ページ

[1]

サーボアジャスタ

サーボアジャスタのプログラムのプロトタイプが出来ました。
まだ通信機能が無いので、設定変更のたびにコネクタを抜かなきゃなりません。
機体に搭載するにはとっても面倒で、正直やってられません。
しかし、一応動作する(らしい)し、設定変更が少ない用途には使えそうなので公開します。
たまさんのリクエストも盛り込み済です。

これひとつで、一般に言うサーボストレッチャ、サーボリバーサ、サーボスローの機能があります。
更に、動作範囲制限、センターデッドバンドも設定できます。
また、これらの機能の多くは、各動作方向ごとに別々に設定できます。
入力パルス幅の計測や出力パルス幅の制御は、16bitカウンタ(分解能0.5μsec)を用い、すべてハードウェアで
行っているので正確です。割り込み応答やソフトウェア処理によるジッタ(ゆらぎ)はありません。

将来は通信機能を搭載し、パソコンで設定したり、専用ターミナルで現場設定できるようにするつもりです。
また、「2chを1chにのせて送信する装置」の受信側になる予定です。

ファームウェアのダウンロードはこちら
(ダウンロードしたファイルの最後に「.txt」がついていたら、それを削除してください。)
サーボ動作範囲1.5倍版:SVAJ_b0_15.hex
サーボ動作範囲2.0倍版:SVAJ_b0_20.hex

動作のようす


回路図
イメージ 2

電源は5Vのみ対応。6Vはマイコンの動作保証範囲外。
CN3の配線を除くと、非常に単純な配線です。

製作例
イメージ 1


使い方

§接続
CN1をRC受信機に、CN2をサーボにつなぐ。
CN3はファームウェア書き換えや送信機センター記憶、シリアルコマンド送受信用(予定)。

§設定値の変更
PICkit2などでEEPROMの先頭から並ぶ値を変更する。
将来は、シリアルコマンド(UART 5V)の送受信をサポート予定。
各設定値の並び順は、先頭から、
Trim
DeadBand
Gain_L
Gain_R
Limit_L
Limit_R
Delay_L
Delay_R
Reverse
である
値は、各設定値を16進数で表したものを1バイトで設定する。
Trim設定値のみ符号付(1=0x01,-1=0xFF)、他は符号無し。
なお、アドレス0x20からの2バイトに、送信機センターの値が書き込まれている。

[設定項目]:規定値/設定可能範囲 説明

[Trim]:0/-128%(=0x80)〜127%(=0x7F) センタートリム。送信機のトリムと同じ。
スティックセンターのときのホーンの位置を調整する。

[DeadBand]:0/0%〜255%(=0xFF) センター付近で、送信機からの信号変化にサーボが反応しない範囲を
設定する。

[Gain_L]:150(=0x96)/0%〜255%(=0xFF) ホーンがセンターより左側の時、ノーマルに対する動作角の倍率を
設定する。ストレッチャ(コンプレッサ)機能。

[Gain_R]:150(=0x96)/0%〜255%(=0xFF) ホーンがセンターより右側の時、ノーマルに対する動作角の倍率を
設定する。ストレッチャ(コンプレッサ)機能。

[Limit_L]:150(=0x96)/0%〜255%(=0xFF) 左回転の動作リミット。リンケージの動作限界や、サーボ固有の
動作限界を設定する。これを超える信号が入力されてもホーン位置はここでロックされる。

[Limit_R]:150(=0x96)/0%〜255%(=0xFF) 右回転の動作リミット。

[Delay_L]:0/0〜255(=0xFF) ホーンが左回転する時、規定角度に到達する時間を設定する。
サーボスロー機能。0はサーボの最高速で動き、255(=0xFF)で最低速になる。
ただし、設定値と到達時間の関係は線形ではない。

[Delay_R]:0/0〜255(=0xFF) ホーンが右回転する時、規定角度に到達する時間を設定する。
サーボスロー機能。

※DelayのL/R(左/右)は、他の機能のようにセンターからの振り分けではなく、ホーンの位置によらない
回転方向をさす。

Delayの設定値と回転時間のおよその対応は以下のとおり。
0xFF → 24.0 (sec/60deg)
0xFE → 12.0 (sec/60deg)
0xFD → 8.0 (sec/60deg)
0xFC → 6.0 (sec/60deg)
0xFA → 4.0 (sec/60deg)
0xF8 → 3.0 (sec/60deg)
0xF4 → 2.0 (sec/60deg)
0xF0 → 1.5 (sec/60deg)
0xE8 → 1.0 (sec/60deg)
0xD8 → 0.6 (sec/60deg)
これらの値は、サーボ制御パルスの周期に依存している。上記は20ms周期の場合である。
FF9の場合は、これより10%程度遅いと考えられる。

[Reverse]:0/0,other 設定値がゼロ以外のとき、サーボの動作方向を逆にする。

[送信機センター記憶]:CN3の3(Vss)と5(ICSPCLK)をショートして電源投入すると、その時の送信機センター
を記憶する。正常に記憶できると、Limit位置の左、右、続けてセンターとサーボが動く。

§補足
Gainを変えても、Limitによる動作限界、Trimによるセンター位置、Delayによる動作速度は変化しない。

各設定値は、100% の時ホーン振れ角40度を基準としている。(これはフタバ基準)。つまり、Limit=200% や
Gain=200%は、片側の振れ角が80度となる。
また、フタバFF7で出力パルス幅を調査したところ、エンドポイントやトリム・サブトリムを最大まで使うと、振れ角は150%になる。よって、各サーボメーカーはこの振れ角(150%)までは標準で対応していると考えられる。
右回転/左回転、右側/左側の表記は、フタバのあるサーボの場合である。メーカーやサーボの種類によっては、表記と逆の場合がある。

§用途
FPVのパン・チルト、グライダーのエルロン(特に2サーボ)、スケール機の引込脚やエアブレーキなどに最適。自由度が高いため、多様な用途に使える。

設定値の具体的な変更手順や、応用例は次の記事で。


フー。ドキュメント書くのって疲れる。
見てのとおり回路はメッチャ簡単。PIC12F683とパスコン、コネクタだけです。DIPなら空中配線で出来そうです。CN3を省いて、ICクリップで接続することも出来るでしょう。
現状では、送信機からの電波が途絶えたり、異常な信号を受けた時のエラー処理、強力なノイズを受けた時の万一の誤動作等の対策が一切ありません。このあたりの対策は、あとで盛り込むつもりです。しかし、逆接続等に対する回路保護は将来も予定していません。
もし試してみようという奇特な方がみえましたら、そのあたりを充分ご理解の上お試しください。

質問・要望受付中です。

全1ページ

[1]


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事