2019年07月06日

シリアルWiFiモジュール変換基板

今回は以前に紹介したシリアルBLE5モジュールの変換アダプタに続いて、シリアルWiFiモジュール変換基板の設計、試作してました。
シリアルWiFiモジュール変換基板にはSiliconLabs製WiFiモジュールAMW037を搭載しています。
UARTシリアルで設定変更できるWiFiモジュールです。
モジュールが小さいため、マークは記載されていませんが、TELEC(技適)認証済 工事設計認証番号 201-180092です。


img1.jpg

img2.jpg



RSTボタンを備えており、電源LED、全IOにアクセスできる設計になっています。また、電源3.3V、GND、シリアルTX/RXはGroveコネクタで簡単に接続できるようにしました。基板サイズ自体は25mm x25mmの正方形でピン幅は22.86mmでブレッドボードにピッタリ幅に設計しました。
今後、検証して問題なければ1個2.5千円前後でどこかで販売予定です。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年06月29日

ロードスイッチ変換基板

今回は先日設計したロードスイッチ変換基板を紹介します。

ロードスイッチの用途としてマイコンで制御する周辺回路の電源管理に使用します。例えば、SDカードやセンサなどをロードスイッチで管理したりします。

マイコンはSTM32L0、L4などはディープスリープモードでほぼ電流を消費しないモードにすることができます。一方、SDカードやセンサなどの負荷は電源に供給されていると電流を消費し続けます。電池駆動の場合は使っていないのに電池がすくなくなるという状況に陥ります。電池の電源スイッチから切ってしまうとタイマーやボタンで起動できないということになってしまいます。


ここで活躍するのがロードスイッチです。


マイコンのIOからSDカードやセンサといった各負荷を制御することで必要な時以外は電源を個別に供給しないように制御できます。これにより、不要な電流の消費を抑えることができます。

FETを使えば同じことはできますが、ロードスイッチはFETに比べて、ON抵抗が小さく、漏れ電流が10pAと非常に⼩さい特徴があります。つまり、より理想的なスイッチに近いイメージで使用できます。


ロードスイッチには様々な種類がありますが中でも業界最小レベルの漏れ電流を実現した、Vishay製超低漏洩電流ロードスイッチSiP32431を変換基板にしてみました。手はんだできなくはない大きさですが、部品が小さく向きマークが見ずらいため、このような基板にしました。


主な特徴は下記の通りです。

  • Vishay製超低漏洩電流ロードスイッチSiP32431を搭載した変換基板です。
  • 1.5V~5.5V、最⼤1.4Aまでの負荷の電源管理が可能です。
  • SDカードやセンサ等をマイコンからON/OFF制御する場合に最適です。
  • FETを使⽤する場合に⽐べ、漏れ電流が10pAと非常に⼩さいことが特徴です。
  • EN端⼦がHighの時、VOUTからVIN電源が出⼒されます。
  • 安定化のため、EN端子は基板上で20kΩでプルダウンしています。
  • ブレットボードに入る2.54ピッチの変換基板です。

500円前後/1枚でどこかで販売予定です。



img1.jpg

img2.jpg
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年06月22日

CO2センサ

今回は先日、入手したCO2センサについて少し紹介します。

CO2センサは室内の空気管理、植物を育てる温室の空気管理、人の混み具合可視化など用途が広く面白いセンサです。



CO2センサの原理として、光学式、電気化学式、半導体式があります。
MH-Z14Aはどのような構造か、精度が悪化することを承知で中身を確認してみました。


co2_1.jpg

上部に白い布状のテープが貼ってあり、ここからCO2が入るようです。



co2_2.jpg

使用しているマイコンはSTM32F051K8のようです。マイコン横のICはWS6252と記載されていますが、情報がありませんでした。回路パターンからオペアンプだと思われます。


co2_3.jpg

上の蓋を外すと内部は至ってシンプルでした。左側にLED(赤外線LED)、右側に光センサ素子がついています。



co2_4.jpg

外乱として外部の光が入らないような入れ子構造になっていました。センサ側の蓋はミラー状になっており、赤外線LEDの光を受ける構造になっていました。

ということでMH-Z14Aは光学式CO2センサと分かりました。非分散型赤外線(NDIR: non dispersive infrared)検出方式のようです。思った以上にシンプルな構造でした。赤外LEDの光をばらつきなく受光素子に届けるための蓋の金色と形状がポイントだと思いました。


また別の機会に実際につかってみたいと思います。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする

2019年06月15日

シリアルBLEモジュール変換基板

今回は以前に紹介したシリアルBLE5モジュールの変換アダプタを設計、試作してみたのでご紹介します。

シリアルBLEモジュール変換基板にはSilicon Labs製 BGX13Pを搭載しています。
BLE5に対応したUARTシリアルで設定変更できるBLE5のモジュールです。
技適も取得済でマークがモジュールに記載されています。

Silicon Labs製 BGX13Pはシリアルで簡単にデータを設定、転送できるだけでなく、スマホアプリ(iOS、Android)でファームアップデートが簡単に可能なので今後の機能アップにも期待できます。


BLE5_1.jpg

BLE5_2.jpg

当初、手はんだで後からQFNパッケージのイメージで実装できると思いましたが、パットが小さいかつ数が多いのため、ハンダがうまく流れないためリフローでないと実装が難しいことが分かりました。そのため、実装も外部に委託して試作してみました。

BLE5_3.jpg

BootボタンとRSTボタンを備えており、電源LED、全IOにアクセスできる設計になっています。また、電源3.3V、GND、シリアルTX/RXはGroveコネクタで簡単に接続できるようにしました。基板サイズ自体は25mm x25mmの正方形でピン幅は22.86mmでブレッドボードにピッタリ幅に設計しました。


今後、検証して問題なければ1個3.5千円前後でどこかで販売予定です。
posted by Crescent at 00:00| Comment(0) | 電子部品 | このブログの読者になる | 更新情報をチェックする

2019年06月08日

Digital Video Shield 応用編その2

Digital Video Shieldの応用編その2を紹介します。
ここ数回、応用方法を紹介(初回その1)しましたが、今回はJPG、PNGの画像を表示させてみました。

Digital Video Shieldで使用しているビデオエンジンBT816はCo-Processorエンジンを搭載しており、LOADIMAGEコマンドを使用することでJPGやPNGの画像をデコードしてビットマップに展開する処理をBT816内で行うことができます。
BT816でデコードできるため、Arduino等の小規模のマイコンでもJPG、PNG画像を表示させることができます。

また、Digital Video ShieldにはmicroSDスロットがあるため、他の配線なしでSDカードに入った画像を読み込んで表示することができます。



JPG、PNG画像をBT816に読み込む方法はいくつかあります。
@SDカードデータ→BT816内のRAMに展開→BT816内のRAMからビデオ出力
ASDカードデータ→BT816内のRAMに展開→Digital Video ShieldのFlashへ書き込み→FlashからRAMへ展開→BT816内のRAMからビデオ出力
B@の方法でSDカードの代わりにコード内にバイナリデータを実装
CAの方法でSDカードの代わりにコード内にバイナリデータを実装

なお、BT816でデコードせずにそのままBitmapを表示させる方法はありますが、専用ツールで前処理(専用のファイル形式への変換)が必要で手間と汎用性に欠けるため、今回はこの方法は使用しません。

B、Cはマイコンに十分なROM領域がないと実現できないため、汎用性を考え、@の方法を紹介します。
Aの方法はDigital Video ShieldのFlashを活用する意味では魅力的ですが、BT816に接続されたFlashは読み込み時はそのまま読み込むことはできず、必ずRAMに展開する操作が必要となります。また、Flashのメモリは16MBでSDカードと比べると小さく、SDカードの方が汎用性が高いため、機会があれば別途紹介したいと思います。

全体手順
1. microSDに800x480の画像データをPCから保存
2. main while内、もしくはloop内にEveDemo3関数呼び出しコードを記述
3. Digital Video ShieldのSDスロットにメモリを挿入
4. マイコンに上記コードを書き込み
5. ディスプレイを接続して電源を投入する
6. JPG/PNGが表示されます


JPG/PNGのデコード、表示処理を行うEveDemo3関数の内部処理を簡単に紹介します。EveLoadJpgFile内でメモリから読み込み、デコード、表示処理を行います。

1. SDカード内の該当する画像ファイルを開く
2. CMD_LOADIMAGE命令を実行し、BT816内の汎用RAM領域RAM_Gにデータ展開する
 ※RAM_G展開したデータはCMD_LOADIMAGE命令で自動でデコードされます
3. デコードされたビットマップデータをEveCmdSetBitmapで設定します
 ※ここで高さ、幅は読み込んだファイルのそのままのピクセルサイズを設定します
4. 位置を変更する場合はVERTEX2II(x,y,...)で必要に応じて変換処理を行います
 ※今回は紹介しませんが、大きさ変更や回転させる場合はCMD_SCALE、CMD_TRANSLATEといったコマンドがあります
5. DISPLAY、DLSWAPで表示処理を行うことでディスプレイに表示されます


img5.JPG

SDカードから800x480ピクセルサイズのJPG/PNGをBT816のRAMに読み込ませて800x480のディスプレイに表示させてみました。JPG/PNGのファイルをそのまま前処理(専用のファイル形式への変換)なしで表示できるのは非常に魅力的だと思いました。


arduino.jpg

ArduinoUNOでコンパイルした結果は 使用率ROM45%、RAM58%でまだまだ余裕があります。ArduinoUNOを使用してSDカードのファイルシステム、JPG/PNGのデコード、画像表示までできることが確認できました。ArduinoUNOといったマイコン側にRAM容量がなくともビデオエンジンBT816の大容量RAMによりこのような処理を実現することができました。BT816のRAMサイズは1MBあるため、JPG/PNGをデコードしたビットマップで1MB以下の画像であれば表示できると思います。


今回のサンプルはArduinoUNO及びSTM32F401 Nucleoで実装しています。Githubに上がっているコードをアップデートし、JPG/PNG読み込み例(EveDemo3)を追加しました。

Digital Video ShieldとArduinoUNOで自作フォトフレームといったことも簡単に実現できそうです。
posted by Crescent at 00:00| Comment(0) | 電子工作 | このブログの読者になる | 更新情報をチェックする