自作電子小物/太陽電池式誘導灯0.5
自作電子小物/太陽電池式誘導灯0.5
Solar guide lamp V0.5
2007年1月3日水曜日
ガーデニングで使うソーラーライトと、工事現場の赤い点滅灯を合体し、少し柔らかくした様な物です。昼間に太陽電池で発生した電力を蓄え、暗くなるとホタルのようにゆっくり点滅します。また、人が近づくと点灯しっぱなしになり道案内になります。発光する色は、日射量の多い夏は涼やかな水色に、冬のような少ない日は暖系色と、変化するようにしています。ハードウエアのみで実現する事も可能でしょうが、100円マイコンで制御する構成で設計しました。Microchip社のPIC12F683と昇圧型DC-DCコンバータを中心とした最小限の部品を使用し、ソフトウエアはアセンブラにてコーディングしています。
<仕様>
名称:Solar guide lamp V0.5
分類:太陽電池式小型誘導灯
充電時間: 直射日光で4時間/日以上(設計値)
点灯開始条件:暗くなった時、外部センサがオン
暗くなった時:
点灯時間:4時間で自動停止、明るくなると停止
点灯パターン:「ホタル」発光、約3秒周期、発光量は3%〜50%で変化
外部センサ時:
点灯時間:1分間、明るくなると停止
点灯パターン: 連続点灯 、発光量は100%
点灯色:12色、点灯開始時のバッテリー電圧により決定(右参照)
無日照点灯:1週間程度(設計値、満充電後)
無日照限界:3ヶ月程度(設計値)
モジュール外形:幅50mm、奥行15mm、高さ10mm
バッテリー:ニッケル水素電池 1.2V 2.4Ah以上 × 1
太陽電池パネル:ETM250-1.5V × 1
外部センサ:人体検知は「パナソニック電工 焦電型 MPモーションセンサ ナピオン NaPiOn」など、振動は圧電ブザーが使用可能
期待寿命:5年以上
製作費:約2000円ぐらい
<機能/特徴>
■小型・安価・製作容易で数が揃えやすい
■曇りが続いても安定して点灯する
注意事項: 3ヶ月を越えて暗所に放置すると過放電してバッテリーがダメになります。
<構成・方式>
一番良いのは「太陽電池=蓄電器=負荷」と電圧がそろっていれば、最大の効率とコストになるという所に行き着きついてしまいますが、素人が入手できる部品はそう多くはないし、「可能な限り安く」というのが私の大前提ですので、色々頭を悩ます必要がありました。
大きな決断はバッテリーを1セルにした事です。
コストで考えると太陽電池と蓄電部が殆どを占めます。ここを安く済ますには、安い部材を使うか数を減らす必要があります。小型の太陽電池パネルは入手性に難があり、あまり選択肢もありません。蓄電部はコストパフォーマンスを求めると二次電池です。電気二重層コンデンサだと寿命の事を考える必要がなく設計が楽ですが、あまりにも高価すぎます。現在、鉛電池(Pb)、ニッカド(Ni-CD)電池、ニッケル水素(NiMH)電池、リチュームイオン(Li+)電池が入手可能です。Li+は安全性で疑問があったのでとりあえず除外。Pbは適当な製品が見つかりません。安いのはNi-CD/NiMHですが、単純にLEDを光らすには3〜4セル必要でトータルで安いものではありません。何とか数を減らす方法はないものかと考え、昇圧型DC-DCコンバータの存在を思い出しました。これを使えば数を減らす事が出来ます。極端な事を言えば1本でも良いのです。1.2Vの充電が出来る太陽電池パネルも入手容易です。と言う事で、蓄電系はNi-CD/NiMH1.2Vで行い、負荷と制御系はコンバータで昇圧する方式で検討を進めました。
バッテリー寿命については逃れる事は出来ませんが、延ばす事は出来ます。データシート上の話ですが、NiMHは充放電回数で500回程度の寿命があります。これは深放電を行った場合であり、浅い充放電の場合はもっと回数は増え倍以上にもなります。これを利用し、日々の充放電を浅くなるように容量設計する事で寿命を延ばす作戦です。また、三洋電機社のeneloop等の新しい世代のNiMH二次電池では倍の寿命を持っており、2000日=5年以上が期待出来ます。自己放電が少ないのも重要で、根雪を越す想定では大変有利になります。
蓄電系で最後まで引っかかったのが、MPPT手法ですが、このような極小型の機器では制御系の省電力化が難点で、全体の効率を出し切るのがけっこう大変です。コストとの両立は難しいと判断し本設計では未適用としました。
(次バージョンで適用目的が違うもののMPPTを実装しています)
<回路図>
蓄電系は、ETM250-1.5VとNiMH1.2V×1のマッチングが良かったので(普通はETM250-2Vの方が良い)、この部品選択となりました。太陽電池とバッテリーを直結した、ごく単純なものです。Vfを節約したいため逆流防止ダイオードさえも入れませんでした(重要:最下部参照)。その代わりとして、FETスイッチをはさみ、逆流の時はカットするようにします。簡単ですが充放電制御を行います(下部に追記)。マイコンのピン数の制約から、ちょっとトリッキーになってしまったのですが、ゲート部分の分圧抵抗は、太陽電池の開放電圧を取得する目的と、過放電近い状態からの復帰を想定し、制御を失ってハイインピーダンスになった場合ゲートが少し開くようにもなっています。
DCDCコンバータの使用は、部品数が増えるのと入手性が今ひとつなため、かなり抵抗がありましたが、本当にデータシート通りの機能・性能を持っていれば要件は実現しそうだし、他に問題点もなさそうだったので使ってみる事にしました。過放電保護機能を持っていたので問題点もクリアです。マイコンでこの要件を達するのはかなり厳しいのが現実でした。今回はTI社のTPS61070を選択しましたが、各社同様なものが出ています。他にMAXIM社のMAX1722も使ってみました。かなり安定してboostしてくれ安心して使えます。変換効率の参考情報を追記します。
LEDは定電流制御したい所ですが、どう考えても安く済みそうもないので、今回は制限抵抗方式と割り切ってしまいます。ただ、抵抗での電力損失は少なくしたいので出来るだけ小さく、というか、取ってしまいました。Vfのばらつきが、どの程度あるものか解りませんが、実装時にチェックすると言う事で、Vf=Vddの設定にします。赤のみVf値が離れているので制限抵抗を使います。電力削減のためPWM制御します。実際光らして見るとduty=50%を越えた辺りから光量の変化はさほど大きく感じませんので、これ以下になるようにします。それでも足りないので、さらに「ホタル」光りさせます。
マイコンはMicrochip社のものしか知らなかったため、そこからの選択ですが、I/O数がぎりぎり8ピンに収まったので、値段差があまり無い事から高機能のPIC12F683を使ってみました。
*** 部品表 ***
区分 品名 数 金額 入手先
---------- --------------- -- ---- ------------------
IC1 TPS61070DDC 1 300 Digi-Key
IC2 PIC12F683-I/P 1 150 秋月電子通商
LED1 EP204K-35G1R1B1 1 200 秋月電子通商
C1,C2 10uF*積層セラ 2 84 マルツパーツ館
C3,C4 0.1uF*積層セラ 2 84 マルツパーツ館
R1 2M* 1 21 マルツパーツ館
R2 330K* 1 21 マルツパーツ館
R3 100K* 1 21 マルツパーツ館
R4 70* 1 21 マルツパーツ館
R5 1M* 1 21 マルツパーツ館
R6 2M* 1 21 マルツパーツ館
L1 10uH*(東光) 1 94 マルツパーツ館
Q1 2SK1772 1 14 秋月電子通商
太陽電池 ETM250-1.5V 1 200 秋月電子通商
電池ホルダ 単三×1本 1 30 秋月電子通商
バッテリー GP-250AAHC 1 200 秋月電子通商
---------- --------------- -- ---- ------------------
1282
金額は参考
*)注:チップ部品
基板関係は含まず
<ソースコード>
アセンブラにてコード化しております。ソースコードを参考にする事はほとんどないと思いますが、特に説明した方が良いと思われる部分は次の通りです。
■LED点灯制御
■ホタル光りの制御
やさしい感じを出したかったので、ホタル光りしている時だけでなく、どんな時でも緩やかに反応するように考慮しました。そのために、必ず「目標階調値」経由で明るさを指定し、実際の光量は、その目標値にゆっくり近づくようバックグラウンド(マルチタスク化している訳ではありませんが)で出力する事で実現しています。これにより外部センサがオン・オフの時でも、あらゆる場面でゆっくり変化します。デジタル機器とは思えないような動きに出来たと思います。
■省電力
Microchip社のサイトで得られる情報を元に、削減策を講じています。効果が大きかったのは次の2つです。
I/Oポートは入力モード(ハイインピーダンス)にせず、出力モードにしてHかLに固定する。最初はハイインピーダンスの方が余計な電流が流れないような認識があったので、わざわざLEDのオン時以外は入力モードに変えてしまっていました。これでスリープ時1.47mAから230μA/3.4Vに大幅削減です。
BODを使用しない事で、スリープ時200μAから30[μA]/3.4Vに、これも大幅削減ですがTPS61070頼りです。
ほぼデータシート通りまで削減し、最終的に30μA弱まで下げられましたが目標※24μAには今ひとつ届かず。ULPを検討しなければならないですね。
※機能停止から3ヶ月保証するためには、TPS61070のカット電圧までの残容量を10%=250mAh/1.2V=300mWh、DC-DCコンバータ効率60%とした場合、300mWh*0.6/3.4V/(3ヶ月*31日*24h)=24μA
PWMをソフトウエアでやってしまったので、最終的にはPIC12F683である必要は無くなりました。少し安いPIC12F675用に乗り換えできるかもしれません。
<ダウンロード>
一応、関連ファイルを公開します。
EAGLE プロジェクトファイル : SGL0.5 EAGLE.zip(32KB)
MPLAB IDE プロジェクトファイル : SGL V0.54Bd source.zip(60KB)
バージョン:0.5.4Bd
リリース日:2007.1.3
開発環境: MPLAB IDE / アセンブラ言語
ライセンス:未定義
作成者:富樫豊彦 tog001@nifty.com
<基板>
何個も作る予定なので、基板を起こしました。大きさは、ほぼ単三乾電池と同じサイズで、片面の表面実装です。サンハヤト株式会社のポジ感光基板10Kだと丁度10枚とれます。
自動結線機能で楽をしたかったので、PCB設計ソフトウエアのEAGLEを利用しました。部品配置や基板サイズなどを変えたりして、何度も試して見る事ができるし、自動結線処理中は試行錯誤している様子が画面に表示されるので楽しいです。これがMacでフリーで使用できるのは助かります。
ThinSOT23パッケージのTPS61070を手ハンダするのは、かなり緊張します。ハンダの乗りが良いので、問題無しでした。一番大変だったのはICソケットで、LED取付前に、基板とソケットのすき間にコテ先を突っ込んで「ジュ」とやらなければなりません。
<ケース組み込み>
ケースはアクリル板で自作。基板等の部品をベース台に全て両面テープにて固定。
太陽電池のETM250-1.5Vは丈夫です。基板がベークライトで、表面はガラスではなく、少し柔らかい樹脂のようなものなので、そうそう壊れません。また電気的特性も良く、負荷電圧によらず比較的安定した出力あり、低照度時の落ち込みも少なく非常に使いやすいものです。特性の実測値を追記しています。秋月電子通商で安く安定して提供してくれているので、これも助かります。(残念ながらメニューから消えてしまい、現在は入手が難しくなっています。2009年1月時点)
直射日光を受けますので、かなり高熱になります。一番熱条件が厳しいバッテリーは断熱材で保護しました。断熱をしない状態で運用した個体は、バッテリの正極の安全弁からガスが出た形跡が残っていました。熱によるものかどうかは断定出来ませんが、どちらにしてもバッテリ仕様から外れるので、本格的な対処が必要かもしれません。ケース構造から考え直さないといけないと思っています。
丁度レンガを半分にしたのと同じ大きさです。上面は5mm磨りガラスと5mm透明アクリル板を張合わせ、強度・透明度・見た目を満足するようにしました。
ガラスの使用は破損時の安全性の面で問題がありますので、安全ガラスにしたかったのですが、このサイズでは入手出来ないとの事でしたので、アクリル板を柔らかい接着剤で張合わせ、せめて破片が散りにくいようにしました。また、すり加工にしたのは、滑りにくくする目的もありますが、明るい時は中の部品が見えないように、夜間は光が一様に拡散する事をねらった工夫です。いかにも「太陽電池」という感じにはしたくなかったので、若干効率が低下※しますがこの形にしてみました。
最初は、ケース本体を、頑丈で密閉性の高い既製品から探しましたが、良い物が見つからなかったので、仕方なく5mmアクリル板を加工して作る事にしました。熱に強い訳ではないので、設置条件によっては変形するかもしれません。
地面に埋めるのは、安全上いろいろと問題が考えられます。許容荷重、滑り、つまずき、凍結、降雨による浮き上がりなど。慎重に設置する場所を考える必要がありますね。
※ETM250-1.5Vの場合、低下は少ないのですが、一般的にはかなり低下します。
<運用状況>
ベランダで試験運転。カメラの露出を長くとっているので、全部点灯しているように見えますが、実際はホタル点滅しています。色がばらけてしまっているのはご愛嬌。
午前中しか日射が無い場所ですが毎日光っています。曇り空がかなりつづいた時(梅雨の時期)は光らない事がある程度。日射は1日4時間の設計なので、計算通りなはずです。
※ベランダでは落下対策に注意です。
玄関までの飛石の間に埋設し、長期間実地運用してみました。田舎ですので夜は暗いので、十分な光量だと思います。新月の真っ暗になるような時にはありがたいでしょう。都会での常時明るい夜空では、あまり有用ではないと思いますが、クリスマスイルミネーションの様に気持ち的なものとしては良いかもしれません。一個だけ「圧電スピーカ」を付けた振動検出型にしましたが、普通に踏み越えたぐらいではセンスせず、実用にはなりませんでした。感度を上げる等の対策が必要です。初雪が降る頃、真っ赤に光ったのは異様でした。前バージョンでは、一冬根雪も経験させてみましたが、一部光らなくなったものが出てきました。原因を調査した所、心配したバッテリー周りではなく、基板パターンの腐食でした。湿気から来るものか、それとも一度浸水してしまったのか、この辺は不明です。割れたり、すき間が出来て浸水していたものもありましたが、これは想定外で除雪時に氷割りをしたので割ってしまったのではないかと思われます。密閉と強固な外装が大きな課題です。
<参考情報>
■小型太陽電池パネル(セル)の発電性能の実測データ
この手の「小物」は、使用する太陽電池がキー部品ですので、色々コレクションが出来ました。常番部品というものがなく、部品選定で苦労しましたので、比較的入手しやすい(かった)物についてご紹介させて頂きます。 特性も意外な所があったりしますので、設計時に参考になるかもしれません。→段々入手しにくくなっていますので、必要になった時点で入手し現物データで設計するしかないような感じです。
測定条件:
負荷として1KΩまたは20ΩのVR(可変抵抗器)を接続し、DMMで電圧および電流を測定。
光源は実際の太陽で、快晴、直射日光・水平設置。(山形県2009年6月11:00ごろ)
■昇圧型DC-DCコンバータ MAXIM社MAX1722 変換効率の実測データ
インダクタ:10[μH] チップ型 村田製作所 LQH43CN100K (直流抵抗0.24Ω)
キャパシタ:10[μF] チップ型 積層セラミック 村田製作所 GRM230F106Z10
入力電圧 入力電流 出力電圧 出力電流 効率
1.28[V] 32.6[μA] 3.5[V] 0[μA] -
1.28[V] 101.6[μA] 3.5[V] 20[μA] 54[%]
1.28[V] 1.42[mA] 3.5[V] 350[μA] 66[%]
1.28[V] 13.62[mA] 3.5[V] 3.5[mA] 70[%]
1.28[V] 202[mA] 3.5[V] 46.7[mA] 63[%]
インダクタ:10[μH] チップ型 メーカ不明 (直流抵抗0.1Ω未満)
キャパシタ:10[μF] チップ型 積層セラミック 村田製作所 GRM230F106Z10
入力電圧 入力電流 出力電圧 出力電流 効率
1.22[V] 28.2[μA] 3.5[V] 0[μA] -
1.22[V] 93.9[μA] 3.5[V] 20[μA] 61[%]
1.22[V] 1.47[mA] 3.5[V] 350[μA] 67[%]
1.22[V] 12.98[mA] 3.5[V] 3.5[mA] 77[%]
1.22[V] 140[mA] 3.5[V] 46.7[mA] 95[%]
インダクタ:15[μH] チップ型 メーカ不明 (直流抵抗0.2Ω)
キャパシタ:10[μF] チップ型 積層セラミック 村田製作所 GRM230F106Z10
入力電圧 入力電流 出力電圧 出力電流 効率
1.32[V] 27.0[μA] 3.5[V] 0[μA] -
1.32[V] 88.0[μA] 3.5[V] 20[μA] 60[%]
1.32[V] 1.24[mA] 3.5[V] 350[μA] 73[%]
1.32[V] 12.31[mA] 3.5[V] 3.5[mA] 75[%]
1.32[V] 158[mA] 3.5[V] 46.7[mA] 78[%]
インダクタ:47[μH] ラジアルリード型 OEL LHB0608100 (直流抵抗0.8Ω)
キャパシタ:10[μF] チップ型 積層セラミック 村田製作所 GRM230F106Z10
入力電圧 入力電流 出力電圧 出力電流 効率
1.28[V] 27.0[μA] 3.5[V] 0[μA] -
1.28[V] 86.8[μA] 3.5[V] 20[μA] 61[%]
1.28[V] 1.10[mA] 3.5[V] 350[μA] 86[%]
1.28[V] 10.63[mA] 3.5[V] 3.5[mA] 90[%]
1.28[V] - - 46.7[mA] - 不安定
■逆流防止ダイオード
太陽電池と蓄電池にセットなのは逆流防止ダイオードですが実際、太陽光が無くなると多くはありませんが逆流して蓄電池の電力が消費されてしまいます。今回の「小物」のような、低電圧のセルの場合、使用するダイオードの電圧降下Vfの影響はかなり大きく、大きな課題となります。Vfの小さいダイオードがあれば解決ですが、色々探しても、実際計っても0.1V/1mA以下のダイオードに出会った事がありません。そこで目を付けたのがMOS-FETです。安い物を物色しデータシートを確認した所、良さそうな感じです。そこで、実際に比較してみました。
直結 65mA 100%
FET(2SK1772) 53mA 81% Vgs=3.5V
SBD(11EQS10) 14mA 21%
太陽電池と蓄電池の電圧差が少ないので特に効果が大きかったので、ETM250-2Vではこれ程の差は出ないと思われます。
■充放電制御
極めて単純な制御です。
ただし、FET内には寄生ダイオードがあるため、切断できない電流方向があり簡単には済まないケースがあります。P,N-MOSを2個重ねれば、この寄生ダイオード問題をキャンセルする力技もありますが、出来れば部品数を増やしたくはありません。
そこで、二番目の過充電保護については、LEDをフル点灯させ発電量以上の消費を行う事で代用します。この方法は、ダイオードを使った以前のバージョンで考えていた方法で、今回も使用する事とします。どうしてもソフトウエアに頼りがちになってしまいます。
下半分の2つは蓄電池が残り少なくなり、DC-DCコンバータがシャットダウンした場合です。日中、太陽電池の電圧が高い時にゲートを開き、電圧が低い時はゲートを閉じれば良いだけです。そもそも、これが出来れば上記のようなマイコン制御は必要なくなります。ただ問題はゲート電圧VGSが1V程度の低いものを選定しなければなりません。これが意外に難題でジャストなものは見つかりません。そこで妥協となりますが、完全にゲートが開かなくとも少しでも開いていれば少しづつでも充電されるため、そのうちDC-DCコンバータが復活し、マイコンが動き出せばフル制御に戻れます。しかし、実際回路を考えるとそう簡単なものではありませんでした。
太陽電池V1の電圧を0~1.7Vで直線変化
緑:充電池V2の電圧(1.1V) 青:VGS 赤:太陽電池の電流(正値が逆流を表す)
まず、基本形です。充電時はMOS-FET内の寄生ダイオードを利用し、電圧差がVfを越えた時点から電流が流れるように。夜間の逆流を防ぐために、常時ゲートを閉めるように0V以下になるようにプルダウンします。太陽電池が1.6V位にならないと充電開始しませんが、実測で快晴時の解放電圧は1.7Vにもなるため、何とかなりそうです。
回復には何日も必要でも、それはそれで面白いかもしれません。
実際の所、PICのピン数制約があったため、ゲートコントロールと太陽電池の開放電圧測定を1本のポートで兼用させるための応用回路です。NMOS-FETをローサイド配置しているため、解放電圧はズバリそのまま取得できません。太陽電池と蓄電池の電位差となりますので下降線です。マイコンプログラムでの計算がちょっと面倒ですし、負の範囲は測定不能です。ハイサイドに配置すれば、このような面倒は起こりませんが、ゲート電圧を太陽電池分かさ上げさせなければならないので、VGSが2V以下のデバイスを用意する必要があり、今回見送りとしました。
こちらが、実際使った回路で、測定範囲の制約が出ないようになっています。他にもいい方法があるとは思いますが、これしか考えつきませんでした。
<関連>
<余談>
このSGLは、かなり以前から改良を続けており、この構成では最終形に近いと思ったため、公開する事にしました。
こんな単純なハードウエアですが、太陽電池を変更したり、バッテリーの代わりに電気二重層コンデンサを使ったり、モジュール自体に手を加える事無く、ソフトウエアを書き換えるだけで色々楽しめます。でも、電気二重層コンデンサのバージョンは、予算的に十分な容量を揃えられなかったので、その日暮らし的な動作となってしまいます。毎日リセットされるようなものなので、安定性に心配はないですが、暗い日は「やはり」光っていないのでちょっと寂しい感じです。
また、センサ部分に圧電プザーを付けたものを、自転車に取付け走行中のみ自動点灯するマーカーランプとして使ったり、電圧で色が変わる事を利用してバッテリーチェッカにも流用しています。
富樫 豊彦 tog001@nifty.com
Solar guide lamp, compact size and low cost boards, day battery charge, night light on effect “firefly”. optional sense PIR or vibration.