低コストのホビーサーボを「自由に」実行するように変更するにはどうすればよいですか?


15

私はいくつかの趣味のサーボ(Power HD 1501MG)を持っているので、それらを(Arduinoを介して)制御できるようにしたいので、設定した角度に移動するか、「フリーランニング」モードにします。どこに行っても負荷がかかる場所。

これは可能ですか、それともギアを剥がしてしまうだけですか?

私が最初に考えたのは、単にサーボへの電力を殺すことですが、その状態でそれらを動かすのに必要な力は私が望む以上のものです。

可能であれば、ハードウェアの変更を見ていますか、それともソフトウェアで変更できますか?


3
ホビーサーボは堅牢なロボット工学にはあまり適しておらず、修正されたホビーサーボはさらに悪い。これを行うと、得られるものが気に入らないでしょう。手頃な価格のギアヘッドDCモーターとそれを駆動するための小さなHブリッジを購入すると、はるかに堅牢になり、より幸せになります。L298回路からHブリッジを非常に低コストで構築できます。
ジョンワット

1
ここでの私の次の質問は、「hブリッジとは何ですか?」(しかし、私は最初にグーグルを試してみます!)
Khrob

回答:


13

あなたが求めていることは、標準のRCサーボでは非常に簡単ではありません。

あなたが求めているのは、逆駆動可能なサーボです。IEは外部トルクを加えることで自由に回転できるもの。これらを作成することは確かに可能であり、多くのロボットで使用されますが、ほとんどのRCサーボはそれらを逆駆動するためにかなりのトルクを必要とします。私はそれらをセミバックドライブ可能と呼びます。

運転を妨げているのは何ですか?2つのこと:

摩擦:まず、ギアチェーンとモーターの摩擦。RCサーボは常にギアダウンされています。出力はモーターよりも遅く回転します。もちろん、これはあなたがそれをバックドライブしようとすると、モーターを非常に迅速に回転させなければならないことを意味します。モーターの摩擦やコギングは、出力で何十時間も感じられます。

バックドライバビリティ

電流:電気モーターについて驚くべきことは、端子を短絡すると回転しにくくなることです。モーターが回転すると、回転に逆らって電流が流れます。サーボ内部の電子機器は、オフのときでも十分な電流を流すことができるため、逆駆動を著しく防止します。過去には、一部の大型ステッピングモーターは、非装着の場合でも、電源が入っていない機器に接続されている場合、バックドライブすることがほとんど不可能であることに気づきました。しかし、プラグを抜くと、自由に回転させることができます。

そのため、逆ドライバビリティを改善する1つの方法は、電流が流れるのを防ぐことです。これを行う明白な方法は、モーターを電子回路から完全に切り離すことです。しかし、FETを使用しても、FET内のダイオードによって電流が流れる可能性があるため、これを行うのは困難です。ただし、実際にモーターを切断するリレーを使用できます。モーターの端子の1つでのみ使用する必要があります。

マクソンのESCON

「適切な」サーボコントローラー(Maxon のESCONなど)には、実際にモーターターミナルに正しい電圧を印加することで電流の流れを積極的に防ぐことができる電流コントローラーが含まれています。サーボの電子部品を電流制御が可能なものに置き換えると、本当に役立つかもしれません。

すべきこと:サーボを開き、モーターのはんだ付けを解除し、再組み立てします。今すぐバックドライブするのは簡単ですか?簡単なら、あなたがやりたいことができるかもしれません。それでもアプリケーションにとって難しい場合は、別のサーボを選択するか、独自のサーボを作成する必要があります。ギアの摩擦が可能な限り低減されるように、単一のギアステージで1つを作成し、電流制御ループを備えたドライブエレクトロニクスを使用して、ゼロ電流を保証します。


SimpleCoderの答えも素晴らしいです。
フロブ

7

興味深い質問。

私が調査する最初のオプションは、あなたが提案したように電力を切ることでしょう(おそらく、電力を切り替えるためにソフトウェアでMOSFETを制御します)。

別のより複雑なアプローチは、サーボの消費電流を監視して、サーボが高負荷状態にあることを検出することです。「フリーランニング」モードにしたい場合は、ソフトウェアに、消費電流が最小になる位置にサーボを連続的に移動させてもらいます。ソフトウェアが「正しい」位置を見つけようとすると、サーボから多少の不安定な動きがあるため、これは完全に「フリーランニング」サーボにはなりませんが、アプリケーションによっては機能する場合があります。

消費電流を監視するためにサーボを変更する必要はありません。SparkFunのこのようなボードは、サーボとその電源の間に位置し(サーボごとにこれらのいずれかが必要です)、電流に対応するアナログ電圧(マイクロコントローラーADCピンで読み取ることができます)を出力します。

ここに画像の説明を入力してください

SparkFunからの画像


@Khrob:私の編集を参照してください
クリスLaplante

ニース-私は今それらの束を注文しました!
フロブ

@Khrob:いいですね、彼らがどのように機能するか教えてください!(そして、それがうまくいかなくても私を責めないでください;))
クリスラプランテ

@Khrob:あなたが測定しているか小電流に応じて、あなたはより敏感ボードを必要とするかもしれないということも、メモ:sparkfun.com/products/8883
クリスLaplante

1
安く始めて頑張ります!
フロブ

5

通常、これらのタイプのホビーサーボは連続回転用に作られておらず、多くの場合、機械的停止が含まれます。以下に概説するのは、実際の閉ループ動作を絶対に得ない確実な方法であり、代わりにサーボのみを継続させることに注意してください。

ほとんどの場合、オンラインで「xサーボの継続的な変更」をすばやく検索できますが、ここでは一般的なプロセスの概要を説明します。

  • サーボが物理的に停止しているかどうかを確認します。その場合は、サーボを開いて削除する必要があります(Dremelツールをお勧めします)。
  • 次に、フィードバックメカニズムの「中心」を探します。
    • サーボをArduinoに接続し、「center」コマンド(通常はPWM 127)を送信します。
    • フィードバック機構(通常はポテンショメーター)を見つけ、サーボがまったく動かなくなるまで調整します。
    • ポテンショメータを所定の位置に接着するか、抵抗を測定してポテンショメータを設定値の抵抗器に交換します。
  • サーボを組み立て直します。

これで、サーボに「中央」コマンドを送信すると、サーボの移動が停止し、正または負のコマンドを送信すると、サーボが一方向または他方向に連続的に回転します。回転速度は、送信されたコマンドの中心からの「距離」に比例する必要があります。

サーボの動作を新しく変更したサーボに戻したい場合は、何らかのエンコーダーを追加してループを再度閉じます。

または、ダイナミクセルシリーズのサーボをご覧ください。これにより、連続操作とサーボ操作の両方が可能になり、Arduinoのサポートが含まれます。


動きに機械的な制限があるのは問題ありませんが、倒立振子のセットアップに亀裂を入れるためにこれをさらに拡張する良い方法です!私はダイナミクセルを見てきましたが、とてもクールですが、これに費やしたいと思っているよりも多くの$$です。
フロブ

私の印象では、OPはサーボを駆動して動きのあるものを開始し、慣性で自然に停止するまで電源なしで「co走」させたいと思っていました。この効果が発生する可能性のあるサーボ設計(連続または非連続)は知りません。
クレイク

@Crake、私は同意します、私は間違った質問に答えたと思いますが、すでに仕事をしたので、私はこれを残します:p。IIRC、ダイナミクセルサーボには「コースト」設定が必要です。
mjcarroll

@mjcarrollうん、安価なロボットプロジェクトの一般的なタスクであるため、連続回転のためにサーボを変更する方法について言及することは有用だと思います。ダイナミクセルサーボがSimpleCoderの回答に記載されている電流測定アルゴリズムを使用し、常にPWMを調整して電流を最小化しようとしているのか、サーボモーターをドライブシャフトから切り離すための物理的なクラッチがあるのか​​、興味があります。
クレイク

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.