« 2011年10月9日 - 2011年10月15日 | トップページ | 2011年10月30日 - 2011年11月5日 »

2011年10月16日 - 2011年10月22日の1件の記事

2011年10月20日 (木)

やっと出来た。ガイガーカウンター2号機の回路図・ソース公開

 ソフトパワースイッチを使ったCHANEYキットのガイガーカウンター2号機がやっとのことで完成した。思った通りソフトパワースイッチの電源制御が手間取り、GM管(SBM-20)の不安もあって、着手からここまでほぼ2ヶ月近くかかってしまった。

 GM管の問題が完全に解決したわけではないが、とりあえずは安定して測定が出来るようになった。ひと区切りがついたので、ソースコードと回路図を公開することにする。

S_pa094282

ツェナーダイオードは効果があった(10/11/2011)
 大苦労の末CHANEYのガイガーカウンター2号機は、何とか共通のひとつの電源で動き始めた。少し余裕が出来たので、ガイガーカウンターの高圧部をもう少し改善することにした。

 CHANEYの高圧回路は、GM管の寿命を考慮して改造してあるが(バイアス抵抗100K->10M、平滑コンデンサー470pF追加)、電圧をデジタル電圧計(秋月DVMキット)で測ると500Vもある。ガイガー管SBM-20の推奨電圧(400V)をはるかに超えている。このまま使っていくのは不安である。

 時間とともにパルスカウント(CPM)が上がってしまう問題は、オリジナルの回路の390V近辺でも起きることが確認されているので、電圧を下げたからと言って、この問題を解決できるか余り期待は持てないのだが、ものは試しである。やってみなければわからない。

 これには、180Vのツェナーダイオードを2つ使って電圧を下げる。この電圧のツェナーダイオードは鈴商で入手した。鈴商は高圧関係のコンデンサーや、インダクターの種類が多く、このところ頻繁に訪れている。最近は通販もしているようだ。

S_pa204305 例によって、小さな基板をキットの基板の上にリード線を使って固定し、ここにダイオードと負荷抵抗(100KΩ)、ついでに直付けしていた平滑コンデンサーを載せる。なかなかうまくいった。こういう小さな基板の加工は、サーキュラソーでなく糸鋸(コッピングソー)だと、もっと楽に綺麗にできるのだがなあと思いながら、ミニルーターで凹部を少しづつ削って整形する(いずれ買うぞ)。

 テストする。電圧は正確にぴったり360Vを指した。おお、この電圧計(秋月DVM)もたいしたものだ。検知パルスも問題なく出ている(350~420Vがプラトー電圧)。2時間測ってみた。ふーむ、全く安定している。これは良いぞ。このままで新たな対策(外部クェンチ回路など)は考えなくても良いか。

S_pa204299 しかし、日を替えてテストしてみると同じ管でも、一定にはならず1時間程度で倍に上がってしまう。ケースの中に入れるのと外では大分様子が違うようだ。ガンマー線あたりは問題ないが、SBM-20はベータ線も感知する。それが影響しているのかもしれない。いずれにしても360Vにしたことで、全て大丈夫になったわけではなさそうだ。

電源は共通になったけれど問題山積(10/12/2011)
 ガイガー管はさておき、本体の実装の方である。仮配線を正式に直し、ケースに入れる前に念のため動作テストをしてみた。ややや、(1)UARTをつながないと動かなくなる。しかも、(2)待機時の電流があろうことか、mA以上だ。4.3mAもある。これでは使い物にならない。共通電源にするときに何かいじったのか。ペリフェラルの電源線をはずしてみたが変わらない。これはおかしい。CPUがパワーダウンモードにならなくなったのか。

 (1)UARTの方はもっと不審だ。今までAVRでデバッグ用のUARTを残して本番時に動かなくなったことは一度もない。それなのにUARTを端末につながないとLCDにオープニングメッセージが出なくなる。そして暫くすると動き出すが、LCDの表示が極端に遅くなる。この遅くなると言うこと自体が良く理解できない。困った。こいつはデバッグができない。別の出力ルーチンが要る。

 ところが、この不具合はI/Oポートをいじっているうちに、いつのまにか解決してしまった。面白くない。いつのまにか直るというのは、またいつのまにか起きるということだ。後味の悪い解決である。しかし、こればっかりに関わっているわけにも行かない。先に進もう。

 (2)の待機時の消費電流が増えてしまう不具合には参った。4.3mAでは使い物にならない。ブレッドボードから、こちらに移動しただけで何もいじっていない。ハードかと思って、ペリフェラルの電源線をはずすが同じだった。プルアップ抵抗もすべてはずすが、何の影響もない。ポートの初期設定で、6mAになったり、8mAになったりするので、やっぱりハードでなくソフトを疑う。

 I/Oポートのピンひとつひとつの初期設定をしらみつぶしに変えてファームを作り直しテストする。しかし改善の兆しはない。パワーダウンモードになっていないのかと、アイドルモードにして止めてみると、スペック通りに待機電流が増加する。スリープモードの手違いでもなさそうだ。

 だいたい、前に測って10μAだったときと大きく変わったところはない。替えたところはすべて元に戻してテストしてみた。それでもおかしなところは見つからない。犯人追跡の手がかりがどうにも見つからない。

やっと犯人を捕まえた(10/15/201)
 ここ数日、悩んでいた問題がやっと解決した。パワーダウンモードの待機電流が想定の数十倍になる不具合である。わかってしまえば、これも何ということはない、ごく当たり前のことだったが、つきとめるまでにえらい時間がかかってしまった。

 至るところの接続を半田ごてではずしまくり、I/Oポートの設定を換え、sleepモードをいじる。考えられる限りの対策をしてみたが、どうしても下がらない。ポートの初期化の状態で、すぐ数ミリAが流れているので、I/Oポートの設定が原因だと思うが究明できない。

 そのうち、UARTをはずすと、電源ディップが復活していきなりリセットに戻ったり、わけのわからない状態になった。頭を少し冷やして状況を整理してみることにした。まずすべてを疑って基本的なところから調べる。

 そう言えば、まだ確認していないユニットが残っていた。過放電を防止するリセット回路である。リセットICがおかしくなった? そんな馬鹿な。これが壊れる可能性は極めて薄い。これが壊れるのは最大定格6V以上をかけたときだけである。

 そんなわけはないとは思うが、もう調べるところはここしか残っていない。半田ごてを持ち出してリセットICを電源から切り離す。おおおー、こいつだった。これまでどうしても下がらなかった電流が、パワーダウンモードの10μA以下に下がった。やれやれ。 

 テスターをマイクロアンペアのレンジにして測ると、0.6μAだ。このデバッグの最中に、WDT(ウォッチドッグタイマー)を止めるステートメント、 wdt_disable(); (ライブラリ<avr/wdt.h>をinclude)を入れてあったので、以前の10μAよりさらに1/10以上下がった。スペック通りだ。いやあ、嬉しい。リセットICが原因だった。思わずガッツポーズが出る。

 喜び勇んでリセットICを取り替える。ありゃあ、電流が変わらない。相変わらず4mAが流れる。何い、リセットIC不良ではないのか。とするとリセットICがドライブしているFETが悪いのか。だいたい、何故こいつらが不良になるのか思い当たる節がない。ただリセットICを通じて電流が流れていることは確かだ。

 FETを取り替えた。これでリセットICはスペックどおり20μAの消費電流で正常になった。そうか、段々わかってきたぞ。このFET(2N7002K)の最大電流は200mAで、こんどのガイガーカウンターは電圧が下がってくるとDC-DCコンバーターなので70mA以上消費する。

 最大瞬間電流は、2Aだけど、もしかすると突入電流がこれを越えて壊したのかもしれない。他に考えられるのは、リセットの原因を調べるため、FETの入力と出力を(ドレインとソース)をショートさせてテストしたことがある。信じられないけれど、これで壊れることもあるのかもしれない。

 リセットICはリセットをした状態のまま動いていて、FETのゲートを通じて電流が流れていたのだろう。とにかく、ここのFETはもう少し大きな電流に耐えるものに換えたほうが良いかもしれない。

 その後、LCDの制御線(Enable)の一本のハンダ付けがとれているところを見つけた。LCDが表示されなかったり、異常に遅かった理由はこいつが犯人だった。これらを修復して、ガイガーカウンター2号機は、やっと安定して動くようになった。ソフトパワースイッチも好調である。

管を替えて長期測定。ケースに入れると増えない?深まる謎(10/17/2011)
 高圧部の方である。ツェナーを使って電圧が安定したので、手持ちのGM管を少し長時間動かして状況を見ることにした。3つのGM管すべてを2時間づつ動かして、驚くべき事実が明らかになった。

2 結果から先に言えば、3本とも、全く問題なく一定の環境放射線量を記録した。ガス漏れかと疑った最初の管も問題ない。ただし3本ともすべてケースの中に入れての測定である。

 SBM-20はガンマー線だけでなく、ベータ線を感知できるということで、ベータ線は、プラスティックのケースで覆うと殆ど遮られる。ということは、時間を経過するとCPMが2倍から3倍になるというのは、ベータ線を感知したからだということである。

 ベータ線は、物の本によれば、飛んでも精々が数m。この地下室にベータ線を出す線源があるということになる。あるとするなら、あのランタンのマントルしかない。まさか。それにどうしてCPMが増えていくのだ?理解できない。LND712だってベータ線を感知する。

 SBM-20をむき出し(ケースの外にだす)にして測ると、前と同じように1時間経つと確実にCPMは2倍になる。これをすぐにケース内に入れて再度測ると図のように、落ち着く。ケースの遮蔽が何らかの影響を与えていることは間違いない。

Photo この一般の住宅の部屋の中にベータ線をだす物質が浮遊しているということなのか?謎は深まるばかりである。一般の環境放射線量の調査では、ベータ線は除くようにという指示が多いのは、こういうことがあるからか。いずれにしても、元のSBM-20が壊れていないことだけは確認できた。

Photo_2

例のマントルを近づけると、ケースの中に入れたSBM-20でも、せわしない音とともにLEDは絶え間なく点灯し、500CPMやそこらは簡単に到達する。シーベルト換算だと、このあいだ大騒ぎのあった世田谷の3μSv/hくらいである。何の規制もされていないこのマントルが余裕で出す線量に世間は大騒ぎしているが。

 このマントルも1メートルも遠ざければ全く反応しなくなる。ここからベータ線が出ていた?まさか。念のため、別の部屋にマントルを遠ざけて測定してみる。当然、前と変わらずむき出しにするとCPMは増えていく。まあ、この問題は外部クェンチ回路を実験するまでお預けである。

リセットICの消費電流もケチって遂に待機時0.6μAを実現(10/19/2011)
 公開に向けて回路図を描き始めた。実はまだ気がかりなことがある。リセットICの消費電流が20μA近くと馬鹿にならない。何しろMega328の待機電流は1μA以下なのだ。折角省電力化したのに、その20倍の電流が常時流れるのは気分が良くない。ただ、電池の電圧を常に監視している必要があるのでFETのスイッチの後などに置く事はできない。

 しかし、電源回路を描いていて思いついた。常に電圧を監視していなくても良い。FETのハイサイドスイッチのあとでも構わない。ペリフェラルに供給される電源電圧を、CPUがチェックしてやれば良いのだ。

 いや待てよ、リセットICもいらない。CPUのADCか何かで監視して、一定の電圧以下になれば、ペリフェラルを切って、パワーダウンモードに入れば良い。そうか、こちらの方が簡単だったか。なんだ、最初の案が一番合理的だったのだ。

 そうは言っても、ここまできたのだから、せめてこの回路でも待機電流をμA以下にしてやろう。ケースの中の主基板を取り出し、電源系をあらためて検討する。リセットICの回路をFETスイッチの出力側へ移す。電源系統の誤配線は怖いので慎重に結線を接続しなおす。通電。良かった。一発で動いた。消費電流は?すごい。やった。0.6μAだ。

 電源を入れようとボタンに手がかかって、あわてて手を止めた。このところテスター(マルチメーター)のヒューズを誤接続で立て続けに飛ばしている。μAオーダーの計測レンジで不用意に、スタートボタンを押すと数百mAレベルの突入電流で簡単にヒューズが飛ぶ、それもあるが大抵は電圧計のつもりでプローブを当ててしまいショートさせたことの方が多い。

 しかし、ちょっと怖いことがある。長いテスターリードで電流を測ると、何故か電源のディップが復活してリセットしたり、突入電流が1A近く流れたりすることがあるのだ。心配である。スイッチの切り替えのタイミングで大電流がCPUのポートなどに流れると、石を壊してしまう。

 寝床についてからもあれこれ考えていた。結局、すべてはDC-DCコンバーターの突入電流と結論付けることにした(悪い方向は考えたくない)。それより、今のリセットICをトリガーとしてペリフェラルの電源をFETで切っているが、これも必要ないことに気づいた。

 リセットICのトリガーをCPUのI/Oピンに入れて、これを監視すればよいのだ。FETでローサイドで電源を切っているが、そもそもペリフェラルの電源はハイサイドで切っているのでわざわざここでも切る必要がない。

 しかもLCDに電圧不足のメッセージを出すことも出来る。今までの方法だと、何の挨拶もなく落ちるので、故障なのか、電池不足なのか判断ができないので困っていたのだ。これは一石二鳥だ。

 良い方法を思いついたときは、寝つきも良い。この日はぐっすり眠ることが出来た。

Chaney_geiger_ctr

ソフトパワースイッチのガイガーカウンター2号機のソースと回路図を公開(10/20/2011)
 翌日、機嫌よく地下の工作室に戻る。電源制御の小基板に折角苦労してつけたFETだが、思い切ってはずし、ドレインとソースのところをショートする。ゲートに入っていたリセットICの出力をMega328の入力ピンに入れる。大した作業量ではない。

 次はソフトである。ピンを初期化し、メインループの最後で、常にこのピンを監視し、論理0になったところで、LCDに警告メッセージを出し、一定時間後、パワーダウンモードに移行する。コードとして10ステートメントもない。あっという間にソフトも出来た。

 テストである。電源を単3二つの電池フォルダーから供給する。3.0Vである。リセットICは3.3V以下で動くはずだ。よーし、最初立ち上がるがすぐ「デンチデンアツ フソク」のメッセージを出してシャットダウンされた。良いぞ。元のリチウムバッテリーで正常に動くことを確かめて、テスト終了である。

 ふー。やれやれ。時間がかかったが、これでソフトパワースイッチと、過放電防止の回路はすべて順調に動いたようだ。ケースにUARTのケーブルを差す口を空けて、ケースを開けなくても、貯めたデータを吸いだせるようにする。これでさらに実用に近づいた。

 きのう事務所の往復に持ち歩いたが、3時間以上全く問題なく測定できた。地下鉄と地上の線量の違いも明確に区別が出来る。ガンマー線だけ測っている分には全く安定しているようだ。

S_pa204306

 このプロジェクトも、このあたりで少し区切りをつけよう。 電源制御は予想にたがわず難物だったけれど、ソフトパワースイッチにはだいぶ自信がついた。経験値も上がったように思う。

 ソースコードと回路図を公開することにする。ガイガー管がベータ線でCPMが増加する問題は先の課題にしよう。

以下に、AVRStudioのフォルダーでかためたソースコード一式を置きます。タクトスイッチの仕様がSparkFunのと異なっているので注意してください。回路図のBSch3Vファイルもフォルダーの中に入っています。

「ChaneyGeiger.zip」をダウンロード

| | コメント (6) | トラックバック (0)

« 2011年10月9日 - 2011年10月15日 | トップページ | 2011年10月30日 - 2011年11月5日 »