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