前回、「【電子回路】ESP32書き込み分離①:USB Cによる充電回路のみにする」の記事で、充電回路の基盤を作成して発注するところまでを記載した。
今回、JLCPCBから基盤が届いたので、その後の検証を行いたいと思う。
基盤到着。1周り小さくなった
発注した基板が1週間弱で到着した。
前回発注基盤と比較すると、部品点数も少なくなったので、サイズが一回り小さくなった。
丈夫のピンヘッダーメス型の2箇所にLCDディスプレイをはめる想定だが、果たして計算通りハマるかどうか、恐る恐る入れてみると。。。
ピッタリハマったー!
ディスプレイ間の隙間は計算通りで、ほぼ0である。
基盤に合わせて3Dプリンターを再設計
イメージとしては、下記図のような感じで3Dプリンターの目の部分にディスプレイをはめたいのだが、今まではディスプレイ間を少し離して筐体を作成していたため、隙間がないバージョンでcadを設計し直す必要がある。
fusion360でcadを修正
AnkerMakeで印刷。高さ7cm×幅8cm×奥行き2cm程度のオブジェクトだが、印刷時間20分弱と早い。
バッチリ収まっている。
ディスプレイを寄せた分、筐体全体も一回り小さくなった。
あとは、目を表示させた時に、寄り目になりすぎてデザイン的に違和感ないかを要検証
基盤書き込み検証
秋月でESP32ダウンローダキットを購入
本来であれば、下記図のように接続して使うのだが、
今回は自作基盤でダウンローダーキットのピンに合わせてメスピンを作成したため、直接刺す感じで。
コード実行を試みると、、、、エラー。。
RXとTXの回路図エラー
受け手のメスピンの配置を確認したところ、RXとTXを逆にして基盤発注してしまっている。RXとTX、TXとRXを繋ぐところがRXとRX、TXとTXを繋いでしまっている。。。前と同じミスをやってしまったorz
というわけで、ESP32ダウンロードキットに付属されていたジャンパー線を使って、TXとRXの部分の線をクロスさせて、再度コードアップロードを試みる。
引き続き、シリアルポートが発見できないという、同じエラーが出た。
ESP32ダウンローダーキットの回路図を見てみると、3.3VとGNDの間にもLEDが設置されているので、電源がPCから供給されていれば、光るはず。なのに光っていない。なぜ?
CH9102F USBシリアル変換ドライバーをインストール
その後、色々と調べたところ、USBシリアル変換ドライバーのインストールが必要なことに気づいた。今まで自作基盤では、CH340CのUSBシリアル変換ドライバーで作成しており、CH340xをmacにインストールしていたので、今回のダウンローダーキットにはドライバーが対応していない。
改めてメーカーのサイトを見てみると、下記のように書いてあった。
https://www.switch-science.com/products/7471
ESP32/ESP8266用のUSB-TTLアダプタボードです。CP2104もしくはCH9102チップを搭載しています。
搭載チップはCP2104もしくはCH9102Fです。選べません。
選べません!って(笑)と思いながら、届いたダウンローダーキットのチップ型番を拡大して見てみると、手元にあったのはCH9102Fだった。
CH9102FのドライバはM5Stackの公式サイトで配布されているので、下記URLをクリックしてmac用ドライバーをインストール
https://docs.m5stack.com/en/download
解凍してみると、あれ?すでにインストールされているCH34x系でCH9102もサポートしてるじゃん
一応再度インストールしてみる
もう一度、PCとダウンローダーキットをtypeCコネクタで接続してみる。
今回はVsCodeのplatformioではなく、Arduinoで。やはり、シリアルポートが出てこない。本来であれば、/dev/cu/wchusbserialという名前から始まるシリアルポートが表示されるはずなのだが。
type-C USBポートの回路図にccピンがない?
よくよく、ダウンローダーキットのtype-cコネクタ部分の回路を見てみると、ccピンに関する記述がない。
type-cケーブル同士でデバイスを接続する時は、typeCケーブルは両端が同じ形状のため、どちらの機器がホストとデバイスなのかを認識するために、CCピンを用意していて、それを抵抗を介してGNDに接続する必要がある。
https://emb.macnica.co.jp/articles/8968/
ちなみに、自作基盤では、下記のようにUSB-connector部分の回路を設計している。
CCピンがないためにMacBook Proがデバイスを正しく認識できていない可能性がある。
というわけで、無理やりType-C to Type-Aコンバーターを2回介して接続してみたら、LED光点灯した!
次は、LEDが点灯しTXピンも点灯したが、RXピンが点灯しない状況に。
相変わらず、A fatal error occurred: Failed to connect to ESP32: No serial data received.のエラーが表示された。
うーん。ESP32書き込みに関しても自作基盤作成するしかないかな。
今回購入したダウンローダーキットにはENピンやBOOTピンも含まれていないので。 と思ったのだが、東京バードさんのこちらのブログを読んだら、CH340Eを使ったUSBシリアル変換モジュールが、秋月に売ってる?
https://burariweb.info/electronic-work/ch340e-diy-usb-serial-conversion-module.html
しかも回路図みてみると、typeCコネクタはCCピンを、しっかり5.1kΩの抵抗を介してGND接続している。
秋葉原の店舗在庫になかったため(泣)、ネットで注文した。
ESP32書き込み用の自作基盤作成
ESP32書き込み用の自作基盤回路も作成してみた。
- RX・TXの通信ができているかどうか確認するために、青色のLEDを追加
- 書き込み基盤のピンヘッダーのRXとTXを、それぞれ、RX-TX、TX-RXでESP32につながるようにダブルチェック
というわけで、続きの検証は次回。
なかなか、一筋縄ではいかないなぁ。
自作基盤を作成してESP32書き込み分離に成功した記事はこちら
コメント