カスタマイズ可能なガイガーミュラーカウンター
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
必要なツールとマシン
> |
| |||
|
このプロジェクトについて
ADNOVEAの研究で指摘されているように、このデバイスは危険な高電圧(400 V)を使用しています。電流が低い間、人体に導入された電流または電圧の量は、心臓に不整脈を引き起こし、それを止めて死に至らしめる可能性があります。この製品を製造する人は、電子機器の使用経験があり、回路の高電圧面を使用している間は、適切な安全上の注意を非常に慎重に行う必要があります。
私の目標は、AdNoveaの作業を引き受けて、希望どおりにプログラムできるガイガーミュラーカウンターを作成することでした(AdNoveaの作業では、変更する適切なプログラムを見つけることができなかったスクリプトを使用していました)。これにより、ユーザーはチューブの物理をよりよく理解できるだけでなく、プロジェクトの要望やニーズを満たすようなデバイスを作成することもできます。
このプロジェクトでは、AdNoveaの回路図を簡略化して、探していたものをさらに充実させました。カウントを表示するパーソナルカウンターですが、イーサネット接続や国内ネットワークへの接続はそれほど複雑ではありません。 Bluetoothモジュールとブザーを試してみましたが、これらは使用できますが、必要なときに参照できるバックグラウンド放射線カウンターがもっと必要だったため、使用しないことにしました。
<図>構造は非常に簡単です(回路図を参照)。このプロジェクトの唯一の困難な側面は、いくつかの部品(GM管と高電圧変換器)を入手することでした。私はこれらのアイテムの両方をEbayで少しのお金で購入しました、しかし両方とも遠く(それぞれウクライナと中国)から売られていたので、アイテムを受け取るのに3-4週間かかりました。
私は回路をブレッドボードに組み立てることから始めて、回路を最もよく評価し、自分の望みに合わせて回路を操作できる場所を見つけました。 AdNoveaの図に従って組み立てましたが、ブザー、イーサネットモジュール、およびGMチューブにつながる抵抗器を省略しました(チューブに十分な電流が流れていなかったため、動作できませんでした)。次に、すべてを回路基板にはんだ付けしました。
<図>ここで使用したものとしてArduinounoを引用しましたが、nanoを使用することで、コンテナー内のスペースを節約できる可能性があります。電気テープを使用してGM管を回路基板に取り付け、スペースを節約し、電圧トランスの端子を覆って安全性を高めました。 AdNoveaのようなものを作るために、遊んだり、プラスチックの容器に穴を開けたりするための機器が限られているため、Arduino回路キットを最初に購入したときに受け取った段ボール箱を使用しました。
<図>LEDディスプレイがぴったりと収まるように、ボックスの上部に穴を開けました(さらに、これをテープで補強しました)。
<図>また、ボックスの側面に穴を開けて、USBコードを挿入してデバイスに電力を供給できるようにしました。
<図>9V電池を起動してみましたが、さすがに電池が長持ちしませんでした。最後に、火災や信号の損失から保護するために、回路が段ボールと接触する可能性のある場所で、必要に応じてボックス/回路基板の周りに追加の電気テープを貼ります。
私がプロジェクト用に設計したプログラムは、30秒ごとにGM管によって収集されたカウントに、2を掛けて、1分あたりの推定カウント(GM管の測定単位)を提供します。次に、メートル法の変換を使用して、より広く使用されている参照測定であるuSv / hrを報告しました。デバイスがこのコードを実行し続けると、標準誤差(SD / sqrt(n))とともに徐々に収集された測定値の平均を報告するようになりました。最終的に収集されるのは平均バックグラウンド放射線レベルからのサンプルであり、SEをより適切な尺度にするため、統計的に標準誤差を選択しました。残念ながら、Arduinoのメモリ制限のため、100アイテムの測定値の配列しか作成できませんでした(もっと遊んだ場合、おそらくこれ以上)。したがって、チューブは50分間だけ正確に値を表示しますが、それでも適切なサンプルサイズです。
次のプロジェクト(私は医療専門家であるため、静脈ファインダータイプのデバイスを構築する)に移りたかったので、デバイスに加えることができるいくつかの小さな変更(ブザーを配置して、CPMがバックグラウンド放射線を超えている場合はそれ)を実行しませんでした警告テキストでアラームを鳴らし、「ログ期間」変数を試して、より短い期間で精度を正式に評価し、合理的でより迅速な測定を提供します)が、このデバイスでもう少し作業したい人は、完全に試してみる必要があります彼らが望むだけこれでそれをより良くします。
コード
- コード
コード Arduino
#include#include unsigned long counts; // GMTubeイベントの変数unsignedlong previousMillis; //タイムフロート平均を測定するための変数floatsdCPM; int currentCPM; float calcCPM; LiquidCrystal_I2C lcd(0x27、20、4); float CPMArray [100];#define LOG_PERIOD 30000 //カウントレート(ミリ秒単位)void setup(){ //セットアップカウント=0; currentCPM =0; averageCPM =0; sdCPM =0; calcCPM =0; lcd.init(); lcd.backlight(); Serial.begin(9600); pinMode(2、INPUT); attachInterrupt(digitalPinToInterrupt(2)、インパルス、FALLING); //外部割り込みを定義します} void loop(){//メインサイクルlcd.setCursor(0,2); lcd.print( "CPMカウント:"); lcd.print(counts); unsigned long currentMillis =millis(); if(currentMillis-previousMillis> LOG_PERIOD){previousMillis =currentMillis; CPMArray [currentCPM] =カウント* 2; lcd.clear(); lcd.setCursor(0,0); lcd.print( "uSv / hr:"); lcd.print(outputSieverts(CPMArray [currentCPM]));カウント=0; averageCPM =0; sdCPM =0; // avgおよびsdを計算します(int x =0; x
回路図
回路図がおかしいので、Fritzingで開くと、なんらかの理由で物事が動き回っています。 geiger_counter_4LAnJvZEpC.fzz 製造プロセス