呂紅英,顧明華,李凌燕,劉景鋒
(華南農(nóng)業(yè)大學(xué) 理學(xué)院,廣東 廣州 510642)
在傳統(tǒng)的霍爾傳感器測(cè)量亥姆霍茲線圈磁場(chǎng)的實(shí)驗(yàn)中,學(xué)生對(duì)每個(gè)位置調(diào)零后,記錄該點(diǎn)的磁感應(yīng)強(qiáng)度值. 整個(gè)實(shí)驗(yàn)要測(cè)量190個(gè)位置的數(shù)據(jù),工作量很大. 本文設(shè)計(jì)利用單片機(jī)控制步進(jìn)電機(jī),自動(dòng)調(diào)整霍爾傳感器的位置,利用繼電器控制線圈供電線路的通斷,進(jìn)行調(diào)零處理后,將該點(diǎn)的磁感應(yīng)強(qiáng)度的值送入計(jì)算機(jī),由計(jì)算機(jī)自動(dòng)繪制磁場(chǎng)的分布曲線.
圓線圈和亥姆霍茲線圈磁場(chǎng)的測(cè)量實(shí)驗(yàn)儀由2部分組成:線圈架和磁場(chǎng)測(cè)量?jī)x器. 2個(gè)圓線圈各500匝,圓線圈的平均直徑R=10.00 cm. 實(shí)驗(yàn)平臺(tái)的臺(tái)面在2個(gè)對(duì)稱圓線圈軸線上,臺(tái)面上有相間1.00 cm的均勻刻線. 磁場(chǎng)測(cè)量?jī)x器部分包括勵(lì)磁電流輸出和霍爾傳感器. 實(shí)驗(yàn)內(nèi)容為:
1) 測(cè)量圓電流線圈軸線上磁感應(yīng)強(qiáng)度的分布. 接好電路,調(diào)節(jié)磁場(chǎng)實(shí)驗(yàn)儀的輸出功率,使勵(lì)磁電流有效值為I=100 mA,以圓電流線圈中心為坐標(biāo)原點(diǎn),每隔10.0 mm,放置好霍爾傳感器,斷開線圈電流,對(duì)實(shí)驗(yàn)儀調(diào)零后,測(cè)Umax值,測(cè)量過(guò)程中注意保持勵(lì)磁電流值不變,記錄數(shù)據(jù)并作出磁場(chǎng)分布曲線圖.
2)測(cè)量亥姆霍茲線圈軸線上磁感應(yīng)強(qiáng)度的分布. 把2組線圈串聯(lián)起來(lái),接好電路,調(diào)節(jié)磁感應(yīng)強(qiáng)度測(cè)試儀的輸出功率,使勵(lì)磁電流有效值仍為I=100 mA. 以2個(gè)圓線圈軸線上的中心點(diǎn)為坐標(biāo)原點(diǎn),調(diào)零后每隔10.0 mm測(cè)Umax值. 記錄數(shù)據(jù)并作出磁感應(yīng)強(qiáng)度分布曲線圖.
3)增大和減小2個(gè)線圈的中心間距,重復(fù)以上測(cè)量[1].
本系統(tǒng)在傳統(tǒng)實(shí)驗(yàn)器材的基礎(chǔ)上,加裝了繼電器和步進(jìn)電機(jī)控制系統(tǒng). 利用繼電器控制勵(lì)磁線圈電流的通斷,以便對(duì)磁場(chǎng)測(cè)量進(jìn)行調(diào)零. 步進(jìn)電機(jī)控制系統(tǒng)帶動(dòng)霍爾傳感器在亥姆霍茲線圈所在軸線上進(jìn)行左右移動(dòng). 使用單片機(jī)作為下位機(jī),接收上位機(jī)的LabVIEW指令,控制步進(jìn)電機(jī)工作,并將霍爾傳感器采集到的電壓數(shù)據(jù)發(fā)送到上位機(jī),利用LabVIEW進(jìn)行數(shù)據(jù)處理和曲線顯示. 系統(tǒng)硬件框圖如圖1所示.
圖1 系統(tǒng)硬件框圖
STC12C5410系列單片機(jī)是由宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的兼容8051內(nèi)核單片機(jī),是高速/低功耗的新一代8051單片機(jī),全新的流水線/精簡(jiǎn)指令集結(jié)構(gòu),內(nèi)部集成MAX810專用復(fù)位電路. STC12C5410AD單片機(jī)中包含中央處理器、程序存儲(chǔ)器(Flash)、數(shù)據(jù)存儲(chǔ)器(RAM)、EEPROM、定時(shí)/計(jì)數(shù)器、I/O接口、UART接口和中斷系統(tǒng)、SPI接口、高速A/D轉(zhuǎn)換模塊、PWM(或捕捉/比較單元)以及硬件看門狗、電源監(jiān)控、片內(nèi)RC振蕩器等模塊. STC12C5410AD單片機(jī)幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,稱得上片上系統(tǒng)(SOC),可以很容易地構(gòu)成典型的測(cè)控系統(tǒng).
STC12C5410AD自帶8路10位ADC,A/D轉(zhuǎn)換口在P1口(P1.7~P1.0),有8路10位高速A/D轉(zhuǎn)換器,速度可達(dá)到100 kHz. 8路電壓輸入型A/D,可做溫度檢測(cè)、電池電壓檢測(cè)、按鍵掃描、頻譜檢測(cè)等. 上位機(jī)復(fù)位后P1口位弱上拉型I/O口,用戶可以通過(guò)軟件設(shè)置將8路中的任何一路設(shè)置為A/D轉(zhuǎn)換,不需作為A/D使用的口可繼續(xù)作為I/O口使用.
MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的接口電路,使用+5 V單電源供電. 它的內(nèi)部結(jié)構(gòu)基本可分3個(gè)部分:第一部分是電荷泵電路,由1~6腳和4只電容構(gòu)成,功能是產(chǎn)生+12 V和-12 V電源,提供給RS-232串口電平的需要. 第二部分是數(shù)據(jù)轉(zhuǎn)換通道,由7~14腳構(gòu)成2個(gè)數(shù)據(jù)通道,其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道,8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道. TTL/CMOS數(shù)據(jù)從T1IN和T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT和T2OUT送到電腦DP9插頭; DP9插頭的RS-232數(shù)據(jù)從R1IN和R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT和R2OUT輸出[2]. 而這里用只需1個(gè)通道就行了. 所以第一通道的11~14腳就全空腳,只用了第二通道的4只腳. 第三部分是供電,15腳DNG、16腳VCC(+5 V).
Allegro公司生產(chǎn)的霍爾傳感器A1321,具有高精度、響應(yīng)速度快、性能穩(wěn)定等特點(diǎn). 靜態(tài)輸出半工作電壓,工作電壓為5 V時(shí),傳感器采樣轉(zhuǎn)換率為50.000 V/T. 步進(jìn)電機(jī)及步進(jìn)電機(jī)驅(qū)動(dòng)器DKD-TB6560是東芝公司推出的低功耗、高集成兩相混合式步進(jìn)電機(jī)驅(qū)動(dòng)芯片. 其主要特點(diǎn)有:內(nèi)部集成雙全橋MOSFET 驅(qū)動(dòng);最高耐壓40 V,單相輸出最大電流3.5 A(峰值);具有整步、1/2、1/8、1/16 細(xì)分方式;內(nèi)置溫度保護(hù)芯片,溫度大于150 ℃時(shí)自動(dòng)斷開所有輸出;具有過(guò)流保護(hù)功能. 采用PWM 斬波型正弦曲線微階控制技術(shù);最大輸出驅(qū)動(dòng)電流3 A(峰值);最大脈沖頻率16 kHz;接口采用高速光耦隔離;衰減4擋可調(diào);電機(jī)運(yùn)行平穩(wěn)噪聲?。煌庑蚊烙^,散熱效果好,易于安裝.
單片機(jī)上電后,對(duì)步進(jìn)電機(jī)及步進(jìn)電機(jī)驅(qū)動(dòng)器DKD-TB6560進(jìn)行初始化,配置步進(jìn)電機(jī)的工作模式,然后等待信號(hào)指令,當(dāng)單片機(jī)接收到來(lái)自鍵盤或者上位機(jī)的信號(hào)指令時(shí),單片機(jī)給TB6560發(fā)送信號(hào),驅(qū)動(dòng)步進(jìn)電機(jī),使傳感器沿著亥姆霍茲線圈平面的X軸前后移動(dòng),到達(dá)需要采集磁場(chǎng)信號(hào)的位置,完成信號(hào)采集之后,繼續(xù)等待指令.
單片機(jī)上電之后,對(duì)P口和串口進(jìn)行初始化,確定P口的功能以及串口接收和發(fā)送的模式,本設(shè)計(jì)采用頻率為11.059 2 MHz的晶振,波特率更加準(zhǔn)確,固定為4 800 b/s,確保了串口電路的穩(wěn)定性. 模數(shù)轉(zhuǎn)換模塊采用10位ADC模式,采樣精度達(dá)到4.88 mV. P口和串口初始化之后,單片機(jī)等待上位機(jī)或者單片機(jī)上鍵盤的指令,如果接收到采集指令,則啟動(dòng)采集程序,采集完畢,得到電壓數(shù)據(jù). 此時(shí)串口發(fā)送程序啟動(dòng),把采集回來(lái)的電壓數(shù)據(jù)發(fā)送到上位機(jī),完成1個(gè)采集數(shù)據(jù)并發(fā)送的過(guò)程.
當(dāng)單片機(jī)接收到上位機(jī)送來(lái)的采集指令之后,啟動(dòng)采集程序,通過(guò)單片機(jī)自帶的ADC模塊進(jìn)行采集. 傳統(tǒng)的亥姆霍茲線圈磁場(chǎng)測(cè)量實(shí)驗(yàn)中,每測(cè)量1個(gè)數(shù)據(jù),必須先將直流電源輸出電路斷開,對(duì)測(cè)試儀調(diào)零后,才能測(cè)量和記錄數(shù)據(jù),其目的在于去除地磁場(chǎng)的影響. 在本設(shè)計(jì)中,利用單片機(jī)控制繼電器的通斷,從而控制線圈電路的通斷. 每個(gè)采集指令都會(huì)進(jìn)行2次采集,第1次采集時(shí)繼電器斷開(線圈電路斷開,I=0 mA),采集1次數(shù)據(jù),此時(shí)為地磁感應(yīng)強(qiáng)度值;第2次采集時(shí)繼電器合上(線圈電流為I=100 mA),采集1次數(shù)據(jù),此時(shí)為引入了地磁場(chǎng)影響的亥姆霍茲線圈磁感應(yīng)強(qiáng)度值. 使后者減去前者,即可得到去除了地磁場(chǎng)影響的亥姆霍茲線圈磁感應(yīng)強(qiáng)度值.
圖2 LabVIEW程序前面板
完整LabVIEW程序需要集成發(fā)送指令、接收數(shù)據(jù)、實(shí)驗(yàn)?zāi)J竭x擇及磁感應(yīng)強(qiáng)度理論值顯示、生成磁感應(yīng)強(qiáng)度測(cè)量值-位置曲線的功能. 程序前面板如圖2所示. LabVIEW程序向單片機(jī)發(fā)送不同指令,使得單片機(jī)產(chǎn)生不同的響應(yīng),有采集指令、左移1 cm指令、右移1 cm指令. 采集指令使得單片機(jī)采集1次磁場(chǎng)信號(hào)數(shù)據(jù),發(fā)送給上位機(jī). 移動(dòng)指令使得上位機(jī)發(fā)送移動(dòng)信號(hào)給單片機(jī),單片機(jī)再驅(qū)動(dòng)步進(jìn)電機(jī),使得霍爾傳感器在亥姆霍茲線圈磁場(chǎng)平面產(chǎn)生不同的位移,即可在此位置采集到相應(yīng)的磁感應(yīng)強(qiáng)度值. 上位機(jī)與單片機(jī)通信指令如表1所示. LabVIEW提供了VISA庫(kù)供用戶對(duì)儀器進(jìn)行控制. VISA是虛擬儀器軟件結(jié)構(gòu)體系(Virtual instrument software architecture)的簡(jiǎn)稱. VI-SA是在所有LabVIEW工作平臺(tái)上控制VXI,GPIB,RS-232以及其他種類儀器的單接口程序庫(kù). LabVIEW將這些VISA節(jié)點(diǎn)單獨(dú)組成子模板,共包含6個(gè)節(jié)點(diǎn)(VISA Configure SerialPort,VISA Write,VISA Read,VISA Clear,VISAClose等),分別實(shí)現(xiàn)初始化串口、串口寫、串口讀、清空串口緩存、關(guān)閉串口等功能[3]. 利用串口子函數(shù)實(shí)現(xiàn)的上位機(jī)發(fā)送左移1 cm指令,使用字符串“1”作為指令;發(fā)送右移1 cm指令,使用字符串“2”作為指令;發(fā)送采集指令,定義字符串“5”作為采集指令. 當(dāng)按下采集按鈕后,上位機(jī)通過(guò)串口給單片機(jī)發(fā)送字符串“5”指示單片機(jī)進(jìn)行采集,然后等待單片機(jī)向上位機(jī)發(fā)回2個(gè)8位的字符串,經(jīng)過(guò)轉(zhuǎn)換,得到2個(gè)8位的數(shù)值,分別為單片機(jī)采集到的電壓的高八位和低二位. 經(jīng)過(guò)數(shù)學(xué)轉(zhuǎn)換,可以得到電壓和磁感應(yīng)強(qiáng)度測(cè)量值. 當(dāng)完成所有位置的磁場(chǎng)測(cè)量之后,將位置數(shù)據(jù)和磁感應(yīng)強(qiáng)度測(cè)量值送到LabVIEW中的X-Y圖函數(shù)當(dāng)中,即可生成磁感應(yīng)強(qiáng)度測(cè)量值-位置曲線圖.
表1 上位機(jī)與單片機(jī)通信指令定義
圓線圈和亥姆霍茲線圈磁場(chǎng)測(cè)量實(shí)驗(yàn)共有4個(gè)實(shí)驗(yàn)?zāi)J剑簡(jiǎn)尉€圈、亥姆霍茲線圈(R=10 cm)、雙線圈(R=5 cm)、雙線圈(R=20 cm). 用LabVIEW編程,根據(jù)實(shí)驗(yàn)參量,預(yù)先計(jì)算出不同模式下的磁感應(yīng)強(qiáng)度理論值. 在前面板點(diǎn)選不同的模式,就能顯示該模式下實(shí)驗(yàn)平臺(tái)相應(yīng)位置點(diǎn)的磁感應(yīng)強(qiáng)度理論值,可與實(shí)驗(yàn)值進(jìn)行比較,有助于觀察實(shí)驗(yàn)的誤差. 完整程序框圖如圖3所示.
圖3 亥姆霍茲線圈磁場(chǎng)自動(dòng)化測(cè)量系統(tǒng)完整程序框圖
在LabVIEW環(huán)境下設(shè)計(jì)了亥姆霍茲線圈磁場(chǎng)自動(dòng)測(cè)量系統(tǒng),系統(tǒng)的硬件主要由單片機(jī)、串口收發(fā)模塊、步進(jìn)電機(jī)模塊、傳感器模塊組成. 軟件方面實(shí)現(xiàn)了數(shù)據(jù)采集、發(fā)送左移1 cm命令、發(fā)送右移1 cm命令、實(shí)驗(yàn)?zāi)J竭x擇以及對(duì)應(yīng)磁感應(yīng)強(qiáng)度理論值顯示、生成磁感應(yīng)強(qiáng)度-位置曲線圖. 本系統(tǒng)能夠自動(dòng)采集磁場(chǎng)數(shù)據(jù);電腦操縱傳感器位置,免除人手操作;自動(dòng)去除地磁場(chǎng)的影響,免除了每次采集數(shù)據(jù)之前的人工調(diào)零,節(jié)省了勞動(dòng)力;自動(dòng)生成磁感應(yīng)強(qiáng)度-位置曲線,不需人工繪制;多種模式選擇,能夠預(yù)先設(shè)置好磁感應(yīng)強(qiáng)度理論值并顯示. 既可用于改進(jìn)傳統(tǒng)實(shí)驗(yàn),使學(xué)生將更多精力用于實(shí)驗(yàn)探索和思考,也可用于課堂演示,加深學(xué)生對(duì)理論知識(shí)的理解.
參考文獻(xiàn):
[1] 習(xí)崗,楊初平. 大學(xué)物理實(shí)驗(yàn)[M]. 2版. 北京:中國(guó)農(nóng)業(yè)出版社,2009:126-130.
[2] 郭天祥. 51單片機(jī)C語(yǔ)言教程[M]. 北京:電子工業(yè)出版社,2010:114-120.
[3] 阮奇楨. 我和LabVIEW [M]. 北京:北京航空航天大學(xué)出版社,2009:38-54