はじめに

OSOYOO PWM HATを使用すると、Raspberry PiはI2C接続を介して最大16個のサーボモーターをシンプルかつ簡単な方法で制御できます。同様に重要なことに、この拡張ボードは2つの電源管理モジュールを統合しており、一方はRaspberry Piに電力を供給し、もう一方は外部サーボと拡張ボード上の5Vピンに電力を供給します。また、オンボード電源スイッチ、さまざまな種類の電源入力端子、3.3V/5V/VIN電源ヘッダー、SPIインターフェース、および3.3Vと5Vのロジックレベル信号用の2つのI2Cインターフェースなども装備されています。これらにより、Raspberry Piのロボットアームやロボット関連プロジェクトを簡単に開始できます。

これらのボードは、完璧なタイミングで16個のサーボを制御する機能を追加します。また、最大1.6 KHzのPWMと12ビットの精度で、完全にフリーランニングで動作します。OSOYOO PWM HATは、わずか2ピンのI2Cを介して最大16個のサーボまたはPWM出力を駆動します。オンボードのPWMコントローラーは、Raspberry Piに追加の処理オーバーヘッドをかけることなく、16チャンネルすべてを同時に駆動します。さらに、最大62枚をスタックして、同じ2ピンで最大992個のサーボを制御できます!

5Vで給電でき、3.3Vロジックレベル信号を受け入れることができるすべてのサーボで動作します。

注:このプラグアンドプレイHATには、Raspberry Piに接続するためのヘッダーが含まれているため、すぐに使用を開始するためにハンダ付けは必要ありません。

特徴

ハードウェアの説明

  1. 標準Raspberry Pi 40PIN GPIO拡張ヘッダー、Raspberry Piシリーズボード、Jetson Nanoなどをサポートします。
  2. ポストネジ穴: Raspberry Piと互換性があり、取り付けをより安全にします。
  3. MP1584EN DC-DCチップ: Raspberry Pi用の電源管理チップ。5Vレギュレーターを統合し、最大3Aの出力電流。PWR_IN端子を介してバッテリーから給電できます。
  4. PCA9685: 16チャンネル、12ビットPWM Fm+ I2CバスLEDコントローラー。PWM HAT上の16チャンネルの12ビットパルス幅変調(PWM)をI2C制御で提供します。
  5. サーボ/PWMヘッダー: PWM HATは、さまざまなPWMデバイスで使用でき、最も一般的なアプリケーションはサーボとLEDです。これらのヘッダーは、サーボモーターを簡単に接続できるように間隔が空けられています。さらに、ほとんどのホビータイプのサーボモーターコネクタの標準的な3ピン構成で引き出されています。黒いピンヘッダーはGND(主にサーボの茶色のワイヤーに接続)、赤いピンヘッダーは5V電源、黄色いピンヘッダーはPWM信号ケーブル用です。0〜15チャンネルがあり、同時に16個のサーボを接続できます。サーボケーブルを逆に接続しないでください。サーボが回転しなくなります。
  6. 電源用のネジ端子: 6V〜18V DC。極性を逆に接続しないでください。
  7. 電源用のXH2.54端子: 6V〜18V DC。ネジ端子台と並列です。端子ワイヤーのプラス極とマイナス極に注意し、逆にしないでください。
  8. リセッタブルヒューズ: 過電流が発生した場合に回路を保護します。5Aを超えると、自動的に電流引き込みを抑制するか、負荷が取り除かれるまで電源を切断します。
  9. 電源スイッチ: 電源のオン/オフを制御します。
  10. 電源出力インターフェース: バッテリーを他のデバイスに接続でき、電源スイッチで制御されます。配線には2P XH2.54端子またはピンヘッダーを選択できます。また、入力電圧を検出するための3線式DC電圧計のインターフェースとしても使用できます。
  11. MP2482EN DC-DCチップ: 5Vレギュレーターを統合し、最大5Aの出力電流。PWM/サーボヘッダーを含む、オンボードのすべての5Vヘッダーに電力を供給します。
  12. I2Cアドレスインターフェース: A0-A5は、PCA9685チップのI2Cデバイスアドレスを設定するために使用でき、OSOYOO PWM HATに複数のI2Cデバイスを同時に接続できます。
  13. I2C_2インターフェース: 5Vロジックレベルデバイス用のI2Cインターフェース。オンボードのロジックレベルコンバーターが3.3Vと5Vのレベル信号の変換を完了し、Raspberry Piやその他のデバイスへの損傷を防ぎます。
  14. I2C_1インターフェース: 3.3Vロジックレベルデバイス用のI2Cインターフェース。Raspberry PiのI2Cインターフェースに直接接続されます。
  15. 拡張電源インターフェース: 3.3Vおよび5Vデバイス用の電源。
  16. RPi SPIインターフェース
  17. NDC7002N: ロジックレベルコンバーター。
  18. 電源インジケーター
  19. RT9193-33: 3.3Vレギュレーター。拡張ボードに3.3V電源を供給します。

DSIインターフェースとCSIインターフェースにはスロットが設けられており、画面やカメラへの接続に影響を与えません。

寸法


アプリケーション:

リソース

関連プロジェクト

OSOYOO PWM HATの紹介

OSOYOO PWM HATの使用開始

ドキュメント

OSOYOO PWM HATの回路図

寸法

データシート

FAQ

Arduinoでも使用できますか?

もちろんです!Arduinoを含む複数のマイクロコントロールボードでOSOYOO PWM HATを使用できます。唯一の条件は、メインコントロールチップがI2C通信をサポートしていることです。これにより、チップとPCA9685サーボドライバー間の通信が可能になり、複数のサーボを同時に制御できます。

I2Cアドレスをスキャンすると、なぜ2つのI2Cデバイスアドレスが表示されるのですか?

使用されている制御チップはPCA9685に対応しています。電源がオンになると、2つのI2Cアドレスが表示されます。1つはオンボード抵抗に従って構成されたアドレスで、デフォルトは0X40です。もう1つはALLCALLADRレジスタによって構成された0X70です。デモを再度実行して、レジスタの値を確認できます。

同じPWM HATを2枚スタックできますか?

スタックできますが、I2Cアドレスの抵抗を変更する必要があります。左側のI2Cアドレスで、デフォルトの上部抵抗をハンダごてで下部にハンダ付けします。異なる組み合わせにより異なるI2Cアドレスの組み合わせが生成され、合計で2の5乗の62の組み合わせがあります。

このHATはLEDにも使用できますか、それともサーボ専用ですか?

LEDやその他のPWM対応デバイスにも使用できます!LEDに3.3Vと220オームの直列抵抗で電力を供給しても問題ない場合は、信号ピンとGNDピンを使用してください。LEDに最大5Vの電力を供給したい場合は、V+と独自の抵抗とLEDを使用してください。

LEDで使用している場合、PWMを完全にオフにできないのはなぜですか?

LEDを完全にオフにしたい場合は、setPWM(pin, 4096, 0)を使用してください。setPWM(pin, 4095, 0)ではありません。

利用可能なデバイスがありません

接続を再確認してください。Raspberry Piでは、OSError: [Errno 121] Remote I/O error の読み出しで示される場合があります。

Raspberry Piでは、I2Cハードウェアが有効になっていることも確認してください。これは通常、Error: Failed to connect to I2C bus 1. の読み出しで示されます。

I2C接続の確認
Raspberry PiがI2Cを介してPWM HATと通信できるかどうかを確認する簡単な方法は、I2Cバスをpingすることです。Raspbian Stretchの最新リリースでは、i2ctoolsパッケージがプリインストールされているはずです。インストールされていない場合は、ターミナルで次のコマンドを実行してください。

sudo apt-get install i2ctools
i2ctoolsパッケージがインストールされたら、ターミナルで次のコマンドを使用してI2Cバスをpingできます。

i2cdetect -y 1
ターミナルにテーブルが出力されるはずです。PWM HATが正しく接続/動作している場合は、0x40のアドレス空間が40とマークされているのが表示されるはずです。

電流引き込みの問題

Raspberry Piはデフォルトでモジュールに5Vを供給するため、制御サーボの電力が大きすぎる場合(MG996R、DS3120MGなど)、Raspberry Piの5Vが引き下げられます。サーボが電源が処理できる以上の電流を引き込んでいる場合、PiサーボpHATは正しく動作せず、Raspberry Piが断続的に再起動/ブラウンアウトする可能性があります。

回転角度を正確に制御できますか?

いいえ、これはエントリーレベルです。

なぜ揺れるのですか?

わずかに揺れるのは正常です。サーボの実際の角度が最小物理角度よりも小さいため、その角度を維持するための電流が発生し、それが揺れを引き起こします。