※本記事にはプロモーション(広告)が含まれています。
USB Type-C から 5V を取るときは、CC1・CC2 をそれぞれ 5.1kΩ で GND につなぎます。この抵抗がないと C-C ケーブルでは充電器が 5V を出さず、理由はCC の抵抗の節、使う電流ごとにやることは早見表にあります。
マイコンの基板を作るとき、電源を USB から取る場面はとても多くあります。パソコンにつなげば動き、スマホの充電器でも動くので便利です。
ただし、USB には「何 mA まで使ってよいか」の決まりがあり、Type-C には「抵抗をつけないと 5V が来ない」というしくみがあります。この記事では、USB から電源を取る回路の設計を、例の基板で順に説明します。

この記事の例:USB Type-C の 5V で動く 3.3V の基板
Type-C の差し込み口から 5V をもらい、LDO で 3.3V にしてマイコンを動かす基板を例にします。使う電流は最大 500mA とします。
差し込み口から来る線は、5V の VBUS、0V の GND、相手を見分ける CC1・CC2、通信の D+・D− です。この記事では、このうち電源に関わる VBUS・GND・CC を扱います。
VBUS のあとに入口の保護(ヒューズ・逆流を防ぐダイオード)を置き、LDO(電圧を下げて一定にする部品)で 3.3V を作ります。CC1・CC2 には、5.1kΩ の抵抗を1本ずつつないで GND へ落とします。
つまり、USB の電源は「電流」「CC の抵抗」「届く電圧」の3つを押さえれば設計できます。

USB の電源は VBUS と GND。Type-C には CC がある
どの USB も、電源は VBUS(5V)と GND(0V)の2本です。Type-C だけは、さらに CC という線で「5V を出してよい相手か」を見分けます。
昔からある四角い Type-A の差し込み口には、VBUS・D−・D+・GND の4本の線があります。パソコンの Type-A の差し込み口は、つないだ瞬間から VBUS に 5V が出ています。
Type-C は、裏表どちらでも挿せるように、VBUS と GND がそれぞれ4本ずつあります。そして CC1・CC2 という2本の線があり、ここにつながった抵抗の値で、つながった相手が何かを見分けます。
Type-C(差し込み口の形)と USB PD(電力の決まり)がどうちがうのかを、充電の速さから理解できる
つまり、Type-C で電源を取るなら、VBUS と GND に加えて CC の扱いが必要です。

USB の 5V から取れる電流の目安
USB 2.0 のポートは 500mA、USB 3.x は 900mA、Type-C は相手が知らせれば 1.5A・3A まで使えます。相手が何を出せるかわからないときは、500mA までと考えます。
| ポートの種類 | 5V で使える電流 | 電力 |
|---|---|---|
| USB 2.0(Type-A など) | 500mA | 2.5W |
| USB 3.x(Type-A など) | 900mA | 4.5W |
| BC1.2 の充電用ポート | 1.5A | 7.5W |
| Type-C(1.5A を知らせる相手) | 1.5A | 7.5W |
| Type-C(3A を知らせる相手) | 3A | 15W |
| USB PD(話し合い) | 相手と決める | 電圧も上げられる |
USB 2.0 の 500mA は、パソコンとやり取り(enumeration:機器の登録)をして許可をもらった後の値です。やり取りの前は 100mA 未満にする決まりがあります。マイコンの基板で通信をしないなら、500mA を超えない設計にしておくのが安全です。
USB のポートの電圧は 5V±5%(4.75〜5.25V)です。電圧の下限 4.75V は、後で電圧降下を計算するときに使います。
基板の部品の電流を足して、500mA に収まるかを確かめる手順がわかる
つまり、まずは 500mA を上限に設計し、それを超えるなら Type-C の相手が 1.5A・3A を出せるかを CC で確かめます。

CC のしくみ:充電器の Rp と、基板の 5.1kΩ で電圧ができる
充電器は CC を抵抗 Rp で 5V へ、基板は CC を抵抗 Rd(5.1kΩ)で GND へつなぎます。2本の抵抗で CC に電圧ができ、充電器はそれを見て 5V を出します。
充電器やパソコン(電力を出す側=ソース)の CC は、抵抗 Rp で 5V につながっています。基板(電力をもらう側=シンク)の CC は、抵抗 Rd で GND につながっています。ケーブルの CC の線でこの2つがつながると、Rp と Rd で 5V を分けた電圧が CC にできます。
充電器は、CC の電圧が下がったのを見て「Rd のついた相手がつながった」と判断し、VBUS に 5V を出します。何もつながっていなければ、VBUS は 0V のままです。
Rp の値は、充電器が出せる電流で決まっています。ふつう(500mA・900mA)なら 56kΩ、1.5A なら 22kΩ、3A なら 10kΩ です。
つまり、CC は「抵抗2本の分圧」で、相手がいるか・何 A 出せるかを伝え合う線です。

5.1kΩ は CC1 と CC2 に1本ずつ。1本にまとめない
5.1kΩ は CC1 と CC2 に1本ずつ、合わせて2本つけます。2本の CC をつないで1本の抵抗にまとめるのは、まちがいです。
ケーブルの中で CC の線は1本だけで、挿した向きによって、基板の CC1 か CC2 のどちらかにつながります。だから、両方に 5.1kΩ をつけておけば、裏表どちらで挿しても充電器から 5.1kΩ が見えます。
「どうせ片方しかつながらないなら、まとめて1本でいい」と考えたくなりますが、これは失敗のもとです。中に小さな部品(e-marker:ケーブルの性能を伝えるチップ)の入ったケーブルでは、その部品がもう片方の CC からも見えてしまい、充電器が「つながったのは別の種類の機器だ」と判断して 5V を出さないことがあります。
つまり、5.1kΩ は CC1 用と CC2 用で必ず2本です。

CC の電圧を測れば、使ってよい電流が分かる
CC の電圧が約0.42V ならふつう(500mA・900mA)、約0.94V なら 1.5A、約1.69V なら 3A まで使えます。500mA を超えて使いたいときは、この電圧を読みます。
| 充電器が出せる電流 | Rp | CC の電圧(計算) | 見分ける範囲 |
|---|---|---|---|
| ふつう(500mA/900mA) | 56kΩ | 0.42V | 0.25〜0.61V |
| 1.5A | 22kΩ | 0.94V | 0.70〜1.16V |
| 3.0A | 10kΩ | 1.69V | 1.31〜2.04V |
見分ける範囲は、TI の Type-C の IC「TUSB321AI」のデータシートの値です。計算した電圧は、どれも範囲のまん中あたりに入ります。5.1kΩ のばらつき(4.6〜5.6kΩ)を入れても、範囲の外には出ません。
CC の電圧を読むには、マイコンの A/D 変換(電圧を数字に変える機能)につなぐか、専用の IC を使います。読まない設計なら、相手が何を出せるかわからないので、500mA までにします。
つまり、5.1kΩ をつけるだけなら 500mA まで。もっと使うなら CC の電圧を読んで、相手が 1.5A・3A を出せるときだけにします。

CC の抵抗がないと、C-C ケーブルでは 5V が来ない
5.1kΩ をつけ忘れると、Type-C の充電器と C-C ケーブルでは 5V が来ません。A-C ケーブルではケーブルの中の 56kΩ が 5V を出すので動いてしまい、まちがいに気づきにくいのが落とし穴です。
Type-C の充電器+C-C ケーブル
Type-C の充電器は、相手の 5.1kΩ が見えてから VBUS に 5V を出します。5.1kΩ のない基板をつなぐと、充電器は「何もつながっていない」と判断し、5V を出しません。
Type-A の充電器+A-C ケーブル
Type-A の差し込み口は、いつも 5V が出ています。さらに、Type-A と Type-C をつなぐケーブルの中には、56kΩ の Rp が入っています。だから、5.1kΩ のない基板でも 5V が来て動きます。
つまり、Type-C の差し込み口をつけたら、5.1kΩ×2 は必ず入れます。確かめは C-C ケーブルで行います。

ケーブルの電圧降下:行きと帰りの2本分で下がる
ケーブルの電線にも抵抗があるので、電流が流れると電圧が下がります。VBUS の線と GND の線の2本分で計算します。
電流は、充電器から VBUS の線を通って基板に行き、GND の線を通って帰ってきます。だから、長さは片道ではなく2本分です。
USB ケーブルの細い電線(28AWG)の抵抗は、1m あたり最大 0.237Ω です(L-com の USB ケーブルの仕様書)。1m のケーブルで 0.5A 流すと、0.5×0.237×1×2=0.237V 下がります。5V の充電器なら、基板に届くのは約4.76V です。
太い電線(20AWG、1m あたり 0.0346Ω)なら、0.5×0.0346×1×2=約0.035V しか下がりません。同じ 1m でも、太さで約7倍ちがいます。
電線の抵抗で電圧が下がる理由と、計算式・許容値の考え方がわかる
つまり、ケーブルは「小さな抵抗」です。電流×抵抗×2本で、下がる電圧を見積もります。

ケーブルの太さと長さで、基板に届く電圧が変わる
細いケーブルを長くして大きな電流を流すと、基板に届く電圧が大きく下がります。28AWG・2m で 1.5A なら、5V が約3.6V まで下がります。
充電器の出口を 5.0V として、電流ごとに基板に届く電圧を計算しました(コネクタの接触の分は入れていません)。
| ケーブル | 0.5A | 1A | 1.5A |
|---|---|---|---|
| 20AWG・1m | 4.97V | 4.93V | 4.90V |
| 28AWG・1m | 4.76V | 4.53V | 4.29V |
| 28AWG・2m | 4.53V | 4.05V | 3.58V |
500mA までなら、細い 1m のケーブルでも 4.76V で、USB の下限 4.75V とほぼ同じです。1A を超えると、細いケーブルでははっきり下がります。
つまり、1A を超えて使うなら、太く短いケーブルを指定するか、電圧が下がっても動く設計にします。

届く電圧の見積もり:いちばん低い条件で足し引きする
ポートの下限 4.75V から、ケーブルの 0.24V と、ダイオードの 0.5V を引くと約4.0V。3.3V の LDO に要る約3.54V より上なので、例の基板は動きます。
電圧の見積もりは、いちばん不利な条件で行います。ポートの電圧は下限の 4.75V、ケーブルは細い 28AWG の 1m、電流は最大の 0.5A です。
4.75V −(ケーブル)0.237V −(逆流防止のダイオード SS34)0.5V = 約4.01V。
LDO(TLV755P)で 3.3V を作るには、3.3V+ドロップアウト電圧(最大 0.238V)=約3.54V 以上が要ります。4.01V なら約0.47V の余裕があります。
LDO で 3.3V を作るときの損失と温度を、電流ごとに計算できる
つまり、「下限 − ケーブル − ダイオード」が、使う部品の必要な電圧より上かを確かめます。

逆流:自分の電源から USB へ電流を押し込まない
基板に USB 以外の電源(AC アダプタや電池)もあるなら、ダイオードで「出る向き」だけにして、USB の VBUS へ電流が逆に流れないようにします。
USB と AC アダプタの両方から電源を取れる基板で、2つを線でつないだだけだと、電圧の高いほうから低いほうへ電流が流れます。アダプタの電圧が少し高いと、USB の VBUS へ電流が逆に流れ込み、パソコンや充電器に負担をかけます。
それぞれの電源のあとにダイオードを1本ずつ入れると、電流は電圧の高い電源からだけ回路へ流れ、反対の電源へは戻りません。電圧の下がりが小さいショットキーダイオード(例:SS34、最大 0.5V)がよく使われます。
ダイオードでは電圧が下がる分、熱も出ます。0.5A なら 0.5V×0.5A=最大0.25W です。もっと損失を減らしたいときは、MOSFET を使う方法もあります。
電圧の下がりが小さいショットキーと、ふつうの整流ダイオードのちがいと使い分けがわかる
つまり、電源が2つあるなら、それぞれにダイオードを入れて、電流の向きを決めます。

USB の入口に置く部品:ヒューズ・TVS・ダイオード・コンデンサ
差し込み口のすぐ後ろにヒューズと TVS で守りを置き、ダイオードとコンデンサのあとで LDO が電圧を作る、という並びが一例です。
ヒューズ:ショートからポートを守る
基板の中でショートが起きたとき、USB のポートに大きな電流が流れないように、ヒューズを入れます。何度でも元に戻る PTC(ポリスイッチ)がよく使われます。
TVS:差し込むときの静電気を逃がす
USB は、人が手で抜き差しする差し込み口です。差し込むときの静電気が回路に入らないように、TVS ダイオード(大きな電圧を GND へ逃がす部品)を VBUS や CC・D+・D− に入れます。
コンデンサ:電圧を安定させる
LDO の手前に、電圧を安定させるコンデンサを置きます。大きすぎると、差し込んだ瞬間に大きな電流(突入電流)が流れるので、容量は控えめにします。
ヒューズの定格電流を、ふだんの電流と突入電流から決める手順がわかる
静電気から回路を守る TVS と直列抵抗の決め方を、マイコンの入力の例で学べる
つまり、USB の入口は「守る(ヒューズ・TVS)→ 向きを決める(ダイオード)→ ためる(コンデンサ)→ 作る(LDO)」の順で考えます。

早見表:何 mA 使うかで、USB 側でやること
500mA までなら 5.1kΩ×2 だけで足ります。500mA を超えるなら CC の電圧を読み、相手が出せるときだけ使います。
| 使う電流 | 基板に入れるもの | 相手の条件 |
|---|---|---|
| 〜100mA | 5.1kΩ×2 だけ | どのポートでも余裕あり |
| 〜500mA | 5.1kΩ×2 だけ | USB 2.0 の上限まで |
| 〜1.5A | 5.1kΩ×2+CC の電圧を読む | 1.5A・3A を知らせる相手だけ |
| 〜3A | 5.1kΩ×2+CC の電圧を読む | 3A を知らせる相手だけ。太いケーブル |
| 3A 超・9V など | USB PD の IC | 相手との話し合いが要る |
USB 3.x の 900mA は、パソコンとのやり取りのあとで使える値なので、CC の電圧だけでは 500mA と区別できません。
つまり、迷ったら「500mA まで・5.1kΩ×2」で設計し、足りなければ CC の電圧を読む設計に進みます。

確かめ:基板の入口で電圧を測り、いちばん重い動きをさせる
USB チェッカーで電流を、テスターで基板の入口の電圧を測ります。いちばん電流の多い動きをさせたときに、届く電圧が足りているかを見ます。
最低限ここだけ(2つ)
1つ目は、Type-C の充電器と C-C ケーブルで電源が入るかです。A-C ケーブルだけで確かめると、5.1kΩ のつけ忘れに気づけません。
2つ目は、基板の入口の電圧です。無線の送信やモーターなど、いちばん電流の多い動きをさせながら、テスターで基板の VBUS と GND の間を測ります。USB チェッカー(差し込み口にはさんで電圧と電流を表示する道具)は充電器の出口の電圧なので、基板に届く電圧はケーブルの分だけ低くなります。
余裕があれば
いちばん細く長いケーブルでも試します。パソコンの差し込み口・スマホの充電器・モバイルバッテリーなど、つなぐ相手を変えても電源が入るかを確かめます。
つまり、「C-C ケーブルで電源が入るか」と「重い動きのときに入口で何 V か」の2つを、実物で確かめます。

USB から電源を取るときのよくある失敗4つ
多い失敗は、CC の抵抗の入れ忘れ・抵抗を1本にまとめる・500mA を超えて使う・ケーブルの電圧降下を見ない、の4つです。
失敗1:CC の抵抗を入れ忘れる
A-C ケーブルでは動くのに、Type-C の充電器と C-C ケーブルでは 5V が来ません。CC1・CC2 に 5.1kΩ を入れます。
失敗2:5.1kΩ を1本にまとめる
CC1 と CC2 をつないで抵抗を1本にすると、中に部品の入ったケーブルで給電されないことがあります。1本ずつ入れます。
失敗3:500mA を超えて使う
相手が出せる電流を確かめずに 1A 流すと、電圧が落ちたり、パソコンのポートが止まったりします。超えるなら CC の電圧を読みます。
失敗4:ケーブルの電圧降下を見ない
細く長いケーブルで電流が大きいと、基板に届く電圧が 4.75V を大きく下回ります。届く電圧を計算し、入口で測って確かめます。
つまり、「5.1kΩ×2」「500mA」「届く電圧」の3つを守れば、USB の電源で大きく外しません。


