« 2011年8月21日 - 2011年8月27日 | トップページ | 2011年9月11日 - 2011年9月17日 »

2011年8月28日 - 2011年9月3日の1件の記事

2011年9月 1日 (木)

SparkFunのガイガーカウンターを正しく動かす

 前回の記事の反響は大きかった。次の日、研究所開設以来の最大アクセス(一日866)を記録したかと思ったら、週明けの月曜はその記録もあっさり抜いて一日のアクセスが1200を越えた(1244)。いつもの3倍である。

 「ゆきの研究室」という著名なサイト(ここの作品は見事と言うしかない)や、所長もお世話になっているsimさんあたりが話題にしてくれてアクセスに拍車がかかった。有難いことだと思うと同時に何か責任の重さを感じる(あまり好き勝手なことが出来なくなってくる)。

 ただ、SparkFunのキットの問題は、前回ですべてが解決したわけではない。もう少しこのキットにこだわってみることにした。それにしても、つっこみどころ満載のキットである。

時々動かなくなる原因を見つけたか(8/26/2011)

 ブログの初日のアクセス急増はツイッターによるところが大きい。アクセスログに見慣れないリンク先が出てくるのでアクセスすると、自分のブログが出てくる。Googleで検索しても見つからない。おかしいなあと思って、このあたりに詳しい娘に聞くとツィッターの短縮URLというものらしい。ツィッターのページからは検索できる。所長もあわててツィッター登録し、震源地を調査した。これが不慣れで、どなたが最初にtwittしたのか見極められない。とりあえず、この場を借りて御礼申し上げておきたい。

S_p8244149 それはともかく、過大電圧でガイガー管を壊してしまう危険は回避した。しかし、そもそもはそれが問題ではなかった。最初のトラブルは時々動かなくなることだった。この原因は解明されていない。 このトラブルシューティングのために部品を次々にはずし、結果としてブレッドボード上に別の部品で配線図どおり組み立てて動かすところまで行った(トランスだけは、基板から取り出した同じもの)。この状態では高圧が出なくなることは一度も起きていない。

 時々動かなくなるのは、基板上の発振回路のパターンに、接着剤でスペーサーをつけたためと結論付けたが、どうも納得できていない。接着剤そのものは絶縁物だし、基板の上にはかなり厚いレジストが塗られており、これが原因とは考えにくい。トランジスターは2つともはずしてブレッドボードにつけなおし、正常動作を確認している。

 原因究明はさておき、このキットを実用品に戻さなければいけない。ケースのLCDとスイッチを無駄にするわけには行かないのだ。 ブレッドボードで作った回路を小さなサブ基板に作り直し、ケースの中に入れて動かそうと考えた。まず、ブレッドボードにはずしてあったトランスを正規の場所に戻して、そこからサブ基板に行くリード線を出す。

 念のため、これでちゃんと動くか確かめる(用心深くなった)。おやあ、動かない。どういうことだ。トランスと基板の接続がおかしいのか。テスターで測る。何い、Vccがトランスにかかっていない。トランスはハンダ面でしっかりついているが、良く見るとVccのパターンは部品面にある。

 えー、このホールはスルーホールじゃないのか。うそだろう。最初にトランスを取り外す時、例の低温ハンダが部品面まで行かずパターンを傷つけてしまったのかもしれない。しぶしぶ、トランスをもういちど外す。パターンは一部がはがれているだけでVccとの間は切れていなかった。ルーペで仔細に調査する。やっぱりそうだ。穴の中は、エポキシ基板の生地が出ている。スルーホールじゃない。

 わかったぞ、接着剤でおかしくなったのではない。このトランスの固定が問題だ。スルーホールではないので、ハンダ面からハンダを余程たくさん盛って、部品面まで流し込むか、クリームハンダか何かで前処理しておかないと、ここの接続は不安定になってしまう。

 ハンダがそこまで行かなければ、このトランスの端子(幅1.5ミリほどの平ピン)と、部品面のランドは物理的に接触していることしか期待できず、金属表面が酸化してしまえば、ちょっとしたショックや温度差などで簡単に接触不良になる可能性は十分ある。

 そういえば思い当たる節がある。最初に動かなくなったのは、車に持ち込み、急ブレーキを踏んだときに、座席から落とした衝撃から動かなくなった。そのうち復旧したけれど、ここの接触が不安定だと、こういうことは起こりうる。コンデンサーを取り替えて、全く戻らなくなったが、これは接触点の近くに熱を加えたことで、状況が固定的になったのだ。

 ふむむ、もしかすると、このトランスのところを完全に接続し直せば、元の基板パターンに部品を戻しても動くのではないだろうか。どうもスペーサーの接着剤が原因ではないような気がする。迷ったが、だめもとである。全部のパーツを元の位置に戻してみた。電源を入れる。やった。順調に高圧が上がり、パルスを検出するようになった。

 パルスは、当初より少し多い環境放射線量を記録するようになった。以前は、0.08程度だったが、0.11μSv/hくらいに上がる。過大電圧の時のパルスは、オシロにあったように相当派手なパルスにならないとカウントしていない。こちらの方が本当の値なのかもしれない。

 ちょっと心配になり、電圧を測ってみた。おやおや何と800Vもある。ブレッドボードのときは、600V近辺で、ちょっと高いがまあいいかと思っていたが、これではいくら何でも高すぎる。回路の効率が良くなったからかもしれない。それにしても、定格の倍だ。何とかしないといけない。

検出回路もインチキだった(8/28/2011)

 電圧を下げるには、電圧制限回路を追加するのが一番確実だが(部品も買ってある)、とりあえず発振回路のコンデンサーを1μFから、さらに0.47μFに落としてみた。電圧は、400~450Vに下がった。しかし、今度は、パルスを拾えなくなってしまった。今まで効果のあった出力回路にあるコンデンサーの値をいくら小さくしても駄目である。

 試しに、このコンデンサーをはずしてみた。さすがにこれでパルスを拾うようになったが、オシロで見てみると、このパルスは、反応パルスが起きた後の電源の変動のピークも拾っている。多数のパルスが起きる。電圧が下がったせいで本来のパルスが小さくなり区別がつかなくなっている。

S_p8294153 どうもおかしい。トランジスターのベースに入る入力パルスが負電圧なのだ。GM管の反応パルスは、高電圧から一気に0Vに落ちるパルスなので、コンデンサーを通すと逆方向に電流が流れ、ベースが負電圧になるのは納得できる。ところが、どういうわけか今までの検出は、このパルスのオーバーシュートの部分でベース電圧がプラスになるところで、コレクター電流が流れてパルスが落ちる。結果として、正論理のままの出力になる

 これは明らかにおかしい。オーバーシュートの部分をトリガーにしている。考えてみれば、GM管の反応が負論理なのに、トランジスターの出力も負論理のままである。本来のトランジスターバッファーは反転しなければならない。

 これまでの過大電圧(1500V近く)のときは、GM管は10ms以上の間、立て続けにパルスが発生し、派手なオーバーシュートが出ていたので、コンデンサーでなまらせて1パルスにしていたが、定格のパルスでは、このままでは正規のパルスと電源変動のパルスの区別がつかない。

 パルスが負電圧なので、いわばプルアップしてやれば良い筈だと、ベースに交流増幅のように分圧抵抗で持ち上げるが駄目。パルスが消えてしまう。ウェブで「負電圧 ベース入力 プルアップ」などのキーワードで調べるが埒(らち)は明かない。トランジスター回路の応用なのだが、アナログの素人の悲しさ、どうしてこれを解決すれば良いのか方策が見当たらない。

先人の回路を真似る。見事なパルス(8/29/2011)
 そのうち気がついた。自分で回路を開発しようというのが無謀なのだ。他の人がどうやっているか調べてみるべきだ。これまでの集めてきた自作ガイガーカウンターのサイトをしらみつぶしに検出回路について調べてみた。

 すると、ここのサイトの説明で、謎がすっかり解けた。ここには簡潔に書いてある。「アノード検出回路は、負パルスなのでPNPトランジスターを使います。」なるほど、そういうことなのか。NPNで一生懸命プルアップしても、ベースとエミッターの間の電圧は一定なので動作点が変わってしまい、負電圧は拾えないのだ(少し勉強した)。

 SparkFunの検出回路はGM管のアノードからなのに、NPNを使っている。そもそも根本的なところから間違っている。これではまともなパルスは検出できないわけだ。しかし、市販のキットでもこんなことがあるのかとちょっとあきれ気味である。しかも、クリエイティブコモンで、回路図もボード図もEagleで公開している。暇があったら英訳して送ってあげたいところだ。

S_p8304156

 検出回路をブレッドボードに移して、このサイトの回路図や、別のサイト(ここやここ)でも見つけた回路図を参考に、回路を組んでみた。ブレッドボードなので簡単に組みあがる。オシロで波形を見る。おおお、何と言う美しさだ。見事な検出パルスが出た。サイドのノイズは、回路図にある100pFのコンデンサーで綺麗に消えた。素晴らしい。教科書にでてくるようなパルスだ。マイコンは立下りでとっているはずで、ソフトは全くいじらないで、この正パルスで動くはずだ。

S_p8304155キットの実装に熱中する(8/31/2011)
 ブレッドボードの検出回路は見事に動いた。次はキットの基板への実装である。頭を捻る。検出TRのパッケージはチップでなくお馴染みのTO-62(MPSA18)だ。NPNからPNPに換える必要がある。PNPは手持ちの2SA1015で、キットの石のピンアサインは、CHANEYのときと同じ、EBCである。注意しないと前の二の舞になる。

 こういう改良は、なぜか心が躍る。いかにこれまでのパターンを活用して簡潔に回路を完成させるか。メモ用紙に実体図を描いて検討する。ほどなく空中配線にならず、一番合理的な方法を考え付いた(おおげさな)。

 まず、カッターでTRのエミッターの接地部分を切り離す。ここは感心にもスルーホールになっていた。そうか、トランスのところも最初はスルーホールだったが、トランスのピンが大きすぎて広げた結果、そうでなくなってしまったのかもしれないと勝手な推理をする。

 当初のエミッターのピンはご丁寧に両面ともベタアースにつながっており、ここはPNPになるとVccにつながるので余裕を見てカットしておかないといけない。切り離しに時間がかかる。ルーペで何度も確認する。

S_p8304158

 次は、部品面にある1KΩのダンピング抵抗を47Kに変更し、プルアップ抵抗(1M)とノイズ防止コンデンサー(100pF)をハンダ面に固定する。Vccラインを遠方から引っ張ってトランジスター(エミッター)のところへ配線する。最後は、当初のVccからのプルアップ抵抗(1K)を除去し、4.7μFの載っていた大きなランドにコレクターの負荷抵抗(100K)をつければ完了である。

 何度も配線をなぞって間違いがないか確かめる。よーし、問題ない。これで動くはずだ。S_p8304160念を入れて電源をONする。暫くたって赤いLEDが消え、LCDに「ケンチシマシタ!」のメッセージが出た。いやあ、SparkFunのガイガーカウンターは、これでやっと本来の機能を取り戻した。GM管の高圧は、400~450V。問題ない値だ。

 回路図はいくつかのサイトを参考にさせてもらったが、著作権の問題を避けるために、そのまま掲載することはやめることにする。リンク先の回路図をご覧になっていただきたい。回路図がなくてもこれまでの説明と画像で変更はできる。ただし、トランジスターのピンアサインにはくれぐれもご注意(前々回記事参照)。

S_p8304163

 ついでに、ソースコードの修正をしておく。正規のパルスにしたせいでタイマーの1tick 128μs以内に複数回起きるパルスを拾うようになった。LND712のデッドタイムは、90μsなので、128/2=64μsは、独立したパルスとみなさないほうが良い。これを無視するように修正してある。

ここに、AVRStudioのプロジェクトになったソース一式を置きます。

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

S_p8304162x

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

« 2011年8月21日 - 2011年8月27日 | トップページ | 2011年9月11日 - 2011年9月17日 »