ページが見つかりませんでした | カメラ大好き!写真大好き!旅行大好き!Apple大好き!ガジェット大好き!・・・・ そんな気になる情報を勝手気ままにつぶやいています。 https://burariweb.info カメラ大好き!写真大好き!旅行大好き!Apple大好き!ガジェット大好き!・・・・ そんな気になる情報を勝手気ままにつぶやいています。 Wed, 20 Mar 2024 04:42:48 +0000 ja hourly 1 46635131 【電子工作 / PCB】初めてのRP2040を使った基板設計。テスト回路を組む際に使える最小構成で組んだRP2040ブレークアウトボードの製作! https://burariweb.info/electronic-work/rp2040-breakout-board.html https://burariweb.info/electronic-work/rp2040-breakout-board.html#respond Mon, 18 Mar 2024 04:33:58 +0000 https://burariweb.info/?p=35504

【電子工作 / PCB】初めてのRP2040を使った基板設計。テスト回路を組む際に使える最小構成で組んだRP2040ブレークアウトボードの製作!]]>

以前書いたこちらの記事の追記となります。

【電子工作 / 自作PCB】RP2040が動く最小構成で組むブレークアウトボードの製作を考えています!

電子工作で自作基板(PCB)の製作を始めて1年ほどが経ちました。
ATmega328PやATtinyといったArduino・AVR関係の基板やESP32やESP8266といったESP系のMCU(マイコンチップ)を使った自作基板などを製作してきました。

普段ArduinoやESP32といった開発ボードはよく使っているのですが、マイコンボードやモジュールといったパッケージ化されたものを使う時は内部の細かいところまで理解しにくかったのですが、PCBを自分で製作するようになるとそのあたりの理解も深まり面白くなってきます。

そしてRP2040を使った自作基板の製作も今後考えているのですが・・・
RP2040と言えばRaspberry Pi Picoに使われているMUCで有名でね。

RP2040は7mm角と非常に小さなチップ(QFN-56)なのでこのサイズのチップを実装することが出来るかな?という不安がこれまであったのですが、この1年でこれよりもさらに小さなチップの実装にも慣れてきたのでRP2040の回路構成や基板設計のテストも兼ねて最小構成で組むRP2040ブレークアウトボードを製作してみました。

最小構成で組むRP2040ブレークアウトボードの製作!

RP2040を動かすにはどのような回路構成で組めばいいのか?
まずここからのスタートだったのですが、Raspberry Pi公式サイトには多くの資料が公開されています。

Raspberry Pi公式サイト『Raspberry Pi Datasheets』にはRP2040を使ったサンプル基板がいくつか公開されており、回路図やKiCadの基板設計データなどを見ることが出来ます。
これは非常に参考になりました!

初めてのRP2040を使った基板設計だったので、これを参考に最小構成で組むRP2040ブレークアウトボードを製作してみることにしました。
RP2040の全てのI/O端子を引き出し最小限の電源回路だけ組み込んだシンプルな構成のボードです。

今後RP2040を使ったPCBを製作する際にこれをベースにテスト回路を組むのに使おうかと考えています。

rp2040/Minimal-KiCAD.zip

まずRP2040を動かすための回路構成ですが、Raspberry Pi公式サイト『Raspberry Pi Datasheets』に回路図や構成、KiCadの基板データなどが公開されているのでこれを参考に製作してみることに。

Raspberry Pi Datasheetsのサイトにいくと様々なデータシートが公開されています。
その中にある『rp2040/Minimal-KiCad.zip』には、RP2040を動作させるのに必要な最小構成で組んだボードのKiCadデータが含まれており無料でダウンロードすることが出来ます。

参考 Raspberry Pi DatasheetsRaspberry Pi

このデータを参考に今回製作したRP2040ブレークアウトボードの設計を進めていきました。

ダウンロードした『rp2040/Minimal-KiCad.zip』をKiCadで開いたものがこちらです。
RP2040にはフラッシュメモリが内蔵されていないので外部メモリとの接続やクリスタル(発振回路)、またRP2040を駆動するための3.3Vレギュレータ回路やUSB端子(microUSB)といったRP2040を動かすのに必要な最低限の回路構成となったボードです。

RP2040のI/O端子を引き出しテスト等で使えるボードの製作を考えていたので、私の用途としてはこのデータをそのまま使い基板発注して製作してもよかったのですが・・・

手を加えたい箇所がいくつかあり、またKiCadのデータを見ているとCAD設計のテクニックやRP2040まわりのパーツ配置のことなど非常に参考になったので、今回一から自分で設計して製作してみることにしました。

ダウンロードしたKiCadデータ(rp2040/Minimal-KiCad.zip)と『RP2040を使用したハードウエア設計』という資料を照らし合わせながら設計を進めていくと、初めてRP2040を使った回路や基板設計を行う際に非常に参考になると思います。

RP2040チップ周辺にはバイパスコンデンサなど比較的多くのパーツが使われているのですが、その配置や使われているパーツの定数なども参考になると思います。

参考 RP2040を使用したハードウエア設計Raspberry Pi

回路設計(rp2040/Minimalからの変更点)

[rp2040/Minimal]をベースとして[RP2040を使用したハードウエア設計]と照らし合わせながら回路設計を進めていきました。

私の使用用途によりrp2040/Minimalから変更した箇所がいくつかあるので見ていきます。

RP2040まわりの回路構成

まずコアとなるRP2040まわりの回路構成は、rp2040/Minimalから変更せずそのまま使いました。
多くのバイパスコンデンサやUSBデータライン(D+ / D-)に接続されている抵抗など、なるべくRP2040チップの近くに配置するように指示されています。

これらパーツの配置や定数などは、[RP2040を使用したハードウエア設計]を読みながら進めていくと分かりやすいと思います。

またフラッシュメモリとの接続部分もrp2040/Minimalからそのまま使っています。
SPI接続のフラッシュメモリとなりSSピン(CS)のプルアップ抵抗R3はrp2040/MinimalではDNF(Do not Fit)と書かれている理由やR2 1kΩの接続のことなど資料を読むと分かりやすいと思います。

USB端子はType-Cに変更

rp2040/MinimalではUSB端子にmicroUSBが使われていますが、これはType-C端子に変更した方が使いやすいですね!

電圧レギュレータチップの変更

RP2040駆動電源となる3.3Vレギュレータチップは手持ちでたくさんあるAMS1117-3.3に変更しました。

今後このボードを使い実際にRP2040まわりのテスト回路を組む際は電圧レギュレータ(LDO)は別のものを使いたい場合も出てくると思います。
その際は3.3V端子に直接接続した外部レギュレータを使う予定です。
このようなLDOテストボードの製作も考えています。

【電子工作 / PCB】テスト回路を組む際に使える電圧レギュレータ(LDO)テストボードの製作を考えています。

またテストボードなので通電確認用のLEDも追加しています。

[BOOT] [RESET] スイッチの追加

Raspberry Pi Picoには[BOOTSEL]スイッチが付いています。
スイッチを押しながらUSB接続し起動するとUSBマスストレージデバイスとしてRP2040が認識されるというものです。

テストボードとしてはこの[BOOT]スイッチ、そして[RESET]スイッチがあると便利なので追加しました。

またRaspberry Pi PicoにはGPIO25にオンボードLEDが接続されています。
テストボードとしてはこれもあると便利なのでGPIO25にLEDを追加しました。

I2Cプルアップ抵抗の追加

通常GPIOピンとして使う場合は必要ありませんが、I2Cで使う場合にGPIO16(SDA ) / GPIO17(SCL)にプルアップ抵抗を付けることが出来るように変更しました。

I/O端子

rp2040/Minimalでは片側2列で内1列は全てGNDポートという配置で作られています。

ブレークアウトボードなので全てのI/O端子をピンヘッダーとピンソケットで接続できる構成に変更し、USB端子のデータライン(D+/D-)、VBUS(5V)、3.3V、GND端子を配置して合計20ピン×2のI/O端子としました。

以上rp2040/MinimalをベースにしてRP2040が動く最小構成、テスト等で使いやすくなるようなブレークアウトボードとして製作しました。
今回製作したボードの全体回路構成はこのようになります。

基板設計

パーツ点数はそれほど多くないのでブレッドボードに直接挿せるボードサイズにしようかとも考えたのですが、ブレークアウトボードとなりテストで使用する際にI/Oラベルが見やすくなるよう極力大きくしたかったので、20ピンのピンヘッダーが収まる最小サイズ(52mm×53mm)のボードにしました。

rp2040/MinimalではRP2040まわりのバイパスコンデンサ等に一部0402サイズのパーツが使われていますが、このサイズのパーツ実装は結構大変なので0603サイズのパーツをベースにしています。

バイパスコンデンサなどRP2040まわりのパーツの配置は上記資料が非常に参考になりました!

またKiCadの設計というか操作方法で私は知らなかったのですが、複数のゾーンを重ねて各ゾーンに優先順位を割り当ててベタ領域を作るといったことが出来るんですね!
rp2040/Minimalではそのようにベタ塗りしたGNDや3.3Vラインが作られています。

ベタ領域の作成や修正はこれまで手間や時間が結構かかる面倒な作業だったのですが、ベタ領域内に他のベタ領域を作り優先順位を割り当てて作っていく・・・CADの操作・テクニックみたいなものも非常に参考になりました。

さすが公式さんが公開している資料ですね!

JLCPCBに基板発注

基板の発注はJLCPCBを使いました。
今回RP2040の実装が初めてだったのでステンシルも一緒に発注しています。

ステンシルサイズは通常発注すると結構大きくなり、その分送料が高くなってしまいます。
また実装の際も作業しにくいと思います。

JLCPCBではステンシルサイズを無料でカスタムサイズに変更することが出来ます。
今回製作した基板サイズは52mm×53mmなので、その2倍くらいのサイズ100mm×100mmに指定して製作してもらえば実装時使いやすく送料も少しお安く製作することが出来ます。

JLCPCBでのステンシル発注方法やステンシルを使ったパーツ実装に関してはこちらの記事も参考にして下さい!

【JLCPCB】初めてステンシルを使ったリフローを行ってみました。JLCPCBでステンシルを発注する手順などを紹介!

またJLCPCBの基本的な基板発注方法に関しては、こちらの記事で詳しく解説しているのであわせて見て頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!

今回このように発注しました。
製造時に任意の位置に入ってしまう基板製造番号(発注番号)が基板裏の目立たない位置に入るように指定したのみです。(基板裏に入るように基板データに指定を入れています)
JLCPCBではこのオプションも無料となります。

あとステンシルサイズをカスタムしたのみで、他の項目はデフォルトの設定で問題ありません。(文字彫刻のオプションを入れてみました!)

今回製作したボードの基板データ(ガーバーファイル)をダウンロードできるようにしておきます。
何かの参考になればと思います。

パーツの実装

送料区分はOCS Expressを選択し発注から8日で手元に届きました。
基板とステンシルの同時発注ですが、JLCPCBはお安くてほんと毎回早いですね!

今回製作した基板では0603サイズのパーツをベース(一部0805も使っています)にしているのでこれらパーツの実装は問題ないと思いますが、難しくなるのはRP2040の実装です。
7mm角のチップに56本ものパッドがあり・・・、RP2040の実装は今回初めてだったのでこれがメインとなります。

実装のコツをつかみ問題なければ、これからRP2040を使った自作基板の製作に発展していけそうです。

ステンシルを使いはんだペーストを塗布、パッド部分に適切な量のはんだペーストを綺麗に塗布することが出来ました。

パーツの実装はミニリフロー装置MHP50を使いました。
MHP30からホットプレートサイズが大きくなったMiniwareさんの新製品です。(2023年末に発売)

リフロー装置としての安全設計などMHP30の良い所がすべて引き継がれ、ホットプレートサイズが大きくなりカラーディスプレイ搭載、操作性も大きく向上した非常に使いやすいミニリフロー装置です。

MHP50の詳しいレビューはMHP30の記事に後日追記しておきます。

【電子工作】コンパクトボディーで安全設計!ミニリフロー装置『Miniware MHP30』を使ってみる!

ステンシルを使っているので全体的に綺麗に実装出来ましたが、RP2040はいくつかブリッジしている箇所がありました。

リフロー後ブリッジした箇所をコテで修正、ペーストフラックスで汚くなっていますが・・・

動作確認後、IPAを使い基板洗浄を行うと非常に綺麗に実装出来ているのが分かります。
完璧です!

【電子工作】基板のフラックス汚れを強力に洗浄。IPA(イソプロピルアルコール)を使ってみる!

RP2040の実装は今回始めてだったのですが、このような小さなチップの実装はリフローという手段が非常に有効的です。
おそらく慣れれば手はんだでの実装も可能だと思いますが、はんだ付けの難しさというよりは位置合わせが非常に難しくなってきます。

上下、または左右に0.◯mmズレただけで反対側のパッドが接触しないというサイズのチップなので、これを手作業で位置合わせするのは結構大変だと思います。

リフローではセルフアライメントという、溶けたはんだの表面張力によってパーツのリード線をPCBの正規の位置に戻す(接続するパッド部分へ)ことが出来ます。

適切な位置にさえチップを固定することが出来れば、あとは手はんだでブリッジ等の修正をするのは比較的簡単になります。
便利な方法ですね!

今後RP2040を使った基板実装は問題なく出来そうです。

動作確認

各所動作チェックを行いました。
簡単にその様子もご紹介しておきます。

RP2040はSPI接続されたフラッシュメモリのCSピン(SS)をGNDに落とした状態でリセットをかける(RUNピンをGNDに落とす)とUSBマスストレージデバイスとしてPCに認識されます。
Raspberry Pi Picoではおなじみの動作ですね。

今回製作した基板では[BOOT][RESET]スイッチを付けているので、[BOOT]スイッチを押した状態で[RESET]スイッチを押して離すとPCにドライブ(マスストレージ)として認識されるはずです。
問題ないようです!

MicroPythonではドラッグアンドドロップすることでプログラムを書き込むことができます。

次にArduinoとしてLチカスケッチを書き込んでみます。
Arduino IDEから書き込む場合、Raspberry Pi Pico(RP2040等)のボードパッケージのインストールが必要となってきます。

こちらの記事も参考にして下さい!

Arduinoの開発環境を構築する。Arduino IDEのインストール方法!

ArduinoスケッチをRP2040に初めて書き込む際は手動でブートローダーモードに入る必要があります
先程の[BOOT]スイッチを押した状態で[RESET]を押す動作です。

MacとWindowsでポートの表示が違うかもしれませんが、Mac環境ではブートローダーモードで起動するとArduino IDEのシリアルポートに[UF2 Board]と表示されます。

あとはボードに[Raspberry Pi Pico]、シリアルポートは[UF2 Board]を選択し通常の書き込み手順[アップロード]ボタンをクリックして書き込みます。

今回製作したボードではGPIO25にオンボードLEDを付けているのでスケッチはこんな感じですね。

void setup() {
  pinMode(25, OUTPUT);
}

void loop() {
  digitalWrite(25, HIGH);
  delay(1000);                    
  digitalWrite(25, LOW);  
  delay(1000);                     
}

無事Lチカも成功しました。

以降Arduino IDEに接続するとシリアルポートは[/cu.usbmodem◯◯◯]といった感じで表示されるので、これを選択して書き込むことになります。
通常のArduinoを扱うときと同じです!

MEMO
手動でブートローダーモードに入る必要があるのは、ArduinoスケッチをRP2040に初めて書き込む時だけです!

一通りの動作確認をやりましたが特に問題なさそうです!
自作のRP2040ブレークアウトボードの完成です。

最小構成で組んでいるので、これからRP2040関係の自作基板製作のテスト回路を組む際に使えそうです。

今回使用したパーツ一覧

今回使用したパーツの一覧です。

パーツ 定数 入手先
コンデンサ
(0805)
C1/C2 10μF AliExpress
コンデンサ
(0603)
C3/C6/C7/C10/C11/C12/C13/C14/C15/C16 0.1μF
C4/C5 15pF
AliExpress
抵抗
(0603)
R1/R5 5.1kΩ
R2/R4/R/6/R7 1kΩ
R3/R8 10kΩ
R9/R10 27Ω
R11/R12 2.2kΩ
AliExpress
LED
(0603)
LED1/LED2 AliExpress
スイッチ SW1/SW2 SMDスイッチ(3×4mm) AliExpress
チップ U1 AMS1117-3.3 AliExpress
U2 W25Q128JVS AliExpress
U3 RP2040 AliExpress / 秋月電子
U4 12MHzクリスタル(3.2×2.5mm) AliExpress
端子 J1 Type-Cコネクタ AliExpress / 秋月電子
J2/J5 1×20P ピンソケット
(2.54mmピッチ)
J3/J4 1×20P ピンヘッダー
(2.54mmピッチ)
ーーー

最後に!

RP2040を使った自作基板の製作を今後考えているのですが、RP2040のピッチ変換基板などテスト出来る環境が無かったので自作のブレークアウトボードを製作してみました。
最小構成で組み全てのI/Oピンも引き出しているので、RP2040を使ったテスト回路を組む際に便利に使えそうです。

Raspberry Pi Picoを使ってテスト回路を組むという手もありますが、ラズピコではGPIO25がオンボードLEDに接続されているというのは先述の通りですが、他にもGPIO23,24,29といったピンもボードの内部機能として使われています。
自作基板を作る際のテスト回路ではこれら余計な部分を排除した、なるべく実基板で組むものと同じ回路構成で組むことが出来れば予期せぬトラブルなども避けることが出来ると思います。

そしてカスタムした自作Raspberry Pi PicoのイメージもCAD上では出来上がっているのですが、実回路を使ってテスト出来る環境がなかったため今回ご紹介したRP2040ブレークアウトボードを先に製作しました。
これで動作確認することができ、必要なら回路修正等を行い製作することが出来そうです!

自作キーボードを製作されている方でRaspberry Pi PicoやPro Micro RP2040といった既存ボードではなく、スペースやレイアウト等の問題でRP2040をPCBに直実装したいとお考えの方も多いと思います。
そのような方にも今回ご紹介したRaspberry Pi公式さんが公開している資料は非常に参考になると思います。

何かの参考になればと思います・・・。

]]>
https://burariweb.info/electronic-work/rp2040-breakout-board.html/feed 0 35504
【電子工作 / PCB】テスト回路を組む際に使える電圧レギュレータ(LDO)テストボードの製作を考えています。 https://burariweb.info/electronic-work/ldo-test-board-pcb.html https://burariweb.info/electronic-work/ldo-test-board-pcb.html#respond Fri, 15 Mar 2024 16:45:02 +0000 https://burariweb.info/?p=35488

【電子工作 / PCB】テスト回路を組む際に使える電圧レギュレータ(LDO)テストボードの製作を考えています。]]>

PCBを設計する前段階として毎回ブレッドボードやユニバーサル基板を使いテスト回路を組んで動作確認を行い、不具合等が無いことが確認出来ればPCBの設計に移行するのですが・・・

極力PCBに実装する予定のパーツを使って回路を組み動作テストをするようにしてはいるのですが、なかなか難しい場合も出てきます。
ICチップといったパッケージサイズが分かっているものはピッチ変換基板を使い回路を組むことが出来るのですが、全てというわけではありません。

そのため、ある程度回路が組まれパッケージ化されている市販のモジュールを代替品として使うことが結構あります。
SDカードモジュールやUSB-シリアル変換モジュール、電圧レギュレータといったものたちです。

実基板で実装予定のパーツを使ったテストが出来ない場合にはそのようなモジュールを使って回路を組みテスト等を行うのですが、実際の基板で実装したパーツや回路と異るため不具合が見つかったなんてこともあります。
極力PCBに実装予定のパーツを使いバラで回路を組むようにしているのですが、それも全てとなるとなかなか難しくなってきます!

これまでPCB製作のテスト段階で多かった不具合を思い返してみると、私の場合電源に関係するものが多かったように感じます。

電圧レギュレータで使われるチップは様々なものがありるため、データシートを参考に入力電圧や出力電圧、またドロップアウト電圧や出力電流といったもの考慮し製作するPCBの構成に合うものを選ぶわけですが、チップサイズも様々で入手性のことなどもあるためテスト段階では実チップを使ったテストが出来ない場合が多くあります。

そのため汎用的なチップやモジュールを代替品として使うこともあり、テスト回路は組めたけど動作が不安定になる、またはテスト回路では問題なかったのに実際に製作した基板では不具合があった・・・、その原因を探すのに苦労したといったことをこれまで何度か経験しました。

電圧レギュレータはこれまで製作した基板で使いやすかったものや最近のマイコンボードでよく見かけるものなどいくつかリスト化しています。
自作基板製作で電源まわりのトラブルが何度かあったので、基板製作前のテスト回路を組む際に使えるLDOテストボードを作ってみることにしました!

電圧レギュレータ(LDO)テストボードの製作

冒頭でお話したようにPCBを製作する際にテスト回路を組んで動作確認等を行うのに電源関係のトラブルがこれまで多かったことから、数種類の電圧レギュレータ(LDO)を使ったテストが出来るボードの製作を考えています。

使用するLDOチップに関してはこれまでのPCB製作で使った各種電圧に対応したものやこれからテストで使おうと考えていたものなどいくつかピックアップしていたので、近々個別基板で製作してみるのもいいかな、なんて考えていたのですが・・・

たなかまさゆき先生が先日Twitterに投稿されていた、1枚のボードに数種のLDOをまとめたテストボードを見かけ、これを参考に製作してみることにしました。

上記は個別チップの詳細(特性等)をテストするためのボードとして製作されているようですが、私の用途としては先述のようにPCB設計前にテスト回路を組み実際に使用するLDOチップで問題なく動作するのかを確認するためのボードとしてイメージし製作を進めています。

LDO(Low Drop Out)とは?

まずLDO(LDOレギュレータ)とは何なのかを簡単に説明しておきます。

LDOは[Low Drop Out]の略となり、入出力電位差が小さくても動作することが出来るリニアレギュレータです。

リニアレギュレータは入力電圧よりも低い一定の電圧を出力することが出来る電源用のパーツ(チップ)で、入力電圧の変動に関わらず3.3Vや5Vといった一定の出力電圧を作ることが出来るのでマイコンボードなどに使われているのをよく見かけるかと思います。

レギュレータ内(チップ内)で一定の損失があるので出力電圧よりも高い入力電圧が必要となりますが、その電位差[ドロップアウト電圧(出力電圧ー入力電圧)]が低いものをLDOと呼びます。

特に何Vといった規定は無いようですが、一般的にはドロップアウト電圧が1V未満のものがLDOと呼ばれるようです。

ボードのイメージ

テストで使えるLDOチップとしてこれまでのPCB製作で使って想定通り使えたものや入手性がいいもの、また最近のマイコンボードで使われているものなど16種類ほどピックアップしたのですが、これらをすべて組み込んだボードにするとサイズが大きくなり実際にテストで使用する際の使い勝手も悪そうなので、とりあえず8つのチップが試せるボードサイズを考えています。

PCB製造メーカーで格安で製作してもらえる10cm以内に収まるサイズで作れるのが理想的です。

製作してみて使い勝手が良ければ、同じボードサイズ&形状で他のチップや電圧が異なるバージョンのものも作ってみようかと考えています。

面付け基板として個別に分離して使えるボード構成にしようかとも考えたのですが、8種の異種面付け基板となると結構な製造料金となってしまうので独立した個別回路を1ボードに収める構成で考えています。

各LDOチップのブロックごとに[入力電圧:VIN][出力電圧:VOUT]、またチップによっては[ENピン(シャットダウンさせることが出来ます)]をそれぞれ作りテスト回路に個別で接続して使う構成になっています。

それらLDO個別ブロックとは別に電源入力ブロックも作りました。
安定化電源などから入力電圧を取れるようにDCジャックを配置し、PCBの製作ではリポバッテリーから駆動させるボードを作ることも多いことからJSTコネクタ(PH2.0)も取り付ける予定です。

5V LDOチップもいくつかリストアップしていましたが、今回は3.3Vのものに限定したボードにする予定です。

3.3V LDOのテストボードなので仮にESP32で使うことをベースに考えるとドロップアウト電圧や出力電流の関係で現状ピックアップしているチップとは若干異なってきますが、ArduinoやATtinyといったAVRを使うことも私は多いのでこのような選定に今のところしています。(変更するかもしれませんが!)

最後に!

自作基板を製作する際に実際の回路構成で組んだもので事前にテスト等出来れば問題箇所や不具合など発見しやすいのですが、なかなか全てというわけにもいかず・・・

実チップを使ったテストを行う環境がなく代替品として使った汎用的なパーツやモジュールが原因でトラブルになったということが何度かあり、特にマイコンを使った回路では電源まわりの問題が多かったことからこのようなLDOテストボードを製作してみようかと考えています。

製作するPCBの回路構成やボードサイズなどにより使用するLDOも変わってくるので、このようなテストボードをいくつか作り電源まわりのテストが出来るようにしておけば便利だと思います。

選定しているチップの構成を少し変更しようかな?といったことを考えているのですが、基板を発注し実際に製作した時にまた詳しくご紹介できればと思います。

]]>
https://burariweb.info/electronic-work/ldo-test-board-pcb.html/feed 0 35488
【KiCad / PCB】ステンシルで特定のパッドの開口部だけ除外したい場合はどうすれば?試してみました! https://burariweb.info/electronic-work/pcb-metal-mask-aperture-exclusion.html https://burariweb.info/electronic-work/pcb-metal-mask-aperture-exclusion.html#respond Thu, 14 Mar 2024 10:07:25 +0000 https://burariweb.info/?p=35444

【KiCad / PCB】ステンシルで特定のパッドの開口部だけ除外したい場合はどうすれば?試してみました!]]>

自作基板を製作しPCB製造メーカーに基板を発注する際に表面実装パーツを扱った基板ではメタルマスク(ステンシル)も一緒に製作依頼することがあります。
ピッチの狭いICチップといった電子パーツを扱う場合やパーツ点数が多い時など、ステンシルがあるとパーツを実装する時の作業効率が大きく上がります。

趣味用途で自作基板を製作する場合はそれほど多くの基板枚数が必要になることはありませんが、表面実装パーツを使った基板ではステンシルがあるとパーツを実装するパッド部分に最適な量のはんだペーストを塗布することが出来るため作業が楽になり、ICチップのリード線がブリッジするといったことも起こりにくく実装後の各所チェックなども楽になります。

表面実装パーツを扱った基板ではステンシルを使ってはんだペーストを塗布しリフローによりパーツを実装する・・・趣味レベル(個人レベル)での基板製作ではミスが起きにくく作業効率も良い実装方法だと思います!

そしてステンシルを発注する際に毎回疑問に思っていたことがあります。
ステンシルに開けられる穴(ホール)は表面実装パーツのパッド部分は基本的に全て開けられるのですが、特定のホールだけ除外したいといった場合も出てきます。

例えばバッテリー接続用の端子や動作確認を行うためのテスト用のパッドといったものがそれにあたり、リフローによる実装後にあとから手はんだで取り付けたりテストの時だけ接続したいといったものです。

「ステンシルの特定の開口部だけ除外したい!」
これはステンシルの発注ではすごく基本的なことなのですが、最近ようやく理解出来てきたので簡単にまとめておきます!

ステンシルの特定の開口部だけ除外する方法

表面実装パーツを扱った基板では、ホットプレートを使い基板を加熱してパーツ実装を行うリフローやヒートガンを使って行うのが一般的です。

【電子工作】コンパクトボディーで安全設計!ミニリフロー装置『Miniware MHP30』を使ってみる!
【電子工作】初めてのヒートガン(リワークステーション)を買ってみました!1台持っているとはんだ作業で大変重宝します!【RF4 RF-H2】

実装する電子パーツのパッド部分に手作業ではんだペーストを塗布することも可能ですが、はんだ量をコントロールするのは結構難しくなります。
特にピッチの狭いICチップでは塗布するはんだの量が多すぎるとはんだブリッジが起きやすく、また少なすぎるとプアはんだ(十分なはんだ付けがされていない)の原因にもなりパーツ実装後にうまく動作しない・・・原因を探すのにも時間がかかってしまう場合があります。

そこで使われるのがステンシル(メタルマスク)です。
パッド部分にホールが開けられ、ステンシルの厚みにより適切な量のはんだペーストをパッド部分に塗布することが出来ます。

KiCadではステンシル作成に使われるのはPasteレイヤー

自作基板の製作を始めて1年ほどが経ちステンシルを使ったパーツ実装もこれまで何度かやってきました。
実装時に毎回疑問に思っていたのが、特定のステンシル開口部(パッド部分)を除外するにはどうすればいいのか?
冒頭でお話したようにテスト用のパッドといった特定の用途のみで使いたいパッドで、リフローの際にはんだペーストを塗布したくないといった場合です!

KiCadではステンシルの製造に必要なデータは『Pasteレイヤー』に格納されています。
表面実装パーツを配置するとこのPasteレイヤーにマスク開口部の形状やサイズ、位置といったデータが自動的に生成されます。

このデータを使い発注すると表面実装パーツの全てのパッド部分に穴が開けられたステンシルを製造してもらえるということになります。

しかし製作する基板によっては先述のようにこの穴を除外したい(穴を開けたくない)といった用途も出てきます。
例えばこちらの基板ではいくつかそのようなパッドがあります。
[①ディスプレイ用パッド]と[②スピーカー用パッド]がそれにあたります。

[②スピーカー用パッド]はリフローによる実装後に手はんだで取り付けたいので、ステンシルの穴は除外しリフローの際にはんだペーストが塗布されないようにしておきたい部分です。

また[①ディスプレイ用パッド]もリフロー後に手はんだでの実装を考えていますが、こちらはフレキシブルケーブルの取り付けなのでパッド部分に適量のはんだが塗布された状態での取り付けの方が作業しやすいのでステンシルの穴は逆に開けておきたいパッドになります。

CADデータ上で簡単に確認できるのですが、これまで疑問に思っていたことなので実際に発注して試してみることにしました!

先述のようにステンシル開口部のデータはKiCadでは「Pasteレイヤー」に格納されています。
この基板のPasteレイヤーを見てみると、①のディスプレイ用パッドには穴が空いていますが、②のスピーカー用パッドは除外出来ているのが分かります。

実際に製造されたステンシルでも要望通りに製造されています。

それでは各パッドのフットプリントを見てみます。
まず①のディスプレイ接続用のパッドはステンシルのホールを作っておきたいパッドです。

12個のパッドが並んでいるのですが、個別パッドのプロパディを開きどのレイヤーが使われているのか確認してみると[Maskレイヤー]と[Pasteレイヤー]が選択されています。

Maskレイヤー(レジスト・マスクレイヤー)はパッドを作るために銅箔をむき出しにする、つまりレジストを除外したい部分なので選択されています。

そしてPasteレイヤーも選択されています。
Pasteレイヤーはステンシル作成時に使われるデータなので、これを選択することによりステンシルホールが作られはんだペーストを塗布することが出来ます。

次に②のスピーカー接続用のパッドも同様に見てみます。
パッドなのでMaskが選択されていますが、こちらではPasteレイヤーは選択されていません。
つまりステンシルにはホールを作らない、除外しているということになります。

これらはある程度PCBをやられている方なら非常に簡単・常識的な話だと思います。
KiCadで扱うレイヤーに関してちゃんと理解出来ていれば簡単な話だったのですが・・・。

パッドやテストポートなどを作る際にこの部分のステンシルのホールは除外したかったのに・・・といったことが何度かあったので、実際に試してみてスッキリしました!

KiCadには[TestPoint]といったデフォルトで用意されているパッドがありこれを使う場合はステンシルのパッド穴は除外される設定になっていますが、自作基板ではその用途に合ったサイズや形状といったパッドを自分で作って使うことが多いと思うので参考になればと思います。
デフォルトで用意されているパッドを使う場合も用途によりステンシルのホールを作っておきたいという場合もありますからね!

またフットプリントから修正しなくても基板エディタ上で個別パッドを選択し、プロパティからPasteレイヤーを除外または有効にしていく方が楽かもしれません!

基板発注に関わるKiCadの主なレイヤーは9つあります。
それらレイヤーの役割が分かれば理解しやすいかと思います
こちらの記事も参考にして頂ければと思います。

【KiCad】基板発注の際に必要なKiCadの主なレイヤーとその役割について!

スルーホールパッドにもはんだペースト用の穴をステンシルに開ける事は出来るのか?

これは用途が限られる?話かもしれませんが、ステンシルを使った実装をいくつか行ってみてスルーホールパッドにもはんだペースト用のホールを開けたい場合があります。

例えばUSB端子です。
Type-C端子の4隅のシールド部分は足(突起)が出ていて基板のスルーホールにはんだ固定するようになっています。

スルーホールなのでステンシルには穴が開けられず、はんだペーストが塗布されないようになっています。

しかし実装の際にいつもはんだペーストを付け忘れてテスト動作の時に端子がグラつき、場合によっては接続されているパッド部分がランドごともぎ取れたなんてこともありました。

スルーホールの足なのでリフロー後に手はんだで取り付けてもいいのですが、ひと手間増え、なによりはんだペーストを使いホール内で固定した方が背面にはんだの突起などもできず綺麗に仕上がると思うのですが・・・

先程と同様にPasteレイヤーにチェックを入れればステンシルに穴として反映されるはずです。

KiCadのプレビューではパッドとして表示されてしまいますが・・・

JLCPCBにデータをアップロードしプレビューしてみると問題ないようですね!

ガーバービューアで確認してみると、Pasteレイヤー(緑)はこのようになっているのでステンシルにもこの通りにホールが開けられるということです。

次にCuレイヤー(水色)そしてドリルデータ(青)を重ねると、穴が開けられスルーホールになるようになっているのでデータ的には問題ないようですね!

KiCadのプレビューだけの問題だと思いますが・・・今回の基板では少し怖いので実際に試すことが出来ませんでした。

Pasteレイヤー用のパッドを別に用意して重ねたりとしてみたのですが、KiCadのプレビューでは上手く作れないようです。
後日別基板で試してみたいと考えています。

最後に!

KiCadにあらかじめ用意されているデフォルトのテストパッドを使えばその部分だけステンシルの開口部は除外されるようになっているのですが、自作PCBではサイズや用途、スペースなどの問題で自分で作ったパッドを使うことも多いと思います。

その際に毎回ステンシルのホールが作られてしまい面倒だなと感じていたのですが、KiCadで扱うレイヤーに関して理解出来てくると非常に簡単なことだったんですね!

PCB製作に関して普段疑問に思っていることがたくさんあり、基板を発注する際に毎回いくつか疑問箇所を取り入れて試すようにしています。
何かの参考になればと思います。

また、JLCPCBでの基本的な基板やステンシルの発注方法に関してはこちらの記事で紹介しています。
あわせて見て頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!
【JLCPCB】初めてステンシルを使ったリフローを行ってみました。JLCPCBでステンシルを発注する手順などを紹介!
]]>
https://burariweb.info/electronic-work/pcb-metal-mask-aperture-exclusion.html/feed 0 35444
【KiCad】基板発注の際に必要なKiCadの主なレイヤーとその役割について! https://burariweb.info/electronic-work/kicad-layers.html https://burariweb.info/electronic-work/kicad-layers.html#respond Mon, 11 Mar 2024 20:49:12 +0000 https://burariweb.info/?p=35391

【KiCad】基板発注の際に必要なKiCadの主なレイヤーとその役割について!]]>

電子工作でPCBの製作を始めて1年ほどが経ちました。
自分がイメージした自作基板が作れるようになってくると電子工作で出来ることの幅も広がってきたように感じます!

基板設計にはKiCadといった基板作成用のCADソフトを使って行っていくわけですが、KiCadの扱いにも少し慣れてきたのでよく使う主な『レイヤー』やその役割について備忘録的にまとめてみました。

KiCadでよく使うレイヤーとその役割について

プリント基板(PCB)は、「表面」と「裏面」に配線パターンがありパーツ実装を行う「2層基板(両面基板)」を扱うのが一般的だと思います。
さらに4層や6層・・・といった多層基板もありますが、私はまだ試したことがなく一般的な用途では2層基板で十分だと思います。

KiCadを使って基板設計を行う際に、銅層やシルク層、またレジスト・マスクといった多くの『レイヤー』を扱う必要が出てきます。
初めてKiCadを使って製作した基板ではこの各レイヤーがどんな役割を果たすものなのかよく分からず、また基板を発注する際にどのレイヤーデータをPCB製造メーカーに渡せばいいのか?
といったことを理解するのにも時間がかかりました。

基板設計において重要な項目となり、最近になりようやく理解出来てきたのでまとめておきます。

KiCadのレイヤー表示について

KiCadの基板エディターを開くと右側の[外観マネージャー]にレイヤーが表示されます。
多くのレイヤーがあるため初めてのKiCadを使った基板設計ではどのレイヤーが何を意味しているのか?その役割についてなど結構迷うかと思います。

まずKiCadのレイヤー表示の基本は、「F:基板表面」「B:基板裏面」を使って表しています。
FはFront(表)、BはBack(裏)の略となります。

多くのレイヤーがあるのですが、例えば最も基本となる配線(パターン)を表す銅層(銅パターン)は「Cu」というレイヤーになります。
2層基板では基板の表面と裏面に配線を引くことが出来るので、基板表面の銅層は「F.Cu」というレイヤー名、また基板裏面の銅層は「B.Cu」というレイヤー名で扱われるということになります。

これは他のレイヤーでも同様で、シルク層を表す「Silkscreen」レイヤーでは、基板表面のシルク層は「F.Silkscreen」また基板裏面のシルク層は「B.Silkscreen」というレイヤー名になっています。

KiCadのレイヤー表示は基本的に

(基板面 F or B) .(レイヤーの種類)

というようにレイヤーを扱います。

しかし基板の表面(F)や裏面(B)の表記が入らないレイヤーもあります。
例えば基板外形線(基板の形状)を表す「Edge.Cuts」というレイヤーは、基板の表面・裏面関係なく共通で使われるものなので1つのレイヤーとして表示され使われます。

また基板発注の際にデータとして必要ありませんが、設計時に補助線を入れたり数値をメモしたりなどで使える「User.Comments」というレイヤーや「User.1」「User.2」といったレイヤーもそれにあたります。

Cu(銅レイヤー) : F.Cu / B.Cu

KiCadのレイヤー表記の規則みたいなものの雰囲気は伝わったかと思います。
それではPCB製造メーカーに基板製作を依頼する際に必ず必要となる、よく使われる主なレイヤーとその役割について見ていきます。

Cu]は銅層(銅レイヤー)です。
パーツをはんだ付けするためのパッドやそのパッド間をつなぐ配線が格納されたレイヤーとなります。
銅の元素記号(Cu)が使われているので分かりやすいと思います。
基板上にパーツを配置して配線を接続していく、最も基本となるレイヤーです。

F.Cu

B.Cu

  • F.Cu 基板表面の銅レイヤー(配線パターン及びパッド)
  • B.Cu 基板裏面の銅レイヤー(配線パターン及びパッド)

Silkscreen(シルクレイヤー) : F.Silkscreen / B.Silkscreen

[Silkscreen]はシルクレイヤーです。
レジストの上にシルクスクリーン印刷されるもので、R1やC1といった部品番号(リファレンス)や文字、また図形などを入れておくと基板上にそのまま印刷されます。

発注するPCB製造メーカーにより色を指定出来る場合もありますが、一般的に白色で基板に印刷されます。

  • F.Silkscreen 基板表面のシルクレイヤー
  • B.Silkscreen 基板裏面のシルクレイヤー

Edge.Cuts(基板外形レイヤー)

[Edge.Cuts]は基板外形線のレイヤーです。
このレイヤーは基板の形状が格納されたレイヤーとなり、表面(F)・裏面(B)に関係しないので[Edge.Cuts]という1つのレイヤーとして扱われます。

このレイヤーに基板の形状(外形)を書き込んでおけば、PCB製造メーカーに発注した際にその形状に基板をカットしてもらえます。

  • Edge.Cuts 基板外形レイヤー

Mask(レジスト・マスクレイヤー) : F.Mask / B.Mask

基板にはソルダ・レジスト(通称:レジスト)が塗られています。
レジストの色は基本的に緑色となりますが、PCB製造メーカーによっては青色や赤色、黄色や白色といったレジスト色を指定することも出来ます。
基板を発注する際に指定したレジスト色が基板の色になるということです。

レジストは銅箔の損傷を守るといった役割に加えて、はんだをはじくという役割も果たします。
電子部品をはんだ付けするパッド部分にはこのレジストがかからないようにする必要があり、その位置や形状を指定するために使われるのが[Mask(レジスト・マスクレイヤー)]となります。

電子パーツを実装するパッド以外にはんだが乗らないようにしているということですね!

KiCadではパーツ(パッド)を配置するとMaskレイヤーが自動的に生成されます。

  • F.Mask 基板表面のレジスト・マスクレイヤー
  • B.Mask 基板裏面のレジスト・マスクレイヤー

Paste(はんだペーストレイヤー) : F.Paste / B.Paste

[Paste]レイヤーは、表面実装パーツをリフローで実装する際にはんだペーストを基板に塗布するメタルマスク(ステンシル)を製作する時に使われるレイヤーです。

ステンシルに開けるホール(穴)の位置やサイズ・形状が格納されたレイヤーですね!

KiCadでは表面実装パーツを配置すると自動的に生成されます。

基板を発注する際にステンシルも一緒に製作してもらう場合に必要となるレイヤーです。

【KiCad / PCB】ステンシルで特定のパッドの開口部だけ除外したい場合はどうすれば?試してみました!
  • F.Paste 基板表面のはんだペーストレイヤー
  • B.Paste 基板裏面のはんだペーストレイヤー

基板データ(ガーバーファイル)を出力する

基板用途や発注内容にも関係してきますが、一般的に上記9レイヤー(F.Cu/B.Cu/F.Paste/B.Paste/F.Silkscreen/B.Silkscreen/F.Mask/B.Mask/Edge.Cuts)がPCB製造メーカーに基板を発注する際に必要となってくるレイヤーとなります。

基板設計後、PCB製造メーカーに発注するためにこれらレイヤーデータをまとめた基板データ(ガーバーファイル)を作成します。

ガーバーファイルの出力は、KiCadの[ファイル]→[プロット]へと進みます。

[出力フォーマット]は[ガーバー]を選択し、[出力ディレクトリ]を選びます。
分かりやすいようにこちらでは[Plot]というフォルダを作り、ここにデータを出力するようにしました。

 

[含めるレイヤー]は先ほど説明した9レイヤーを選択します。
ステンシルを発注しない場合は[F.Paste / B.Paste]レイヤーは必要ありませんが、入れておいて問題ありません!
基板とステンシルを一緒に発注する際に忘れてしまうので私はいつも入れています。

出力するレイヤーが選択できたら[プロット]をクリックしてファイルを出力します。
指定したフォルダに各レイヤーファイルが生成されます。

次に[ドリルファイルを生成]をクリックしてドリルファイルも出力します。

指定したフォルダに各レイヤーデータとドリルファイルが出来ました。

PCB製造メーカーに基板製造を依頼する場合、これら生成したデータをzip形式に圧縮したファイルを使います。
これで基板発注に必要な基板データ(ガーバーファイル)の完成です。

その他のレイヤー

基板製造には直接反映されませんが、基板設計時に任意の目的で使用できる汎用レイヤーがあるのでいくつか見ておきます。

Courtyard(コートヤードレイヤー): F.Courtyard / B.Courtyard

[Courtyard]は、部品を安全に実装するために必要なパーツの余白を表したレイヤーです。

基板設計途中にDRC(Design Rule Check)をかけた際に『コートヤードのオーバーラップ』という違反(警告)が出ることがあります。
パーツ間の余白が十分に取れていないということで、実装時のトラブルに繋がるよという警告です!

実際にはこのエラーが出ても問題なく実装出来ることの方が多いように感じます。

  • F.Courtyard 基板表面のコートヤードレイヤー
  • B.Courtyard 基板裏面のコートヤードレイヤー

Fabレイヤー: F.Fab / B.Fab

[Fab]レイヤーは製作者(Fabricator)用に用意されたレイヤーです。
部品の実際の外形や製造に関する補足情報などを扱うレイヤーです。

シルクレイヤーにコメントや文字などの情報を書くと基板にプリントされてしまいますが、基板に反映する必要はないけど情報を記載しておきたい場合に使われます。

先程のコートヤードのオーバーラップという警告ですが、この例では確かにコートヤードが重なっているのですが実際にはパーツ同士がぶつかるといったことはなさそうなので配置は可能ということになりそうです。(他のデザインルールにも関係してきますが!)

  • F.Fab 基板表面の製作者用レイヤー
  • B.Fab 基板裏面の製作者用レイヤー

User.Drawings / User.Comments

基板寸法を確認するのに私はUser.Drawingsレイヤーを使っています。
基板発注には関係しない任意の目的で使用できる汎用レイヤーです。

User.1 / User.2 / User.3…

メモやコメントなどユーザーが自由に使えるレイヤーです。

Adhesiveレイヤー: A.Adhesive / B.Adhesive

Adhesive(接着剤)を扱うレイヤーで、部品を固定するための接着剤塗布の場所を指定するようです。
基板の両面にパーツを配置し実装する時に、反対面のパーツが落ちないように固定するとかの用途でしょうか?
このレイヤーはあまりよく分かっていません!

最後に!

電子工作で自作基板の製作を始めて1年ほどが経ちKiCadの扱いにも少し慣れてきたので、自分への備忘録的にKiCadの主なレイヤーとその役割についてまとめてみました!

基板設計では専門的な用語もたくさん出てくるためKiCadを使い始めた頃はよく分からず戸惑うことが多かったのですが、基板設計で基本となる主なレイヤーに関して雰囲気がつかめているとKiCadの理解も早いかと思います。

またJLCPCBを使った実際の基板発注方法などは、こちらの記事にまとめているので合わせて見て頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!

基板製作の参考になればと思います・・・。

]]>
https://burariweb.info/electronic-work/kicad-layers.html/feed 0 35391
【電子工作 / PCB】ESP32で動かすミニビデオプレイヤー基板の製作① フットプリントのミスで音が出ないためリベンジ確定です! https://burariweb.info/electronic-work/esp32-video-player.html https://burariweb.info/electronic-work/esp32-video-player.html#respond Sun, 10 Mar 2024 16:42:52 +0000 https://burariweb.info/?p=35369

【電子工作 / PCB】ESP32で動かすミニビデオプレイヤー基板の製作① フットプリントのミスで音が出ないためリベンジ確定です!]]>

前回のこちらの記事の追記となります。

【電子工作 / PCB】ESP32で動かす動画再生プレイヤーのミニPCB製作を考えています!

電子工作でPCBの製作を始めて1年ほどが経つのですが、今回製作した基板では非常に悔しいミスをしてしまいました。
オーディオチップのパッケージサイズを間違ってしまい実装ができず、音が出ないというものです・・・。

以前ESP32で動画を再生するMini RetroTVを製作しました。
レトロテレビを模した形状のケースを3Dプリンタで作成し、TinyTV(タイニーTV)のような可愛い動画再生プレイヤーとして仕上げることが出来ました!

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

【TinyTV / ESP32】ESP32で動画再生!ミニレトロテレビ(Mini RetroTV)の製作②!

そして今回、上記Mini RetroTVのミニPCB版とも言えるキーホルダーサイズの小さな動画再生プレイヤーを製作してみました。
もともとはこちらの基板を先に製作する予定だったのですが、その当時の私のCADスキルが足りず製作途中で保留にしていたものとなります。

基板設計やKiCadの扱いにも少し慣れてきたので実際に形にしてみようと今回製作するに至ったのですが・・・
オーディオチップのフットプリントを間違えるという痛恨のミスをしてしまい、想定通り動作はしてくれますが音が出ないという非常に悔しい思いをしております。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

単純なミスなのでその部分を修正し再度基板を発注してリベンジしてみようと考えているのですが、その途中経過として当記事にまとめておこうと思います。

ESP32で動かすミニビデオプレイヤー基板の製作!

まずはじめに、ESP32で動画を再生させる今回のプロジェクトのコアとなる部分を公開されている先人の方々に感謝です!

具体的には動画ファイル(mp4)からあらかじめ映像ファイル(mjpeg)と音声ファイル(mp3)に分離したファイルを用意しておきSDカード内に保存、ESP32の2つのコアでそれぞれ処理し映像として再生するというものです。

詳しくはこちらの記事で紹介しているのであわせて見て頂ければと思います。

【TinyTV / ESP32】ESP32で動画を再生する!片手サイズで可愛いミニレトロテレビ(Mini RetroTV)の製作!①ブレッドボードで組んでみる

CADのイメージ

前回の記事でも少し書いたのですが、TinyTVのような構成のものを自分で作ることが出来れば楽しいだろうな・・・

そんな思いつきから調べてみると上記記事で書いたESP32を使い動画を再生させるという素晴らしいプロジェクトを見つけ、これをベースに使わせて頂くと自作PCBで動画再生プレイヤーを作ることやTinyTVのようなものを自作することが出来そうです。

PCBで製作するなら片手に収まるサイズ感、キーホルダーのような感覚で使えるサイズで作りたいという思いがあったのですが、想定する基板サイズで作ろうとすると当時の私のCADスキルでは全てのパーツを収めることが出来なかったので、まずはESP32開発ボード(Lolin D32を使いました)やSDカード・オーディオモジュールなど既存で販売されているパーツを組み合わせ、そしてレトロテレビのような形状のケースを3Dプリンタで作成しそこに収めたものをMini RetroTVとして製作しました。

非常に可愛く仕上がったと思います!

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

【TinyTV / ESP32】ESP32で動画再生!ミニレトロテレビ(Mini RetroTV)の製作②!

入手しやすい既存パーツで組んでいるのでブレッドボードで動かすだけでも楽しいと思います!

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

【TinyTV / ESP32】ESP32で動画を再生する!片手サイズで可愛いミニレトロテレビ(Mini RetroTV)の製作!①ブレッドボードで組んでみる

そしてある程度KiCadの扱いにも慣れてきたのでPCB版を製作してみることにしました。

上記ブレッドボードで組んだものを基板化するために各種チップやパーツをピッチ変換基板を使いバラで組んで動作テストを行い、この回路構成(パーツ数)なら1.69インチのTFTカラーディスプレイを使いイメージしていた片手に収まるサイズ感で設計&製作することが出来そうです。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

メインの基板以外に駆動用のリポバッテリーやスピーカーの配置も必要となるので、ボトムプレートをスペーサーで結合する2枚構成で作ることにしました。

基板設計

コアとなるESP32はESP-WROOM-32を使いました。
動画再生のスケッチを書き込むのにUSB-シリアル変換モジュールが必要になるのでESP32-S3-WROOM-1といった内蔵されたコアを使う手もあったのですが・・・

動画再生を行うメインスケッチをESP32に一度書き込んでしまえば、以降はSDカードに再生させたい動画 & 音声ファイルを追加するだけなので製作当初はシリアルのパッドを作り外部に接続したUSB-シリアル変換モジュールを使ってESP32への書き込みを行う構成で考えていました。

以前は0805サイズのパーツをベースに考えていましたが最近では0603サイズの実装にも慣れてきたのでパーツサイズを変更、その分スペースが出来たのでシリアル変換用のチップも組み込んでおくことにしました。

ESP32への書き込み頻度はそれほど高くなく、USB-シリアル変換チップはスペース的に小型なCH340EやCH340Nの使用を考えリセット(ENピン)やブート(IO0ピン)に繋がったスイッチを取り付け手動でスケッチの書き込みを行う構成で考えていましたが、パーツの配置を再調整するとESP32への自動書き込み(オートフラッシュ)回路も組み込むことが出来ました。

ESP32のオートフラッシュにはUSB-シリアル変換チップのDTRとRTSが必要となるので、少しチップサイズが大きくなりますがこれらが使えるCH340Cチップを使いなんとかこのボードサイズに収めることが出来ました。

これなら動画再生プレイヤーとして使う以外にも何か別用途でも使えそうです!

そして基板を発注しパーツ実装時に気付いたのですが、基板設計で大きなミスがありました。
当初I2SオーディオチップにMAX98357を使って回路設計をしていたのですが、パーツ点数を減らしESP32への配線をシンプルに出来るようにPAM8302Aに変更しオーディオ部分の回路を組み直したのですが、その際にフットプリントを誤ってしまいこのチップの実装が出来ず・・・非常に悔やまれます!

全体構成は、コアにESP-WROOM-32、USB-シリアル変換チップにCH340C、USB端子からリポバッテリーの充電を行うMCP73831を使った充電回路、PAM8302Aを使ったオーディオ回路という構成になりました。

JLCPCBに基板発注

まず今回製作したボードの全体回路構成や動画再生部分のスケッチ、また基板データ(ガーバーファイル)をご紹介したかったのですが、先述のようにオーディオチップのサイズをミスしてしまい現状音が鳴らない状況でPCBを再発注する際に変更等あるかもしれないので後日追記しておきます。

基板の発注はJLCPCBを使いました。
PCB2枚(メインボード・ボトムプレート)とステンシルも一緒に発注しました。

ステンシルサイズは通常発注すると結構大きくなり、その分送料も高くなってしまうのでサイズをカスタムして発注しています。
基板サイズが約40mm×55mmとなるのでその2倍くらいのサイズ(100mm×100mm)に指定すれば実装もしやすく送料もその分お安く発注することが出来ます。

JLCPCBでのステンシル発注方法やステンシルを使ったパーツ実装に関してはこちらの記事も参考にして下さい!

【JLCPCB】初めてステンシルを使ったリフローを行ってみました。JLCPCBでステンシルを発注する手順などを紹介!

またJLCPCBの基本的な基板発注方法に関してはこちらの記事で詳しく解説しているのであわせて見て頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!

パーツの実装

送料区分にOCS Expressを選択し発注から8日で手元に基板が届きました。
基板2枚とステンシルの同時発注ですが、ほんと毎回製造&到着が早いですね!

今回製作した基板では0603サイズのパーツをベースにしピッチの狭いチップがいくつかあり、パーツ間のクリアランスも結構攻めたのでステンシルを使うと実装が楽になります。

パッド部分に最適な量のはんだペーストを綺麗に乗せることが出来ます。

ステンシルを使った実装に関してはこちらの記事も参考にして下さい!

【JLCPCB】初めてステンシルを使ったリフローを行ってみました。JLCPCBでステンシルを発注する手順などを紹介!

順調にパーツを実装していたのですが・・・

オーディオチップ(PAM8302A)でおやっと?
グランドプレーンなんて付いていないチップなのに・・・サイズも違い実装出来ないのでこの時点で音が出ないことが確定しました!
残念・・・。

PAM8302AチップにはSOP-8とMSOP-8のパッケージがあるのでサイズを間違えただけならそのサイズに合うチップを入手すれば実装は出来るのですが、全く違ったフットプリントを使っていました。
実チップは手元にあったので背面グランドプレーンが付いている時点でおかしいなと気付けばよかったのですが・・・

修正基板を発注すのに各所動作チェックはしておきたいので実装を続けることに・・・。

パーツの実装はミニリフロー装置MHP50を使いました。
ホットプレートサイズがMHP30より一回り大きくなったMiniwareさんの新製品です。(2023年末に発売)

リフロー装置としての安全設計などMHP30の良い所がすべて引き継がれ、ホットプレートサイズが大きくなりカラーディスプレイ搭載、操作性も大きく向上した非常に使いやすいミニリフロー装置です。

MHP50の詳しいレビューはMHP30の記事に後日追記しておきます。

【電子工作】コンパクトボディーで安全設計!ミニリフロー装置『Miniware MHP30』を使ってみる!
MEMO
使用パーツなども含め修正基板を製作し動作確認が出来たら後日追記しておきます!

動作確認

ステンシルを使っているので実装はブリッジ等もなく一発で完動しました!
音が鳴らないのだけが、ホント残念です。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

リポバッテリーを接続しボトムプレートを取り付け収めるとこのサイズ感です。
想定していた片手サイズに収まる可愛い動画再生プレイヤーが完成しました!

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

USB端子(Type-C)からのリポバッテリー充電も問題ないようで、基板修正はオーディオチップのサイズ修正だけで問題なさそうです。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

少し余談になりますが、ボードに取り付けた電源用の緑色LEDとリポバッテリー充電中に点灯するオレンジLEDの電流制限抵抗はそれぞれ1kΩの値を使っています。
電源LEDは3.3V駆動、充電LEDは5V駆動となっているので明るさ(輝度)が少し異なっています。

これらインジケーターLEDはディスプレイの上部に設置しているのでメインのディスプレイの邪魔にならない程度に明るさを抑えるのが理想的です。
また2つのLEDの明るさも合わせたいところです。

今回は修正基板を作る予定なので電流制限抵抗の値は調整していませんが、そのようなLEDの明るさを調整し最適な抵抗値を簡単に計測できるボードがあると便利です!

【電子工作 / 自作PCB】LEDの明るさに応じた最適な電流制限抵抗を計測出来るちょっと便利なボードを製作してみました!

最後に!

想定していたサイズ感のミニビデオプレーヤーが完成しました!

オーディオチップのサイズを間違えていた私の凡ミスなんですが、KiCadを使っているとこのようなミスは結構起こりがちだと思います。
特に私のようにようやくKiCadの扱いにも少し慣れてきて回路規模が大きなものを作る時などです。

設計途中でブロック単位で回路をごっそりと変更するといった事はよくありますが、その際のアノテーションによりリファレンスをリセットするか否か?
またその際の関連付けの事などによりパーツの配置が変わったりフットプリントが間違っていたりと、このようなミスが発生しているにも関わらず気付かないことが私はよくあるのですが、これも別記事にでもまとめてみようと考えています。

KiCadのデータを確認したところ今回はオーディオチップのサイズ間違いだけだったので修正は比較的簡単だと思います。
後日、ちゃんと音が出る完成形としてまた詳しくご紹介できればと考えています。

]]>
https://burariweb.info/electronic-work/esp32-video-player.html/feed 0 35369
【電子工作 / 自作PCB】LEDの明るさに応じた最適な電流制限抵抗を計測出来るちょっと便利なボードを製作してみました! https://burariweb.info/electronic-work/led-brightness-checker-pcb.html https://burariweb.info/electronic-work/led-brightness-checker-pcb.html#respond Wed, 06 Mar 2024 15:38:25 +0000 https://burariweb.info/?p=35301

【電子工作 / 自作PCB】LEDの明るさに応じた最適な電流制限抵抗を計測出来るちょっと便利なボードを製作してみました!]]>

自作基板の製作を始めてからLEDの電流制限抵抗の値を意識することが多くなりました!

特に表面実装(SMD)タイプのLEDはスルーホールタイプのものより結構明るく点灯するため1kΩや2kΩ、またもっと高い4.7kΩといった抵抗を接続することもあります。
他の方が製作したPCBを見ることもあるのですが、接続している電流制限抵抗の値はいろんな値のものが使われているようです。

同じ電圧・抵抗値で点灯させても、赤色は明るいのに対して緑や黄色では比較的暗く点灯したりとLEDは色によって明るさ(輝度)が結構変わってきますし、サイズによっても明るさの見え方は異なってきます。

通常、赤色LEDの順方向電圧(VF)は約2.0V前後に対し青色LEDは約3Vほどと高くなっており、これはLEDの色により変わってきます。
LEDに接続する理想的な抵抗値はデータシートから順方向電圧や定格電流を調べ簡単にオームの法則から求めることは出来るのですが・・・

複数色のLEDを点灯させる場合に各色が点灯する明るさ(輝度)を合わせたり、また好みの明るさに点灯する時の抵抗値を求めるのは少し面倒な作業になるかと思います。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

そこで簡単に抵抗値を求めることが出来るボードを製作してみました!

好みの明るさにLEDを点灯させたい!簡単に電流制限抵抗を計測出来るボードを製作してみました

冒頭でお話したようにLEDに接続する最適な電流制限抵抗を求めることはオームの法則で簡単に出来ます。

しかしLEDの明るさの調整、例えば自作基板で複数色のLEDを使っている場合などで電源用の赤色LEDは明るすぎるので少し暗めに調整し、シリアルのライン(TX/RX)で使っている青や緑のLEDは明るく輝度も統一させて点灯させたいといった事があると思います。
駆動する電圧(5Vや3.3Vなど)や表面実装タイプのLEDでは0805や0603といったチップサイズでも明るさの感じ方はかなり異なってきます。

自作基板の製作を始めて1年ほどが経ったのですが、私なんかはこれが結構気になる方で・・・
回路図上ではどの色のLEDも大体1kΩと書くのですが、パーツを実装する際は経験値的に赤や青は明るいので抵抗値を高めにし、黄色やオレンジなどはその逆に少し小さな値のものを使うなどしています。

LEDのデータシートを詳しく見ると順方向電圧や定格電流、また明るさに関しては定格輝度(光度)がmcd(ミリカンデラ)という単位を使い記載されているのですが・・・
ポテンショメーター(可変抵抗)を使い抵抗値を変えながら実際にLEDを点灯させればお好みの明るさに対する抵抗値を簡単に求めることが出来るので、視覚的に分かりやすいアナログ的な測定を行うボードを製作してみました。

LEDの電流制限抵抗の値について

LEDの電流制限抵抗はオームの法則を使い簡単に計算することが出来ます。

例えば5V電源に赤色LEDを接続する場合を考えると、赤色LEDは順方向電圧(VF)が約2.0V前後で定格電流20mAくらいになっているのが一般的で、これは製品により異るので詳しくはデータシートを見るのが確実です。

抵抗値の計算は、オームの法則(I=E/R)から抵抗値R=E/Iで計算することが出来ます。

上記数値を当てはめると、R=(5-2.0)/0.02=150Ωとなりこの値よりも大きな抵抗値を選んでおけば問題ないことになります。

今回製作したボードでは、LEDが好みの明るさに点灯するようにポテンショメーター(半固定抵抗)を調整しその時の抵抗値をテスターで計測するというものです。

表面実装タイプのLEDはスルーホールタイプのものより明るいので10kΩのポテンショメーターを使いました。

数値的には5kΩまででもいいかな?とも思いましたが、ブレッドボードで実際に複数色のLEDの点灯テストをしてみると設定する明るさによっては他の色と明るさを合わす場合に5kΩ以上の抵抗値になる色のLEDもあるようなので10kΩとしました。

またポテンショメーターが最小の時は抵抗値がほぼ0ΩとなりLEDの破損につながるので200Ωの固定抵抗も付け、200~10kΩの範囲で計測出来るこのような構成にしました。
想定する電圧を印加してLEDが好みの明るさになるようにポテンショメーターを調整し、その際の抵抗値をテスターで計測するというものです。

CAD設計

今回製作したボードは表面実装タイプの0402/0603/0805/1206サイズのLEDの測定が出来るボードにしました。
各サイズでよく使われる、赤・緑・青・白・黄・オレンジの6色のLEDの計測が出来ます。

私の用途ではよく使う0603や0805サイズのLEDがメインとなりますが、実際の実装でまだ使ったことがないさらに小さな0402サイズの実装テストも兼ねて製作しました。

ボードサイズはPCB製造メーカーで格安で作れる10cm以内に収まるサイズにしています。(約86mm×53mm)

全体の回路構成はこのようになっています。

上手く10cm以内の基板に収めることが出来ました。

JLCPCBに基板発注

基板の発注はJLCPCBを使いました。
送料区分にOCS NEPを選択すればトータル500円ほどで製作することが出来ます。(基板5枚)
安い送料にもかかわらず1週間から10日ほどで手元に届きます。

基板データ(ガーバーファイル)をダウンロード出来るようにしておきます。
何かの参考になればと思います。

発注時の項目は特に変更する必要はありませんが、基板製造時に任意の位置に入ってしまう基板製造番号(発注番号)は目立たない基板裏の隅に入るように位置を指定しています。

[Remove Order Number(発注番号の削除)]の項目は[Specify a location(場所の指定)]を選択するとJLCPCBでは無料で発注番号を指定位置に持っていくことが出来ます。

発注から8日で基板が届きました。
小さなサイズの基板に綺麗にまとまったと思います。

パーツの実装

ピンヘッダーやピンソケット、ポテンショメーターなどスルーホールパーツの実装が多いので通常の手はんだでの実装は簡単だと思いますが、0402サイズのLEDは非常に小さいので少し難しいかもしれません。

1206から0603までのサイズなら手はんだでも比較的簡単なんですが、0402サイズはほんと小さいですね!

不要なら実装する必要はありませんが、基板サイズに余裕があったのと私自身まだ実装したことがない0402サイズの実装テストも兼ねて入れてみました。
また200Ωの固定抵抗は0805サイズのものを使っています。

表面実装タイプとなるLEDおよび抵抗の実装は全てミニリフロー装置MHP50を使って行いました。
ホットプレートサイズがMHP30より大きくなった後継機となるMHP50ですが、作業スペースの邪魔にもなりにくく非常に使いやすいリフロー装置です。

MHP50のレビューはMHP30の記事に後日追記しておきます。

【電子工作】コンパクトボディーで安全設計!ミニリフロー装置『Miniware MHP30』を使ってみる!

0402サイズのLEDも問題なく実装することが出来たのですが・・・
チップサイズが非常に小さいためLEDのどちら側がアノード?カソード?
スマホで拡大してみても認識しづらく全て逆に実装していました!

0402 LEDだけ部分リフローで全て実装しなおしました。

MHP50専用のこのようなスタンドPCBを以前製作したのですが、これ非常に便利なのでMHP50ユーザーの方にオススメです!

【電子工作 / PCB】Miniware MHP50で使えるスタンドの製作。大きな基板やいろんなリフロー方法に対応出来るので便利ですよ!

0402 LEDだけ再実装し無事完成しました!

計測方法

使い方は非常に簡単です。
計測したいLEDの色(RED/GREEN/BLUE/WHITE/YELLOW/ORANGE)・サイズ(0402/0603/0805/1206)を選択しその部分をジャンパーピンで短絡させます。

スイッチを[LED]側にし、[VIN]端子に想定している電圧(5Vや3.3Vなど)を印加するとLEDが点灯するのでポテンショメーターを回しLEDが好みの明るさになるように調整します。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

明るさが決まったらスイッチを[R]側にして[R Value]端子にテスターを接続し抵抗値を計測します。
PCBを製作する際に計測した抵抗値のものを使えば同じ明るさで点灯するということになります。

複数色を同時に点灯させ比較しながら明るさを合わせたり、特定の色を明るくまたは暗くするなどしたい場合に簡単に抵抗値を割り出せるので便利です!

表面実装タイプのLEDは結構明るいので、例えば自作ボードで複数のLEDを使っている場合に常に点灯している電源LEDの赤色は少し控えめに点灯させ、データラインといった重要なインジケーターLEDは明るめに調整するといった抵抗値を事前に確認、または実装時に簡単に確認することが出来るので便利だと思います。

使用パーツ一覧

今回使用したパーツ一覧です。

パーツ 入手先
LED
サイズ:0402/0603/0805/1206
色:赤/緑/青/白/黄/オレンジ
AliExpress
抵抗
(0805)200Ω×6
AliExpress
ポテンショメーター
10kΩ×6
秋月電子
スイッチ
2.54mmピッチ6ピンDPDT×6
秋月電子
端子
ピンヘッダー/ピンソケット
ーーー
ジャンパーピン 秋月電子
基板固定用ビス
※必要ならM3ビス&スペーサーを使って下さい!
ーーー

最後に!

スルーホールタイプのRGB LEDの赤・緑・青、それぞれのLEDに接続する抵抗値が同じだと微妙に輝度が異なるため明るさを合わせようと思うと抵抗値を変える必要があるといったことを以前ブログで書いた記憶があります。

もちろんデータシートを見れば定格光度(mcd)やそのグラフなども詳細に記載されているのですが・・・視覚的に抵抗値を確認することが出来れば簡単で用途によっては便利に使えると思います。

WS2812BやSK6812といったマイコンチップが入ったLEDではもちろんプログラムで調整出来るわけですが、ボードに実装する電源LEDやデータライン確認用LEDといった単一のチップLEDでは感覚的にアバウトな値にする事が多いと思うので、LED実装時にこのようなテストボードがあれば便利な場面も多いと思います。

何かの参考になればと思います。

]]>
https://burariweb.info/electronic-work/led-brightness-checker-pcb.html/feed 0 35301
【電子工作 / 自作PCB】RP2040が動く最小構成で組むブレークアウトボードの製作を考えています! https://burariweb.info/electronic-work/rp2040-circuit-design.html https://burariweb.info/electronic-work/rp2040-circuit-design.html#respond Tue, 05 Mar 2024 15:15:46 +0000 https://burariweb.info/?p=35270

【電子工作 / 自作PCB】RP2040が動く最小構成で組むブレークアウトボードの製作を考えています!]]>

RP2040と言えばRaspberry Pi Picoに使われているMCU(マイコンチップ)で有名です!

RP2040はチップサイズが7mm×7mmと非常に小さなチップ(QFN-56)となりますが、自作基板の製作を1年ほどやってきてこのサイズのチップ実装にも慣れてきたので自作のRaspberry Pi PicoといったRP2040を使った自作基板の製作も出来ればと思っており、RP2040の回路構成や基板設計のテストも兼ねてまずはRP2040ブレークアウトボードの製作を考えています。

既にCAD上ではこのような自作Raspberry Pi Picoのイメージ&設計をしているのですが・・・

先述のようにRP2040は非常に小さなチップとなりピッチ変換基板などを使わないと実際に回路を組んでテストなどが出来ず、回路構成など細かい部分の確認が出来ないためRP2040が動く最小構成で組んだボードがあると今後テスト等で使えるはずなので、まずRP2040の全I/O端子を引き出し最小構成で動かすことが出来るブレークアウトボードを製作してみようかと考えています。

製作の過程でRaspberry Pi公式さんが公開されている各種資料は非常に参考になりました。
RP2040を基板に直実装で自作キーボードなどの製作を考えられている方にも参考になると思います!

RP2040が動く最小構成で組むブレークアウトボードの製作!

RP2040を動かすにはどのような回路構成で組めばいいのか?
まずここからのスタートだったんですが、Raspberry Pi公式サイトにある『Raspberry Pi Datasheets』には回路図や構成、KiCadの基板データなどが公開されています。
これは非常に参考になります!

以下、Raspberry Pi Datasheetsのサイトにいくと様々なデータシートが公開されているのですが、その中に『rp2040/Minimal-KiCAD.zip』というファイルがあります。

参考 Raspberry Pi DatasheetsRaspberry Pi

RP2040を動作させるのに必要な最小構成で組んだボードのKiCadデータが含まれており無料でダウンロードすることが出来ます。

このデータを参考にRP2040ブレークアウトボードの製作を進めています。

rp2040/Minimal-KiCAD.zip

rp2040/Minimal-KiCAD.zip』をダウンロードしKiCadで開いたものがこちらです。

RP2040を駆動するための3.3Vを作り出すレギュレータ回路やクリスタル(発振回路)、USB端子(microUSB)やI/O端子、またRP2040はフラッシュメモリが内蔵されていないので外部フラッシュメモリといったRP2040を動かすのに必要な最低限の回路構成となったボードです。

RP2040のI/O端子が引き出されテスト等で使える最小構成となったものなので、私の考えている用途としてはこのデータをそのまま使い基板を発注し製作してもいいのですが・・・

手を加えたい箇所がいくつかあり、またKiCadのデータを見ているとCAD設計のテクニックや工程なども学べるものだったので、今回一から自分で設計してみることにしました。

ダウンロードしたKiCadのデータとこちらの『RP2040を使用したハードウエア設計』という資料を照らし合わせながら設計を進めていくと、初めてRP2040を使った回路や基板設計を行う際に非常に参考になるかと思います。

参考 RP2040を使用したハードウエア設計Raspberry Pi

RP2040の回路設計

こちらがrp2040/Minimalボードの回路構成です。
非常にシンプルですね!

これをベースに手を加えていきました。
最終的にこのような構成の自作RP2040ブレークアウトボードを製作しようと考えています。

rp2040/Minimalから修正した箇所を見ていきます。

I/O端子

デバッグポートを含めRP2040で使える全I/O端子を引き出す構成にしました。

rp2040/Minimalでは片側2列で内1列は全てGNDポートとなっていますが、ブレークアウトボードなので全てI/O端子としピンヘッダーとピンソケットという構成に変更しました。

またUSB端子のデータライン(D+/D-)、VBUS(5V)、3.3V、GND端子を配置して合計20ピン×2のI/O端子とし、これに伴いボードサイズは52mm×52mmになりました。

RP2040まわりの回路

コアとなるRP2040まわりの回路構成は、rp2040/Minimalから変更せずそのまま使いました。
バイパスコンデンサやUSBデータライン(D+/D-)に接続されている抵抗などなるべくRP2040チップの近くに配置するように書かれています。(青文字部分)

これらパーツの定数や配置などは上記『RP2040を使用したハードウエア設計』を読み照らし合わせながらCAD設計を進めていくと分かりやすいと思います。

RP2040には多くのバイパスコンデンサが繋がれていますが、その配置なども参考になります。

またフラッシュメモリとの接続もrp2040/Minimalからそのまま使っています。
SPI接続のフラッシュメモリとなりSSピン(CS)のプルアップ抵抗R3はrp2040/MinimalではDNF(Do not Fit)と書かれている理由やR2の1kΩの接続のことなど上記資料を見ると分かりやすいと思います。

USB端子の変更

rp2040/MinimalではUSB端子にmicroUSB端子が使われていますが、これはType-C端子に変更しました。

電圧レギュレータの変更

RP2040の駆動電源となる3.3V電圧レギュレータは手持ちでたくさんあるAMS1117-3.3に変更しました。

またRP2040には1.1Vという電源ラインがありますが、これはRP2040自身で作れるので問題ありません!

I2Cプルアップ抵抗の追加

通常のGPIOピンとして使う場合は必要ありませんが、I2Cピン(GPIO16-SDA / GPIO17-SCL)にプルアップ抵抗を付けることが出来るように変更しました。

[BOOT] [RESET]スイッチ / オンボードLEDの追加

Raspberry Pi Picoには[BOOTSEL]スイッチが付いています。
スイッチを押しながらUSB接続し起動するとUSBマスストレージデバイスとしてRP2040が認識されるというものです。

テストボードとしては[BOOT][RESET]スイッチがあると便利なので追加しました。

またRaspberry Pi PicoではRP2040のGPIO25ピンにオンボードLEDが接続されています。
テストで使えるようにオンボードLEDも追加しました。

以上、rp2040/Minimalをベースにしてこのような全体構成のボードで製作しようと考えています。

基板設計

回路構成がほぼ決まったので基板設計なんですが、20ピンのピンヘッダーが収まる正方形(52mm×52mm)サイズのボードにしピンヘッダーとピンソケットを配置、ブレークアウトボードなので極力I/Oラベルが見やすくなるように大きめにプリントしました。

rp2040/MinimalではRP2040まわりのバイパスコンデンサ等に一部0402サイズのパーツが使われていますが、私自身このサイズのパーツをまだ実装したことがなくボードスペースに余裕があるので現状では0603サイズのパーツをベースに製作しています。

ほぼ基板設計は出来ているのですが、0402サイズのパーツ実装の経験にもなるのでサイズを変更しようか?とも考えています。

【追記】自作RP2040ブレークアウトボードが完成しました!

RP2040関係の自作PCBの製作を今後考えているので、回路を組みテスト等で使えるRP2040ブレークアウトボードを製作しました。

【電子工作 / PCB】初めてのRP2040を使った基板設計。テスト回路を組む際に使える最小構成で組んだRP2040ブレークアウトボードの製作!

最後に!

RP2040を使ったテストが出来る環境が無かったことから、自作RP2040ブレークアウトボードの製作を考えています。

冒頭でご紹介したように自作のRaspberry Pi PicoもCAD上で設計してはいるのですが、実回路を使ったテストが出来ず基板密度が高いため動作しないなどトラブルが出た際に問題切り分けも出来ないだろうということから、まずはこのようなRP2040を動かす基本構成のボードを製作しそこから発展させていければと思っています。

自作キーボードの製作なども今後考えているのですが・・・
Raspberry Pi Picoを使わずRP2040チップを基板に直実装した自作キーボードの製作などを考えている方にも、今回ご紹介したRaspberry Pi公式さんが公開している資料は非常に参考になるかと思います。

もう少しRP2040の資料を読み込み、製作したボードが完成したらまた詳しくご紹介出来ればと思います。

]]>
https://burariweb.info/electronic-work/rp2040-circuit-design.html/feed 0 35270
【Panel by JLCPCB】JLCPCBに面付け依頼する場合、エッジレールを付けておけば基板製造番号(発注番号)をそちらに逃がすことが出来るようですね! https://burariweb.info/electronic-work/escape-edge-rail-order-number.html https://burariweb.info/electronic-work/escape-edge-rail-order-number.html#respond Sat, 02 Mar 2024 05:19:11 +0000 https://burariweb.info/?p=35241

【Panel by JLCPCB】JLCPCBに面付け依頼する場合、エッジレールを付けておけば基板製造番号(発注番号)をそちらに逃がすことが出来るようですね!]]>

自作基板の製作を始めて1年ほどが経ったのですが、回路や基板設計、また発注方法に関してなどよく分からなくまだ疑問に思っていることがたくさんあります。
そんなことから基板を発注する際には何かしらそのような自分の中の疑問点を取り入れ設計や発注を行って少しずつ解決するようにしています。

そして最近面付け(パネライズ)した基板を発注することも多くなってきたのですが、その際に基板製造番号(発注番号)の入る位置に関して少し試してみました。

具体的には、単一基板データ(ガーバーファイル)を入稿しJLCPCBに面付けを依頼する[Panel by JLCPCB(JLCPCBによる面付け)]というオプション項目を選択し面付け基板を作成する場合には、エッジレールを付けておけば基板製造番号を無料でそちらに逃がす(入れる)事が出来るというものです!

[Panel by JLCPCB]基板製造番号をエッジレールに逃がす!

基板製造時にPCBの任意の位置に基板製造番号(発注番号)というものがシルクプリントされてしまうのは、どの基板製造メーカーを使っても同じだと思います。

基板の表または裏、特に入る位置が決まっているわけではない?ようでスペースが空いている箇所に自動的に毎回入ってしまいます。
これはPCB製造工程で他のPCBと区別するために入れられるもので、1基板に対して1ヶ所必ず入ります!

I/Oラベルがある位置の近くといった他のシルク文字等に被ってしまうと見にくくなり、基板自体の見た目も悪くなりかねません!
大抵の場合、目立たない位置や端子等で隠れる部分に入るように位置を指定したり、有料となりますがこの発注番号自体を削除するオプションを選択するかと思います。

JLCPCBでは発注項目の中に[Remove Order Number(発注番号の削除)]というオプション項目が用意されています。
通常は指定なし[No]が選択されているので任意の位置に発注番号が入ってしまいますが、[Specify a location(場所の指定)]を選択すると無料でこちらが指定した位置に発注番号を入れることも出来ます。
また[Yes]を選択すると有料(1.52ドル)となりますが完全に発注番号を削除する事も出来ます。

そして今回の話は、JLCPCBに面付けを依頼する場合にエッジレールを付けておけば特に指定なし(無料)で発注番号をそちらに入れることが出来るというものです。

面付け基板の基板製造番号(発注番号)はどこに入る?

面付け(パネライズ)といっても同種基板や異種基板の面付け、またVカットやスリット、スロットを入れるなどカット方法もいろいろとあるため発注方法も異なるわけですが・・・

基本的に基板製造番号(発注番号)は1基板に対して1ヶ所入るので、例えばこのように自分で面付け基板としてデータを作成したものでは目立たない位置に入るように指定すれば無料となります。

JLCPCBではこのように『JLCJLCJLCJLC』とシルクを入れればこの位置に発注番号が入ります。

そしてJLCPCBでは通常発注の際に使用する単一基板データ(ガーバーファイル)を使い面付け基板として製造するように依頼することも出来ます。
[Panel by JLCPCB(JLCPCBによる面付け)]というオプション項目を選択して発注する方法です。

この面付け依頼はVカットによる同種基板の面付けに限定されますが、通常作業で作成した単一の基板データを使い面付け基板として製造依頼できるので、面付け基板データをこちらで用意する手間がかからず便利となります。

[Panel by JLCPCB(JLCPCBによる面付け)]による発注方法に関して詳しくはこちらの記事も参考にして下さい!

【JLCPCB】面付け基板の発注![Panel by JLCPCB]を選択しVカットによる面付け基板を発注する手順
MEMO
[Panel by JLCPCB(JLCPCBによる面付け)]は、同種基板のVカットによる面付けに限定されます!

面付け方法は限定されますが面付け基板データを用意する手間がなくコストも安いので便利な面付け発注方法なんですが、発注番号の扱いに関してよく分からなかい部分があったのでJLCPCBの中の人に伺いながらいくつか試してみました!

基板製造番号(発注番号)の入る位置を指定すると!?

まず[Panel by JLCPCB(JLCPCBによる面付け)]を選択して発注番号の入る位置を指定するとどうなるのか?
単一の基板データに[JLCJLCJLCJLC] というシルク文字を入れそこに発注番号が入るように指定する方法ですね!

こちらの単一基板データでは発注番号が入る位置を指定しています。

これを[Panel by JLCPCB(JLCPCBによる面付け)]で1×2面付け基板、

そして発注番号が指定位置に入るように選択して発注すると・・・。

このように面付けされた2枚の基板ともに指定位置に発注番号が入ってしまいます。

面付け枚数を変えても同様に全ての基板に製造番号が入ってしまいます。

エッジレールに基板製造番号(発注番号)を入れる!

ここからが今回の本題です。
[Panel by JLCPCB(JLCPCBによる面付け)]では面付け枚数を指定して製造する以外にエッジレールを入れることも出来ます。

エッジレールとはコンポーネントと基板エッジ間のクリアランスを増やすために入れる捨て基板のようなもので、SMTの工程で実装機が基板の位置を把握出来るように認識マーク(フィデューシャルマーク)を配置するなどの用途で使用されるものです。

参考 How to add edge rails/fiducials for PCB assembly orderJLCPCB [Panel by JLCPCB(JLCPCBによる面付け)]では両面(On 2 Sides)または四面(On 4 Sides)全てに最小5mm幅からエッジレールを入れる指定が出来ます。

仮に両面に5mmのエッジレールを付けると、面付け後の基板サイズは5mm+5mmでトータル横方向に10mm大きくなることになります。

両面エッジレール

四面エッジレール

そしてエッジレールを付けた面付け基板の発注では[Remove Order Number(発注番号の削除)]の項目は[指定なし(No)]を選択するとJLCPCBでは自動的にエッジレール側に発注番号が入る仕様になっているようです。

エッジレールはパーツ実装後には切り離すので、無料で注文番号がこちら側に入ってくれるのはありがたいですね!
また、エッジレール込みの基板サイズが100mm×100mm以内であれば基板製造料金や送料も通常発注の時のようにかなりお安く製作することが出来ます。

最後に!

面付け基板データをこちらで事前に用意して発注する場合は目立たない位置に入るように指定すれば問題ないのですが、単一基板データを使い[Panel by JLCPCB(JLCPCBによる面付け)]を選択してJLCPCBに面付け依頼を行う場合は、先述のように下手に発注番号が入る位置を指定してしまうと面付けした全ての基板に入ってしまうため、今回のようにエッジレールを入れておき無料で発注番号をそちら側に逃がすという方法もあるので知っておくと便利ですね!

前々から発注番号の処理でよく分からなかった部分だったので今回いくつか試してみました。
何かの参考になればと思います!

またJLCPCBでの基本的な基板発注方法に関してはこちらの記事も参考にして頂ければと思います。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!
]]>
https://burariweb.info/electronic-work/escape-edge-rail-order-number.html/feed 0 35241
【電子工作 / PCB】リポバッテリー充電モジュール『TP4056モジュール』をより便利に使えるように自作クローンモジュールを製作してみました! https://burariweb.info/electronic-work/tp4056-custom-module-pcb.html https://burariweb.info/electronic-work/tp4056-custom-module-pcb.html#respond Tue, 27 Feb 2024 20:41:17 +0000 https://burariweb.info/?p=35205

【電子工作 / PCB】リポバッテリー充電モジュール『TP4056モジュール』をより便利に使えるように自作クローンモジュールを製作してみました!]]>

リポバッテリーやリチウムイオン電池の充電に使える『TP4056モジュール』は電子工作をやられている方ならご存じの方多いと思います!
充電コントローラーICにTP4056が使われた1セル(シングルセル)専用のバッテリー充電モジュールです。

リポバッテリーの扱いには結構気を使うわけですが、このモジュールは安価で入手する事ができ保護回路も入っているためリポバッテリーやリチウムイオン電池を使った工作などで便利に使うことが出来ます。

市販されているTP4056モジュールにはいくつか種類があるのですが、このモジュールに接続して使用するバッテリーに保護ICが入っているのか、またその有無が分からないという場合もあるのでバッテリー保護IC(DW01)も搭載されたタイプのモジュールを使うのがいいと思います。
TP4056とDW01という構成のモジュールはAmazonなどでも入手しやすく1個単価100円ほどで販売されています。

安価な割に1セルバッテリーの充電&使用で便利に使えるモジュールなので、電子工作でこれまで製作したものにいくつか使っています!

そしてこの市販されているTP4056モジュールをより便利に使えるように、PD充電器からの充電を可能にし出力端子の配置を変えるなど少し手を加えたクローンモジュールを製作してみました!

TP4056クローンモジュールの製作

TP4056モジュールとは?

電子工作でリポバッテリーや18650といったリチウムイオン電池を扱う場面は結構多いと思います。
TP4056モジュールは1セル(シングルセル)専用のバッテリー充電モジュールとなり、工作用途でも便利に使えます。

TP4056モジュールに関しては以前こちらの記事でまとめているので基本的な使用方法等は参考にして下さい!
冒頭でご紹介したようにTP4056モジュールにはバッテリー保護チップ(DW01)がセットで搭載されたものを使うのが安心です。

【電子工作】TP4056充電モジュールを使い18650リチウムイオン電池やリポバッテリーを充電する方法!

またTP4056モジュールはUSB端子の形状がMiniUSBやmicroUSB、Type-Cになったものが市販されています。
USB端子の形状が違うだけで内部の構成はどれも同じなんですが、今ではType-C端子になったものを使うのが何かと便利だと思います。

・・・なんですが、Type-C端子になったものはコネクタのCCピンにプルダウン抵抗が入っていないようでPD充電器から使うことが出来ません!
これが何気に不便!

TP4056クローンモジュール製作に至った経緯

今回製作したTP4056モジュールのクローンボード製作に至った経緯は、以下2ヶ所に手を加えたいという思いからです。

カスタムしたい箇所
  1. PD充電器からも使えるようにしたい!
  2. 出力端子及びバッテリー端子の配置を変えたい!

①PD充電器からも使えるようにしたい!

Type-C端子になったTP4056モジュールを使うことが多いのですが、市販されているものはPD充電に対応していません!

Type-C端子のCCピンにプルダウン抵抗が入っていないからというよくあるパターンのものとなり、もちろんType-A to Type-Cケーブルからは問題なく使うことが出来ますが、Type-C to Type-Cケーブルでは使うことが出来ずこれでは何かと不便です。

このモジュールはUSB端子から5Vを取り出せれば使えるので、基板上のUSB端子まわりに5.1kΩのプルダウン抵抗を取り付けるスペースが有れば解決出来そうですが・・・以前パーツを外しパターンを確認したことがあるのですが、これはちょっと無理そうです!

【電子工作】TP4056リチウムイオン電池充電モジュールの充電電流を変更する!Type-CモジュールのPD対応は可能か?
【電子工作】USB Type-C端子から5V電源を取り出す!

このような製品は身の回りに結構あるため、先日このようなアダプタを製作しました!

【電子工作 / PCB】Type-C端子のCCプルダウン抵抗(5.1kΩ)が入っていないのでケーブルによっては使えない時がある!?ちょっと便利なアダプターを作ってみました!

市販されているTP4056モジュールもこのアダプタで対応する事が出来るのですが、出力端子の配置も変えたかったことから今回自作することにしました。

②出力端子及びバッテリー端子の配置を変えたい!

次に端子の配置を変えればピンヘッダーでの使用以外にプラグを取り付けたりも出来るので便利になりそうです。

市販されているTP4056モジュールのバッテリー接続端子と駆動する負荷に接続する端子の配置は以下のようになっています。
リポバッテリーを接続して使う場合、これでは少し使いづらくなります。

市販されている1セルのリポバッテリーにはPH2.0プラグが取り付けられていることが多いのですが、上記配置ではバッテリーを直接プラグで接続する事が出来ません。
そのためピンヘッダー以外にプラグ接続も出来るように端子の配置をこのように変えました。

これでこのようにプラグを取り付けて使うことも出来るようになります。

簡易的に1セルリポバッテリーの充電器として使うことも出来るので便利になりますね!

上記2ヶ所に手を加えたTP4056クローンモジュールとして自作してみました!

回路構成 & ボードイメージ

まず回路構成です。
オリジナルボードとほぼ同じ構成です。

バッテリー充電チップにTP4056を使いバッテリー保護チップDW01、そしてDW01単体では直接電流を止める機能がないため2個のNチャンネル型FETが入ったFS8205Aを使い異常時ボディーダイオード通じ電流を遮断出来る構成となっています。

ボードサイズや形状(切れ込み部分は面付けの関係でカットしました)、ピンの位置などは全てオリジナルのものに合わせています。

FS8205A(TSSOP-8)チップは小さなパッケージのチップFS8205S(SOT23-6)で代用することも可能なのでボードサイズをさらに小さく作ることや独自の形状で作ることも出来たのですが、TP4056モジュールを使ってこれまで製作したものに差し替えて使うことも出来るようにボードサイズやチップサイズはオリジナルのものに合わせて製作しました。

オリジナルのボードは非常に安価で販売されているので、リフロー等で主要パーツ(TP4056/DW01/FS8205A)を取り外し今回製作したクローンボードに載せ替えて使うといったことも出来るようにしています。

また入力側(5V)はUSB端子以外にVIN端子からの入力も出来るようにしています。

JLCPCBに基板発注

基板の発注はJLCPCBを使いました。
通常の単体基板として発注する場合、基板5枚で約500円ほど(送料区分はOCS NEPを選択)で製作する事が出来ますが、今回JLCPCBに面付け依頼を行い発注しました。

TP4056モジュールはこれまで製作で使ったものをこの自作ボードに入れ替えたり、また今後使う機会も何かと多いと思うので3×5枚面付けで発注し実質75枚の基板を1200円ほどで製作することが出来ました。

単体の基板データ(ガーバーファイル)は以下からダウンロード出来るようにしておきます。
何かの参考になればと思います。

JLCPCBでは単体の基板データを使い面付けを依頼することが出来ます。
単体基板データを使い[JLCPCBによる面付け(Panel by JLCPCB)]を選択し面付けを依頼する方法も少し見ておきます。

MEMO
[JLCPCBによる面付け]はVカットによる面付けに限定されます!

通常の要領でガーバーファイルをJLCPCBのサイトにアップロードします。
単体基板データを使いJLCPCBに面付け依頼を行うので、[納品形式]は[JLCPCBによる面付け]を選択します。
[パネル形式]に面付けしたい枚数(列×行)を選択します。

単体基板の時と同様に面付け後の基板サイズが100mm×100mm以内に収まるサイズだと基板製造料金がお安く、またOCS系の送料区分の選択や料金自体が安くなるのでトータルコストを抑えることが出来ます。

今回3×5面付けで100mm以内に収まるように面付けを依頼しました。

またJLCPCBに面付けを依頼する場合、エッジレールを付けることも出来ます。
エッジレールはステンシルを同時発注する場合にその位置合わせで使うことも出来ますが、今回は基板製造番号を逃がすという目的でエッジレールを入れて発注しました。
両面に5mmのエッジレールを入れても100mm以内に収めることが出来ます。

こちらが実際に出来上がった基板ですが、上手く基板製造番号をエッジレールに逃がすことが出来ました。

通常JLCPCBでは基板製造番号(発注番号)を指定位置に入れるのは無料で出来ますが、削除するには1.5ドルの追加料金がかかってしまいます。

また基板製造番号を指定位置に入れる指定を行ってしまうと、おそらく面付けした全基板に製造番号が入ってしまい今回製作したような小さな基板では他のシルク文字の邪魔になったり見にくくなってしまいます。

[発注番号の削除]の項目は指定せずエッジレールを付けておけば自動的にそちら側に発注番号が入り無料なのでお得ですね!

 

今回の発注で選択した項目はこんな感じです!
送料区分はOCS NEPを選択しトータル1200円ほどで実質75枚の基板を作ることが出来ます。

JLCPCBの基本的な基板発注方法に関してはこちらの記事でまとめています。

【電子工作】はじめての基板製作!JLCPCBさんに基板を発注してみました。ユーザー登録・データ納品・基板到着までの一連の流れをご紹介!

また[JLCPCBによる面付け]を選択して面付け依頼を行う方法はこちらの記事でまとめています。
あわせて見て頂ければと思います。

【JLCPCB】面付け基板の発注![Panel by JLCPCB]を選択しVカットによる面付け基板を発注する手順

パーツの実装 & 動作確認

送料区分はOCS NEPを選択し発注から8日で手元に基板が届きました。
150円ほどの送料ですが1週間ほどで届くので、ほんと毎回助かっています!

パーツの実装はMHP50を使って行いました。
Miniwareさんから新しくリリースされたMHP30の後継機となるミニリフロー装置です。
ホットプレートサイズが大きくなり、PD100W電源に対応するなど非常に優秀なリフロー装置です!

MHP50の詳しいレビューに関してはMHP30の記事に後日追記しておきます。

【電子工作】コンパクトボディーで安全設計!ミニリフロー装置『Miniware MHP30』を使ってみる!

MHP50はMHP30からホットプレートサイズが大きくなっていますが、面付け基板などホットプレートサイズより大きくなる基板を扱うパーツ実装はこのようなスタンドがあると非常に便利です。

MHP50ユーザーの方はこちらの記事も参考にして頂ければと思います。

【電子工作 / PCB】Miniware MHP50で使えるスタンドの製作。大きな基板やいろんなリフロー方法に対応出来るので便利ですよ!

リポバッテリーを扱うものなので入念にチェック・・・動作確認も問題なく正常に動作してくれました!

5枚を一気に実装してみましたが、もう少し作っておきたいのでステンシルも一緒に発注しておけばよかったかなと・・・

パーツ一覧

今回使用したパーツ一覧です。

使用パーツ リファレンス(定数) 入手先
抵抗(0603) R1/R3 5.1kΩ AliExpress
R2/R6/R7 1kΩ
R4 100Ω
※R5 4kΩ
(充電電流300mA)
コンデンサ(0603) C1/C3 0.1μF AliExpress
C2 10μF
LED(0603) D1(スタンバイLED) AliExpress
D2(チャージLED)
端子 J1 Type-Cコネクタ AliExpress / 秋月電子
IC U1 TP4056 AliExpress
U2 DW01A AliExpress
U3 FS8205A(TSSOP-8) AliExpress

最後に!

市販されているTP4056モジュールは単価100円ほどと非常に安価で販売されているのでこのようなカスタムボードを自作すると逆にコストがかかってしまいますが、使い勝手は良くなるので個人的には作ってみてよかったと思います。

販売されているボードから主要パーツ(TP4056/DW01/FS8205A)は使い回せるようにしているので、リフロー等で今回製作したカスタム基板の方に簡単に付け替えて使えるようにしておいたのもよかったと思います。

電子工作用途でよく使うモジュールでさらに使いやすくなるように手を加えてカスタムさせてみたいというものはいくつかあるのですが、その手始めとしてTP4056充電モジュールのカスタムボードを今回作ってみました。
何かの参考になればと思います・・・。

]]>
https://burariweb.info/electronic-work/tp4056-custom-module-pcb.html/feed 0 35205
【電子工作 / PCB】ESP32で動かす動画再生プレイヤーのミニPCB製作を考えています! https://burariweb.info/electronic-work/esp32-video-playback-player-pcb.html https://burariweb.info/electronic-work/esp32-video-playback-player-pcb.html#comments Mon, 26 Feb 2024 16:57:55 +0000 https://burariweb.info/?p=35190

【電子工作 / PCB】ESP32で動かす動画再生プレイヤーのミニPCB製作を考えています!]]>

以前ESP32を使い動画を再生するMini RetroTVを製作しました!
レトロテレビのような形状を模したケースを3Dプリンタで作成し、赤外線リモコン(IR)で動画を切り替えるなどの機能を付けTinyTV(タイニーTV)のような構成のものを自作することが出来ました。
なかなか良く仕上がり非常に可愛いので電子工作の作業スペースに置いています。

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

【TinyTV / ESP32】ESP32で動画再生!ミニレトロテレビ(Mini RetroTV)の製作②!

そしてほぼ同じ構成でPCB化したものの製作も考えています。
片手に収まるサイズ感のPCBで動画再生が出来るミニプレイヤーです。

もともとこちらの方を先に製作する予定だったのですが、想定する基板サイズに全てのパーツを収めることが当時の私のCADスキルでは難しく、またパーツ実装のことも不安だったことから保留していたものとなります。
少し形になってきたのでご紹介したいと思います。

ESP32で動かすミニ動画再生プレイヤーの製作!

ESP32を使って動画を再生することが出来るのは面白く、ブレッドボードで組みテスト動作させた時は驚きました!
手持ちのESP32開発ボードやディスプレイなどを使いブレッドボードで組んで試すことが出来るので、こちらの記事も見て頂ければと思います。

【TinyTV / ESP32】ESP32で動画を再生する!片手サイズで可愛いミニレトロテレビ(Mini RetroTV)の製作!①ブレッドボードで組んでみる

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

ブレッドボードでのテストを経て3Dプリントパーツを作成してケースに収めると雰囲気も出て面白いもに仕上がりました!

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

そして今回は上記構成のものをPCB化してミニ動画再生プレイヤーとして製作してみようという話となります!

CADのイメージ

動画再生プレイヤーとしてPCBで製作するなら片手で収まるサイズ感、キーホルダーのような感覚で使えるサイズで作りたい・・・
というイメージから、まずFusion360を使い全体のサイズ感や主要パーツの配置が出来るのかを考えていきました。

ディスプレイのサイズは何パターンかテストした結果、1.69インチのラウンドディスプレイ(角が丸まったディスプレイです)を使うとイメージしていた片手に収まるPCBサイズで作れそうです。(約40mm×55mm)

メインの基板以外にリポバッテリーやスピーカーの配置も必要となるので、スペーサーで結合しPCBを2枚使った構成のものでイメージが固まってきました。

基板設計

3Dプリントパーツを使い以前製作したMini RetroTVはESP32開発ボードにLolin D32を使っています。
リポバッテリーからの駆動やその充電も出来る便利なESP32開発ボードの一つです。

【電子工作】技適取得済みESP32開発ボード『Lolin D32』を使ってみる!

主要回路はLolin D32やESP32-DevKitCをベースに組めばいいのですが、想定している基板サイズが小さいためリポバッテリーからの駆動や充電回路、I2Sでの音声出力のための回路も組み入れる必要がありなかなか大変です!

ディスプレイは通常よく使われるピンヘッダーが付いたモジュールタイプのものではサイズが大きくなりシンプルなPCB形状に仕上げることが出来ません。
そのためディスプレイ単体のものを実装しようと考えているため駆動部分の回路も必要となり、そこそこパーツ点数が多くなってしまいます。

またディスプレイ単体のものは接続部分にフレキシブルケーブルが使われているのですが、この部分の基板実装ってどうすればいいのか?
ということも製作を保留していた要因の一つだったんですが・・・

これに関しては、先日フレキシブル基板を使ったテストPCBを製作して実装の雰囲気がつかめたので問題ないと思います。

【電子工作 / PCB】フレキシブル基板(FPC)を使ったArduinoの製作!

これで全ての構成が決まり実装に対する不安箇所も無くなったので、再度ブレッドボードでPCB用のテスト回路を組み動作が不安定になる部分を修正してKiCadでの基板設計に移りました!

 

この投稿をInstagramで見る

 

東京バード(@bird_tokyo)がシェアした投稿

ESP32に動画再生のためのスケッチを書き込めば基本的に以降はSDカードに動画&音声ファイルを追加していくだけで再生が出来るので当初はスケッチ書き込み端子を作り手動でESP32に書き込む構成でパーツ点数を極力減らす方向で考えていました。

上手くパーツを配置するとUSB-シリアル変換チップやESP32のオートフラッシュ(自動書き込み)の回路も組み込めそうで、現状このようなメインボードとして設計を進めています。

最後に!

以前3Dプリントパーツで製作したMini RetroTVがなかなか完成度が高く良かったので、これをミニPCB化したものの製作を考えています。

以前はこのサイズのPCBに全てのパーツを収めるCAD設計スキルやSMDパーツの実装の経験があまりなかったことから製作を保留していたのですが、今ならなんとか形に出来そうな気がしています。

想定している基板サイズで作ることが出来れば、TinyTVのようなキーホルダーサイズの可愛い動画再生プレイヤーとなる予定ですが・・・
実際に製作し完成したら、また詳しくご紹介できればと思っています。

]]>
https://burariweb.info/electronic-work/esp32-video-playback-player-pcb.html/feed 1 35190