virt_flyのブログ -30ページ目

virt_flyのブログ

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

↑セリアの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個載せたミニ英数字ディスプレイ。

 

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

 

 

CO2濃度をグラフ表示 電池駆動に問題

 

CO2センサーでこしらえたとした二酸化炭素濃度測定器のことなんですが、濃度の表示だけで済ますなら無線まで積んだRaspberry Pi Zero WHを使うのはもったいない。Picoに置き換えれば、電池駆動、軽量化も図れるのではないかと考えました。

 

新型コロナの扱いがいよいよ5類に引き下げかという時に、まだ感染対策なんて言ってるのと言われそうですが、医療現場では結構厳しい状況があって、職員の感染、濃厚接触が同時多発、勤務者が少なくなり夜間の急患受付をやむなく中止したなどの例も出ています。注意はまだまだ必要です。

 

さておき、先立ってPicoで作る二酸化炭素濃度測定器の例をネットで調べることにしました。ユニークな例があるものです。なんと、グラフで濃度の変化を表示してくれるというのです。cyn1953さんのラズベリーパイpicoでCO2測定④フリスクサイズのCO2モニターです。

 

Zeroで作った際は、MH-Z19Bのライブラリを使わせてもらったのですが、このケースではもちろんOLEDのライブラリは使うもののセンサーのライブラリは使わず、main.pyの記述で済まされています。CO2センサーの部分は、SamAkadaさんのRaspberry Pi PicoでCO2濃度を測定するからコードが利用されています。

 

簡潔なプログラムながら、グラフは可愛らしく、電池駆動ができたらこれでいいかも。

 

Picoへの給電はVSYSピンで
 
Raspberry PI Picoへの電源供給は、USB給電以外にもPicoのVSYSピンに電池の+、GNDピンにーををつなぐことで可能と言われています。乾電池を2本直列につなぎ試してみたところ、問題発生です。

 

異常に高い数値が示されるのです。ケースにもより数値が乱高下したり、よく見ると34304という数値が固定的に表示されるケースでは、起動時に一瞬表示される数値に似ており、センサーを外してみたときの数値と同じようです。乾電池1個ではOLEDは点灯しないし、3個にしてみても解消しません。

 

モバイルバッテリーをつなぐしかないのかと思えば、消費電力が少ないと、バッテリーのeco機能が働くらしく給電がストップしてしまいます。

 

これは想定外のことでした。LEDを点灯させることくらいはよしとしても、センサーの値に信頼がおけないとなると、はたと困ることになったものです。