楊 紅
(清遠(yuǎn)職業(yè)技術(shù)學(xué)院機(jī)電工程學(xué)院,廣東清遠(yuǎn) 511510)
當(dāng)前是數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的時(shí)代,單片機(jī)控制技術(shù)與人們的生活越來(lái)越密切,例如檢測(cè)管道內(nèi)鋼珠運(yùn)動(dòng)裝置。在工業(yè)生產(chǎn)中,鋼珠運(yùn)動(dòng)測(cè)量裝置可以實(shí)現(xiàn)自動(dòng)工件的計(jì)數(shù)、自動(dòng)測(cè)量工件的運(yùn)動(dòng)方向、測(cè)量工件的運(yùn)動(dòng)速度和轉(zhuǎn)動(dòng)速度、測(cè)量工件在管道上的傾斜角度等。
檢測(cè)管道內(nèi)鋼珠運(yùn)動(dòng)裝置項(xiàng)目采用2 個(gè)電感式金屬傳感器檢測(cè)鋼珠經(jīng)過(guò)的個(gè)數(shù),判斷鋼珠的運(yùn)動(dòng)方向,計(jì)算管道內(nèi)鋼珠的運(yùn)動(dòng)速度與管道傾角之間的關(guān)系,計(jì)算出管道與地面的傾斜角度。采用矩陣按鍵切換不同的檢測(cè)模式,采用液晶屏LCD12864 顯示鋼珠個(gè)數(shù),鋼珠運(yùn)動(dòng)方向,鋼珠管道的傾斜角度。
因此,設(shè)計(jì)內(nèi)容主要有4 個(gè)方面。
(1)物體運(yùn)動(dòng)—工件計(jì)數(shù)。放入2~10 粒鋼珠,每粒鋼珠放入的時(shí)間間隔≤2 s,要求裝置能顯示出放入鋼珠的個(gè)數(shù)。
(2)運(yùn)動(dòng)方向—往返周期。從高端放入1 粒鋼珠,要求能顯示鋼珠的運(yùn)動(dòng)方向。
(3)連續(xù)運(yùn)動(dòng)。一次連續(xù)倒入2~10 粒鋼珠,要求裝置能顯示倒入的鋼珠數(shù)量。
(4)角度測(cè)量。傾斜放置管道放入1 粒鋼珠,要求裝置能夠顯示傾斜角的角度。
方案1:采用STC89C52 型單片機(jī)作為系統(tǒng)的控制器。STC89C52 作為最常用的單片機(jī),其軟件編程靈活、自由度大,可用軟件編程實(shí)現(xiàn)各種算法和邏輯控制看,但其片上資源少,運(yùn)算速度相對(duì)較慢。
方案2:采用STC15F2K60S2 型單片機(jī)作為系統(tǒng)的主控制器,不需要外部晶振和外部復(fù)位的單片機(jī),內(nèi)部高精度R/C 時(shí)鐘(±0.3%),速度比型號(hào)為8051 的內(nèi)核單片機(jī)快7~12 倍。內(nèi)部資源豐富,內(nèi)部集成了8 通道高速10 位A/D(Analog to Digital,模擬轉(zhuǎn)數(shù)字)轉(zhuǎn)換器,SPI(Serial Peripheral Interface,串行外設(shè)接口)通信接口,多個(gè)UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)接口,PWM(Pulse Width Modulation,脈沖寬度調(diào)制)接口,多個(gè)外部中斷接口、支持芯片內(nèi)部EEPROM 儲(chǔ)存,PCA(Programmable Counter Array,可編程計(jì)數(shù)器陣列)捕獲/比較功能等。
由于本系統(tǒng)對(duì)角度的精度要求比較高,處理數(shù)據(jù)速度要快,因此STC89C52 單片機(jī)不適用,本系統(tǒng)最終選擇方案2。
方案1:采用LCD12864 液晶模塊。該液晶模塊顯示內(nèi)容豐富,自帶中文字庫(kù),可以顯示簡(jiǎn)單的字符、文字和數(shù)字,容易編程實(shí)現(xiàn)且顯示效果好。
方案2:采用LCD1602 液晶模塊。該模塊價(jià)格低但顯示效果簡(jiǎn)單,字母、數(shù)字只能顯示16×2 個(gè)。
方案3:利用2 組4 位的數(shù)碼管組成一個(gè)8 位顯示的數(shù)碼管。該方法編程比較簡(jiǎn)單,成本比LCD1602、LCD12864 低很多,但需要占用單片機(jī)的IO(Input/Output,輸入/輸出)引腳比較多。
由于該設(shè)計(jì)方案IO 口資源比較緊缺、同時(shí)需要顯示的內(nèi)容比較豐富。綜合以上原因,最后選擇方案1,采用LCD12864 液晶模塊作為本次設(shè)計(jì)的顯示模塊。
方案1:采用電感式金屬傳感器測(cè)量鋼珠運(yùn)動(dòng)。它有行程開(kāi)關(guān)、微動(dòng)開(kāi)關(guān)的特性,動(dòng)作可靠,性能穩(wěn)定,頻率響應(yīng)快,應(yīng)用壽命長(zhǎng),抗干擾能力強(qiáng)等。
方案2:采用霍爾磁性傳感器?;魻栯妷弘S磁場(chǎng)強(qiáng)度的變化而變化,磁場(chǎng)越強(qiáng),電壓越高,磁場(chǎng)越弱,電壓越低。
由于霍爾傳感器的輸出是與磁場(chǎng)的強(qiáng)度有關(guān),抗干擾的能力沒(méi)有電感式金屬傳感器好,出于穩(wěn)定性考慮,選擇方案1。
鋼珠運(yùn)動(dòng)測(cè)量裝置的硬件電路由單片機(jī)最小系統(tǒng)、傳感器模塊、電源供電模塊、液晶屏顯示模塊、按鍵模塊組成。單片機(jī)最小系統(tǒng)提供STC15F2K60S2 型單片機(jī)的正常運(yùn)行,傳感器模塊提供設(shè)計(jì)數(shù)據(jù)的檢測(cè),電源供電模塊為整個(gè)單片機(jī)的電路提供電源,顯示模塊提供最終檢測(cè)數(shù)據(jù)的顯示,按鍵模塊提供不同測(cè)試模式的切換。
2.5.1 電感式金屬接近傳感器電路
本設(shè)計(jì)選擇電感式金屬接近傳感器電路LI18 A3-8-Z/BX作為檢測(cè)傳感器,電感式接近開(kāi)關(guān)內(nèi)部電路包含振蕩器電路部分、控制電路部分、射極輸出部分組成。
2.5.2 電感式金屬接近傳感器電路工作原理
電感式金屬接近傳感器電路是一種利用渦流感知物體接近的接近開(kāi)關(guān),由高頻震蕩電路、檢波電路、放大電路、整形電路及輸出電路組成。感知敏感元件為檢測(cè)線圈,是振蕩電路的一個(gè)組成部分,在檢測(cè)線圈的工作上存在一個(gè)變量磁場(chǎng)。當(dāng)鋼珠(金屬物體)接近線圈時(shí),金屬物體就會(huì)產(chǎn)生渦流而吸收振蕩能量,通過(guò)信號(hào)比較電路后經(jīng)過(guò)檢測(cè)輸出電路輸出開(kāi)關(guān)信號(hào)。
2 個(gè)電感式金屬接近傳感器電路的輸出引腳與分別連接到單片機(jī)的外部中斷0、外部中斷1(P32、P33)口,物體運(yùn)動(dòng)—工件計(jì)數(shù)的程序設(shè)計(jì)只需要使用其中的一個(gè)電感式金屬接近傳感器。單片機(jī)采用外部中斷檢測(cè)的方式對(duì)鋼珠個(gè)數(shù)進(jìn)行計(jì)算,當(dāng)電感式金屬接近傳感器沒(méi)有檢測(cè)到鋼珠的時(shí)候持續(xù)輸出高電平,當(dāng)檢測(cè)到有鋼珠的時(shí)候,單片機(jī)會(huì)檢測(cè)到一個(gè)下降沿的信號(hào),單片機(jī)會(huì)進(jìn)入外部中斷的函數(shù),對(duì)鋼珠的個(gè)數(shù)進(jìn)行自加1。
運(yùn)動(dòng)方向:初始化2 個(gè)金屬傳感器的狀態(tài)位,當(dāng)其中一個(gè)金屬傳感器最先接收到鋼珠的信號(hào)后,把對(duì)應(yīng)傳感器的轉(zhuǎn)態(tài)位置1,隨后當(dāng)檢測(cè)到另外一個(gè)電感式金屬接近傳感器也接收中斷信號(hào)的時(shí)候,通過(guò)2 個(gè)金屬傳感器接收鋼珠信號(hào)的時(shí)間差可以判斷出鋼珠的運(yùn)動(dòng)方向。
往返周期:初始化2 個(gè)金屬傳感器的狀態(tài)位,當(dāng)進(jìn)入外部中斷后判斷當(dāng)前狀態(tài)是否是設(shè)定設(shè)定的金屬傳感器的狀態(tài)。當(dāng)傳感器進(jìn)入中斷后把金屬傳感器的轉(zhuǎn)態(tài)位取反。當(dāng)金屬傳感器的轉(zhuǎn)態(tài)再次為0 的時(shí)候,判斷為鋼珠往返一個(gè)周期。
當(dāng)金屬傳感器檢測(cè)到單鋼珠的時(shí)候,會(huì)產(chǎn)生一個(gè)持續(xù)時(shí)間為T(mén) 的低電平,如果低電平持續(xù)的時(shí)間為2T,說(shuō)明2 個(gè)鋼珠連續(xù)經(jīng)過(guò)金屬創(chuàng)感器,鋼珠的連續(xù)運(yùn)動(dòng),可以判斷低電平的時(shí)間來(lái)判斷鋼珠經(jīng)過(guò)的個(gè)數(shù)。
方案1:產(chǎn)生當(dāng)金屬傳感器檢測(cè)到鋼珠定時(shí)器開(kāi)始計(jì)時(shí),儲(chǔ)存20 s 內(nèi)金屬傳感器每次低電平持續(xù)的時(shí)間,20 s 后單片機(jī)取低電平持續(xù)時(shí)間最短的時(shí)間T 作為單個(gè)鋼珠經(jīng)過(guò)金屬傳感器的時(shí)間。以該時(shí)間為基準(zhǔn),1.8T≤低電平持續(xù)的時(shí)間≤2.1T 時(shí),說(shuō)明該脈沖是由連續(xù)2 個(gè)鋼珠經(jīng)過(guò)所產(chǎn)生。該方法比較簡(jiǎn)單同時(shí)也軟件程序也比較容易能夠?qū)崿F(xiàn),但是有一個(gè)不定的因素:假如有多個(gè)鋼珠全部連在一起,只產(chǎn)生一個(gè)脈沖的時(shí)候會(huì)出現(xiàn)計(jì)算錯(cuò)誤。
方案2:距離ST1和距離ST2是固定不變的,當(dāng)鋼珠的加速度只與角度有關(guān),所以鋼珠運(yùn)動(dòng)的加速度相同,ST1和ST2運(yùn)動(dòng)的起始位置一樣,運(yùn)動(dòng)的初速度相同。由此可知,T1與T2存在一個(gè)線性關(guān)系,T2為單個(gè)鋼珠經(jīng)過(guò)金屬傳感器產(chǎn)生低電平的時(shí)間,T1是鋼珠從第一金屬傳感器到第二個(gè)金屬傳感器的時(shí)間。單片機(jī)可以通過(guò)計(jì)算鋼珠從第一金屬傳感器到第二個(gè)金屬傳感器的時(shí)間,反推單個(gè)小球經(jīng)過(guò)金屬傳感器時(shí)產(chǎn)生低電平的時(shí)間。經(jīng)過(guò)深刻討論,發(fā)現(xiàn)(20/T1)和T2得到的關(guān)系曲線更能滿足理想狀態(tài),為(20/T1)和T2之間的關(guān)系。
ST1=v0t+at2/2,鋼珠是從靜止?fàn)顟B(tài)放入管道中,到金屬傳感器前的速度v0和加速度有關(guān),ST1的距離不變、加速度與管道的角度有關(guān),由此推斷出可以通過(guò)測(cè)量時(shí)間T1來(lái)推斷出管道的傾斜角度。通過(guò)大量的測(cè)量數(shù)據(jù)證實(shí)了這一想法,把測(cè)量的數(shù)據(jù)通過(guò)MATLAB 把測(cè)量得到的數(shù)據(jù)擬合成一條曲線公式。這樣,如果已知單片機(jī)通過(guò)測(cè)量時(shí)間T1,則可以通過(guò)擬合曲線公式反推出管道傾斜的角度。