virt_flyのブログ -33ページ目

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

↑今更ながらですが、Raspberry Pi Pico互換機を使い作り直した二酸化炭素濃度測定器

 

RP2040-Microを使ってみる

 

Raspberry Pi のおかげ
 
Raspberry Pは、パソコンと言うには非力で、しかもケーブル類の取り回しが面倒、マイコンにしては少々お高くて、どうにも中途半端な印象が拭えません。そんな中でRaspberry Pi Picoは、マイコンに特化というかマイコンそのものですから、中途半端感がなくてすっきりします。
 
なんかRaspberry Pi をディスってるみたいですが、個人的にはRaspberry Pi がなければPythonを使って電子工作をすることもなかったでしょう。
 
 なにせ、パソコンに開発環境を構築したり自作のハードを接続することは、使いこなせなければメモリ喰いになり、下手すれば高額なパソコンを壊してしまいそうに思ってましたから。払拭できたのは、まだ安価なRaspberry Pi を母艦にすれば、例え壊しても損害は少なく気が楽に思えたからこそです。
 
しかも、Raspberry Pi にセンサーなどをつなげることは、WindowsやLinuxなどのOSに慣れ親しんできたパソコンにセンサーをとりつけるようなもので、直接マイコンで行うよりは余程敷居の高さを感じずにできたと思います。
 
Raspberry Pi Picoを使って電子工作するようになると、OSが立ち上がるのを待たされることもなく即プログラムが実行されて、さすがマイコンと便利さを痛感します。
 
MicroPython用とCircuitPython用に2つのPico
 
それならば、Raspberry Pi Zeroをより安価なPicoに置き換えるべしと、以前作った二酸化炭素濃度測定器を作り直しました。
 
文字サイズが変えられるようにしたいので、CircuitPythonでプログラムの書き直しが必要でした。
 
MicroPythonからCircuitPythonへプログラムを書き換えるためにはIDE自体をインストールし直さなければなりません。両環境を行ったり来たりする場合は簡単なことでもいちいち面倒です。
 
Raspberry Pi Picoを2つ用意しそれぞれに専用とすれば、いらぬ手間が省けます。さっそく、Aliexpressで思わぬ早く届いたRaspberry Pi Picoの互換機RP2040-Microを使うことにしました。
 
↑Zero用プロトタイプ基板(バニラ基板)上のPico互換機(手前)、ブレッドボード上は本家Pico(奥)
 
RP2040-MicroだとかRaspberry Pi Pico−newだなどと怪しげな商品名からして互換機かなと思ったわけですが、届いたものにはRaspberry Piのロゴが使われ基板の印刷もそっくり。色が少々濃いくらいで、本物と変わらぬ価格といい、中国にも正式な生産工場が設けられたのかと思わず考えてしまうものでした。
 
さすが中国!大丈夫かと思ってしまいますが、ブツの方は至って順調、いまのところ問題なく動いています。
 
スタック用にプロトタイプ基板(バニラ基板)
 
あいにく使えるブレッドボードが1つしかなく、互換機のピンは下向きにハンダ付けしてしまっていましたので、ユニバーサル基板に互換機を貼り付け、40本のピンを引き出すピンソケットをハンダ付けすることにしました。
 
↑Zero用のプロトタイプ基板(バニラ基板)にPicoを載せたため、40本のピンが2列ピンソケットに
 
汎用性をもたせようというわけですが、同時に基板をスタックして二酸化炭素濃度測定器に使えるようにもしたいとなると適当な基板が見つかりません。そこでRaspberry Pi Zero用のプロトタイプ基板(バニラ基板)をこれにあてることにしました。
 
プロトタイプ基板(バニラ基板)は、Zeroの40本のピンを隣の2列のスルーホールに引き出すようになっており、1枚の値段はaitendoで110円、秋月電子で130円、SwitchScienceでは330円もしており、2枚も使うのは少々もったいない。
 
結果的には、Picoの両端にあったピンがプロトタイプ基板(バニラ基板)では片側に2列並んだピンソケットに変わることとなりました。のちのち上にスタックする基板がPico用かZero用かわからなくなりそうです。これで良かったのか、一抹の不安が残るところです。
 
↑いずれも0.9インチOLEDとMH-Z19B二酸化炭素センサーが載り、どちらがPico用かZero用か一見して区別が付きません
 
スタンダードなRaspberry PiにしろZeroにしろ、ピンが上向きにハンダ付けされているのが一般的なようですので、今回互換機を貼り付けたプロトタイプ基板(バニラ基板)でピンソケットを使ったのは、区別にはなります。
 
ピンソケットを基板の裏側に使うと、あとから他のパーツをハンダ付けする際にかなり邪魔になるー表面実装の場合は逆になりますーので、個人的には表側に使いたい思いがあったことが反映しています。
 
Picoを使い二酸化炭素濃度測定器を作り直し
 
Raspberry Pi Picoを使った二酸化炭素濃度測定器の作り直しは、安くはないCO2センサーのMH−Z19Bや0.9インチSSD1306OLEDの使い回しができるように、直にハンダ付けはやめてピンソケットを多用したためかさばりは避けられず、また電池駆動の際は単3電池2本のチャージャーを使用することになったので、コンパクト化には至りませんでした。しかし、電源接続直後から測定が開始され、手数がかからずすこぶるご機嫌です。
 
外装は、3D プリンターを持たないので本格的なものはのぞむべくもありません。せいぜい、天板と底板をつけるくらいです。天板にディスプレイ用の窓を開けてOLEDをネジで固定し、センサー用に空気が通る穴を穿つ簡単な工作で、単に濃度を表示するだけの測定器が、一見それらしい見てくれとなったので良しとしたいと思います。

↑セリアのUSB Chagerだと正常に動くCO2濃度測定器
 

Picoの電池駆動の不具合(CO2濃度測定器)

 

ことの始まりは、Raspberry Pi PicoにMH-Z19Bを接続しSSD1036のOLEDに測定した二酸化炭素濃度の推移を表示させるあるプログラム例を知り、実行させてみたことから。

 

Raspberry Pi PicoをPCに接続してThonnyで実行した場合は問題なく可動したのに、Raspberry Pi PicoのVSYSピンに「+」をつなぐ乾電池駆動を試みた場合には、異常に高い数値が表示されるという不具合に見舞われたのです。

 

↑乾電池の「+」をVSYSピンに直付けでは異常値が表示される

 

軽量化、コンパクト化のためにRaspberry Pi Picoの電池駆動がぞまれますが、ボタン電池の使用を含めて乾電池を直接Raspberry Pi Picoに接続させる給電方式では、上述の不具合がどうしても発生してしまいます。

 

かさばるもののモバイルバッテリーからのUSB給電はどうかと考えるのですが、消費電力が少ないと働くバッテリーのeco機能により給電がストップするとか。

 

これは困りました。

 

なお、Picoに内蔵の温度センサーや、温湿度、気圧センサーのBME280を使って試してみると、電池駆動でも不具合は発生しないように見受けます。よって、問題は特殊この二酸化炭素濃度測定器のケースに限られたことなのかもしれません。

 

残念ながら問題の所在を究明するスキルはなく、できるのは、動く例はないのかを確かめることくらい。

 

そこで、実際に確かめてみました。これまでの結果は以下のとおりです。

 

■乾電池・充電池をPicoに直付

1.5V 単3×1本 →OLED自体が映らない

1.5V 単4×2本を直列 →異常値34304を表示

1.5V 単3×3本を直列 →異常値34304を表示

 

■リチウムボタン電池1個をPicoに直付

3V 1個 →異常値34304を表示

 

■電池昇圧キット aitendo(5V)AKIT-7750

ジャンパー線接続 →異常値34304を表示

単にUSB接続に改造 →数値が激しく変動

 

■モバイルバッテリーでUSB接続

太陽光充電器XD-S15000C →10秒後に停止

RAVPOWER RP-PB058(26800mAh) →正常

 

↑eco機能をもつモバイルバッテリーの中でRAVPOWER RP-PB058は不具合なく表示を保ったが、サイズがデカすぎ

 

3.7V 5800mAhリチウム充電池をUSB接続

18650 Pi Partner V3(5V) →50秒で停止

 

■乾電池・充電池をPicoにUSB接続

セリアUSB CHARGER(1.5V 単3×2本直列) →正常

 

今のところはセリアのUSB CHARGER一択

 

以上。今のところVSYSピンに電池の「+」をつなぐ方式で、正常に動いた例はありません(あくまでも、MH-Z19BとSSD1306のOLEDを使用した今回の二酸化炭素濃度測定器に限る)。

 

モバイル充電器では、太陽光充電器はさすがに消費電力が少ないとecoが働くようですが、電力供給量の大きなRAVPOWERのポータブル充電器は消費電力量が少なくても電力供給は止まらず、8時間経っても動き続けていることを確認しました。

 

リチウム充電池を使った小型の充電器については、リチウムポリマー電池ではまだ確かめられずにいますが、リチウムイオン電池を使用し18650 Pi Partner V3は、一旦は正常に表示するも50秒後に停止してしまいました。

 

調べたもののうち、正常に動いたのはRAVPOWER RP-PB058とセリアのUSB CHARGERとの2例。今のところは、セリアのUSB CHARGERが一番小さいわけですが、単3乾電池2本を使用しており、サイズはコンパクトとは言い難いところ。せめて単4×2本分のサイズであればと思うのですが。

 

スマホを充電できない非力さに、ガラクタとバカにしていたセリアのUSB CHARGERが、こんな形で役に立つとは…。

 

【追記】

モバイルバッテリーの省電力モードによりRaspberry Pi Picoに給電されなくなる問題の解決策は、モバイルバッテリーとRaspberry Pi Picoの間に抵抗を入れること。消費電力を増やしてしまおうということでしょう。

なお、Raspberry Pi PicoにはUSBポートからとVSYSピンを通じての電源供給の2つがありますから、両方を使って接続した場合、一方の電源から他方への逆流を考慮する必要があります。Raspberry Pi PicoのデータシートにはショットキーダイオードあるいはPチャンネルMOSFETを使った方法が示されています。

 

【追記への追記】

モバイルバッテリーを無駄に消費するのはいかがなものかという点では、次のサイトの「Mobile Battery用シャント回路」が参考になりそうです。

http://www.riric.jp/electronics/

↑写真は届いた商品:左から、Raspberry Pi Pico-new(RP2040-Micro)、PR2040 TYPE-C 16MB 、PR2040−Zero(下)、文字英数字ディスプレイHPDL-1414(上)、フィギュア

 

配送料は使い分けがよい!? Aliexpress

 

Aliexpressでまたまた買い物! それも5点。無駄遣いしないとの反省もどこへやら。

 

言い訳にしか聞こえないでしょうが、それでもできるだけ安く購入しようと、配送は「Cainiao Super Economy Global」のものを注文してはいます。

 

したがって、商品の到着には2ヶ月間ほどかかるのを覚悟しなければなりません。

 

ところがびっくりです。4月24日に注文、お届け予定日が早いもので5月13日、他は6月27日だったのに、本日4月30日にすべて揃って届きました。

 

1週間ならずに届いたのも驚きですが、なんといっても、到着予定日が異なる商品がなぜか一袋にまとめられ、しかも届け予定日の遅い方に合わすでもなく宅配便で早々と到着したことです。

 

複数の商品を頼んでいて、その中の一つでも配送が「AliExpress Standard Shipping」のものが含まれておれば、すべて「AliExpress Standard Shipping」扱いとなるとでも? 正確には今回は、1点だけ「Cainiao Standard For Special Goods 」とかいうものがありました。

 

注文商品はすべて同じ注文番号で扱われていますから、仕分けセンターでひとつに揃えたりするのは今どきむずかしいことではないのかもしれません。であれば、クロネコヤマトの添付票が貼られて発送されてもそうおかしくはなさそうです。

 

どうやら、「一括配送」サービスというようです。到着直後に「私の注文」を開いた時はまだ表示されませんでしたが、その後「荷物のお届け完了」をクリックしたところ、「配送サービスがアップグレードされました」とのポップアップが表示されました。

 

見た覚えがあるような。多分気が短いほうなので反省するまでは大概「AliExpress Standard Shipping」で頼んでいて、気に止めることもなかったのでしょう。

 

よくはわかりませんが、欲しい商品がいくつかあるなら、一つは配送が早い「Cainiao Standard For Special Goods 」のものを含めておけば、他は「Cainiao Super Economy Global」であっても早く商品を手に入れられるということになるのでは!?

 

「Cainiao Super Economy Global」ばかりでも、複数注文すれば配達は早くなるのでしょうか。

 

試してみようという方があったとしても、保証いたしかねますのであくまで自己責任で。

 

「一括配送」サービスと言うなら、送料は安くなりそうなものですが、変わらずです。案外、一つの商品の送料ですべてまかなえ、本来なら他の商品の送料分は購入者に返すべきところを返さずに儲けていると考えられませんか。

 

早く届けて、ケチつけられていたのでは、Aliexpressもたまったものではありませんね。

 

早く試してみたいのに

 

ともあれ、商品が思わず早く届いたのは喜ぶべきことなのですが、もともとは夏休み(そんなものはないですけど)に使おうと思っていたわけで、連休中の予定にはすでに他ごとをいれてしまっており、さわりたくてもさわれない事態はあまりにもショックだったのです。

 

ちなみに、冒頭の写真の一番左はRaspberry Pi Picoぽいですよね。それらしいロゴがついていますが、注文したのはRP2040-Microという互換機のつもり。商品写真にはロゴがはいっておらず、一方Raspberry Pi Pico-newと書き込まれていて、いかにも怪しげです。

 

その右隣りも同じ店のRP2040 TYPE-C 16MBという互換機でメモリが16MBに拡張されたもの。その右の下がWAVESHAREのロゴがはいったPR2040-Zeroという互換機で、別の店から購入。

 

電子パーツの最後は、レトロな17セグメントLEDを4個載せたミニ英数字ディスプレイ。

 

あー、早く試してみたい。