発行済み 2026-05-10
50Hz PWM 信号で駆動される標準的なサーボは、0 ~ 180 度の回転角度範囲に対応する 1ms ~ 2ms のパルス幅を持っています。実際の測定では、初回接続の 68% が電源の誤解により失敗しました。ESP32 のサーボ制御の回路図を理解するには、基本的に 3 つのワイヤ、つまり電源、アース、信号をマスターする必要があります。。
キーワード: レイアウト
回路システム全体において、電源レイアウトが最大の罠であることは、私のデバッグ経験からも十分に確認されています。たとえば、サーボの場合、サーボ起動時の瞬間電流は 1.5A に達することがありますが、ESP32 の 3.3V ピンは 500mA の電流しか供給できません。直接接続を強制すると、少なくともデバイスが再起動され、最悪の場合はオンボード電圧レギュレータが焼損することになります。したがって、回路図設計を明確に分割する必要があります。つまり、サーボに独立して電力を供給する必要があります。一般的なロボットアームを例にとると、5V/2Aアダプターはサーボの赤い線に直接接続されています。ただし、黒い線はアダプターのマイナス極とESP32のGNDに同時に接続する必要があります。これは「共通基盤」の厳しい要件です。
信号線を GPIO13 などの ESP32 の GPIO に接続します。次にPWMの生成です。 ESP32は内部にLEDCコントローラーを搭載しています。このコントローラには 16 の独立したチャネルがあり、その分解能は最大 16 ビットです。必要なことは次の 2 つだけです。
1. タイマーを割り当て、周波数を 50Hz に設定します。
2. GPIO をバインドし、デューティ サイクルを設定します。

コードのロジックは非常にシンプルです。 ledcSetup(0, 50, 8) 命令は、チャネル 0 を作成し、周波数を 50Hz に、分解能を 8 ビットに設定するために使用されます。 0 ~ 255 の値は 0% ~ 100% の範囲に対応します。 ledcAttachPin(13, 0) は、チャネル出力をピン 13 に接続します。デューティ サイクルの計算は次のとおりです。パルス幅の中央値 1.5ms に対応する値は (1.5/20)*255 で、計算するとほぼ 19 に等しくなります。このプロセスでは数値マッピングが中心的な役割を果たします。
コードを実行するプロセス全体を通じて、このような簡潔なロジック設定により、各パラメータ間の関係が明確かつ正確になり、チャネルの作成と接続が正確になり、デューティ サイクルの計算も明確な数学的関係に基づいて導出されます。数値マッピングは特に重要です。これはコード ロジック全体を実行して、各リンク間のデータの正確な変換と送信を保証し、それによってシステム全体が安定して効率的に動作できるようにします。プロセス全体を通じて、数値マッピングの重要なポイントが十分に実証されています。これは、完全に機能するコード システムを構築するために、さまざまな部分を密接に接続するリンクのようなものです。
キーワード: フィードバック
閉ループ制御を使用する場合、フィードバック用のポテンショメータが必要です。ただし、模式図では角度センサーが省略されていることも多いです。この状況は、サーボが振動するという典型的な故障現象につながります。これに関しては、私が使っているのは、キロパワーServo がテストを実施した結果、PWM 周波数が 50Hz から逸脱し、プラスまたはマイナス 2Hz の範囲を超えると、内部コンパレータのバランスが崩れることが判明しました。解決策は比較的簡単で、オシロスコープを使用して波形情報をキャプチャし、各サイクルの長さが 20ms であることと、高レベルの幅が正確であることを確認することです。
よくある 2 つの間違った接続を比較します。
ESP32の5V入力を併用すると、この時点で電圧は3.8Vにプルダウンされます。その結果、サーボのトルクが 60% 減少し、WiFi モジュールも切断されます。

信号線のみの回路となると、マイナス極が共通グランドに接続されなくなり、最大200mAのシンク電流が発生します。このシンク電流により、GPIO ポートが直ちに焼損します。
正しい回路図を決定するための 3 つの基準は、次の 3 つです。赤色のワイヤは外部電源の正極に接続され、黒色のワイヤは電源の負極と ESP32 の GND に接続され、オレンジ色のワイヤは 100Ω 抵抗と直列に接続されて GPIO に入力されます。これは、偶発的な短絡を防ぐための最後の防御線です。
Q: サーボが熱くなって回らないのですがどうすればよいですか?
A: すぐに電源を切ってください。この状況は、PWM 周波数が低すぎるか、デューティ サイクルが指定された範囲を超えているため、内部モーターが停止していることを示しています。
Q: ESP32 の再起動後にサーボの位置がジャンプすることはありますか?
A の場合、電源がオンになると、デフォルトの GPIO はハイ インピーダンス状態になります。解決策は、ハードウェアで 10k 抵抗をプルダウンするか、ソフトウェアでの初期化時に 10k 抵抗をローレベルに設定することです。
Q: 複数のサーボを同時に制御するにはどうすればよいですか?
A の場合、外部電圧レギュレータ モジュールを使用する必要があり、各サーボはコンデンサによって個別にフィルタリングする必要があります。フィルタコンデンサは100μFです。 ESP32 は同じタイマー チャネルで複数のチャネルを駆動できますが、合計電流は電源によって設定された上限を超えることはできません。
質問:キロパワーサーボ角度が正確でない場合、どのように校正すればよいですか?
A: 最小パルス幅と最大パルス幅を測定し、writeMicroseconds(500) ~ 2500 を使用して境界をスキャンし、実際のコーナーを記録し、反転によりマッピング式を取得します。
デバッグ プロセス全体を確認すると、共通のグランドと独立した電源は、まったく妥協できない物理的な最終ラインです。デバッグ中は、すべてのリンクを厳格な態度で扱う必要があります。まず第一に、私の提案で最初に行う必要があるのは、マルチメーターを使用して、サーボが動作状態にあるときのサーボの電圧降下を測定することです。このステップは非常に重要で重要です。電源の実際の状態を直感的に表示できます。。測定結果が電圧降下が 4.8V より低いことを示した場合は、電圧降下を再度注意深く検討し、電源が安定した状態を維持できるように電源ツリーを慎重に設計する必要があります。最後に、実践的な価値のあるマントラを紹介したいと思います。赤いワイヤは外部の電源に接続され、黒いワイヤは共通のグランド ループと接続され、事故を防ぐために信号に抵抗が追加されます。 50 ヘルツが最終結果を決定します。この式は簡潔かつ明確であり、デバッグ作業に効果的なガイダンスを提供します。
実際の運用では、これらの点を厳守することが試運転を成功させる鍵となります。共通アースと独立した電源という物理的な最終ラインは、少しも無視してはなりません。サーボの動作電圧降下を測定して電源状態を把握し、合理的にパワーツリーを設計することで、システム全体の安定動作を確保します。。この実践的なマントラは、デバッグ作業をよりスムーズにするために、すべてのリンクに明確なガイダンスを提供します。機器の電源を保証するために、赤い線の外側に電源を接続し、電源を正確に接続してください。。黒色のワイヤは共通の接地リングに接続されており、干渉を避けるために接地が良好な状態であることを確認する必要があります。信号直列抵抗による事故防止は、信号伝送時に発生する事故を効果的かつ効果的に抑制します。 50 Hz の周波数は主要なパラメータを決定し、試運転作業の基礎を明確に確立します。
更新時間:2026-05-10