陳 蕩,陳 杰,連 晟,王祥力,吳 浩
(武漢工程大學(xué)電氣信息學(xué)院,湖北武漢430074)
由于生活中旅行、冶金、食品和藥品等方面對(duì)安全問題的要求越來越高,而這些方面時(shí)常有來自金屬物質(zhì)的安全威脅,因此,設(shè)計(jì)一種金屬探測(cè)器對(duì)人們的衣食住行來進(jìn)行保護(hù)和檢測(cè)變得越來越重要,怎樣提升和完善金屬探測(cè)器的性能也成為了國內(nèi)該領(lǐng)域的一個(gè)亟待解決的問題[1]。隨著霍爾接近開關(guān)的發(fā)展,使得金屬探測(cè)方法得到了快速的更新,在小車保護(hù)系統(tǒng)[2]以及工業(yè)位移監(jiān)測(cè)裝置等領(lǐng)域得到了極大的應(yīng)用,但是大多缺乏穩(wěn)定的軟件算法,其檢測(cè)的穩(wěn)定性和實(shí)時(shí)性受到了極大的限制[3]。
為提升和完善金屬探測(cè)器的性能以及探測(cè)的有效性[4],本文采用了軟硬件結(jié)合的方法,運(yùn)用霍爾接近開關(guān)元件來對(duì)金屬進(jìn)行檢測(cè),當(dāng)檢測(cè)到金屬,輸出數(shù)字量,然后傳送到單片機(jī)進(jìn)行數(shù)據(jù)處理,通過單片機(jī)控制檢測(cè)指示燈的亮滅,最后通過串口總線與電腦相連,在PC機(jī)上編程實(shí)現(xiàn)遠(yuǎn)程監(jiān)控金屬的檢測(cè)情況。
本文采用霍爾接近開關(guān)對(duì)金屬進(jìn)行檢測(cè),霍爾接近開關(guān)是根據(jù)霍爾效應(yīng)制成的一種傳感器,當(dāng)一塊通有電流的金屬或半導(dǎo)體薄片垂直放在磁場(chǎng)中,薄片的兩端就會(huì)產(chǎn)生電位差,這種現(xiàn)象就稱為霍爾效應(yīng)[5]。常見的接近開關(guān)有機(jī)械式、電磁感應(yīng)式和永磁式,本文采用的是電磁感應(yīng)式接近開關(guān)之中的電感式霍爾接近開關(guān),該類型的傳感器是一種金屬感應(yīng)器件,當(dāng)金屬物體靠近振蕩感應(yīng)頭時(shí),物體內(nèi)部產(chǎn)生渦流。這個(gè)渦流反作用于接近開關(guān),使接近開關(guān)振蕩能力衰減,開關(guān)內(nèi)的振蕩器由于外界環(huán)境發(fā)生變化而引起頻率偏移或停振,由此識(shí)別有無金屬物體靠近,進(jìn)而使開關(guān)通或斷。
本文采用南通杰諾公司的霍爾接近開關(guān)HJ12-ZNK10,其檢測(cè)距離可以達(dá)到10 mm,反應(yīng)頻率達(dá)到10 kHz,其輸入輸出口均用連接線引出,方便與后置電路的連接?;魻柦咏_關(guān)如圖1所示。
圖1 霍爾接近開關(guān)
本文設(shè)計(jì)系統(tǒng)可以分為3個(gè)部分。第1部分是數(shù)據(jù)的采集,由霍爾接近開關(guān)傳感器檢測(cè)到金屬后,輸出數(shù)字量;第2部分是數(shù)據(jù)的處理,霍爾傳感器產(chǎn)生的數(shù)據(jù)送到單片機(jī)后,經(jīng)單片機(jī)的處理,輸出控制信號(hào),對(duì)檢測(cè)指示燈的亮滅進(jìn)行控制;第3部分是上位機(jī)通信模塊,通過RS-485總線與PC機(jī)通信,通過VC編程實(shí)現(xiàn)遠(yuǎn)程監(jiān)控檢測(cè)裝置。整體框圖如圖2所示。
圖2 系統(tǒng)整體框圖
本文設(shè)計(jì)系統(tǒng)分為3部分,每部分所用的電源電壓不盡相同。單片機(jī)的工作電壓是3.3 V,而霍爾元件和RS485總線模塊的工作電壓是5 V,故需要額外的電壓轉(zhuǎn)換電路,其中3.3 V電壓用VDD來表示,5 V電壓用VCC來表示[2],其電源電壓轉(zhuǎn)換的電路如圖3所示。
本文設(shè)計(jì)采用異步串行通信的方式,而單片機(jī)UART可以實(shí)現(xiàn)單片機(jī)與PC機(jī)之間的通信[6]。為了提高串行通訊的可靠性,增大通訊距離,本文設(shè)計(jì)采用RS-485的標(biāo)準(zhǔn)串行接口來與PC機(jī)進(jìn)行通訊,RS-485為半雙工,采用一對(duì)平衡差分信號(hào)線。RS-485傳輸速率最高為10 Mbit/s,最長電纜長度為1 200 m[7]。本文設(shè)計(jì)采用的RS-485驅(qū)動(dòng)器和接收器芯片為MAX485,其引腳圖如圖4所示。
圖3 電源電壓轉(zhuǎn)換電路圖
圖4 MAX485封裝引腳圖
根據(jù)霍爾接近開關(guān)元件以及單片機(jī)的特點(diǎn),單片機(jī)控制電路設(shè)計(jì)如圖5所示?;魻柦咏_關(guān)的輸出端與單片機(jī)的P1.0相連,用于對(duì)輸出開關(guān)量的采集;單片機(jī)P1.1用于控制指示燈,當(dāng)檢測(cè)到了金屬,輸出高電平,使發(fā)光二極管D3亮,沒檢測(cè)到金屬,則輸出低電平,使發(fā)光二極管D3保持熄滅狀態(tài);單片機(jī)的AGND、AV+、P2.0、RST口用于與C2仿真器的連接,下載程序到單片機(jī)進(jìn)行在線調(diào)試,其中RST用作復(fù)位。單片機(jī)的P0.4,P0.5使用第二功能,用于串行口接收與發(fā)送,與MAX485的DI和RO相連;單片機(jī)P0.6與串口芯片MAX485的使能端DE相連,用于控制MAX485的工作狀態(tài)。
基于C8051F350單片機(jī)的指令系統(tǒng)比較簡單,實(shí)現(xiàn)的功能更加強(qiáng)大,對(duì)輸入開關(guān)量的處理以及與PC機(jī)的通訊采用C語言編程實(shí)現(xiàn),軟件開發(fā)環(huán)境采用Silicon Laboratories IDE[4]。
主程序流程如圖6所示,按下開關(guān)S1,程序開始運(yùn)行,先對(duì)各寄存器的狀態(tài)、單片機(jī)I/O端口、內(nèi)部晶振以及液晶顯示屏進(jìn)行初始化。主程序進(jìn)行數(shù)據(jù)的采集、處理并與上位機(jī)進(jìn)行通訊。單片機(jī)采用中斷方式運(yùn)行,當(dāng)檢測(cè)到金屬時(shí),霍爾接近開關(guān)輸出高電平1,單片機(jī)檢測(cè)到P1.0為高電平后,立即產(chǎn)生中斷,進(jìn)行串行通訊,把數(shù)據(jù)傳送到上位機(jī),并控制P1.1為高電平,使檢測(cè)指示燈D3發(fā)亮。
圖5 單片機(jī)控制電路圖
根據(jù)上面的概述,當(dāng)檢測(cè)到金屬時(shí),單片機(jī)的P1.0會(huì)變?yōu)楦唠娖?,從而控制指示燈D3發(fā)亮,表明檢測(cè)到了金屬,然而這種情況下,在不同地方檢測(cè)金屬時(shí),往往需要現(xiàn)場(chǎng)有人去觀測(cè)指示燈的亮滅,既耗費(fèi)人力,也降低了檢測(cè)效率。為了解決這個(gè)問題,可以在PC機(jī)上用VC++編程實(shí)現(xiàn)遠(yuǎn)程模擬監(jiān)控指示燈的狀態(tài),這樣既高效又人性化[8-11]。
VC++是在Windows平臺(tái)下構(gòu)建32位應(yīng)用程序的強(qiáng)大而又復(fù)雜的開發(fā)工具。當(dāng)在PC機(jī)遠(yuǎn)程模擬監(jiān)控指示燈時(shí),就達(dá)到了遠(yuǎn)程監(jiān)控的目的,當(dāng)現(xiàn)場(chǎng)D3燈發(fā)亮?xí)r,其相對(duì)應(yīng)的虛擬指示燈同步發(fā)亮,這樣操作人員在監(jiān)控室里就能監(jiān)控多處的金屬探測(cè)器,從而做出相應(yīng)的處理,這樣的方法實(shí)時(shí)高效。
假設(shè)檢測(cè)10個(gè)不同地點(diǎn)的金屬情況,對(duì)各個(gè)節(jié)點(diǎn)標(biāo)號(hào)為LED#1~LED#10,當(dāng)沒有檢測(cè)到金屬時(shí),各虛擬指示燈均處于熄滅狀態(tài)。當(dāng)10處節(jié)點(diǎn)都檢測(cè)到了金屬,則所有的虛擬指示燈均發(fā)亮顯示。
圖6 主程序流程圖
當(dāng)只有節(jié)點(diǎn)1、2、5、7檢測(cè)到了金屬時(shí),LED#1、LED#2、LED#5、LED#7 虛擬指示燈發(fā)亮,顯示如圖7所示。
本文設(shè)計(jì)系統(tǒng)采用霍爾接近開關(guān)與金屬接觸輸出開關(guān)量來對(duì)金屬進(jìn)行檢測(cè),距離越近,霍爾接近開關(guān)越靈敏,其輸出端的電壓也越大。在實(shí)驗(yàn)階段,標(biāo)定霍爾接近開關(guān)與金屬之間的距離,通過萬用表測(cè)量輸出端的電壓,測(cè)得位移-電壓的數(shù)據(jù)如表1所示。
圖7 虛擬指示燈部分亮顯示圖
表1 霍爾接近開關(guān)與金屬位移-電壓關(guān)系
由上面的分析與實(shí)驗(yàn)得出:當(dāng)在現(xiàn)場(chǎng)本節(jié)點(diǎn)檢測(cè)出了金屬,其對(duì)應(yīng)監(jiān)控室指示燈做出反應(yīng)發(fā)亮,精確指示哪個(gè)節(jié)點(diǎn)檢測(cè)到了金屬。從而驗(yàn)證了此方案的可行性,提高了金屬檢測(cè)的效率。
本文設(shè)計(jì)過程中,采用了軟硬件結(jié)合的方式,利用金屬的霍爾效應(yīng)來實(shí)現(xiàn)對(duì)金屬的檢測(cè),硬件部分的設(shè)計(jì)采用了比較成熟的單片機(jī)檢測(cè)與控制系統(tǒng),此方案的重點(diǎn)和難點(diǎn)在于軟件部分的設(shè)計(jì),采用此種通訊方式實(shí)現(xiàn)下位機(jī)與上位機(jī)的通訊,以及上位機(jī)界面如何更直觀化地顯示檢測(cè)結(jié)果。此方案實(shí)現(xiàn)的成本相對(duì)低廉,檢測(cè)的準(zhǔn)確性高,還可應(yīng)用于一些管道堵點(diǎn)的檢測(cè)。此方法將會(huì)得到越來越廣泛的應(yīng)用。
[1]黃勇.金屬探測(cè)器的研究與設(shè)計(jì)[D].廣州:華南理工大學(xué),2010.
[2]許慶.基于MSP430的小車自動(dòng)保護(hù)系統(tǒng)[J].科學(xué)視界,2013(8):46-48.
[3]羅學(xué)恒.接近開關(guān)與金屬探測(cè)研究[J].武漢職業(yè)技術(shù)學(xué)院學(xué)報(bào),2012(11):76-79.
[4]陳杰,陳蕩,熊雄.C8051單片機(jī)與霍爾傳感器系統(tǒng)設(shè)計(jì)[J].武漢工程大學(xué)學(xué)報(bào),2012(7):61-65.
[5]秦玉偉,張瑩.磁阻式與霍爾式接近開關(guān)性能比較[J].河南科學(xué),2011(5):77-81.
[6]林游,張俊杰,易凡.霍爾傳感器信號(hào)采集與顯示系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2009,291(4):191-194.
[7]張毅剛,彭喜元,姜守達(dá),等.新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2008:257-260.
[8]孫鑫,余安萍.VC++深入詳解[M].北京:電子工業(yè)出版社,2006:228-230.
[9]張忠祥.基于ATmega8515控制的金屬探測(cè)器研究[D].濟(jì)南:山東大學(xué),2009.
[10]范麗珍,李樹華.基于單片機(jī)的智能型金屬探測(cè)器的設(shè)計(jì)[J].內(nèi)蒙古大學(xué)學(xué)報(bào),2006(37):185-189.
[11]劉慧娟,李志剛.一種基于電壓和頻率的金屬探測(cè)方法[J].儀器儀表學(xué)報(bào),2006(7):769-772.