太陽電池パネルとの組み合わせについて試してみました。
本ページは参考資料ですので、実際に利用される際にはお使いになる装置・周辺機器等の組み合わせでのテストをされるようお願いいたします。

SHARP LR0GC02で動かしてみる(2021年4月20日)

TINY EXPANSION BOARDと太陽電池
テスト中の様子

秋月電子通商様で取り扱いされている、SHARP製LR0GC02を直結してみました。条件は下記の通りです。

  • 快晴 25℃前後
  • プログラムは起動してMicroSDカードに電圧と時刻を記録するだけ(下記参照)

消費電力の大半はMicroSDカードによるものですので、温湿度センサなどを付けることは十分可能そうです。
MicroSDカードは物により消費電力などが大きく異なりますので、最適な物を探してみてください。

動かしてみたスケッチ

#include <Arduino.h>
#include <LowPower.h>
#include <RTC.h>
#include <SDHCI.h>
#include <File.h>
#include <arch/board/cxd56_sdcard.h>
#include <arch/board/board.h>

SDClass SD;
File myFile;

void power_3v3(boolean is_enable)
{
  if(is_enable == true) {
     board_power_control(PMIC_GPO(0), true); 
  } else {
     board_power_control(PMIC_GPO(0), false);
  }
}

void power_sdcard(boolean is_enable)
{
  if(is_enable == true) {
    board_power_control(PMIC_GPO(5), true); 
  } else {
     board_power_control(PMIC_GPO(5), false);
  }
}

void setup() {
  LowPower.clockMode(CLOCK_MODE_32MHz);
  RTC.begin();
  Serial.begin(115200);
}

void loop() {
  char buf[128];
  
  float voltage = analogRead(A0) * (25.9 / 1024.0);

  RtcTime rtc = RTC.getTime();
  sprintf(buf, "%04d/%02d/%02d %02d:%02d:%02d\t",
         rtc.year(), rtc.month(), rtc.day(),
         rtc.hour(), rtc.minute(), rtc.second());

  Serial.print("start\n");
  // SD startup
  power_3v3(true);
  power_sdcard(true);
  delay(100);
  board_sdcard_initialize();
  SD.begin();
  myFile = SD.open("log.txt", FILE_WRITE);
  if(myFile) {
    myFile.print(buf);
    myFile.println(voltage);
    myFile.close();
  }
  power_sdcard(false);
  power_3v3(false);
  Serial.print("sleep\n");
   
  LowPower.deepSleep(15);
}

結果のログ

結果はlog.txtに保存するようにしましたが、下記のようになりました。給電が途切れるとRTCはリセットされてしまいますので、時刻が大切なログの場合は外部RTC(バッテリーバックアップ付き)などを付けることが望ましいでしょう。
また、ちょっと太陽電池の前を通って光を遮ってしまったタイミングで電圧低下が起きたか、6分半程度のところで一度リセットがかかってしまっているようです。この大きさの太陽電池でキャパシタ無しはちょっとの日陰でパワー不足になりますので、現実的にはもう少し大きいパネルを使ったほうが良さそうです。

1970/01/01 00:00:03	5.44
1970/01/01 00:00:20	5.46
1970/01/01 00:00:38	5.26
1970/01/01 00:00:11	5.54
1970/01/01 00:00:11	5.44
1970/01/01 00:00:28	5.44
1970/01/01 00:00:46	5.34
1970/01/01 00:01:04	5.36
1970/01/01 00:01:22	5.34
1970/01/01 00:01:40	5.29
1970/01/01 00:01:58	5.31
1970/01/01 00:02:16	5.29
1970/01/01 00:02:34	5.31
1970/01/01 00:02:52	5.26
1970/01/01 00:03:12	5.13
1970/01/01 00:03:30	5.26
1970/01/01 00:03:48	5.31
1970/01/01 00:04:06	5.29
1970/01/01 00:04:24	5.26
1970/01/01 00:04:46	5.21
1970/01/01 00:05:04	5.34
1970/01/01 00:05:22	5.29
1970/01/01 00:05:40	5.24
1970/01/01 00:05:58	5.26
1970/01/01 00:06:16	5.26
1970/01/01 00:06:34	5.21
1970/01/01 00:00:02	5.24
1970/01/01 00:00:19	5.21
1970/01/01 00:00:37	5.24
1970/01/01 00:00:55	5.26
1970/01/01 00:01:13	5.29
1970/01/01 00:01:31	5.21
1970/01/01 00:01:49	5.29
1970/01/01 00:02:07	5.26
1970/01/01 00:02:25	5.29

上記スケッチにおける消費電力グラフ

電源選定の参考として、4.5Vの電源に接続して上記スケッチを動かしてみるとこのような電流グラフになりました。
MicroSDカードのclose時に消費電力が跳ね上がっていることがわかります。

消費電流のグラフ