これがわからなくて1日消費しました。
何が、わからなかったかといいますと、PGND と GND をつなぐ方法です。2つのグランドが電源周りにあるのですが、オフィシャルの回路を見るとこのようになっています。
GND が2つあって、PGND はパワー・スイッチ回路用グランドで、GNDは、コントロール/ロジック回路用グランドのようです。PGND は、熱処理するためにPowerPAD (部品中央に位置する)に接続し、PCB の銅箔面の面積を稼いで空冷させるようです。
しかし、Eagle は、複数の属性を持つ名前同士を(用語では、Name とか、クラス(Net Class)と言うそうです)接続できず、どれか1つの属性になります。以下の場合は、GND と PGND が別に接続されて、意図したように配線されません。
何かやり方があるのだろうと、いろいろ調べましたが結局わからず、手法として、以下のような解決策で実現しました。
2つのグランドを接続するためのパーツを回路図に入れて、そこにPGND と GND をくっつけました。ジョイントのような考え方ですが、回路図中にGND っぽい図が出るので、これを使いました。
こうすれば、2箇所の違うNet Class を1つのパーツに接続できるので目的が果たせました。
PCB 上ではジョイントを裏側に回し、べたアースとスルーホールをつけて熱を逃がします。
PGNDは、以下のように接続されています。
べたアースはググればすぐに出てくるので省略です。
とにかく、これで目的は果たせましたが、これが正当なやり方なのかは不明です。
そして、LEDの位置は、裏面のサイド寄りにつけることにしました。
ケースに組み込んだ時、この位置だったら光っているのがわかるかなと。
GND もべたアースを取ったほうがいいだろうなということで、以下のように。
このべたアースを取るか取らないかで、何が変わるのだろう?
熱処理はこれでOK。
あ、ENピンを忘れているようです。最終確認の時にやりますか。
編集後記
データシートを見直してみると、レイアウトについての考察 の項がありました。PGND と GND を分ける理由は、引用すると以下です。
レイアウトについての考察
::
コントロール・グランドを適切に配置するには、配線を短くし、さらに電源グランドの配線から分離することを推奨します。このことにより、電源グランドの電流とコントロール・グランドの電流の重なり合いにより起こり得るグランド・シフトの問題が避けられます。
::英文 P.16
To lay out the control ground, it is recommended to use short traces as well, separated from the power ground traces. This avoids ground shift problems, which can occur due to superimposition of power ground current and control ground current.
この「グランド・シフトの問題」というのは、おそらく「グランドGNDの電位が浮き上がる」事かと。
以下の特許の資料が詳しいです。
ルネサス エレクトロニクス株式会社
【公開番号】特開2010-73951(P2010-73951A)
::
【0142】
図12は、レギュレータ回路Reg、内部回路circ1-1および内部回路circ1-2が、金属配線metalVと金属配線metalGとにそれぞれ接続されている詳細を示す図である。内部回路circ1-1および内部回路circ1-2は、図1に示す内部回路circ1が複数設けられていることを意味する。
【0143】
図12(a)は、レギュレータ回路Reg、内部回路circ1-1および内部回路circ1-2が、それぞれパッドGに共通に接続されていることを示す図である。図12(b)は、レギュレータ回路Regが接続されているパッドGと、内部回路circ1-1および内部回路circ1-2が接続されているパッドGとが分けて設けられていることを示す図である。
【0144】
図12(a)に示すように、レギュレータ回路Reg、内部回路circ1-1および内部回路circ1-2は、パッケージPKGの外部より外部電源電圧extVccを供給されるパッドVと金属配線metalVにより接続されている。
【0145】
さらに、レギュレータ回路Reg、内部回路circ1-1および内部回路circ1-2は、パッケージPKGの外部より接地電圧(グランド)GNDが与えられるパッドGと金属配線metalGにより接続されている。
【0146】
内部回路circ1-1および内部回路circ1-2が、内部回路circ2と信号の送受信を行うと、金属配線metalGに各回路から電流iが流れる。金属配線metalGは、配線抵抗Rを有しており、ここに2回路から電流が流れるため、2iR(=V)の電圧が発生する。
【0147】
このとき、発生した2iR(=V)によってグランドGNDの電位が浮き上がる(グランドシフトが発生する)場合がある。そして、同じパッドGに接続されているレギュレータ回路RegのグランドGNDも電位が浮き上がることにより、動作が不安定になる場合がある。
【0148】
このようなレギュレータ回路Regの不安定動作を避けるためには、図12(b)に示すように、レギュレータ回路Regが接続されるパッドGと、内部回路circ1-1および内部回路circ1-2が接続されるパッドGとを分けて設けるとよい。
【0149】
つまり、電源領域PowAreaのパッドGと、信号領域SigAreaのパッドGは、分けて設けるとよい。
【0150】
パッドGを分けて設けることにより、図12(b)に示すように内部回路circ1-1および内部回路circ1-2が、内部回路circ2と信号の送受信を行っても、レギュレータ回路RegのグランドGNDに電流が流れ込まず、グランドGNDの電位の浮き上がりもなくなるので、レギュレータ回路Regの動作が不安定になることを少なくすることができる。
厳密にはGNDに落ちるときにも配線抵抗があるので、電位差が発生し、これをグランド・シフトというそうです。電源回路Aとロジック回路BのGNDへ影響を受けなくするため、GNDを分離するといいよということです。要するに良いGND とは、0V を常にキープすること。べたアースとか、音響設備でアースが大事だとか、そういう理由だったのですね。納得です。
参考
▼やるかどうか検討
・パワーセーブモードを有効、無効にするのをESP8266 からコントロール
・PIN7 の PS/SYNC がGND(0) だとパワーセーブ有効。PIN8 VINA(1) に接続で無効にできる
・負荷が10mA 以下だとパワーセーブのほうが省電力だそう。
・deepspleep の時は、有効にして、起き上がったら無効にするようコントロール
・GPIOがHIGH で、PIN7 と PIN8 に接続するように、P-chan mosFET をつけるなど。
PIN7 が HIGH(1.2V 以上) になれば、無効なので、GPIO から抵抗をつけて HiGH にすればいい?