ITk strip QA (CCE)

ALiBaVaセットアップの使い方。

-- Shigeki Hirose - 2020-09-28

少々面倒なのだが、新しいPCでは原因不明のノイズが大きくDAQがまったくできないので、DAQは古いPCで行い、データの解析は新しいPCで行う。それぞれpc21、atlaspc21という名前がついているが、たいへんややこしいので以下旧PC、新PCと呼ぶ。

PC起動時

PCなどが完全にシャットダウンされている状態から測定の準備をするには、以下の操作が必要。

  • 旧PC新PCを起動する
    • 操作は基本的に新PCから行う。新PCターミナルを3つ開く。1つはラズパイにログイン(いまはALiBaVa用PCからはssh atlasj@192.168.1.2でログインできる)。1つは旧PCにログインしてGPIB通信スクリプトを走らせる。1つは新PC上でオンラインモニターを走らせる。
    • ラズパイにログインしたら、/home/atlasj/work/stripQA/に移動し、まずcat /var/samba/trh/temp.datで温湿度を確認する。一番右の時刻を見て、現在時刻になっているようならOK。なっていなければスクリプトが止まっているので、sudo i2cget -y 1 0x35 0xDFで設定を通した後、nohup sudo python thermohydrometer.py &で温湿度モニタースクリプトを起動する(nohupをつけるとログアウト後もスクリプトを走らせているプロセスが生き続ける)。[注意] 起動直後は/var/samba/trhが存在しないので、sudo mount.cifs //130.87.243.248/shared /var/samba/ -o user=smbuser を実行する必要がある。(パスワードを聞かれるが、何も入力せずenterでよい)
    • 旧PCにログインする。ユーザーはatlasjではなくstripであることに注意!ログインしたら、まずsudo chmod 777 /dev/ttyUSB*で一般ユーザーもttyUSBを通した読み込み・書き込みをできるようにする。
    • 新PC用のターミナルで/home/atlasj/StripQA/buildに行き、"source bin/script/setup.sh"を実行。
  • ALiBaVa を起動する
    • 本体にスイッチはないので、ケーブルをさして起動。
    • 必ず、旧PCを起動した後に行うこと。でないと旧PCとのコミュニケーションがうまくいかずにエラーができる。
    • 旧PCにログインしているターミナルでalibava-guiコマンドを実行。エラーなくGUIが立ち上がればよい。以後、GUIは使わないので、File → Quitで終了。
      • この時にエラーが出たら、通信できていない。その場合は、以下の"エラーが出た時の対処"を実行する。

測定をする

1. 治具にMini & MD8をセットする。バッチ番号、ウェハー番号の記録を忘れずに!金属プレートの上にチェッキングソースを載せる。

  • Mini & MD8ボードのコネクタがきちんとつながっているかは、横からのぞき込むとわかる。
2. 恒温槽のふたを閉め、PMTのHVを上げる。
  • 恒温槽を閉める前のチェックリスト。
    • センサーのバッチ番号とウェハー番号を記録したか?
    • チェッキングソースを治具に載せたか?
  • 850 Vまで上げる。スケーラーでトリガーレートが~300 Hzになっていることを確認する(DAQがせいぜい200 Hz程度なので、それ以上になっていれば問題ない)。
  • しっかり遮光されているので恒温槽が開いている間にHVが印加されていても基本的に問題はない。
3. 恒温槽の温度を-20 degCに設定して「定時運転」を押し、-20 degCになるまで待つ。
  • 温度はラズパイ上でcat /var/samba/trh/temp.dat で確認できる(左から3つ目が温度[degC]、4つ目が湿度[%])。
4. -20 degCまで下がったら、一度バイアス電圧を700 Vまで上がることを確認する。
  • もしブレークダウンしたら、その電圧を記録。その電圧が550 Vを十分に超えていたら、30分程度待ってから、ブレークダウンした電圧より50 V低い電圧まで測定する。これにはスクリプトの書き換えが必要なので、やり方がわからなければエキスパートを呼ぶ。550 Vを超えていない場合、あるいはエキスパートがすくに対応できない時には、このサンプルは諦めて別のサンプルの測定に移る。
5. 新PCで/home/atlasj/StripQA/runに行き、monitor.pyを実行。
  • 「PC起動時」にあるようにsetup.shをsourceしていれば、monitor.pyがコマンドとして認識されているはず。
6. GPIB通信用スクリプトを起動。
  • 旧PCで/home/atlasj/StripQAに行き、python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator]を実行。
    • [batch number]には、サンプルのバッチ番号を入れる。
    • [irrad or nonirrad]には、照射済みセンサーの場合はirrad、未照射センサーの場合はnonirradと入力する。
    • [operator]には自分を識別できる文字列を入れる(空白は受け付けないので注意。CERNアカウント名や研究室のアカウント名で良い)
  • スクリプトを実行すると、約2分かけて徐々に最大印加電圧(照射済みなら-700 V、未照射なら-500 V)までVbiasが上がるので、その間電流計に注意する。-20 degCの場合、照射済みなら大体18 uA @ -700 V、未照射済みなら大体2 uA @ -500 Vぐらい。
  • もし異常があれば、すぐにctrl + Cで止める!(ゆっくり2回)Vbiasは自動的に落ちるようになっているが、ちゃんと落ちているかすぐに確認し、もし落ちていなければ手で徐々に下げて落とす。
  • 問題なく最大印可電圧まで上げれば、自動的に測定が開始される。
以上で、残りの手順は自動的に走り、すべての測定点(照射済みサンプルであれば700 V → 600 V → 500 V → 400 V → 300 V)が測定される。万が一途中でエラーが出た時には、「エラーが出た時の対処」を試す。

7. すべての測定が終了したら、必ずVbiasが下がっていることを確認し(6517AのVOLTAGE SOURCE OPERATEランプが消灯している)、恒温槽の設定を20 degCにして温める。約15 degCまで上がったら、サンプルを取り出して次のサンプルに移る。

エラーが出た時の対処

注意:Error: value -1.0000000000e+00,1.0000000000e+00 cannot be interpreted as doubleというエラーは問題ないので無視すること!(本当は直した方が良いし、簡単に直せるはずなんですけどねぇ、ただの怠惰ですすみません。。。)

稀に、旧PCとAlibavaとの通信がうまくいかなくなってエラーが起きることがある。例えば、

03/24/2021 - 05:48:15 PM | Error [virtual int USBserial::open(const std::string&):67 Permission denied] Cannot open the device
03/24/2021 - 05:48:15 PM | Error [virtual int DAQmanager::open(const char*):96 Permission denied] Something failed when opening the device
process (8638) Error: value -1.0000000000e+00,1.0000000000e+00 cannot be interpreted as double
03/24/2021 - 05:48:15 PM | *** Sending Beetle configuration
03/24/2021 - 05:48:15 PM | Error [int Alibava::send_control(unsigned char):1264 Bad file descriptor] Failed sending control word 3
03/24/2021 - 05:48:15 PM | Error [int Alibava::beetle_header():350 Bad file descriptor] Failed sending [[BeetleConfig][BeetleConfig]]. rc=Write Error
03/24/2021 - 05:48:15 PM | Error [int Alibava::send_control(unsigned char):1264 Bad file descriptor] Failed sending control word 9
03/24/2021 - 05:48:15 PM | Error [int Alibava::do_acquisition(short unsigned int, Alibava::StateCode):756 Bad file descriptor] Failed sending command 9 with rc=Write Error
03/24/2021 - 05:48:15 PM | Error [virtual int [[DataRun][DataRun]]::loop(std::ostream&):60 Bad file descriptor] Error Write Error while acquiring. See messages above.
03/24/2021 - 05:48:15 PM | *** Reseting the board
03/24/2021 - 05:48:15 PM | Error [int Alibava::send_control(unsigned char):1264 Bad file descriptor] Failed sending control word ff
03/24/2021 - 05:48:15 PM | Error [int Alibava::software_reset():257 Bad file descriptor] Failed sending the software reset. rc=Write Error
### [[UnLoading][UnLoading]] Python module...
Finalizing Python
Error: /tmp/alibava-gui-status.txt seems incorrect; maybe alibava-gui was incorrectly finished or this file does not exist.

このようなエラーが出た時には、データを取得できずにCCE_measurement_controller.pyが終了する。この場合、以下の手順を試す。

1. まず、ターミナルの表示を遡り、何Vの測定中にこのエラーが出たかを記録する。

2. ALiBaVa の電源を抜く→10秒待って再度差す→30秒待つ。

3. 旧PCでsudo chmod 777 /dev/ttyUSB*を実行し、alibava-guiコマンドからGUIを立ち上げる。この時にエラーが出なければOK。File → QuitでGUIを終了。

4. 手順1で、エラーが最初から(照射済みサンプルであれば700 Vの測定中に)起きていたようであれば、再度python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator]を実行して測定をやり直す。途中の測定点で起きていた場合には、その測定点からやり直せる。そのために、ls -ltr /home/strip/StripQA/dataを実行し、ラン番号を調べる。例えば、VPX32422_003とあったら、その測定はVPX32422に対するラン番号3であったことを意味する。python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator] [run number]([run number]が先ほどまでなかった引数)を実行する。

その他の情報

参考資料
Edit | Attach | Watch | Print version | History: r15 | r8 < r7 < r6 < r5 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r6 - 2021-03-25 - ShigekiHirose
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback