2016年10月26日

ESP32について(開発ボード設計)


banggood で プレセールスのESP-32S モジュールを発注した。次はこれを使うためのボード。

前記事で、だいたいのことは説明した。ここでは eagle を使って基板を発注するところまで。

eagle 7.7
以前は eagle 5.6 を使っていた。久しぶりの使用になる。基本は同じだが忘れてしまっているので、結構苦労した。なにやらファイルフォーマットも変わっているようだ。もう 5.6 には戻れない。

Eagle用DRUファイル と CAMファイルは、スイッチサイエンスさんのところから入手。

作ったのはこれ
 ・suzbrd_wroom32-v1.0-out.zip 発注ファイル
 ・suzbrd_wroom32-v1.0.zip eagle ソース
v1.0 の問題点
 ・ MINI-360 ボードの幅が 0.5mm ほど合ってない(フットプリントが狭い)。
 ・ HX1001 を使う場合、インダクタのフットプリントが小さく CD43 は厳しい。




スイッチサイエンスさんのとこに発注すると、1,389円+1080円で作成することが出来る。だが、今回は久しぶりに Fusion PCB を使ってみることに。$9.9 + 送料 $6.13 - 0.99(10%off) だった。

ところで、気が付いたのだが、10cm x 10cm が意外にも安い。5 枚 $18.9 ,10 枚 $21.9 。以前もそうだったのかも知れないんだが、5cm x 5cm に拘らなくとも良いような気がしてきた。

suzbrd_wroom32-v1.0

ちょっとボードの説明。モジュールは裏に付けることにした。理由は配線の問題。ADC があるピンを A0-A5 に割り当てたかった。左下にある長方形は、DC/DC モジュール。これを使わずに、DC/DCコン IC の HX1001-GES を載せることも出来る。普通に使う分には、どちらでも良いとは思うのだが、RTC もあることだし、バッテリー駆動での消費電流に差が出るものなのかどうか見てみたい。

4pin コネクタは、SPI Flash 書き込み用。DTR - 470Ω - IO0 , DTR - 0.1u - EN という接続にしてみた。DTR を L にすれば、IO0 が L になり、 EN が L → H となるはず。

 ・http://www.espressif.com/en/products/hardware/esp32/resources

ここにある Flash Download Tool には Python 版もあるので、タイミングの問題でダメだったりするのであれば対応できるかも。

http://iot-bits.com/esp32/esp32-flash-download-tool-tutorial/
から抜粋

Pull GPIO0 LOW by pressing the "program" button on your development board. Reset the ESP32 by pressing the EN button momentarily while holding down the IO0 button.

というわけで、IO0 を L にして、EN を↓↑ ... 行けそうな気がする。

ついでにメモ

0x1000: bootloader.bin
0x4000: partitions_singleapp.bin
0x10000: .bin

bootloader というものが 0x1000 にあるわけだから、こいつ次第で、どこからでも -- Wifi や BT からでも -- プログラムを download できると思われる。で、download を指示するには、io0 は使えないわけで、違うボタンがあると良いかも知れない。



Arduino との関係

この基板、5cm x 5cm で作るという条件のため、arduino のシールドがそのままでは、使えない。

ユニバーサル・シールドで言うと、赤い部分がこの基板のコネクタの位置になる。ユニバーサル・シールドの内側に接続して、外側にピンソケットを付けると言った変換基板を作らないといけないのだ。

あるいは、割り切って普通のユニバーサル基板を使うとか。ただし、秋月C基板をタテには付けられない。昔の P-00189 でも一列足りないのだ。ヨコになら付けられる。まぁ、すなおに P-06877 とかを使っておけば良いか。

基板製作の価格について

そういえば、Fusion PCBITEAD があるのだった。送料もある程度するのだが、分からないので価格だけメモ。
      5cm x 5cm  5cm x 10cm  10cm x 10cm
Fusion PCB $9.9     $18.9     $21.9
ITEAD      $9.9     $14.9     $19.9

いずれも 10枚の価格。Fusion PCB は、5 枚だと、$9.9 ,$15.9 ,$18.9

DC-DC コンバータ


5V → 3.3V にこのモジュールを使えるようにしている。サイズは、17 x 11 mm で、ピン間は 長辺 0.6 in , 短辺 0.35 in 。aliexpress で "Mini 360 Step Down Module" で検索すると見つかるのだが、10個 で $3.5 とか冗談のように安い。banggood では 10個660 円 -- それでも安く感じる。

なにか問題があって安いのか?と不安になったりするのだが、写真見る限り、不安なのは半固定抵抗ぐらい -- 経年変化や振動で電圧が変わるのは困る。基板の写真も新旧2つのバージョンがあって、バッタ品とかというものではない模様。(古いのは、分圧抵抗用のパターンあり。)

Input voltage: DC 4.75V-23V
Output voltage: DC 1.0V-17V (Adjustable)
Output current: Rated current 1.8A (3A MAX)

スペック的には、12V 入力も出来て 1.8A 出力 。しかも電圧を設定できる。--- 使いでのありそうなモジュールだ。採用チップは、MP2307 -- データシートも入手できるが、それによると 連続 3A ピーク 4A とのこと。

半固定抵抗を取り外し、抵抗を付けることが出来れば、固定出力にすることは可能。FB は 5番ピンで 、FB 電圧は 0.925v。OUT - R1 - FB - R2 - GND として、 3.3V にしたければ、R1 = 26.1k, R2 = 10k が推奨だそうだ。ただ、写真を見ると R1 = 8.2k(822) が使われている。例えばこれを外して 1608 の 27k に付け替え、半固定抵抗を取ったあとのパターンを利用して 10k を付ける。(ただし、1% 品を使用しないといけない。)

データシートの回路図を元に分かったことを加えるとこういう感じ。ちなみに、左の抵抗は、01D で 100k のことらしい。青で書いたのは、スィッチングダイオードの追加で、5V 入力 3.3V 出力のような、低電圧入力・高電圧出力のときに効率を上げるとのこと。ところで、無負荷時の消費電流は多めらしく 15mA ぐらい常時流れるようだ。すなわちバッテリー駆動には向いていない。

ついでだが 12V 入力で 5v + α にしたい場合、R1 に 47k を使えば 5.27V -- タブレットの充電では、少し電圧を上げた方が具合が良いのである。AC アダプタだと調整出来ないから、こういう用途にも使える。このモジュールは小さいので、うまくすれば、 USBシガープラグに仕込めるはず。過電流保護があるから、ヒューズは取ってもかまわない。Thermal Shutdown 機能も一応付いている。

とか書いたものの、ダイソーの USBシガープラグも変わっているようで、300円のやつ(2.1A)とか 100円の新型 の分解記事がみつかった。特に 300円のやつは、5.3V 付近で 2.2A 流せている。すなおにこれを使えば良いかな。

USB シリアル


"CJMCU CP2102" で検索すると見つかるモジュール。banggood では 240円だが、aliexpress などでは $0.99 のものも。これ使っておけば良さそう。... というか、$1 なら、5V 電源 コネクタとして使っても安い。上記の DC-DC コンバータと合わせて使うとブレットボードの応用でも便利そうに思える。
追記:micro USB の DIP アダプタは、10個で $1.13 だった。 5V 電源 コネクタははるかに安かった。


aliexpress で たまたま、お安いカメラモジュールを発見。ov7670 というセンサを使ったもので、ピンヘッダで出力されている。お値段は $3.5 。

これを扱ってるのは、Top Electronic Company というショップなのだが、ESP32 関係もいろいろと扱っている。さらには、MINI 360 DCDC コンバータや、CP2102 モジュールも。このショップ探検するだけで楽しいかも。

さて、本題。カメラモジュールを扱うデモのソースコードが公開されている。ターゲットは ov7725 ではあるが、ov7670 もデータシートがあるので、扱えるだろう。
 https://github.com/igrr/esp32-cam-demo

かなり楽しみ。


11/17 基板がキター。予約した、ESP-32S は既に到着済み --- もっとも来たのは WROOM-32 だったが。早速と言いたいところだが、先に OPi Zero のほうをやりたい。

追記 2017/5/8

電源電圧について

WROOM-32 は、2.2V 〜 3.6V となっているが、SPI FLASH が GD25Q32 というチップで 2.7V 〜 3.6V らしい。低電圧で使うのは問題があるかも。

カメラモジュールを使う場合、ov7670 は安くて良さそうなのだが、これの電源電圧は 〜 3.0V 。3.3V は定格を超えるので注意。ov7725 は、画像が綺麗なうえ 3.3V で使える。2M ピクセルの ov6240 というのもあるが、Orange pi 用が $5.9 で最安のようだ。ただし、ESP32 ではバッファできるだけのメモリがなく、使うのが難しい。

以上のことを踏まえると、3.3V 固定の HX1001-GES は望ましくなく、抵抗が必要な 可変電圧のタイプ - SY8009B などを使えたほうが良さそうだ。

    SY8009B は、Orange pi で良く使われており、出力が大きいうえに、HX1001 より安い。10個で $1.83 とか。供給電圧が低い場合、duty が 100% まで行くので、供給電圧がドロップした場合に FET の抵抗分だけになる。非常に良さげな DC-DC コンバータ IC 。

OTA について、

ESP32 は、OTA (On The Air) でファームウェアを更新できる(ようにすることが可能)そうだ。最初の書き込みには、シリアルが必要だが、一回 OTA の仕組みに乗ってしまえば USB シリアルなどは不要になる。付けなくて正解だったようだ。ただ OTA を指示するボタンが欲しいところ。

新基板

さて、基板製造を検討したところ、最近は 5cm x 5cm 以内に収めなくともよさそうで、Elecrow などは、10cm x 10cm が 送料込みで $12.86 (1500円ほど) だと分かった。そこで、Arduino UNO の ディメンジョンを参考に少し大きくすることに。

    基本価格は、5cm x 5cm が $9.5 + 送料 $4.8 , 10cm x 10cm が $13.5 + 送料 $10.2 なのであるが、Special Offer で 10cm x 10cm が $9.5 + 送料 $3.36 というのがある。ちなみに Fusion PCB は、10cm x 10cm が $4.9 + 送料 $14ぐらい。

まずは、ピンソケットを正規の位置に付けられるようにコネクタを一列追加。取付穴も UNO と同じ位置にして、そこまで下を広げる。部品も下にずらして、アンテナを飛び出さないようにする。

回路の変更としては、SY8009B を使えるように、出力を分圧して FB に入れる。HX1001-GES を使う場合は 0Ωが必要。また ボタンを付けた。ただし、どのピンを使うのが良いのか決めかねたので、パターンのみ。



 ・suzbrd_wroom32l2_v1.1e-out.zip 発注ファイル
 ・suzbrd_wroom32l2_v1.1e.zip eagle ソース

    発注は 5/6 (土)
    2017/05/10 13:08 引受 CHINA
    2017/05/11 11:10 国際交換局から発送 GUANGZHOU CHINA
    2017/05/14 22:33 国際交換局に到着
    2017/05/15 09:00 通関手続中
    2017/05/15 10:42 国際交換局から発送
    2017/05/16 13:59 到着 配達予定日:5月17日
    もう、到着。
posted by すz at 02:06| Comment(0) | TrackBack(0) | ESP32
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/177408843
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック