流行りのガイガーカウンターを作ってみました。
8pin の AVR Tiny45 で、V-USB を組み込んで PC に接続してカウントを読めるようにしました。
現在の状況はこちら(こことは別の自宅サーバーです)
V-USB は、vusb-20100715.zip を使わせて頂きました。
回路図は以下の通り。
(私はソフト屋さんでハードのことはよくわかってないので、この回路は参考程度にしてくださいね。)
(まだ実験中のもの。)
AVR Tiny45 で、高圧発生用のパルス生成、割り込みを受けてカウント、PWM で BEEP 音発生をしてます。
V-USB で HID になってるので、Windows では標準ドライバで扱えます。
(いくつかの回路を見せてもらったけど、カウントしてグラフ化できるものの中では部品数が少なく作り易いと思う。逆起電力を逃がすダイオードとか色々省いてるけど。)
高圧発生がキモですが、今使っているトランス (T1) は、実測で、数十Hz、10us ぐらいのパルスで安定して高圧が出てます。
トランス (T1)、トランジスタ (Q1)、ダイオード (D3) は、「写ルンです」みたいなジャンクなカメラのフラッシュ回路から取ったものです。
波形は、当初は PWM で作っていましたが、パルス幅を 10us ぐらいに抑えようとすると、周波数が上がってしまうので、
自分で波形を作るようにしました。(PWM 用のカウンタが 8bit しかないので周波数が上がってしまう。周波数が上がると消費電力が上がってしまう。)
自分で波形を作ると、放射線で放電された後は高速に充電するためにパルスを増やす、ということが出来て、放射線量が多くても安定動作ができます。
高圧側の電圧は、10MΩを50個直列にした500MΩ抵抗を作って、デジタルテスタに直列に入れて測ってます。
デジタルテスタは内部抵抗10MΩぐらいなので、500+10/10=51倍ぐらいの計算で電圧が求まるはずですが、
500MΩ程度だと電圧降下があるので、正しい出力が把握できてないです^^;
ダイオードはファストリカバリのを使ってます。フラッシュの回路には汎用整流用の 1N4007 とファストリカバリな R1500F が付いてました。
どっちを使っても差は感じられなかったですが、ファストリカバリの方を使ってます。
(まぁ、数十Hz 程度なら、リカバリ遅くても問題無いのでしょう。ファストリカバリだとリンギングがうまく使えるのですかね?
波形見てる限りでは、上がって下がって上がる時にはもう電圧低いから要らない気もするのですが。
全波整流するか2倍整流すれば効率上がりそうなので、後で試してみる。)
トランジスタは、最初、手持ちの 2SC1815 とかで試してましたが、フラッシュ回路に付いていた 2SD965 の方が圧倒的に効率が良かったです。
ついでに、C3 に周波数特性が良さそうなタンタルコンデンサを追加したら電圧が上がりやすくなりました。
GM管は、SBM-20 を使っていて、アノード抵抗 R5 の推奨値は 5.1MΩ。
1M だと放射線検出したときの波形が割れるので、3M 以上は必要な感じでした。今は 10MΩ で安定してます。
Q2 の pull-up は、Tiny45 の内部 pull-up を使ってます。
波形生成用のパラメータや、BEEP用 の PWM のパラメータは、PC 側から書けるようにしたので、気軽にパラメータを変えて実験できます。
もちろんパラメータは EEPROM に書き込むので、一回設定すれば、電源切ってもその設定で動作できます。
新規に作る時間は無かったので、USB-IO-Mini のコードを適当に変更しました。
V-USB で HID Device として実装しているので、Windows 標準ドライバだけで扱えます。
ソースは後で置きます。かなり汚いソースですけど。
2011/5/3
2011/5/22
2011/6/4
2011/6/11
2011/7/5
明らかに減ってるね。
後でソースを置きます。
Name | Version | Download | Size | Date |
Geiger Counter firmware | Ver.1.00 | xxxxx | xxxxx Byte | xx/xx/xx |
スタンドアロン版は、USB との接続機能を省いて、CPU のクロックを下げて、消費電力を下げたものです。
単4のエネループ2本で、2ヶ月ぐらいは連続稼働できると思います。
音が鳴るだけで、カウントしている訳ではないですが。<一応内部では 32bit でカウントしてるけど、表示機能が無い。。