周游宇 林朝勇
摘? 要:金屬探測器是日常生活中專門用于探測金屬物質(zhì)的儀器,文章對常規(guī)金屬探測器進(jìn)行研究后設(shè)計(jì)了一款基于STC89C52RC單片機(jī)的智能金屬探測器,將振蕩電路產(chǎn)生的正弦波經(jīng)脈沖轉(zhuǎn)換電路送到單片機(jī)檢測頻率的變化。當(dāng)線圈位置出現(xiàn)金屬物質(zhì)時(shí),由于電磁感應(yīng)原理,線圈Q值發(fā)生改變,原有振蕩頻率會(huì)發(fā)生變化,單片機(jī)檢測到頻率變化后報(bào)警,能在安檢、工業(yè)生產(chǎn)等領(lǐng)域得到廣泛應(yīng)用。
關(guān)鍵詞:單片機(jī);金屬探測器;電磁感應(yīng)
中圖分類號(hào):TH89;TP368.1? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)20-0054-03
Fabrication of Metal Detector Based on STC89C52 Single-Chip Microcomputer
ZHOU Youyu,LIN Chaoyong
(College of Big Data and Information Engineering,Guizhou University,Guiyang? 550025,China)
Abstract:Metal detector is an instrument specially used to detect metal substance in daily life. After studying the conventional metal detector,an intelligent metal detector based on STC89C52RC single-chip microcomputer is designed. The sine wave generated by the oscillation circuit is sent to the single-chip microcomputer to detect the change of frequency through the pulse conversion circuit. When the metal material appears in the coil position,due to the electromagnetic induction principle,the coil Q value changes,and the original oscillation frequency will change. The microcontroller will give an alarm when it detects the frequency change. It can be widely used in security inspection,industrial production and other fields.
Keywords:single-chip microcomputer;metal detector;electromagnetic induction
0? 引? 言
基于貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院進(jìn)行的便攜式金屬檢測儀實(shí)驗(yàn)課題,本文設(shè)計(jì)了一款基于STC89C52RC單片機(jī)的便攜式智能金屬探測器,筆者為了實(shí)現(xiàn)更快和更精準(zhǔn)的金屬檢測,以及降低金屬探測器的成本,根據(jù)電磁感應(yīng)原理中金屬能影響振蕩電路中電感Q值的特性進(jìn)行設(shè)計(jì)。為解決頻率檢測精準(zhǔn)度的問題,將振蕩電路產(chǎn)生的振蕩信號(hào)經(jīng)整形后送至能快速偵測電平變化的單片機(jī)中實(shí)現(xiàn)振蕩頻率變化檢測。有效地解決了現(xiàn)有金屬探測器存在的成本高、普適性較低、價(jià)格高昂等問題。還可通過鍵盤設(shè)置檢測靈敏度,同時(shí)具有良好的人機(jī)交互界面,并具有簡潔易用等特點(diǎn)。通過金屬探測器檢測出危險(xiǎn)金屬物質(zhì)可以避免許多安全隱患,如檢測是否攜帶危險(xiǎn)管制刀具等。
1? 系統(tǒng)方案設(shè)計(jì)
本次設(shè)計(jì)采用STC89C52RC單片機(jī)作為金屬探測器的核心控制處理器件,通過添加晶振電路提供系統(tǒng)工作時(shí)鐘,通過復(fù)位電路實(shí)現(xiàn)復(fù)位功能[1]。通過電容三點(diǎn)式振蕩電路產(chǎn)生正弦波,轉(zhuǎn)換后傳遞到單片機(jī)檢測頻率的變化。當(dāng)遇到金屬時(shí),電容三點(diǎn)式振蕩電路的原振蕩會(huì)受到影響,頻率會(huì)發(fā)生變化,單片機(jī)會(huì)檢測到這種變化,并在液晶顯示器上顯示和報(bào)警,還可以通過鍵盤設(shè)置探測金屬物質(zhì)的靈敏度。本系統(tǒng)主要由單片機(jī)最小工作系統(tǒng)、電源電路、振蕩電路、脈沖變換電路、聲光報(bào)警電路、鍵盤電路和顯示電路構(gòu)成。
2? 系統(tǒng)硬件設(shè)計(jì)
2.1? 單片機(jī)最小工作系統(tǒng)
單片機(jī)最小工作系統(tǒng)是指利用最少的電子元件構(gòu)成的可以獨(dú)立運(yùn)行的單片機(jī)工作系統(tǒng)。本次設(shè)計(jì)采用的STC89C52RC型號(hào)單片機(jī)是由STC公司生產(chǎn)的低功耗、高性能CMOS8位微控制器,具有8 kB系統(tǒng)可編程閃存。在使用靈活性上兼容51單片機(jī),且性能遠(yuǎn)遠(yuǎn)超過51單片機(jī),具有更快的運(yùn)行速度以及更加豐富的外設(shè)接口電路,同時(shí)具有功耗更低的特點(diǎn)[2]。
單片機(jī)最小工作系統(tǒng)的硬件結(jié)構(gòu)非常簡單,僅僅需要添加電源電路為整個(gè)工作系統(tǒng)提供驅(qū)動(dòng)電壓,以及添加復(fù)位電路為整個(gè)工作系統(tǒng)中的硬件構(gòu)成提供一個(gè)運(yùn)行的初始狀態(tài),并防止系統(tǒng)出現(xiàn)意外中斷的情況,方便進(jìn)行緊急恢復(fù),即當(dāng)單片機(jī)系統(tǒng)受到環(huán)境干擾程序跑飛的情況下,就可以按下復(fù)位按鈕,這樣單片機(jī)內(nèi)部的程序會(huì)自動(dòng)從頭開始執(zhí)行,最后添加晶體振蕩電路為整個(gè)工作系統(tǒng)提供工作時(shí)鐘,晶振也可以采用不同的振蕩頻率,如8 MHz或者11.059 2 MHz,通常情況下,越高頻率的晶振,51單片機(jī)的處理速度就越快。單片機(jī)最小工作系統(tǒng)硬件原理如圖1所示[3]。
2.2? 電源電路設(shè)計(jì)
選用LM7805三端穩(wěn)壓芯片,實(shí)際應(yīng)用中,應(yīng)在LM7805三端穩(wěn)壓芯片上安裝足夠大的散熱器,因?yàn)榉€(wěn)壓管的穩(wěn)壓性能會(huì)隨著溫度升高而變差,甚至損壞。在本設(shè)計(jì)中,由于將9 V的電池電壓變壓為設(shè)計(jì)所需的5 V電壓,這個(gè)過程中功率變化不是很大,因此不必添加散熱器。LM7805三端穩(wěn)壓芯片的管腳功能從正面看,1腳是輸入,2腳接地,3腳輸出,從3腳輸出穩(wěn)定的5 V電壓[4]。
2.3? 振蕩電路設(shè)計(jì)
振蕩電路是決定整個(gè)金屬探測器性能的關(guān)鍵,利用電容三點(diǎn)式振蕩電路產(chǎn)生一個(gè)頻率小于300 kHz的穩(wěn)定振蕩源,目的是使金屬探測器在正常工作時(shí)能夠不受廣播頻段的影響。當(dāng)諧振回路中的電感線圈中存在金屬物質(zhì)時(shí),線圈電感的Q值將隨之發(fā)生改變,當(dāng)線圈電感增加時(shí),電路的諧振頻率將減小,反之,線圈電感減小時(shí),電路的諧振頻率將增加。
2.4? 脈沖變換電路設(shè)計(jì)
從諧振回路傳過來的正弦波信號(hào)傳送給電壓比較器對其進(jìn)行整形,以產(chǎn)生規(guī)則的方波送入單片機(jī)。電壓比較器選用LM393,LM393的反向端接收滑動(dòng)變阻器上的電壓,同向端接收振蕩電路產(chǎn)生的正弦波,這樣就能把正弦波信號(hào)經(jīng)過電壓比較變成單片機(jī)能夠處理的方波信號(hào)[5]。
2.5? 聲光報(bào)警電路設(shè)計(jì)
當(dāng)檢測到金屬時(shí),系統(tǒng)會(huì)發(fā)出報(bào)警提示,報(bào)警電路是為了優(yōu)化人機(jī)交互性,提醒使用者已檢測到金屬物質(zhì),用單片機(jī)控制三極管驅(qū)動(dòng)蜂鳴器報(bào)警。因單片機(jī)直驅(qū)能力不夠,故采用三極管8550起到驅(qū)動(dòng)大電流的作用,當(dāng)三極管輸入端為低電平時(shí),此時(shí)導(dǎo)通,蜂鳴器接收到控制信號(hào),產(chǎn)生自激振蕩,通過內(nèi)部芯片驅(qū)動(dòng)發(fā)出報(bào)警聲[6]。
2.6? 鍵盤電路設(shè)計(jì)
當(dāng)按下按鍵時(shí),單芯片引腳和GND連接到低電平;當(dāng)松開按鍵時(shí),線路斷開,電流不能通過,此時(shí)單片機(jī)默認(rèn)是高電平,可以通過判斷單片機(jī)IO口的高低電平來判斷是否有按鍵按下。
2.7? 顯示電路設(shè)計(jì)
采用LCD1602液晶顯示模塊來顯示相關(guān)信息,最多可同時(shí)顯示16×2個(gè)字符,即總共可以顯示32個(gè)字符。LCD1602液晶顯示器的原理是利用液晶的物理特性通過電壓來控制顯示區(qū)域,即可以顯示圖形。用來顯示當(dāng)前振蕩電路的頻率值,以及人工設(shè)定的報(bào)警警戒值。液晶模塊的RS、RW、EN引腳與單片機(jī)P25~P27管腳相連接,液晶模塊的D0~D7數(shù)據(jù)接口和單片機(jī)的P0口連接[7]。
3? 軟件設(shè)計(jì)
3.1? 檢測頻率程序設(shè)計(jì)
頻率的測定是通過定時(shí)器T0和計(jì)數(shù)器T1完成的,即計(jì)算T0時(shí)間內(nèi)檢測到的脈沖數(shù)T1的個(gè)數(shù)。為了方便計(jì)算,程序中所檢測的頻率都是在1 s內(nèi)統(tǒng)計(jì)的脈沖總數(shù),即1 s內(nèi)檢測到多少次脈沖就是多少赫茲,因金屬探測器的檢測頻率較低,所以可以適當(dāng)延長檢測時(shí)間,這樣系統(tǒng)更加穩(wěn)定。
3.2? 聲光報(bào)警程序設(shè)計(jì)
當(dāng)檢測到金屬物質(zhì)時(shí),主程序?qū)Ξ?dāng)前頻率進(jìn)行判斷,控制聲光報(bào)警系統(tǒng)工作。聲光報(bào)警系統(tǒng)包括蜂鳴器和LED燈。
3.3? 按鍵檢測程序設(shè)計(jì)
程序每執(zhí)行一次都要執(zhí)行一次按鍵檢測操作以判斷是否有按鍵按下,每200 ms檢測一次是否有按鍵操作,然后改變設(shè)置的頻率值,并在LCD1602液晶顯示器上顯示。
3.4? 顯示程序設(shè)計(jì)
顯示是為了優(yōu)化人機(jī)交互性能和體驗(yàn)感,能讓人對當(dāng)前設(shè)備狀態(tài)有清晰的認(rèn)識(shí)。本設(shè)計(jì)采用LCD1602液晶顯示器顯示當(dāng)前頻率和設(shè)置的頻率,并且能對當(dāng)前頻率進(jìn)行實(shí)時(shí)顯示。
4? 系統(tǒng)的整體測試
4.1? 程序調(diào)試
在本次的程序設(shè)計(jì)中,使用Keil5編譯環(huán)境,用C語言對程序進(jìn)行編寫,在Keil5中新建項(xiàng)目工程,選擇單片機(jī)型號(hào)STC89C52RC,編譯后生成單片機(jī)可執(zhí)行的程序文件。下載到單片機(jī)后即可進(jìn)行實(shí)際運(yùn)行觀察[8]。
4.2? 硬件調(diào)試
由于本次設(shè)計(jì)需要進(jìn)行電路焊接,在完成硬件電路設(shè)計(jì)之后,需要按照元件清單和PCB布局進(jìn)行焊接,整機(jī)原理圖如圖2所示。
焊接完成后,首先檢查有無虛焊、漏焊等情況,然后再進(jìn)行硬件調(diào)試,主要有以下步驟[9]:
(1)檢查原理圖,確保每個(gè)器件對應(yīng)原理圖上的連線都正確,對芯片的電源連線進(jìn)行觀察,以防接反燒毀芯片[10];
(2)在實(shí)物上運(yùn)行時(shí),觀察其是否穩(wěn)定運(yùn)行,以及是否按預(yù)想情況運(yùn)行。
5? 實(shí)物測試結(jié)果
5.1? 軟硬聯(lián)調(diào)
當(dāng)未檢測到金屬時(shí),調(diào)試結(jié)果如圖3所示。
從圖3中可以看出,當(dāng)前頻率為173.3 kHz,設(shè)置的頻率為173.4 kHz,由于未檢測到金屬,此時(shí)報(bào)警電路未工作,不發(fā)出報(bào)警提示音。
當(dāng)檢測到金屬時(shí),調(diào)試結(jié)果如圖4所示。
從圖4中可以看出,當(dāng)前頻率為173.6 kHz,設(shè)置的頻率為173.4 kHz,頻率增大,檢測到金屬,此時(shí)報(bào)警。
6? 結(jié)? 論
本文實(shí)現(xiàn)通過檢測振蕩源頻率的變化來進(jìn)行金屬檢測的功能,同時(shí)具有檢測靈敏度設(shè)置功能以及良好的人機(jī)交互界面。使用STC89C52RC單片機(jī)作為控制核心,通過三點(diǎn)式振蕩電路產(chǎn)生振蕩源,利用線圈電感變化影響振蕩頻率,通過中斷檢測頻率變化,按鍵設(shè)置檢測靈敏度,使用LCD1602液晶顯示器顯示當(dāng)前頻率值。本次設(shè)計(jì)的金屬檢測器還存在一些不完善的地方,如探測距離不夠遠(yuǎn),以及定位不夠精確,后續(xù)工作可以提高線圈功率,使用多組線圈,以提高檢測精度以及擴(kuò)大檢測范圍。
參考文獻(xiàn):
[1] 李建忠.單片機(jī)原理與應(yīng)用:第2版 [M].西安:西安電子科技大學(xué)出版社,2008.
[2] 陳海宴.51單片機(jī)原理及應(yīng)用:基于Keil C與Proteus [M].北京:北京航空航天大學(xué)出版社,2010.
[3] 鄭婷,彭龑,楊洋.一種基于單片機(jī)的多功能智能臺(tái)燈的設(shè)計(jì) [J].電子世界,2020(17):93-94+98.
[4] 汪建關(guān),邵春楓,谷高明,等.基于STC89C52單片機(jī)的電子密碼鎖設(shè)計(jì) [J].現(xiàn)代信息科技,2019,3(22):38-40.
[5] 童詩白,華成英.模擬電子技術(shù)基礎(chǔ):第5版 [M].北京:高等教育出版社,2015.
[6] 陳杰,黃鴻.傳感器與檢測技術(shù):第2版 [M].北京:高等教育出版社,2010.
[7] 譚浩強(qiáng).C語言程序設(shè)計(jì):第3版 [M].北京:清華大學(xué)出版社,2014.
[8] 周潤景,張麗娜.基于PROTEUS的電路及單片機(jī)系統(tǒng)設(shè)計(jì)與仿真 [M].北京:北京航空航天大學(xué)出版社,2006.
[9] 趙全利.單片機(jī)原理及應(yīng)用教程:第3版 [M].北京:機(jī)械工業(yè)出版社,2013.
[10] 麻銳敏.基于單片機(jī)的電子安全密碼鎖的設(shè)計(jì)初探 [J].科技風(fēng),2018(23):24.
作者簡介:周游宇(1996—),男,漢族,湖南長沙人,碩士在讀,研究方向:嵌入式軟件;林朝勇(1977—),男,漢族,貴州貴陽人,高級(jí)工程師,學(xué)士學(xué)位,研究方向:航空電子產(chǎn)品。