11月25日発売 書籍『Arduinoと3Dプリンタでロボットを作ろう』を出させて頂きました!

【電子工作】USB Type-C端子から5V電源を取り出す!

普及が進んでいるUSB Type-C端子、モバイルバッテリーや充電器、スマホのケーブルなど私の身の回りにもだいぶ増えてきた印象を受けます。
電子工作用途で使うモジュールやマイコンボードでもType-C端子に対応したものも増えてきました。

そして最近Type-Cに対応させたこちらのブレッドボード用の電源モジュール基板を製作したのですが、Type-C端子から5V電源を取り出す回路部分で少しミス?をしてしまいました!

Type-C端子はUSB PD(USB Power Delivery)に対応した製品では最大100W(20V/5A)までの大きな電力供給を行うことができます。

そしてType-C端子にはCC(Configuration Channel)」と呼ばれる充電用の信号ラインがあります。
USB PDに対応した機器を接続すると、このCC端子(ライン)を通じて受け手(デバイス側)の給電能力を自動的に交換し要求する電力能力以上を受けないようにする仕様となっています。

マイコンを使った基板設計でType-C端子を使ったものを作ることが多くなってきたことから、Type-CのVBUS端子から5V電源を取り出す方法を少し検証してみました。

USB Type-C端子から5V電源を取り出す!

USB Type-C端子のコネクタはコールドソケットと呼ばれる機能が搭載されていて、単純にVBUS端子に接続しただけでは電力が給電されない仕様となっています。(PD対応機器との接続の場合です)

Type-C端子は表裏で差し込んで使えるように接続ピンが2段構成になっていてそれぞれ左右対称に端子が配置されています。(画像引用:Wikipedia)

Type-Cに搭載されている各端子の役割に関して簡単にまとめてみました。
USB PD(Power Delivery)に対応したモバイルバッテリーなどの機器と接続することにより、VBUS端子から9Vや12Vといった5V以上の電圧を取り出すことも出来るようになっています。

そして受け手(デバイス側)の給電能力はCC端子(CC1/CC2:Configuration Channel)に取り付けたプルダウン抵抗により判別しています。

ここでType-CのVBUS端子から5Vを取り出す方法ですが、CC端子(CC1/CC2)に5.1kΩのプルダウン抵抗を接続することで可能となる仕様となっています。(5V/1.5A)
送り手(ホスト側)にはプルアップ抵抗があり、受け手(デバイス側)のプルダウン抵抗との分圧による電圧を計測して判別しているということですね!

仮にホスト同士、またはデバイス同士が接続された状態ではVBUSからの電力供給は行われないということになります。
上手く作られていますね!

先日製作したこちらのブレッドボード用の電源モジュール基板なんですが、このCC端子に接続するプルダウン抵抗をカットしてしまったためPD対応機器からの給電が出来ないというミスをしてしまいした。

【電子工作】テスト回路を組む際に便利なブレッドボード電源モジュールの製作!

電子工作用途でType-C端子を使い5V電源を取り出すといった用途はこれからもよく使うと思うので簡単に検証してみました。

Type-CのVBUS端子から5Vを取り出すにはCC端子に5.1kΩのプルダウン抵抗を接続する必要がある

こちらはType-C端子の電源(VBUS/GND)とUSBのデータライン(D+/D-)、そしてCC端子となるCC1/CC2が取り出せるDIP化基板です。
Type-Cの仕様テストや回路を組む際などで役立ちます!

Type-C-Type-Cケーブルを使いPDに対応した電源にそのまま接続してみると、CC端子にプルダウン抵抗が入っていないためType-CのコールドソケットによりVBUSからの出力電圧は0Vとなり供給が行われません。

ここでCC1/CC2端子に5.1kΩのプルダウン抵抗を接続してみます。

これによりVBUS端子から5V電圧が出力されるようになります。

仮にCC1のみにプルダウン抵抗を接続すると、Type-C端子の接続向きの片側のみしか給電されないことになります。
よく出来た仕組みですね!

もちろんType-A-Type-Cケーブルで接続すればプルダウン抵抗がなくてもVBUS端子からは通常通り5Vを取り出すことが出来ます。

上記記事で書いたブレッドボード用電源モジュール基板ではPDトリガー用のチップを使い5V以外に9Vや12Vなど他の電圧も取り出せる構成で当初作っていたものをカットした際にプルダウン抵抗を入れ忘れていました。
使用自体に大きな問題はないのですが、PDに対応した充電器に接続した場合には給電出来ないというものとなります。

Type-C-Type-Cケーブルが使えないものは抵抗を追加すれば可能?

最近ではType-C端子を使ったUSB機器が増えてきましたが、Type-A-Type-Cケーブルを使うと動作するのにType-C-Type-Cケーブルでは通電しない(給電されない)なんてことを何度も経験しましたが、このようなUSB Type-Cの仕組み(仕様)があるからなんですね!

電子工作用途でよく使うモジュールでも同様なことはよく起こります。
例えばTP4056という便利なバッテリー充電モジュールがありますが、これもType-C端子になったタイプのボードではType-C-Type-CケーブルでPDに対応した充電器に接続すると全く給電が開始されません。

このような場合、CC端子-GND間に5.1kΩの抵抗を追加接続すれば良いわけですが・・・このモジュールに関してははんだ付けの難易度が高いので断念しました。

【電子工作】TP4056リチウムイオン電池充電モジュールの充電電流を変更する!Type-CモジュールのPD対応は可能か?

ものによってはプルダウン抵抗を追加することによりPD機器との接続でVBUS端子から5Vを取り出すことが出来るようになるので参考までに!

最後に!

身の回りにType-CやPDに対応した機器も増えてきてマイコンを使った電子工作でもこれに対応したものを今後製作する機会も増えてくることから、簡単にType-C端子から電源を取り出す方法を検証してみました。

何かの参考になればと思います!

コメントを残す