王娜麗 宋光坤
摘 要 本次設(shè)計的超聲波液位儀以STC89C52RC單片機(jī)為控制核心,重點(diǎn)對超聲波的發(fā)送電路、回波信號接收電路、按鍵及顯示電路等硬件的設(shè)計進(jìn)行了詳細(xì)的說明;軟件程序的編寫主要使用的是C語言。實現(xiàn)了數(shù)據(jù)采集與計算、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)濾波和系統(tǒng)抗干擾,及控制部分的邏輯判斷等功能。最后通過分別對各個硬件模塊和軟件模塊的調(diào)試,使設(shè)計的超聲波液位儀實現(xiàn)預(yù)計功能。
【關(guān)鍵詞】超聲波 液位儀 MCU 微控制器 PCB
在通常的工業(yè)生產(chǎn)工程中,液位測量的目是通過液面高度的測量來確定容器里的原材料、半成品或者產(chǎn)品的,用以保證生產(chǎn)過長的各個環(huán)節(jié)物料平衡以及給進(jìn)行經(jīng)濟(jì)核算提供可靠的依據(jù)。同時,在連續(xù)的生產(chǎn)過程中,為了維持正常生產(chǎn)、保證產(chǎn)品的質(zhì)量和產(chǎn)量,以及保證安全生產(chǎn)。所以,液位的監(jiān)測在工業(yè)生產(chǎn)過程中是相當(dāng)重要的。測量液位的儀表主要分為接觸式液位儀表與非接觸式液位儀表兩部分。而超聲波液位儀表,由于其結(jié)構(gòu)簡單、造價地低廉,在近些年里得到了廣泛的應(yīng)用。
1 設(shè)計簡述
所謂的超聲波是指人類聽不到的聲波,一般人的聽覺范圍是20Hz~20kHz,超出這個范圍的聲波正常人是聽不到的。通過聲波在碰到液面后反彈回來的時間來計算當(dāng)時液面具超聲波傳感器的距離,則液位公式為:
L為液面距超聲波傳感器的距離,c為超聲波在空氣中傳播的速度,T為從聲波發(fā)出到接收到回波的時間。
1.1 超聲波液位儀系統(tǒng)結(jié)構(gòu)
如圖1-1所示,該超聲波液位儀包括輸入部分、輸出部分以及控制部。
1.2 超聲波液位儀系統(tǒng)工作原理
將該超聲波傳感器安裝于待測容器的頂部,垂直于被測液面,當(dāng)發(fā)出的超聲波碰到被刺液體后回彈。這時一體化超聲波傳感器處于接受狀態(tài),等待接受反彈回來的超聲波,通過超聲波的發(fā)送到接收的時間來計算液面距容器頂端的距離。
1.2.1 液位測量與計算
系統(tǒng)工作時,單片機(jī)的定時器開始計時,同時通過單片機(jī)的I/O口發(fā)送一串頻率為40kHz的信號,信號經(jīng)過升壓中周發(fā)放大后通過一體化超聲波傳感器發(fā)送出去。當(dāng)單片機(jī)檢測的回波信號時,停止定時器,并將定時器中的數(shù)值讀出,根據(jù)系統(tǒng)的機(jī)器周期計算出超聲波傳播的時間T。
1.2.2 余波的處理
超聲波探頭將超聲波脈沖發(fā)送完畢后,并不是立即停止的,而是逐漸衰減,這一段衰減過程中所發(fā)送的波被稱作余波。
使用軟件手段屏蔽掉了余波的干擾。通常收發(fā)一體化超聲波傳感器的余波衰減時間為2ms,因此,在程序中發(fā)送完40kHz波后,我們利用循環(huán)延時2ms,之后再開始讓微處理器等待接收回波信號。而在延時的2ms內(nèi)返回的超聲波將被忽略,這樣一來,我們將無法檢測較近的距離,而這段無法被檢測的距離就是本液位儀的工作盲區(qū)。
2 硬件電路設(shè)計
2.1 控制部分
控制部分利用STC89C52RC單片機(jī)作為主控制芯片,負(fù)責(zé)超聲波輸出控制、超聲波回波信號接收處理、計算液面距超聲波探頭的距離、設(shè)置閥值輸出報警以及控制顯示部分輸出相關(guān)信息。
2.2 I/O口分配
P3.0和P3.1可用于串口通信、程序燒寫;而P1口則可以擴(kuò)展外接其他拓展模塊。
P3.6和P3.7口分別接CSBIN(超聲波信號輸入),用來接收回波通過處理后的有效電平信號;CSBOUT(超聲波信號輸出),用來輸出脈沖信號,是超聲波傳感器發(fā)出40kHz波。
P0口連接LCD1602(液晶顯示器)的數(shù)據(jù)口,P2.0~P2.2接LCD1602的三個控制口,P2.3接LCD1602的背光控制。
P2.4~P2.6口分別接三個按鍵輸入;P2.7口作為控制繼電器的信號輸出口,用于控制繼電器的開、閉。
2.3 按鍵與繼電器控制電路
按鍵、繼電器控制電路,獨(dú)立按鍵的按下將低電平引入單片機(jī)I/O口。而當(dāng)KA為“0”時,PNP管導(dǎo)通,繼電器線圈得電,觸點(diǎn)動作。
這里選用PNP型三極管是因為單片機(jī)復(fù)位后,I/O口為高電平,如果使用NPN型三極管則會照成系統(tǒng)上電后繼電器會閉合一下,這樣對設(shè)備有害同時可能照成安全事故。
在繼電器線圈的兩端并入二極管DK1(1N4007)起到了對繼電器的保護(hù)作用。
2.4 超聲波信號發(fā)送及接收部分
發(fā)送部分電路主要用到了超聲波專用中周變壓器將單片機(jī)I/O口發(fā)出的激勵脈沖升壓后供給超聲波探頭,使其發(fā)送出與激勵脈沖相同頻率的超聲波。接受部分的電路中用了NE5532高性能低噪聲雙運(yùn)算放大器。由于NE5532的工作電壓至少為6V時,才能穩(wěn)定的工作,由于超聲波是一個交流信號,D5的作用就是將負(fù)半周期的信號通過GND消除,只保留正信號。信號通過BG2放大后進(jìn)入NE5532,又經(jīng)過濾波放大、比例微分后輸出。
3 軟件設(shè)計
首先由單片機(jī)發(fā)出 50KHz 的脈沖串,每八個脈沖為一組,脈沖串通過超聲波發(fā)射電路驅(qū)動超聲波換能器發(fā)出超聲波,單片機(jī)在發(fā)送脈沖的同時開始計時;超聲波遇到障礙物后的回波經(jīng)過放大、轉(zhuǎn)化等處理傳回單片機(jī),這樣就得到了超聲波在空氣中的傳輸時間,然后在中斷程序中根據(jù)測出的時間計算出距離。完成后發(fā)出下一組脈沖。利用定時器計算出采樣時間,通過前后兩次液位差值與前后兩次檢測的時間,可以算出液位增長的速度。
從實際產(chǎn)品的角度來看,本文設(shè)計的超聲波測距儀還有需要進(jìn)一步完善和改進(jìn)的地方,主要表現(xiàn)在以下幾個方面:
(1)由于溫度對超聲波的傳播有一定的影響,所以如果加入溫度傳感器,測得儲蓄罐內(nèi)的溫度,在通過所得的溫度對超聲波進(jìn)行溫度補(bǔ)償,這樣能提高儀表的精確度。
(2)為了使超聲波液位計能夠檢測到從較遠(yuǎn)處反射回來的超聲波,需要進(jìn)一步完善修改硬件電路,提高硬件電路的抗干擾能力和對微弱信號的放大倍數(shù),提高超聲波液位計的測量范圍和測量的精度。
(3)如果將本設(shè)計中的儀表用于工業(yè)控制上,可能出現(xiàn)問題,比如,現(xiàn)在的工業(yè)控制基本上是現(xiàn)場和人員分離的,為了方便使用,在本設(shè)計余留的I/O接口上可以接上無線模塊,和模塊間的通信盡量使用SPI,因為這樣不占用串口資源,而串口這可以用來和上位機(jī)通信。
作者單位
天津現(xiàn)代職業(yè)技術(shù)學(xué)院機(jī)電工程系 天津市 300350endprint
摘 要 本次設(shè)計的超聲波液位儀以STC89C52RC單片機(jī)為控制核心,重點(diǎn)對超聲波的發(fā)送電路、回波信號接收電路、按鍵及顯示電路等硬件的設(shè)計進(jìn)行了詳細(xì)的說明;軟件程序的編寫主要使用的是C語言。實現(xiàn)了數(shù)據(jù)采集與計算、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)濾波和系統(tǒng)抗干擾,及控制部分的邏輯判斷等功能。最后通過分別對各個硬件模塊和軟件模塊的調(diào)試,使設(shè)計的超聲波液位儀實現(xiàn)預(yù)計功能。
【關(guān)鍵詞】超聲波 液位儀 MCU 微控制器 PCB
在通常的工業(yè)生產(chǎn)工程中,液位測量的目是通過液面高度的測量來確定容器里的原材料、半成品或者產(chǎn)品的,用以保證生產(chǎn)過長的各個環(huán)節(jié)物料平衡以及給進(jìn)行經(jīng)濟(jì)核算提供可靠的依據(jù)。同時,在連續(xù)的生產(chǎn)過程中,為了維持正常生產(chǎn)、保證產(chǎn)品的質(zhì)量和產(chǎn)量,以及保證安全生產(chǎn)。所以,液位的監(jiān)測在工業(yè)生產(chǎn)過程中是相當(dāng)重要的。測量液位的儀表主要分為接觸式液位儀表與非接觸式液位儀表兩部分。而超聲波液位儀表,由于其結(jié)構(gòu)簡單、造價地低廉,在近些年里得到了廣泛的應(yīng)用。
1 設(shè)計簡述
所謂的超聲波是指人類聽不到的聲波,一般人的聽覺范圍是20Hz~20kHz,超出這個范圍的聲波正常人是聽不到的。通過聲波在碰到液面后反彈回來的時間來計算當(dāng)時液面具超聲波傳感器的距離,則液位公式為:
L為液面距超聲波傳感器的距離,c為超聲波在空氣中傳播的速度,T為從聲波發(fā)出到接收到回波的時間。
1.1 超聲波液位儀系統(tǒng)結(jié)構(gòu)
如圖1-1所示,該超聲波液位儀包括輸入部分、輸出部分以及控制部。
1.2 超聲波液位儀系統(tǒng)工作原理
將該超聲波傳感器安裝于待測容器的頂部,垂直于被測液面,當(dāng)發(fā)出的超聲波碰到被刺液體后回彈。這時一體化超聲波傳感器處于接受狀態(tài),等待接受反彈回來的超聲波,通過超聲波的發(fā)送到接收的時間來計算液面距容器頂端的距離。
1.2.1 液位測量與計算
系統(tǒng)工作時,單片機(jī)的定時器開始計時,同時通過單片機(jī)的I/O口發(fā)送一串頻率為40kHz的信號,信號經(jīng)過升壓中周發(fā)放大后通過一體化超聲波傳感器發(fā)送出去。當(dāng)單片機(jī)檢測的回波信號時,停止定時器,并將定時器中的數(shù)值讀出,根據(jù)系統(tǒng)的機(jī)器周期計算出超聲波傳播的時間T。
1.2.2 余波的處理
超聲波探頭將超聲波脈沖發(fā)送完畢后,并不是立即停止的,而是逐漸衰減,這一段衰減過程中所發(fā)送的波被稱作余波。
使用軟件手段屏蔽掉了余波的干擾。通常收發(fā)一體化超聲波傳感器的余波衰減時間為2ms,因此,在程序中發(fā)送完40kHz波后,我們利用循環(huán)延時2ms,之后再開始讓微處理器等待接收回波信號。而在延時的2ms內(nèi)返回的超聲波將被忽略,這樣一來,我們將無法檢測較近的距離,而這段無法被檢測的距離就是本液位儀的工作盲區(qū)。
2 硬件電路設(shè)計
2.1 控制部分
控制部分利用STC89C52RC單片機(jī)作為主控制芯片,負(fù)責(zé)超聲波輸出控制、超聲波回波信號接收處理、計算液面距超聲波探頭的距離、設(shè)置閥值輸出報警以及控制顯示部分輸出相關(guān)信息。
2.2 I/O口分配
P3.0和P3.1可用于串口通信、程序燒寫;而P1口則可以擴(kuò)展外接其他拓展模塊。
P3.6和P3.7口分別接CSBIN(超聲波信號輸入),用來接收回波通過處理后的有效電平信號;CSBOUT(超聲波信號輸出),用來輸出脈沖信號,是超聲波傳感器發(fā)出40kHz波。
P0口連接LCD1602(液晶顯示器)的數(shù)據(jù)口,P2.0~P2.2接LCD1602的三個控制口,P2.3接LCD1602的背光控制。
P2.4~P2.6口分別接三個按鍵輸入;P2.7口作為控制繼電器的信號輸出口,用于控制繼電器的開、閉。
2.3 按鍵與繼電器控制電路
按鍵、繼電器控制電路,獨(dú)立按鍵的按下將低電平引入單片機(jī)I/O口。而當(dāng)KA為“0”時,PNP管導(dǎo)通,繼電器線圈得電,觸點(diǎn)動作。
這里選用PNP型三極管是因為單片機(jī)復(fù)位后,I/O口為高電平,如果使用NPN型三極管則會照成系統(tǒng)上電后繼電器會閉合一下,這樣對設(shè)備有害同時可能照成安全事故。
在繼電器線圈的兩端并入二極管DK1(1N4007)起到了對繼電器的保護(hù)作用。
2.4 超聲波信號發(fā)送及接收部分
發(fā)送部分電路主要用到了超聲波專用中周變壓器將單片機(jī)I/O口發(fā)出的激勵脈沖升壓后供給超聲波探頭,使其發(fā)送出與激勵脈沖相同頻率的超聲波。接受部分的電路中用了NE5532高性能低噪聲雙運(yùn)算放大器。由于NE5532的工作電壓至少為6V時,才能穩(wěn)定的工作,由于超聲波是一個交流信號,D5的作用就是將負(fù)半周期的信號通過GND消除,只保留正信號。信號通過BG2放大后進(jìn)入NE5532,又經(jīng)過濾波放大、比例微分后輸出。
3 軟件設(shè)計
首先由單片機(jī)發(fā)出 50KHz 的脈沖串,每八個脈沖為一組,脈沖串通過超聲波發(fā)射電路驅(qū)動超聲波換能器發(fā)出超聲波,單片機(jī)在發(fā)送脈沖的同時開始計時;超聲波遇到障礙物后的回波經(jīng)過放大、轉(zhuǎn)化等處理傳回單片機(jī),這樣就得到了超聲波在空氣中的傳輸時間,然后在中斷程序中根據(jù)測出的時間計算出距離。完成后發(fā)出下一組脈沖。利用定時器計算出采樣時間,通過前后兩次液位差值與前后兩次檢測的時間,可以算出液位增長的速度。
從實際產(chǎn)品的角度來看,本文設(shè)計的超聲波測距儀還有需要進(jìn)一步完善和改進(jìn)的地方,主要表現(xiàn)在以下幾個方面:
(1)由于溫度對超聲波的傳播有一定的影響,所以如果加入溫度傳感器,測得儲蓄罐內(nèi)的溫度,在通過所得的溫度對超聲波進(jìn)行溫度補(bǔ)償,這樣能提高儀表的精確度。
(2)為了使超聲波液位計能夠檢測到從較遠(yuǎn)處反射回來的超聲波,需要進(jìn)一步完善修改硬件電路,提高硬件電路的抗干擾能力和對微弱信號的放大倍數(shù),提高超聲波液位計的測量范圍和測量的精度。
(3)如果將本設(shè)計中的儀表用于工業(yè)控制上,可能出現(xiàn)問題,比如,現(xiàn)在的工業(yè)控制基本上是現(xiàn)場和人員分離的,為了方便使用,在本設(shè)計余留的I/O接口上可以接上無線模塊,和模塊間的通信盡量使用SPI,因為這樣不占用串口資源,而串口這可以用來和上位機(jī)通信。
作者單位
天津現(xiàn)代職業(yè)技術(shù)學(xué)院機(jī)電工程系 天津市 300350endprint
摘 要 本次設(shè)計的超聲波液位儀以STC89C52RC單片機(jī)為控制核心,重點(diǎn)對超聲波的發(fā)送電路、回波信號接收電路、按鍵及顯示電路等硬件的設(shè)計進(jìn)行了詳細(xì)的說明;軟件程序的編寫主要使用的是C語言。實現(xiàn)了數(shù)據(jù)采集與計算、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)濾波和系統(tǒng)抗干擾,及控制部分的邏輯判斷等功能。最后通過分別對各個硬件模塊和軟件模塊的調(diào)試,使設(shè)計的超聲波液位儀實現(xiàn)預(yù)計功能。
【關(guān)鍵詞】超聲波 液位儀 MCU 微控制器 PCB
在通常的工業(yè)生產(chǎn)工程中,液位測量的目是通過液面高度的測量來確定容器里的原材料、半成品或者產(chǎn)品的,用以保證生產(chǎn)過長的各個環(huán)節(jié)物料平衡以及給進(jìn)行經(jīng)濟(jì)核算提供可靠的依據(jù)。同時,在連續(xù)的生產(chǎn)過程中,為了維持正常生產(chǎn)、保證產(chǎn)品的質(zhì)量和產(chǎn)量,以及保證安全生產(chǎn)。所以,液位的監(jiān)測在工業(yè)生產(chǎn)過程中是相當(dāng)重要的。測量液位的儀表主要分為接觸式液位儀表與非接觸式液位儀表兩部分。而超聲波液位儀表,由于其結(jié)構(gòu)簡單、造價地低廉,在近些年里得到了廣泛的應(yīng)用。
1 設(shè)計簡述
所謂的超聲波是指人類聽不到的聲波,一般人的聽覺范圍是20Hz~20kHz,超出這個范圍的聲波正常人是聽不到的。通過聲波在碰到液面后反彈回來的時間來計算當(dāng)時液面具超聲波傳感器的距離,則液位公式為:
L為液面距超聲波傳感器的距離,c為超聲波在空氣中傳播的速度,T為從聲波發(fā)出到接收到回波的時間。
1.1 超聲波液位儀系統(tǒng)結(jié)構(gòu)
如圖1-1所示,該超聲波液位儀包括輸入部分、輸出部分以及控制部。
1.2 超聲波液位儀系統(tǒng)工作原理
將該超聲波傳感器安裝于待測容器的頂部,垂直于被測液面,當(dāng)發(fā)出的超聲波碰到被刺液體后回彈。這時一體化超聲波傳感器處于接受狀態(tài),等待接受反彈回來的超聲波,通過超聲波的發(fā)送到接收的時間來計算液面距容器頂端的距離。
1.2.1 液位測量與計算
系統(tǒng)工作時,單片機(jī)的定時器開始計時,同時通過單片機(jī)的I/O口發(fā)送一串頻率為40kHz的信號,信號經(jīng)過升壓中周發(fā)放大后通過一體化超聲波傳感器發(fā)送出去。當(dāng)單片機(jī)檢測的回波信號時,停止定時器,并將定時器中的數(shù)值讀出,根據(jù)系統(tǒng)的機(jī)器周期計算出超聲波傳播的時間T。
1.2.2 余波的處理
超聲波探頭將超聲波脈沖發(fā)送完畢后,并不是立即停止的,而是逐漸衰減,這一段衰減過程中所發(fā)送的波被稱作余波。
使用軟件手段屏蔽掉了余波的干擾。通常收發(fā)一體化超聲波傳感器的余波衰減時間為2ms,因此,在程序中發(fā)送完40kHz波后,我們利用循環(huán)延時2ms,之后再開始讓微處理器等待接收回波信號。而在延時的2ms內(nèi)返回的超聲波將被忽略,這樣一來,我們將無法檢測較近的距離,而這段無法被檢測的距離就是本液位儀的工作盲區(qū)。
2 硬件電路設(shè)計
2.1 控制部分
控制部分利用STC89C52RC單片機(jī)作為主控制芯片,負(fù)責(zé)超聲波輸出控制、超聲波回波信號接收處理、計算液面距超聲波探頭的距離、設(shè)置閥值輸出報警以及控制顯示部分輸出相關(guān)信息。
2.2 I/O口分配
P3.0和P3.1可用于串口通信、程序燒寫;而P1口則可以擴(kuò)展外接其他拓展模塊。
P3.6和P3.7口分別接CSBIN(超聲波信號輸入),用來接收回波通過處理后的有效電平信號;CSBOUT(超聲波信號輸出),用來輸出脈沖信號,是超聲波傳感器發(fā)出40kHz波。
P0口連接LCD1602(液晶顯示器)的數(shù)據(jù)口,P2.0~P2.2接LCD1602的三個控制口,P2.3接LCD1602的背光控制。
P2.4~P2.6口分別接三個按鍵輸入;P2.7口作為控制繼電器的信號輸出口,用于控制繼電器的開、閉。
2.3 按鍵與繼電器控制電路
按鍵、繼電器控制電路,獨(dú)立按鍵的按下將低電平引入單片機(jī)I/O口。而當(dāng)KA為“0”時,PNP管導(dǎo)通,繼電器線圈得電,觸點(diǎn)動作。
這里選用PNP型三極管是因為單片機(jī)復(fù)位后,I/O口為高電平,如果使用NPN型三極管則會照成系統(tǒng)上電后繼電器會閉合一下,這樣對設(shè)備有害同時可能照成安全事故。
在繼電器線圈的兩端并入二極管DK1(1N4007)起到了對繼電器的保護(hù)作用。
2.4 超聲波信號發(fā)送及接收部分
發(fā)送部分電路主要用到了超聲波專用中周變壓器將單片機(jī)I/O口發(fā)出的激勵脈沖升壓后供給超聲波探頭,使其發(fā)送出與激勵脈沖相同頻率的超聲波。接受部分的電路中用了NE5532高性能低噪聲雙運(yùn)算放大器。由于NE5532的工作電壓至少為6V時,才能穩(wěn)定的工作,由于超聲波是一個交流信號,D5的作用就是將負(fù)半周期的信號通過GND消除,只保留正信號。信號通過BG2放大后進(jìn)入NE5532,又經(jīng)過濾波放大、比例微分后輸出。
3 軟件設(shè)計
首先由單片機(jī)發(fā)出 50KHz 的脈沖串,每八個脈沖為一組,脈沖串通過超聲波發(fā)射電路驅(qū)動超聲波換能器發(fā)出超聲波,單片機(jī)在發(fā)送脈沖的同時開始計時;超聲波遇到障礙物后的回波經(jīng)過放大、轉(zhuǎn)化等處理傳回單片機(jī),這樣就得到了超聲波在空氣中的傳輸時間,然后在中斷程序中根據(jù)測出的時間計算出距離。完成后發(fā)出下一組脈沖。利用定時器計算出采樣時間,通過前后兩次液位差值與前后兩次檢測的時間,可以算出液位增長的速度。
從實際產(chǎn)品的角度來看,本文設(shè)計的超聲波測距儀還有需要進(jìn)一步完善和改進(jìn)的地方,主要表現(xiàn)在以下幾個方面:
(1)由于溫度對超聲波的傳播有一定的影響,所以如果加入溫度傳感器,測得儲蓄罐內(nèi)的溫度,在通過所得的溫度對超聲波進(jìn)行溫度補(bǔ)償,這樣能提高儀表的精確度。
(2)為了使超聲波液位計能夠檢測到從較遠(yuǎn)處反射回來的超聲波,需要進(jìn)一步完善修改硬件電路,提高硬件電路的抗干擾能力和對微弱信號的放大倍數(shù),提高超聲波液位計的測量范圍和測量的精度。
(3)如果將本設(shè)計中的儀表用于工業(yè)控制上,可能出現(xiàn)問題,比如,現(xiàn)在的工業(yè)控制基本上是現(xiàn)場和人員分離的,為了方便使用,在本設(shè)計余留的I/O接口上可以接上無線模塊,和模塊間的通信盡量使用SPI,因為這樣不占用串口資源,而串口這可以用來和上位機(jī)通信。
作者單位
天津現(xiàn)代職業(yè)技術(shù)學(xué)院機(jī)電工程系 天津市 300350endprint