リンク

  • ninja analize
  • にほんブログ村

  • ジオターゲティング
  • ヤドカリ図鑑
  • リーフリング
  • NinjaTool
  • カウンター
    無料カウンター

« 待ち箱を丹波町に | メイン | やはりキンリョウヘンは凄い »

2015年4月27日 (月)

重量計 完成したかも?

完成寸前でSDカードの書き込みにエラーが出る事が分かった重量計


エラーの原因はSDカードの電源だろう、という事だった。

改良の必要がある部分は大きく2つ

まず1つはSDカードへ送る電源をAVRのポートから直接送っていた事。

これを解決する為に、AVRのポートからの信号でMOSFETをスイッチングしてSDカードへ電源を送る事にした。本来ならそれだけで良かったけれども、実は元々使っていた秋月の「SDカードスロットDIP化モジュール」に装備されていた3端子レギュの無負荷時の大きな消費電流が気に入らなかったのと、このスロットのバネが硬くてカードを挿入する感触が好きになれなかったので、SDカードスロット基板を丸ごと組み直す事にした。

P4250258
今回はサンハヤトのSDカードスロット変換基板を使った。

カードスロットが載ってるだけの基板だけれども、3端子やプルアップ抵抗までフル装備の秋月のカードスロットと比べて価格は、ほぼ4倍!!

しかし、秋月のカードスロットはカードを押し込むのが硬いので入れる時の感触だけじゃなくて、基板への取り付けを頑丈にしておかないと基板が潰れそうになるし、またカードが最後まで入っていなくてもカード検出用の端子からは入ってる事になってる信号が出てプログラム上でも問題が出るし、そのあたりを考えると、価格もそれなりかな?、という感じ(笑)

このカードスロットを取り換えて、カードを挿入する感触もソフトになって良い感じ!!

そして、3端子レギュレターも低損失タイプにしておいた。

ただ、基本的な仕様としては、5Vから3.3Vの変換器ICを使う「高級仕様」ではなく、ダイオードを使う「お手軽仕様」をそのまま使う事にした。これで本当に上手く動くのかどうかを最終確認したかったので!!


そして、もう一つ

回路全体の大元の電源になるDCDC昇圧コンバーターで、これも最大電流が100mA程度だったので、もっと余裕の有る物を探してみて

ストロベリーリナックスで販売されていた

https://strawberry-linux.com/catalog/items?code=12055

このDCDC昇圧コンバーターを使ってみる事に

P4250259 
左が今回購入したDCDCコンバーターで、右が元のコンバーター。

前回のコンバーターよりも小さいけれども、500mA程度くらいまで流せる感じ。

前回のコンバーターは0.25Vからでも5Vに昇圧できたので、乾電池1本の1.5Vで十分に使用する事ができ、出力電圧も自由に調整することができたけれども、悲しいかな最終的に出力電流が足りなかった。それに対して今回のコンバーターは最低2Vからしか5Vに昇圧できないので乾電池1.5Vが最低でも2本必要になるし、出力電圧は3.3Vか5Vの二者択一。しかし、その代わりに2Vから5Vへの昇圧で500mA程度まで流せるそうなので余裕がある。またパワーセーブという機能が付いていて低負荷時の消費電力を節約するんだとか?


上記の大きく2つの改良をしてみてどうか・・・?

結果としては、バッチリ!!

SDカードの読み込みも書き込みも全くエラーが出なくなった。

SPIの処理速度も遅くせずにデフォルトのままでも大丈夫!!


これで正常に機能するようになったけれども、こうして電源周りを変更する事で、消費電量が増えたのでは何をしてる事か分からないので、このあたりを確認してみる。

まずは、スイッチOFF時(AVRのスリープ時)には

P4260266
0.06mA

乾電池交換時にリセットが掛からないように、電気二重層コンデンサを入れると0.11mA

それから、スイッチON時には

P4250263 
14.55mA


このデータから、改良前と同じ計算をしてみると

実際に測定するときには1回の測定で余裕を見て3分間程度で、全部で5個の巣箱を1週間に1回ずつ測定するとして測定時間は1週間で3分✕5回=15分で1日あたり2.14分。もっと余裕を見て計算し易いように1日あたり3分間の使用として365日で、3分✕365日=1095分 1095分÷60分=1年あたり18.25時間の使用時間として、

スイッチONの時が計算しやすいように15mAとして、

18.25時間✕15mA=273.75mAh の消費となる。 

スリープ中は0.06mAなので

0.06mA✕24時間✕365日=525.6mAh

もし電気2重層コンデンサを入れると0.11mAなので

0.11mA✕24時間✕365日=963.6mAh

そして、AVRがスリープから目覚める瞬間の消費電流が

15mA✕(5/10000000)=0.0000075mA 常に流れてるのと同じになると思うので 0.0000075mA✕24時間✕365日=0.0657mAh

すべて合わせて 273.75mAh + 525.6mAh + 0.0657mAh = 799.4mAh

すべて合わせて 273.75mAh + 963.6mAh + 0.0657mAh = 1237.4mAh

単3乾電池の容量を2000mAhとすると

2000mAh ÷ 799.4mAh= 約2.5年間

電気2重層コンデンサを入れるとしても

2000mAh ÷ 1237.4mAh= 約1.6年間

これに実際はSDカードの書込、読込時の消費電力があるけれども、これは計算しきれないのと、短時間なので若干という事にしておくとして

これなら、いけるかも知れない!!


もう少しテスト(バグ出し)を続けてみよう

 

 

コメント

>乾電池交換時にリセットが掛からないように、
>電気二重層コンデンサを入れると0.11mA

電気二重層コンデンサの容量によりますが、
この増加分は充電電流ではないかと。
電気二重層コンデンサの充電には(数時間単位の)時間がかかるので、
12-24時間後に測定すると電流値は減っていると思う。


>3端子レギュレターも低損失タイプにしておいた。

ここにLDOを入れる意味は無いです。
In5V- Out3.3Vは変わりないので、差の1.7Vは熱で捨てるしかなく
そこにLDO/非LDOの違いはありません。

低消費電流を追及しているのに、DCDCコンバータで 5Vに上げてから
レギュレータで3.3Vに落として差分は熱で捨てる、って設計はどうかと。

あと昇圧コンバータは一般に2倍程度までの昇圧で使います。
高い倍率でも作れるけど入力側の電流値が大きくなり効率が悪くなったりします。

5V 100mAの出力では 入力 0.25Vでは 2A以上が必要です。

◆中年会社員Aさん

>12-24時間後に測定すると電流値は減っていると思う。

この0.11mAは12時間ほど経過後に測定したもので、すぐに測った時には、確か0.2mA以上だったと思います。

>In5V- Out3.3Vは変わりないので、差の1.7Vは熱で捨てるしかなく

結局そういう事になるんですね?

>DCDCコンバータで 5Vに上げてから
レギュレータで3.3Vに落として差分は熱で捨てる、って設計はどうかと

ここは、前の秋月のSDカードスロットがカードを入れていない状態でも50mA程度の電流を消費していたので付属されている3端子が原因だと考えたんです。ただ、どちらにしてもSDカードへの書込、読込をする瞬間だけしか電源を送らないプログラムにしたので、3端子は気分だけの物であんまり関係無かったかも知れません(笑)
また、乾電池の電圧そのままで使うか、それとも昇圧して使うか、悩んだんですが電圧の変動による重量値の補正とか、LCDのコントラストの変化とか、そのあたりを考えて消費電力を考えると不利になるけれども最終的に電圧を固定する方法を選択しました。

>高い倍率でも作れるけど入力側の電流値が大きくなり効率が悪くなったりします。

これも結局はそうなるのが今回分かりました。
前回のは乾電池1本の1.5Vから5Vへの昇圧でしたからAVRがスリープの状態でも乾電池からの電流が0.15mAほど有りましたしスイッチONの状態でSDカードにも電源を送ると100mA程度の電流が流れてました。今回は乾電池を3本に増やしできるだけ小さな昇圧にし、昇圧する事自体が目的ではなくて、電圧を安定させる事に目的を置く事にしてみました。

コメントを投稿