基于智能電子自旋共振儀的信號(hào)測(cè)量與監(jiān)控系統(tǒng)
摘要:在研究基于智能電子自旋共振儀的普通高校近代物理實(shí)驗(yàn)上,設(shè)計(jì)了一種適合智能電子自旋共振儀的基于單片機(jī)和PC機(jī)的數(shù)據(jù)傳輸系統(tǒng),并實(shí)現(xiàn)串口與嵌入式單片機(jī)數(shù)據(jù)透明傳輸?shù)挠布B接和軟件編程,實(shí)際效果表明該系統(tǒng)數(shù)據(jù)采集準(zhǔn)確,并達(dá)到了實(shí)時(shí)監(jiān)測(cè)實(shí)驗(yàn)數(shù)據(jù)的目的,同時(shí)系統(tǒng)自動(dòng)生成圖文并茂的實(shí)驗(yàn)報(bào)告,避免了手工輸入時(shí)產(chǎn)生的誤差。
關(guān)鍵詞:電子自旋共振儀;嵌入式單片機(jī)通信;信號(hào)采集與監(jiān)控;智能
電子自旋共振現(xiàn)象被發(fā)現(xiàn)于本世紀(jì)四十年代后期,經(jīng)過(guò)幾十年的研究發(fā)展,它與核磁共振,鐵磁共振,光泵磁共振等形成了一個(gè)新的學(xué)科——磁共振波譜學(xué)。作為一項(xiàng)實(shí)用技術(shù),它在化學(xué)、物理、生物和醫(yī)學(xué)等方面獲得了廣泛的應(yīng)用,近年來(lái),與計(jì)算機(jī)技術(shù)結(jié)合,為人類作出了巨大的貢獻(xiàn)。
文中涉及的是普通高校近代物理實(shí)驗(yàn)-電子自旋共振實(shí)驗(yàn),在實(shí)驗(yàn)中要求觀察電子自旋共振現(xiàn)象,觀察順磁離子對(duì)共振信號(hào)的影響,測(cè)量DPPH(自由基二苯基三硝基苯肼)中電子的g因子(hv=gJμB),并利用電子自旋共振測(cè)量地球磁場(chǎng)的垂直和水平分量。其中準(zhǔn)確的獲得這些實(shí)驗(yàn)數(shù)據(jù)是非常重要的,文中提出利用PC機(jī)與嵌入式單片機(jī)通信傳輸數(shù)據(jù),并且將采集到的數(shù)據(jù)繪制成可視化的共振譜線圖,通過(guò)讀取共振譜線的坐標(biāo)值來(lái)獲得實(shí)驗(yàn)所需要的數(shù)據(jù),同時(shí)將實(shí)驗(yàn)數(shù)據(jù)生成實(shí)驗(yàn)報(bào)告。大大提高了實(shí)驗(yàn)的精度和自動(dòng)化。
1 智能電子自旋共振儀
智能電子自旋共振儀優(yōu)越于傳統(tǒng)的電子自旋共振儀,它用單片機(jī)系統(tǒng)來(lái)判斷共振點(diǎn),用亥姆霍茲線圈取代傳統(tǒng)的螺線管線圈來(lái)測(cè)量磁場(chǎng)強(qiáng)度B0,測(cè)量準(zhǔn)確、便捷。
為了觀測(cè)到共振現(xiàn)象,需要使用一個(gè)高頻探頭,其振蕩線圈為被測(cè)物DPPH提供能級(jí)躍遷所需的能量(hv),當(dāng)產(chǎn)生共振時(shí),振蕩器的能量被樣品吸收,振蕩幅度會(huì)發(fā)生變化,該變化經(jīng)過(guò)檢波和低頻放大后輸出,即可在外接示波器或PC機(jī)上觀察到共振峰(亦稱為共振譜線)。儀器前端采用邊緣振蕩器來(lái)探測(cè)共振信號(hào),信號(hào)經(jīng)檢波放大后送波形變換模塊,產(chǎn)生CMOS電平的信號(hào)脈沖,然后送往微處理器的I/O口,由軟件來(lái)計(jì)算矩形脈沖的寬度,當(dāng)峰信號(hào)出現(xiàn)等間距時(shí),相鄰脈沖的寬度相等,此時(shí)即判定B0已調(diào)準(zhǔn)并給出讀取數(shù)據(jù)的指示,同時(shí)將該數(shù)據(jù)放入內(nèi)存。
2 信號(hào)測(cè)量
2.1 通信原理
實(shí)驗(yàn)儀器中嵌入了AT89C52單片機(jī)(下位機(jī)),負(fù)責(zé)數(shù)據(jù)采集、處理和控制。PC監(jiān)控機(jī)(上位機(jī))進(jìn)行現(xiàn)場(chǎng)可視化檢測(cè),它們之間采取主從串行通信方式。PC機(jī)上的串行通信通過(guò)端口RS232的RTS信號(hào)進(jìn)行二進(jìn)制數(shù)據(jù)的收發(fā)轉(zhuǎn)換與傳輸。下位機(jī)中串行數(shù)據(jù)從TXD引腳按規(guī)定的波特率輸出,接收數(shù)據(jù)時(shí)監(jiān)視RXD引腳,一旦出現(xiàn)“0”位,按規(guī)定的波特率將外圍設(shè)備送來(lái)的數(shù)據(jù)存儲(chǔ)。但是,在8051單片機(jī)的內(nèi)部有一個(gè)全雙工的異步串行I/O口,它的輸入和輸出使用5 V邏輯而不是RS-232電壓,所以連接時(shí)用MAX485專用芯片進(jìn)行轉(zhuǎn)換。如圖1所示單片機(jī)與外設(shè)串口通信原理圖。
2.2 數(shù)據(jù)通信程序設(shè)計(jì)
2.2.1 通信協(xié)議
本系統(tǒng)串行通信采用異步通信方式。協(xié)議如下:
1)一幀數(shù)據(jù)由1位起始位、8位數(shù)據(jù)位、無(wú)奇偶校驗(yàn)位、1位停止位共10位組成。
2)波特率設(shè)為2 400 bps。單片機(jī)串行口按方式1工作,波特率由定時(shí)器T1控制。
PC機(jī)串口波特率通過(guò)VB通訊控件的Settings屬性設(shè)置,為保證數(shù)據(jù)傳送的準(zhǔn)確性,兩者的波特率必須一致。
2.2.2 下位機(jī)通信及程序設(shè)計(jì)
單片機(jī)可以采用中斷方式或查詢RI(接受中斷標(biāo)志位)或TI(發(fā)送中斷標(biāo)志位)方式進(jìn)行數(shù)據(jù)通信。本系統(tǒng)采用查詢方式,在定時(shí)器T2中斷子程序中查詢RI,一旦檢測(cè)到RI=1則轉(zhuǎn)入接受數(shù)據(jù)子程序,在子程序中單片機(jī)讀取從上位機(jī)發(fā)送的通信指令、讀取記錄個(gè)數(shù)等數(shù)據(jù),經(jīng)校驗(yàn)正確后,即從ATC256存儲(chǔ)器中將歷史記錄數(shù)據(jù)上傳給PC機(jī)。
Uchar comReceive(void)
{ while(RI==0)//表示未接收,需等待
RI=0;//接收完后清除換下一數(shù)據(jù)
Return(SBUF)
2.2.3 上位機(jī)通信及程序設(shè)計(jì)
上位機(jī)利用Visual Basic8.0編程。用VB8.0開(kāi)發(fā)串行通信程序有2種方法,一種是利用Windows的API函數(shù);另一種是采用VB8.0的通信控件MSComm。利用API函數(shù)編寫串行通信程序較為復(fù)雜,需要掌握大量的通信知識(shí),其優(yōu)點(diǎn)是可實(shí)現(xiàn)的功能更豐富、應(yīng)用面更廣泛,適合于編寫較為復(fù)雜的低層次通信程序。而VB8.0的MSComm通信控件提供了標(biāo)準(zhǔn)的事件處理函數(shù)、事件、方法,并通過(guò)控件屬性對(duì)串口參數(shù)進(jìn)行設(shè)置,比較容易地解決了串口通信問(wèn)題。
本系統(tǒng)采用事件驅(qū)動(dòng)方式進(jìn)行串口通信設(shè)計(jì)。
該實(shí)驗(yàn)接收從單片機(jī)發(fā)來(lái)的電流值等數(shù)據(jù),并賦予數(shù)組。部分代碼如下:
至此,該實(shí)驗(yàn)系統(tǒng)中數(shù)據(jù)的采集工作就完成了,下一步將把采集的數(shù)據(jù)可視化監(jiān)控,利用上位機(jī)完成實(shí)驗(yàn)中磁場(chǎng),g因子等各種計(jì)算。
3 信號(hào)監(jiān)控
從單片機(jī)采集到的數(shù)據(jù)傳送到PC機(jī)的存儲(chǔ)數(shù)組中,然后將每組數(shù)據(jù)繪制成共振譜線,并且通過(guò)讀取共振譜線的坐標(biāo)值來(lái)獲得實(shí)驗(yàn)數(shù)據(jù)。在VB中實(shí)時(shí)曲線的繪制一般借助于Timer控件來(lái)完成,使用Timer控件,定期將智能電子自旋共振儀中監(jiān)測(cè)到的數(shù)據(jù)送往pic_main,而曲線的繪制一般畫成折線圖,采用PictureBox1的Line方法繪制。用Line方法可以在窗體或圖片框上繪制一條直線或繪制一個(gè)矩形。
Line方法的一般格式:
[對(duì)象名.]Line(x1,y1)-(x2,y2)[,顏色]
其中,(x1,y1)為始點(diǎn)坐標(biāo);(x2,y2)為終點(diǎn)坐標(biāo);顏色可以使用RGB函數(shù),規(guī)定畫線或畫矩形的顏色。部分代碼如下:
4 實(shí)驗(yàn)報(bào)告的生成
本系統(tǒng)實(shí)驗(yàn)結(jié)束后,電子自旋共振實(shí)驗(yàn)報(bào)告由系統(tǒng)自動(dòng)生成一張WORD文檔。避免了傳統(tǒng)的手工輸入時(shí)產(chǎn)生的誤差。實(shí)驗(yàn)報(bào)告的信息內(nèi)容:姓名、標(biāo)題、表格、圖表、日期、實(shí)驗(yàn)計(jì)算及測(cè)量結(jié)果等。
4.1 新建文檔
Documents集合包含所有打開(kāi)的文檔。要新建一篇文檔,可使用Add方法將一個(gè)Document對(duì)象添至Documents集合。
評(píng)論