top menu
波高分析
それっぽいパルスが観測されるようになったがガンマ線によるパルスが
ノイズと分離できているのか、それともパルス高分布の大きい側の裾野が
ノイズレベルから少しはみ出て見えている
だけなのかオシロで見ているだけではよくわからない。やはりパルスの波高で
ヒストグラムをとって
みたいに一応分離しているのか
のように重なってしまっているのかチェックしたい。
ADCで波高を測りそれをPCに送ればよさそうだが、ADC内蔵でUSB端子が付いてる
マイコンボードは・・・・いろいろあるが一番近くにあったのがARMマイコン
『「MARY」基板システム』
LPC1114を使っていてUSBは仮想シリアルポート専用だがプログラミングの
手間を考えるとかえって好都合。2枚あるのも安心(?)
1号機の最終段の出力をこんな風にADCのポート0に入れる。
LPC1114のADCの入力範囲は0-3.3Vなのでそのダイナミックレンジを利用するには
検出器のゲインがもう少し高いほうがいい。そこでR1を100kΩから1MΩに変更、
帯域幅を下げないためにC1は1/10にしたいところだが10pFだと発振するので
20pFにする。
パルス波形。発振しかかっているがとりあえず先に進む。
ノイズレベル。
プログラムはMARYの一番簡単なサンプルプロジェクト"COLOR_LED"のmain.cだけを
書き換えて作る:main.c
(実はひな形用のプロジェクト
"LPC1114"も用意されていたことに後で気がつく)
ADCは連続取り込み(burstモード)で動作していて閾値以下の値になると
ピークを探してその値をシリアルポートに垂れ流すというもの。ADCの変換時間は
11x11/48MHz=2.5μsでパルスの幅は100μs程度あるのでこれでも問題ないだろう。
PC側のプログラムは送られてきたデータをだらだらファイルに書いていくもので
トラ技の2008年8月号「USBマイコンによるI/O制御入門」の付録78K基板との通信
サンプルプログラムを昔書き換えたものを今回さらに流用したもの。
mterm1w.c
mterm1w.exe(bcc32でコンパイル)
このプログラムはデータが送られてくる区切りによっては取りこぼしが
ある(主にカウントレートが高いとき)。
迷光を避けるために箱に入れていざ測定(LEDは消灯するようにあとで
書き換えました)。
取り込んだデータをヒストグラムに変換するプログラム
mshow.c
mshow.exe
試料のあるなしの差は明らかだが妄想していたようには分離していない。