2011/05/31

NJM2360でガイガー用の9Vを作る

ガイガーカウンターにUSBで電源(9V)を供給したいのでNJM2360による昇圧回路をお試ししてみました。

何も考えずにアプリケーションノート通りの回路・定数でブレッドボード上に組み立ててみました。思いつきで部品を並べた上に、足も切らずに挿すという適当ぶりですが、とりあえず9Vが出ました。


入力が約80mA/5V、出力が25mA/9Vなので効率としては56%というところでしょうか。

2011/05/28

C6998 ガイガーカウンターのパルス数(CPM)

C6998ガイガーのカウント数を1分毎で取ってみました。
[バックグラウンド (1.33cpm)]
00:02:00 <2>
00:03:00 <1>
00:04:00 <2>
00:05:00 <1>
00:06:00 <2>
00:07:00 <0>

[燐灰ウラン鉱 (12.0cpm)]
00:08:00 <15>
00:09:00 <11>
00:10:00 <11>
00:11:00 <11>

[キャプテンスタッグのマントル (20.5cpm)]
00:12:00 <16>
00:13:00 <24>
00:14:00 <23>
00:15:00 <25>
00:16:00 <16>
00:17:00 <19>
00:18:00 <18>
00:19:00 <23>

マントル強えぇ...。
のは良いとして、BGがこの程度しかカウントされないのは現在の東京を考えるとやや微妙で、"Sensitive Giger Counter"としては微妙な感じです。
それとも何か作り方に問題があるでしょうか。件のページを参考にして拭いてみようかしら。

2011/05/25

Chaney Electronics 社のガイガーカウンターキットの設計

世間では「何か微妙じゃない?」などと言われているChaney Electronic社のガイガーカウンターキットですが、このあたり参考になります)を拝見すると、以外とちゃんとしているみたいです。

> 現在日本の多くのサイトで知られている定型の「直流動作」とはやや異なったデザインになっていて、
> そのことが様々な議論や誤った中傷(回路デザインが悪いのではないか・・等)の原因となって
> いるようだ。


すいません...。

2011/05/23

秋月のPIC18F2550ボードでガイガーカウンターのパルスを数える

USB通信も出来たので、ガイガーカウンターのパルスを数えてみるテストをしました。

まずはパルスをポート直結で読んでみます。電圧は7V程あるので、単純に抵抗で分圧して5V以下になるようにして、ポーリングで1→0となるタイミングでカウントしてたところ、ちゃんと読み出すことができました。

これだとポーリングで電力を消費するので、INT0で割り込みを掛ける方式も試行してみましたが、これもちゃんと読めました。

同時に、Timer0で1秒の周期を拵えて、そのタイミングで"."を出すようにしました。
秋月ボードには20MHzの水晶が載っていて、内部でFoscが48MHzになるように設定しています。Timer0を「T0CS(Timer0 Clock Source Select bit)=0」にすると、Internal instruction cycle clock単位となって、1カウントはFosc/4=12Mzになります。
これで1秒を作るには1:256のプリスケーラを噛ませて1/(1/(12*1000*1000)*256) = 46875カウントになります。
Timer0は16ビットのアップカウンタとして使えて、ラップアラウンド(0xFFFF → 0x0000)のタイミングで割り込んでくれるので、0xFFFF-46875(0xB71B) = 0x48e5を書きこんでスタートさせれば、ちょうど1s後に割り込みが発生することになります。

ちなみに、googleで「46875を16進数で」と検索すると0xB71Bと出てきます。


さて、とりあえず実験としてはOKですが、いくつか問題があります。
  • このガイガーカウンターは、一回の検知(クリック音)でパルスが2~3回出てしまいます。これを全部数えてしまわないように不感時間(dead time)を設ける必要があります。
  • パルスをポートに直結すると、電圧の降下量がポートのH/Lのスレッショルドにうまくはまらないと、検出ミスを起こします(実際、弱いパルスが出ると無視してしまう現象が起きました)。これを避けるために、スレッショルドを調整できるようにコンパレータを使うことにしました。

2011/05/22

PIC18F2550ボード(秋月)とC18/USBライブラリのテスト

ガイガーカウンターの出力波形はちょっと置いておいて、PIC18F2550ボードをお試ししてみました。

この18F2550という石には、USB機能が内蔵されています。以前は、FTDIのFT232AMで外付けでUSB機能を付加していましたが、こっちだと単体で行けるので楽ちんかも、というのが採用の動機です。

問題は、FTDIのチップは元来USBシリアル変換器用のチップなのでUSB絡みの機能はチップに全部組み込まれていますが、18F2550の場合は裸のUSB機能だということです。したがって、ちゃんと使うにはそれなりのUSBスタック(と場合によってはUSBに関する知識、CDCとか)が必要です。

USBスタックとCコンパイラの選択としては、
という選択肢があります。C18は純正でweb上に情報もたくさんあるのですが、評価版は60日で最適化が切れるし買うと高いといったお約束事項があります。できればSourceBoostでやりたかったのですが、PicPackというUSBライブラリがエラーを出しまくってくれるので一旦中止。
C18とMicroChip Applciationライブラリをしこしこダウンロードして、"USB Device - CDC - Basic Demo"というのを丸パクリしてビルドしたら、いくつか手直しは必要ながら、秋月のボードでも動くようになりました。
  • リンカスクリプトを削除
    ブートローダを載せておいてUSBでダウンロードすることができて、それ用のメモリ割り付け(割り込みエントリとか)が選べるようになっています。基本PicKit2一本槍で書き込みなので、リンカスクリプトは使いません。
    左のプロジェクトペインの "Linker Script"にrm18f4550 - MCHPUSB Bootload.lkrといったリンカスクリプトが登録されているので、右クリックで削除します。
  • ボードは、"HardwareProfile - PICDEM FSUSB"とかいうのを適当に選択
    18F4550を使っているので、コンフィグ等は秋月18F2550ボードに流用が簡単です。
  • 余計なボード依存コードの削除(UserInit、BlinkUSBStatus)
    LEDとかは付けてないので。エラーが出なくなるまで外します。
  • つなぐと、不明なデバイスが~、と言われるので、ライブラリに同梱されているドライバをインストールします。
そんな感じで、LEDピカピカとかでボードをチェックしつついじっていたら、USBとターミナルソフト(TeraTermを使っています)の間で通信ができました。結構簡単。
PCとの通信用途であれば、この系列の石が結構いけそうな気がしてきました。

2011/05/17

C6998 ガイガーカウンターからパルスを取り出す

ガイガーカウンターからパルスを取り出して数を数えようと思ったのですが、LEDのあたりから電圧を取り出してみると、こんな波形になってしまいました。
先日のエントリのように回路がボロいからかなあと思いましたが、よくよく考えると違っているようです。C6998は6108というGM管(データシートが見つからない...)を使っていますが、これはSBM-20を使ったC6979の倍の600Vの電圧が必要なため、基本の構成は流用しつつ倍圧回路(チャージポンプ?スイッチドキャパシタというべきか?)が追加されています。これの充放電で余分な電流が流れてしまうようです。ちなみに、上の赤がパルスに伴う電圧降下で、下の黄色が555の出力電圧です。


うーん、どこからパルスを拾えばいいのでしょうか。ソフト屋だし、単純にソフト的に無視してしまえばいいのかしら。

2011/05/15

Chaney Electronics の6998キットの回路図

色々Webを漁ると、同じようにChaney Electronicsのキットを買った方がおられるようですが、「回路が微妙」というコメントが散見されます。
  • GM管のGNDが浮いている
  • アノード抵抗が100KΩでは低すぎる(GM管を痛める)
  • 高圧の平滑用にコンデンサを入れるべき
安定して動作しない方もいるようで、LEDが点きっぱなしになるといった症状も報告されています(自分のはわりと安定して動いているようですが)。
言及されているのは、数が出ているSBM-20を使ったC6979が多いですが、C6998もほぼ同じ回路のようなので、同じような欠陥があるのかもしれません。
とりあえずアノード抵抗を大きくしてみようかしら...。

2011/05/12

ガイガーカウンターキットの消費電力

テスターで測ってみたら22mAぐらいでした。

MPLAB IDEなどなどを更新

久しぶりに、PIC絡みのアイテムを購入しました(一時はAVRに移行しようとしてましたが、間が開いたので何となくPICで)。

それに併せて、
  • MPLAB IDEのアップデート
  • PICKit2の書き込みソフトのアップデート
  • SourceBoostのアップデート
などなどを実施。

ずいぶん久しぶりにアップデートするので、ものすごくバージョンが飛んで動かなくなるコードが出てくるのではないかと思いましたが、意外と大丈夫で、過去のプロジェクトも問題なくビルドできました。やれやれ。

会社の帰りに

久しぶりに東京方面に外出したので、秋月、千石、マルツでお買い物。
  • PIC 18F2550の完成品(DIP化基板)
    お初の18Fで、USB関連の回路が内蔵されています。
    FT245BMとかを使っていた時期もありますが、基板も大きくなるし、と思い初めて、使えるものかどうかお試しで購入してみました。
    自分でハンダ付けしてもいいのですが、面倒になったので完成品で(工作じゃない...:-p)
  • スイッチング用のFET
  • インダクタとかコンデンサとか
などなどを購入。