マイコンによるイメージの制御と分光器への応用
電気通信大学 森永研究室 WUCHENGZHONG

2022 年 3 月 7 日

1 序論
古典的な分光器は入射スリットと出射スリットがあり、入射スリットから入った光はプリズムや回折格子といった分散素子を通り特定の波長の光のみが出射スリットから出てきて他の波長の光は捨てられる。このためある範囲のスペクトルを取得するには分散素子を回転するなどスキャン動作が必要

図2

改造後の分光器で時間がかかる。今回分光計器社制の M10 分光器の出射スリットを取り去り、その位置にリニアイメージセンサを置き、スペクトルが取得できるように改造した。リニアイメージセンサの動作に必
要なタイミング信号の生成はタイミングの正確性が重要なため PLD(Programmable Logic Device)
や FPGA(Field-Programmable Gate Array) など
図3

ハードウェアロジックを用いるのが一般的であっ基板の正面た。今回プログラムを工夫することにより Arduinoという手軽なマイコンプラットフォームでリニア

2 方法

イメージセンサを動作させることに成功した。さら

2.1に、イメージセンサから返されたデータを PC で受使用装置• Hamamatsu 製 CMOS リニアイメージセンサ

け取り、リアルタイムで可視化することができた。

s10123-256Q-1

装置の動作確認のため、放電励起された気体ガスか• Arduino Nano

らの発光の分光測定を行った。

• Edmund 製高性能ホログラフィック回折格子
30mm 1200GPM アルミコート (15-747)• Bunkoukeiki 製 M10 モノクロメーター• Maxim 社製のアナログスイッチ MAX323
2.2

マイコンで信号を生成

Arduino のデジタルピン 2,3,4 に ST 信号、INT信号、CLK 信号を送る。まず基準となる CLK 信号を作る。データシートにより、CLK 信号の周波
図1

本来の分光器数を 10kHz に設定した。使用するイメージセンサ

1

図7

図4

2.4

マイコンのディジタルピンに信号を作成

オシロスコープで動作確認

AD 変換Arduino は 10bit の AD コンバータ搭載し,0 から 5V を 0 から 1023 に変換する、INT 信号を立ち下げた直後に実行 AD 変換を実行し. Arduino のanalogRead(pin 番号) コマンドを用いて、読み出しを行った。

2.5

PC とのシリアル通信

シリアル通信とは、電気通信において伝送路上を一度に 1 ビットずつデータを送る通信方式である。
図 5 CLK,ST,INT 信号の関係

シリアル通信の規定により一回で送信できるのは8bit のデータである。つまり 0∼255 までの十進数である。しかし、Arduino のアナログ Pin で読み取の画素数は 256 個なので、クロック 260 個 (区切りれる値の範囲は 0∼1023(210 ∼ 1) の値なので、送となる印も送る) を一回りとする。260 個のうち、2信する場合は、その値を高い位 2 桁と低い位 8 桁に番目がくる時に ST 信号を立ち上げ、ST が立ちあ分けて送信する方式を考えた。ここでは、ビット演がってる間に CLK を一回立ち下げる。画素の読み算を使用する。下 8 桁は該当数を定数 0b11111111

出しは INT で制御する。INT が立ち下がる度に画と AND 演算をし、その次に上 2 桁を右に 8 桁シフ素の読み出しが行われる。

2.3

トする。受信側では、高い位と低い位を使って、元回路の作成と動作確認のデータを復元した。

Arduino と CMOS リニアイメージセンサの配線はデータシートに従って行った。初段アンプでは電荷を電圧に変換し、次段アンプではそれと Vof d の差分を増幅した。

図82.6

シリアル通信リアルタイムの可視化

PC 側では、シリアルポート経由で Arduino か
図6

ら 送 ら れ て く る デ ー タ を 受 信 す る 。受 信 側 で は回路

Python の pySerial を使って処理を行う。可視化
は Matplotlib を使った。

イメージセンサからのデータは全てマイコンのA0 ピンに返すのでオシロスコープで確認してみる。
2

プの測定時と同じ 20 ミリ秒である。スリット幅は3 結果
3.10.01mm、光源と入射スリットの距離は約 1cm でNa ランプある。

以下は測定で使用した Na ランプである。露光時間は 20 ミリ秒である。スリット幅は 0.03mm、光源と入射スリットの距離は約 14.5cm である。理科
年表より、ナトリウムの一番強いスペクトルの波長は約 589nm である。

図 11水銀ランプ

水銀は 546nm において強いスペクトルが存在するのでまず波長ダイアルを 546nm に合わせて、測定してみた。次に、波長ダイアルを 546nm から566nm に回して、ピークが左に 112 ピクセル移動

図 9 Na ランプしたことがわかった。
まずは波長ダイアルを 589nm に設定するとピークが検出された。更に 594nm にすると、ピークは左に移動することが図からわかった。よって、特定の波長において、顕著なピークが存在する時は必ず真ん中にくる (126 ピクセル目前後)。

図 12

距離とピクセルの関係

これより、1pixel に対応する波長を計算すると、

1pixel =566 − 546= 0.178571nm
126 − 14であることがわかった。さらに、256 をかけると、一回の測定で測れる波長の範囲がわかる。
図 10 Na のスペクトル3.20.178571nm × 256pixel ≈ 45nm

水銀ランプ

最後に 220nm から 980nm まで、40nm 隔で、19Na ランプの測定を踏まえて、次に水銀ランプの回に分けて測定し、1pixel =0.1785nm を用いて、横スペクトルを測定する。露光時間はナトリウムラン軸変換して、水銀スペクトルを得ることができた。

3

図 13

水銀スペクトル

4 まとめと展望
今回はマイコンによるイメージセンサを制御して、スペクトルの検出器の製作に成功した。古典的な出射スリットを使う分光器と比べて、一回で広い波長範囲における測定を行うことができ、測定の効率を上げることができた。森永研究室では現在水素原子の分光を行う準備を進めており、マイクロ波放電により水素分子を原子に解離させるが、原子状態になったかどうかを診断するために今回改造した分光器を用いる予定である。

参考文献[1] 分 光 計 器 社 M10 モ ノ ク ロ メ ー タ ー
https://www.bunkoukeiki.co.jpmonochrom10.html[2] 浜 松 ホ ト ニ ク ス 社 ホ ー ム ペ ー ジCMOS

リ ニ ア イ メ ー ジ セ ン サ ー

https://www.hamamatsu.com/jp/ja/product/opticalsensors/image-sensor/ccd-cmosnmos-image-sensor/line-sensor/forspectrophotometry/S10123-256Q-01.html[3] 理科年表 2021 国立天文台編 丸善出版
[4] Arduino を は じ め し ょ う 第 二 版
moBanzi 著 船田巧訳

Massi-

Oreilly 出版

4