2019年6月25日火曜日

NodeMCU DevKitの配線を調べる

いまさらついでにNodeMCU DevKitのボード自体の配線も調査。
ガーバーデータやデータシートは、コチラ

USBから順番に配線を追いかけてみます。
Parts Details
U3 micro USB Bメスコネクタ
マイクロUSBコネクタのピン配置
Pin Name Function
1 VBUS 4.4 - 5.25 V電源
2 D- -Data
3 D+ +Data
4 ID 使いません
5 GND グランド
1VBUS5GNDは、電源用の端子でUSB給電の場合にNodeMCU DevKitの5V電源の供給元となります。2D-3D+は半2重通信の差動信号線です。

これらの接続先となるUSB-UARTブリッジCP2102。
Parts Details
U2 USB - UARTブリッジ CP2102
CP2102のピン配置
Pin Name Function
1 DCD データキャリアが制御入力検出(active Low)
2 RI リングインジケータ制御入力(active Low)
3 GND グランド
4 D+ USB +Data
5 D- USB -Data
6 VDD 3.0〜3.6V電源電圧入力
7 REGIN 5Vレギュレータ入力
8 VBUS USB 5V VBUSと接続
9 RST デバイスリセット
10 NC 非接続端子
11 SUSPEND USBサスペンド状態時に"Low"
12 SUSPEND USBサスペンド状態時に"High"
13 - 23 NC 非接続端子
24 RTS 制御出力の送信準備完了(active Low)
25 RXD 非同期データ入力(UART受信)
26 TXD 非同期データ出力(UART送信)
27 DSR データセットが制御出力準備完了(active Low)
28 DTR データ端末が制御出力準備完了(active Low)
CP2102は、USBの信号をUARTに変換するICですが、まずはマイクロUSBコネクタとCP2102の接続だけを確認。
CP2102の回路は3.3Vで駆動するのですが、USBの信号線D-D+には送受信の際に5Vの電圧が印加されている必要があるためVBUSを接続しています。
また、バッテリー運用を想定したためかCP2102の電源は内部レギュレータを用いたバスパワーではなく、外部レギュレータによるセルフパワーで動作する仕様となっています。

電源の話しが出てきたので、USBコネクタから繋がるグランドの配線から見て行きます。
もちろん実際のパターンとは異なりますが、ざっとこんな感じで繋がっています。
で、さらにUSBコネクタUSBコネクタの1VBUSから出力される5Vの配線。
Parts Details
C5 コンデンサ 10µF(1005mm) ±20% 10V
C6 コンデンサ 100nF (1005mm) ±10% 16V
D1 ダイオード SOD-323(2012mm) 40V1A,VF=0.45V@1A
ESP-12Eは、3.3V駆動なのでレギュレータNCP1117を使って降圧します。
Parts Details
C7 コンデンサ 10µF(2012mm) ±10% 25V
C8 コンデンサ 10µF(1005mm) ±20% 10V
U4 NCP1117, NCV1117. 1A 低損失レギュレータ
NCP1117のピン配置
Pin Name Function
1 GND グランド
2 Output 3.3V固定電圧出力
3 Input 最大20Vまでの電圧入力
Tab Heatsink ヒートシンク2Outputと内部で接続
上の図は、10μFのコンデンサを2個使った固定出力レギュレータの構成になっています。
Parts Details
C2 タンタルコンデンサ 100µF(3528mm) ±20% 6.3V
C3 コンデンサ 10µF(1005mm) ±20% 10V
C4 コンデンサ 100nF (1005mm) ±10% 16V
R9 チップ抵抗(1005mm) RK73H 470Ω 0.1W ±1%
コンデンサは、パスコンとして使用されています。抵抗はLED用のものです。
CP2102のREGINVDDへ3.3Vを入力。REGINへ5Vを印加するとレギュレータが有効化されVDDは3.3V出力ピンとして動作します。
CP2102が動作するようになったので、UARTまわりの配線を確認。
Parts Details
R6 チップ抵抗(1005mm) RK73H 470Ω 0.1W ±1%
CP2102のTXDには、ノイズ対策として470Ωのダンピング抵抗が取り付けてあります。
DTRRTSの接続の前にRESETとFLASHの配線をみておきます。
Parts Details
C1 コンデンサ 100nF (1005mm) ±10% 16V
R1R2R4R5 チップ抵抗(1005mm) RK73H 12kΩ 0.1W ±1%
R11R12 チップ抵抗(1005mm) RK73H 470Ω 0.1W ±1%
S1S2 SWITCH TACTILE SPST-NO 0.05A 12V[PTS820 J15M SMTR LFS]
J1-13RSTJ2-04D3(IO0)のそれぞれのラインはプルアップされて3.3V("HIGH)に保たれていて、タクトスイッチS1S2を押下する事でグランドへ電流が流れラインの状態が0V("LOW")になる仕組みです。
プルアップで"HIGH"に設定されたJ2-05D4(IO2)、プルダウンで"LOW"に設定されたJ2-11D8(IO15)は、J2-04D3(IO0)と合わせてブートモードの選択に使用。
MODE J2-11 D8(IO15) J2-04 D3(IO0) J2-05 D4(IO2)
UART LOW LOW HIGH
Flash ROM LOW HIGH HIGH
NodeMCU DevKitで特徴的なのは、2個のトランジスタを使ったリセット、ブートモードの自動設定の機能で、その構成が下図。MicropPythonではFirmwareの書き込み時しか使わないんですけどね。
Parts Details
R7R8 チップ抵抗(1005mm) RK73H 470Ω 0.1W ±1%
VT1VT2 チップトランジスタ [S8050]
S8050のピン配置
Pin Name Function
1 BASE 差動起点電流の入力ピン
2 EMITTER 電力出力ピン
3 COLLECTOR 流入電流の入力ピン
※ここでの使用方法なので、回路によっては用途が異なります。
トランジスタS8050の働きは、
1BASEに入力が無ければ3COLLECTORから2EMITTERへ電気は流れず3COLLECTOR側のラインは"HIGH"に保たれ、
1BASEに入力があれば3COLLECTORから2EMITTERへ電気が流れ3COLLECTOR側のラインが"LOW"となるスイッチとして使われています。

これを実際の配線に当てはめてみると、
CP2102 VT1(RST) VT2(D3)
DTR RTS BASE EMITTER COLLECTOR BASE EMITTER COLLECTOR
LOW LOW LOW LOW HIGH LOW LOW HIGH
HIGH LOW LOW LOW LOW LOW HIGH HIGH
LOW HIGH LOW HIGH HIGH LOW LOW LOW
HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH
の様なイメージ。

続いて残る抵抗、LEDなどの部品が介在する配線をまとめて。



Parts Details
R3 チップ抵抗(1005mm) RK73H 12kΩ 0.1W ±1%
R13 チップ抵抗(1005mm) RK73H 220kΩ 0.1W ±1%
R14 チップ抵抗(1005mm) RK73H 100kΩ 0.1W ±1%
LED1 高輝度赤色チップLED 1608サイズ
J1-01A0(ADC)J1-02RSV(ADC EX)は、唯一のアナログ入力端子です。220kΩと100kΩの抵抗は勉強不足で理解できていないので、機会があれば調べます。
J2-01D0(IO16)は、モジュール状のLEDと接続。データシートでは青色LEDが指定されていますが所有しているNodeMCU DevKitでは赤色LEDだったりします。
最後に、ESP-12Eと直結されている配線。
J1-03RSVは未接続の端子なので使用不可。

以上がNodeMCU DevKitの配線です。このモジュールはESP-12Eが対象ですけど、ESP-WROOM-02を使う場合の参考にもなるかも。

0 件のコメント:

コメントを投稿