発行済み 2026-04-12
多くの DIY ロボット工学やオートメーション プロジェクトでは、複数のアクチュエータを組み合わせる必要があることがよくあります。2 つの標準 DC モーターと 1 つの標準 DC モーターです。サーボ正確な角度制御のためのモーター、および追加のモーター (ポンプ、スクリュードライブ、または 2 番目のジョイントなど)。このガイドでは、これら 4 つのデバイスを 1 つの稼働システムに安全に統合する方法について説明し、電源管理、配線、制御ロジック、トラブルシューティングについて実際の例を交えて説明します。
2 つのモーター、1 つのモーターを使用する場合に最も一般的な故障サーボ、そして別のモーターを一緒にすると、電力不足。 DC モーターは高い起動電流 (多くの場合、定格電流の 2 ~ 3 倍) を消費します。サーボ負荷がかかった状態で移動すると、突然のスパイクが要求されることがあります。 4 つすべてが同じ低電流源から供給されている場合、電圧が降下し、マイクロコントローラーがリセットされたり、サーボがジッターしたり、モーターが停止したりする原因になります。
典型的な趣味のプロジェクトの例:あるビルダーは、2 つのホイール モーター、アームを持ち上げるためのサーボ、グリッパーを開閉するための追加のモーターを備えた小型のつかみロボットを作成しました。単一の 5V/2A USB パワーバンクを使用すると、サーボが持ち上げようとするとすぐにロボットの動きが停止します。二輪モーターと追加モーター用の 7.4V バッテリー パック (電圧レギュレーター付き)、およびサーボとマイクロコントローラー用の専用 5V/3A UBEC という電源を分離した後、ロボットは確実に動作しました。
「2 つのモーター + 1 つのサーボ + 1 つのモーター」に安全に電力を供給するには:
1. 2 つの DC モーター– 6V ~ 12V のバッテリー (例: 2S リチウムイオンまたは 6 ~ 8 本の単三電池) を使用します。デュアル H ブリッジ モーター ドライバー。ドライバーはチャネルごとに少なくとも 2A を継続的に処理する必要があります。
2. サーボ– ほとんどの標準サーボは 5V (4.8 ~ 6V) を必要とします。から電力を供給します独立した5Vレギュレータ少なくとも 1.5 ~ 2A ピークを供給できます。マイクロコントローラーの 5V ピンからサーボ電源を供給しないでください。
3. 追加のモーター– 別の DC モーター (ドリルやファンなど) の場合は、2つのモーターと同じバッテリーただし、別の単一チャネル H ブリッジまたはリレー モジュールを経由します。ステッピングモーターやブラシレスモーターの場合は、専用のドライバーを使用してください。
4. 共通点– すべての電源のマイナス端子を一緒に接続します。これにより、制御信号に基準点が確実に存在します。
4 つのアクチュエーターはすべて、マイクロコントローラー (Arduino 互換ボード、ESP32、または STM32 など) から制御信号を受け取ります。次のガイドラインを使用してください。
2つのモーター– 速度制御のために 2 つのモーター ドライバー入力を PWM 対応ピンに接続します。方向に 2 つのピン (IN1、IN2) とモーターごとに 1 つの PWM ピンを使用します (または両方を処理するライブラリを使用します)。
サーボ– 信号線を任意のデジタル ピンに接続します。標準のサーボ ライブラリ (または同等のもの) を使用して、50Hz PWM パルス (1ms = 0°、1.5ms = 90°、2ms = 180°) を送信します。
追加のエンジン– ドライバーの入力ピンを 2 つのデジタル ピン (順方向/停止/逆方向) に接続し、オプションで速度用の PWM ピンを接続します。
重要:追加100~470μFの電解コンデンササーボの電源レールとメインバッテリー端子の間。これにより、電圧スパイクがフィルタされ、リセットが防止されます。
制御ロジックは、同時に大電流が引き出されるのを避けるためにアクションを順序付けする必要があります。たとえば、2 つの駆動モーターをフルスピードで動かすときは、サーボに同時に急に動くように命令しないでください。50 ~ 100 ミリ秒待ってください。
// 掴んで持ち上げるロボットの疑似コード #includeサーボアームサーボ; int MotorLeftPWM = 5、motorLeftDir1 = 6、motorLeftDir2 = 7; int MotorRightPWM = 9、motorRightDir1 = 10、motorRightDir2 = 11; int extraMotorPWM = 3、extraMotorDir1 = 2、extraMotorDir2 = 4; void setup() { armServo.attach(8); // すべてのピンを出力として設定 armServo.write(90); // 中立位置遅延(500); void moveForward() { setMotor(motorLeftDir1, MotorLeftDir2, HIGH, LOW); setMotor(motorRightDir1, MotorRightDir2, HIGH, LOW);アナログ書き込み(モーター左PWM, 200);アナログ書き込み(モーター右PWM、200); } voidliftAndGrab() { // 総電流を減らすために駆動モーターを停止しますanalogWrite(motorLeftPWM, 0);アナログ書き込み(モーター右PWM, 0);遅延(50); // サーボをゆっくり動かします (int pos = 90; pos
核心的な結論を繰り返します:2 つのモーター、1 つのサーボ、およびもう 1 つのモーターで成功するかどうかは、次の要素に完全に依存します。サーボ用の別電源そして共通接地。 4 つのアクチュエータすべてに対して単一の USB 電源に依存しないでください。
プロジェクトを完了するための実行可能な手順:
1. ストール電流を測定する各モーターとサーボの値を測定します (ピークホールドまたは電流クランプ付きのマルチメーターを使用します)。
2. 電池の選択– メインバッテリー容量 ≥ (モーター電流の合計 × 1.5)、サーボバッテリー ≥ 2A 連続。
3. 一度に 1 つのコンポーネントをビルドしてテストする– 最初に 2 つのモーター (前進/後進)、次にサーボ (0 ~ 180° スイープ)、次に追加のモーター (負荷に応じてオン/オフ)。
4. デカップリングコンデンサを追加する– 各ドライバの近くに 100 ~ 470µF、メイン バッテリの両端に 1000µF の低 ESR コンデンサ。
5. 大電流アクションをずらすコードを作成する– 3 つのモーターとサーボを同時に動かすことは避けてください。
6. 温度を監視する5 分間の動作後 – いずれかのドライバーが 70°C を超える場合は、ヒートシンクを追加するか、PWM デューティ サイクルを下げます。
このガイドに従うことで、クラッシュや不安定な動作のない、2 つの DC モーター、1 つのサーボ、および追加のモーターを統合した信頼性の高いシステムを構築できます。常に電源アーキテクチャから始めて、最終組み立ての前に各アクチュエータを個別に検証します。
更新時間:2026-04-12