摘 要: 為CT教學(xué)設(shè)計(jì)了一款基于STM32的反射式超聲CT實(shí)驗(yàn)裝置。該裝置由收發(fā)一體超聲模塊、單片機(jī)控制單元模塊、串口通信模塊、三維機(jī)械平臺(tái)、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、Matlab圖形重建模塊組成,通過STM32單片機(jī)控制收發(fā)一體超聲模塊發(fā)射超聲信號(hào),并由VB操作界面控制待測(cè)物體的升降、旋轉(zhuǎn)以及超聲換能器的平移。本裝置體積小、結(jié)構(gòu)簡(jiǎn)單、零件大眾化、易于更換及維修,市場(chǎng)前景廣泛。
關(guān)鍵詞: 超聲CT;圖形重建;實(shí)驗(yàn)教學(xué);STM32;串口通信
CT是計(jì)算機(jī)層析成像術(shù)(Computer Tomography)的縮寫,自70年代問世以來已日趨成熟,其中超聲CT 廣泛應(yīng)用于醫(yī)學(xué)、工業(yè)無損探測(cè)、地質(zhì)探測(cè)等領(lǐng)域中。實(shí)際應(yīng)用中的超聲CT裝置十分龐大復(fù)雜,且價(jià)格昂貴。目前,國(guó)內(nèi)對(duì)反射式超聲CT實(shí)驗(yàn)裝置有一定的研究,但未見相關(guān)產(chǎn)品報(bào)道。如果能開發(fā)出一款用于教學(xué)的反射式超聲CT實(shí)驗(yàn)裝置,則將大大有助于學(xué)生熟練操作CT及了解CT的工作原理,對(duì)物理上反問題的求解過程也有直接的體會(huì)[1]。
反射式超聲CT實(shí)驗(yàn)裝置是一款用于模擬反射式超聲CT裝置操作過程的教學(xué)實(shí)驗(yàn)儀。其采用對(duì)人體無傷害的超聲波,使用大眾化的零件,易于更換及維修,成本低,結(jié)構(gòu)簡(jiǎn)單,可用于高校CT教學(xué)。學(xué)生通過操作該裝置可迅速了解CT的操作過程及工作原理,了解圖形重建,體會(huì)進(jìn)行CT模擬實(shí)驗(yàn)的意義[2]。本裝置在VB操作界面上輸入相應(yīng)指令,經(jīng)串口通信將數(shù)據(jù)傳給單片機(jī),通過STM32單片機(jī)控制平臺(tái)左右移動(dòng)、上下升降以及旋轉(zhuǎn)。通過單片機(jī)處理測(cè)得待測(cè)物體到超聲模塊的距離,并通過串口通信傳給VB操作界面。通過ActiveX控件技術(shù)實(shí)現(xiàn)Matlab與VB的連接,系統(tǒng)采集的數(shù)據(jù)經(jīng)Matlab預(yù)處理,篩選出有用的數(shù)據(jù)進(jìn)行插值和擬合,運(yùn)用重建算法還原被測(cè)物體輪廓的圖形。
1 裝置設(shè)計(jì)原理
反射式超聲CT實(shí)驗(yàn)裝置由8個(gè)模塊組成:收發(fā)一體超聲模塊、單片機(jī)控制單元模塊、串口通信模塊、穩(wěn)壓電源模塊、三維機(jī)械平臺(tái)、步進(jìn)電機(jī)驅(qū)動(dòng)模塊、Matlab圖形重建模塊和計(jì)算機(jī)VB操作界面模塊。裝置原理圖如圖1所示。三維機(jī)械平臺(tái)工作數(shù)據(jù)通過計(jì)算機(jī)VB操作界面及串口通信傳輸?shù)絾纹瑱C(jī)控制單元,單片機(jī)控制單元對(duì)數(shù)據(jù)判斷后,通過步進(jìn)電機(jī)驅(qū)動(dòng)模塊驅(qū)動(dòng)步進(jìn)電機(jī),從而控制三維機(jī)械平臺(tái)工作。單片機(jī)控制單元控制收發(fā)一體超聲模塊發(fā)射接收超聲波,經(jīng)過單片機(jī)處理獲取收發(fā)一體超聲模塊到待測(cè)物體的距離,將這個(gè)數(shù)據(jù)通過串口通信傳輸給計(jì)算機(jī)VB操作界面,VB通過連接Matlab,重建輪廓圖形,在VB操作界面成像窗口顯示重建輪廓圖形。
2 下位機(jī)硬件構(gòu)成
2.1 單片機(jī)控制單元模塊
單片機(jī)是反射式CT實(shí)驗(yàn)裝置的控制中心,負(fù)責(zé)控制收發(fā)一體超聲模塊的發(fā)射接收超聲波,通過串口通信與計(jì)算機(jī)VB操作界面進(jìn)行數(shù)據(jù)傳輸以及控制三維機(jī)械平臺(tái)的旋轉(zhuǎn)、左右平移和上下升降。采用STM32單片機(jī),工作電壓為3.3~5.5 V,工作頻率范圍為0~72 MHz,能很好地控制系統(tǒng)的各個(gè)部分。
2.2 三維機(jī)械平臺(tái)
單片機(jī)通過控制步進(jìn)電機(jī)驅(qū)動(dòng)器驅(qū)動(dòng)步進(jìn)電機(jī)工作,從而控制三維機(jī)械平臺(tái)的旋轉(zhuǎn)、平移、升降。由于收發(fā)一體超聲模塊存在盲區(qū),平移平臺(tái)與升降、旋轉(zhuǎn)平臺(tái)相距一定距離,本裝置實(shí)際相距32 cm,來消除盲區(qū)對(duì)實(shí)測(cè)距離的干擾。本裝置采用的步進(jìn)電機(jī)的型號(hào)為42HE1410M-24S,驅(qū)動(dòng)電流為1.5 A,步距角為1.8°,通過步進(jìn)電機(jī)驅(qū)動(dòng)器調(diào)節(jié)細(xì)分來改變步距角從而調(diào)節(jié)掃描精度。三維機(jī)械平臺(tái)工作流程圖如圖2所示。
2.4 收發(fā)一體超聲模塊
收發(fā)一體超聲模塊采用單個(gè)超聲波換能器,采用脈沖驅(qū)動(dòng)換能器發(fā)射超聲波,當(dāng)發(fā)射停止時(shí)換能器轉(zhuǎn)為接收器, 經(jīng)過一段時(shí)間后,接收反射回來的超聲波。經(jīng)過分析處理后就可以測(cè)得障礙物的距離:s=ct/2,s為超聲波傳播的距離,c為超聲波在介質(zhì)中的傳播速度(在空氣中超聲波速為340 m/s),因此只要測(cè)得超聲波傳播的時(shí)間t,就可以得到收發(fā)一體超聲模塊到待測(cè)物體的距離。其工作電壓為5 V,超聲探頭的余震時(shí)間太長(zhǎng),會(huì)導(dǎo)致超聲模塊的盲區(qū)相應(yīng)增大[3]。為了減小盲區(qū)對(duì)收發(fā)一體超聲模塊到待測(cè)物體所測(cè)距離精度的影響,本裝置增大了收發(fā)一體超聲模塊與待測(cè)物體之間的距離。收發(fā)一體超聲模塊原理圖如圖4所示。STM32單片機(jī)控制超聲換能器發(fā)射超聲波,超聲波遇到待測(cè)物體反射回來,超聲換能器接收超聲波,信號(hào)經(jīng)過前放、主放、幅值甄別、電平轉(zhuǎn)換、A/D轉(zhuǎn)換之后傳輸?shù)絊TM32單片機(jī)[4]。
2.5 串口通信模塊
串口是單片機(jī)控制單元與計(jì)算機(jī)VB操作界面的通信通道,實(shí)現(xiàn)單片機(jī)與VB間的數(shù)據(jù)傳輸信息交換。采用全雙工、異步通信方式實(shí)現(xiàn)STM32單片機(jī)與VB間的通信,配置波特率為9 600 b/s。
3 系統(tǒng)軟件設(shè)計(jì)
3.1 下位機(jī)軟件設(shè)計(jì)
本裝置通過VB 中的控件MSCOMM的屬性設(shè)置與STM32單片機(jī)串口設(shè)置相匹配,實(shí)現(xiàn)串口連接從而實(shí)現(xiàn)數(shù)據(jù)的人為發(fā)射和自動(dòng)接收。初始化STM32單片機(jī),VB與STM32單片機(jī)進(jìn)行通信后,開啟定時(shí)器,就可以通過VB操作界面來發(fā)送和接收數(shù)據(jù)。STM32單片機(jī)根據(jù)接收的數(shù)據(jù)進(jìn)行了分析判斷,從而控制三維機(jī)械平臺(tái)的升降、旋轉(zhuǎn)、平移。STM32單片機(jī)獲得收發(fā)一體超聲模塊到待測(cè)物體的距離,通過串口通信傳輸?shù)絍B操作界面并保存。下位機(jī)程序流程圖如圖5所示。
3.2 上位機(jī)軟件設(shè)計(jì)
上位機(jī)程序采用VB編寫,程序主要功能包括:
(1)用戶登入注冊(cè);
(2)接收下位機(jī)上傳的數(shù)據(jù);
(3)向下位機(jī)傳送數(shù)據(jù),控制步進(jìn)電機(jī)的左右、升降、旋轉(zhuǎn)運(yùn)動(dòng);
(4)將待測(cè)物體與收發(fā)一體超聲模塊的距離、移動(dòng)距離、旋轉(zhuǎn)角度等數(shù)據(jù)保存在txt文檔里;
(5)VB與Matlab連接,調(diào)用Matlab軟件處理源數(shù)據(jù);
(6)重建待測(cè)物體的輪廓圖形。
STM32單片機(jī)處理測(cè)得待測(cè)物體到收發(fā)一體超聲模塊的距離,并通過串口通信傳輸給VB操作界面,VB操作界面將采集的數(shù)據(jù)存儲(chǔ)于txt文檔中。通過ActiveX控件技術(shù)實(shí)現(xiàn)Matlab與VB的連接,控制VB操作界面,Matlab調(diào)用存儲(chǔ)采集數(shù)據(jù)的txt文檔,對(duì)其進(jìn)行預(yù)處理,篩選出有用的數(shù)據(jù)進(jìn)行插值和擬合,根據(jù)待測(cè)物體選擇重建算法,還原待測(cè)物體輪廓圖形,在VB操作界面成像窗口顯示重建輪廓圖形。上位機(jī)程序流程圖如圖6所示。
4 系統(tǒng)運(yùn)行結(jié)果
反射式超聲CT實(shí)驗(yàn)裝置操作界面分為三維機(jī)械平臺(tái)控制部分和圖形重建顯示部分。通過控制機(jī)械平臺(tái)移動(dòng),采集不同位置收發(fā)一體超聲模塊到待測(cè)物體的距離,以及超聲傳感器的位置,通過圖形重建算法重建待測(cè)物體的輪廓圖形,在VB操作界面成像窗口顯示。待測(cè)物體實(shí)物圖如圖7所示。圓柱組合體重建輪廓圖形如圖8所示。立方體與正三棱柱組合體重建輪廓圖形如圖9所示。
本裝置中Matlab與VB的連接并不復(fù)雜,而且與單片機(jī)通信的失誤率很低,通信較為可靠。測(cè)量的盲區(qū)也可控制在20 cm以內(nèi)。因?yàn)槁暡ǖ乃俣扰c溫度有關(guān),測(cè)量值在非室溫下準(zhǔn)確度會(huì)下降,測(cè)量的結(jié)果需要校正,經(jīng)過校正,本裝置的測(cè)量距離精度符合實(shí)驗(yàn)教學(xué)要求,還可為其他的相關(guān)研究提供理論和應(yīng)用基礎(chǔ)。
本裝置可以針對(duì)市場(chǎng)需求,增大其發(fā)射功率和測(cè)量距離。本裝置還可以增加收發(fā)一體超聲換能器的數(shù)量,以縮短檢測(cè)時(shí)間、提高圖像分辨率以及增大待測(cè)物體的種類范圍。此外,本裝置可以通過提高超聲換能器測(cè)距的精度來提高成像效果。而本裝置具有體積小、結(jié)構(gòu)簡(jiǎn)單、零件大眾化、易于更換及維修等優(yōu)點(diǎn),市場(chǎng)前景廣闊。
參考文獻(xiàn)
[1] 馬文君,梁家惠.反射式超聲CT用于物理實(shí)驗(yàn)教學(xué)的開發(fā)[J].物理實(shí)驗(yàn),2004,24(4):6-8.
[2] 舒文鋒,程建政,藍(lán)從慶.模擬生物樣品的反射式超聲CT成像[J].聲學(xué)技術(shù),2000,19(1):19-22.
[3] 華亮,堵俊,吳曉.新型高精度一體反射型超聲波傳感器測(cè)距系統(tǒng)研制[J].儀表技術(shù)與傳感器,2008(4):80-83,96.
[4] 蘭羽,周茜.超聲波測(cè)距系統(tǒng)接收電路研究[J].電子設(shè)計(jì)工程,2012,20(14):81-83.