STM32F4を使ったデジタルオーディオプレーヤー / ハードウエア / 基板その1 / 電源電圧降下対策


電池が切れる時、誤動作で microSD のデータをパーティションごと消す。

  • 元々は、2012年5月24日に電車の中で、電池が無くなった時、その後の調べで、microSDのデータはパーティションごと消えていた事から始まった。
    • その後の調べで、必ずしも、電池が切れる時にパーティションごと消える訳では無い事も判ったが、同じような不具合を起こさないためにも対策を考えた。

2012年5月26日〜27日、電圧変化調査

  • ADC入力のPA7とPA6に電源電圧を測定するように配線。
    • 4.8V電源電圧(バッテリー端子ではなく、インダクタを通して、デジタル側電源の3.3Vレビュレータの入り口の部分)を 51kΩ を2個で分圧して PA7 にインプット
    • 3.3Vレギュレータ出口の電圧を 51kΩ を2個で分圧して PA6 にインプット
    • PA7とPA6の電圧を1秒間に3回程度の割合でADC測定した結果を出力。
    • 5月26日〜27日の夜中に測定した結果が以下。
5月27日テスト結果
  • 考察
    • 赤い色は、徐々に降下しているが、これは、曲間のみ。
    • 従って、赤い線を測定して、演奏を止めるのは、曲が短い時のみ有効。クラシックのように一曲が長い場合は無効。
    • 緑の方は、ほぼ一定。本当は、最後の方で電源電圧降下しているはずだが、ADC測定は電源電圧自体をリファレンスにしているので、変化が見えない。

2012年6月5日、ツェナーダイオードを付けて

  • ADC入力のPA7とPA6に電源電圧を測定するように配線。
    • PA7の配線は、5月26日と同じ4.8V電源電圧(バッテリー端子ではなく、インダクタを通して、デジタル側電源の3.3Vレビュレータの入り口の部分)を 51kΩ を2個で分圧して PA7 にインプット
    • 4.8V電源電圧を 51kΩ とツェナーダイオードで分圧して PA6 にインプット
    • PA7とPA6の電圧を1秒間に3回程度の割合でADC測定した結果を出力。
    • 6月5日〜6日の夜中に測定した結果が以下。
6月5日テスト結果
  • 考察
    • ツェナーダイオードの電圧は 1.2V 程度しかなかった。
      • データシートを調べると、定格の2.5V を出すのためには、5mA 程度の逆電圧を流す必要があった。つまり、51kΩじゃなくて、1kΩ程度の抵抗にすべき。
      • しかし、デジタルオーディオプレーヤー全体で 67mA しか消費電力が無いのに、ツェナーダイオードに 5mA も流すのがもったいないので、51kΩにした。
      • データシートを見ると、電流が少ない時でも、電圧はそれなりに安定するみたいなので、実験は続行。
    • 緑線を見ると、ADCの出力で2000を超えたあたりで、演奏を止めたら良さそうに見える。

2012年6月6日、プログラムを更新し電圧降下すると演奏を止めるようにした

  • ADC入力のPA7とPA6の配線は、6月5日と同じ
  • PA6(ツェナーダイオード出力)が2050を5回続けて超えると演奏を止めるようにプログラミング。
  • 6月6日〜7日の夜中に測定した結果が以下。
6月6日テスト結果
  • 考察
    • ちゃんと止まった。
    • ログを見ると、演奏終了後、コンピュータは暴走している。
    • 演奏終了後、ローパワーモード移行などする必要があるね。
  • どうやら、一番簡単な低電力モード移行は、「void PWR_EnterSTANDBYMode(void);」のようだ。スタンバイモードへ移行すると、メモリも全て消えるから復帰は難しいけど、復帰するつもりが無いなら、これが一番簡単。
    • 復帰するつもりがあるなら、「void PWR_EnterSTOPMode(uint32_t PWR_Regulator, uint8_t PWR_STOPEntry);」のようだね。

2012年6月17日、プログラムを更新し電圧降下すると演奏を止め、さらにスタンバイモードに移行するようにした

  • 電源電圧が低下すると、 void PWR_EnterSTANDBYMode(void); で、スタンバイモードへ移行するようにした。
  • ADC入力のPA7とPA6の配線は、6月5日/6日と同じ
  • 今回は、単四型エネループ4本をフル充電の状態からテストした。
  • 6月16日〜17日の夜中に測定した結果が以下。
6月17日テスト結果
  • 考察
    • ちゃんと止まった。
    • ログを見ると、演奏終了後、コンピュータは暴走していないようだ。
    • 単四型エネループ4本をフル充電だと、10時間以上(数値読みで10時間50分)演奏できることが判った。

プロジェクト


共通



最新の20件

2020-11-14 2014-11-10 2014-08-17 2013-12-23 2013-09-29 2013-08-09 2013-08-07 2013-08-03 2012-11-28 2012-08-25 2012-07-05 2012-07-03 2012-07-01

今日の16件

  • counter: 1623
  • today: 1
  • yesterday: 0
  • online: 1