2019年2月11日 星期一

DIY:光譜儀


自從牛頓發現光通過三稜鏡後的波長性後,光譜儀就成為光學重要儀器。光譜儀應用眾多,包括測量溶液、螢光、激發狀態波長。

商業儀器,量測可見光產品約一至兩萬台幣,台灣販售(連結),或是問問這邊(連結)。不可見光的價格就飆升至一二十萬(連結),詳細的功能可以參考(連結)。折衷方案是購買光譜儀核心零件,如C12880MA連結,價格約一萬多元,再自行組裝範例

DIY分光器


DIY案例,以台灣Maker社團所出最為經典,光線通過前方狹縫後,直接到達底度以45擺放的小CD片,只要將機器對著光線,就能在小視窗中看到彩色光譜。狹縫越小,解析度越好,但是入射光量就變少,兩者要平衡拿捏。

sciimage的光譜儀

太陽光

分光的原理是CD片的反射繞射,原因是CD片資料刻痕寬度和光波長相似,能達到類似效果。但若是要求精準,可以使用600線的光柵片(購買連結,約台幣300元),或是1200線的光柵片(購買連結,約台幣1500元)。

分光後的光線,可以直接投射在感光元件上,例如TCD1304DG或TCD1304(連結),這是種線性感應器,就可以透過距離直接計算出光譜數值。

下面3組光譜儀,左邊的是分光光度計模組、超微量分光光度計模組,右邊則是幾年前和女兒報名sciimage時手工製作。


參考資料(連結) 、簡單論文(介紹)、台灣類似專案SciImage,在阿簡的範例 簡介中有更多製作的細節。


光譜分析軟體


步驟一,以相機APP,取得整個反射光譜圖,擷取彩色部分當作之後計算區域。實驗發現,拍攝到的照片常常會有過曝問題,如下圖。這是因為許多波長都同時到達最大值,辨識度很低,需要藉由控制相機的ISO、曝光時間、對焦距離加以改善。

T5燈管

步驟二,在彩色區域中,選取中間一個帶狀區間。

步驟三,對這區域中每一列取各個點的亮度(灰階)最大值(或是累計值),平均化就就是這列波長的數值(灰階公式),C#語法,JAVA語法連結。以前我都以為波長是由顏色轉換而來。

Color pixel = image.GetPixel(i, j);
float br = pixel.GetBrightness();
if (br > maxBrightness)
  maxBrightness = br;

步驟四,利用CHART軟體將數值顯示在螢幕上,chart1。(應用APP)。

步驟五,取出的數值都是相對pixel,無法決定波長決對值,需要兩個標準數值來校正測量結果。校正時,需要用到特殊功能是,從一個區域中,尋找出PEAK,學理上名詞為Harmonic Product Spectrum( 資料處理做法說明 )。取得校正值後,就可以將每個點的波長值反推回來。

步驟六,顯示在螢幕上時,則有另外公式可以將波長轉換為RGB數值,程式

整體資料來源連結1連結2