張凱
(鄭州鐵路職業(yè)技術(shù)學(xué)院,河南鄭州,451460)
根據(jù)項目需求,經(jīng)仔細(xì)分析計算,充分考慮各種因素,制定整體方案如下。方案采用STC12C5A60S2 為控制核心,通過步進電機和U 型導(dǎo)軌來控制小球運動,利用精密電位器來采集導(dǎo)軌的角度,采用128 組紅外對管來實時采集小球的位置。系統(tǒng)整體方框圖如圖1 所示。
STC12C5A60S2 系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810 專用復(fù)位電路,2 路PWM,8 路高速10 位A/D 轉(zhuǎn)換(250K/S),針對電機控制,強干擾場合。其最小系統(tǒng)如圖2 所示。
圖1 系統(tǒng)整體框圖
圖2 單片機最小系統(tǒng)
圖3 小球位置檢測電路
第一版本使用的是HX711 稱重傳感器來做的,在實際測試中發(fā)現(xiàn)小球運動過程中,壓力變化數(shù)制太小,測量精度達不到。后來在U 型導(dǎo)軌上采用128 對紅外對管來采集小球的位置信息,紅外對管有靈敏度高,響應(yīng)快等優(yōu)點,經(jīng)過測試完全滿足項目需求。其電路如圖3 所示。
電源供電常用的有線性直流穩(wěn)壓電源,開關(guān)電源,蓄電池等等。本系統(tǒng)需要供電的模塊有單片機,液晶,紅外對管,導(dǎo)電塑料電位器(5V),步進電機(12V)等多輸出電壓形式。
為了更好的實現(xiàn)項目的要求,我們采用5V 線性電源為主控和傳感器模塊供電,采用12V開關(guān)電源為步進電機供電。線性電源紋波小,減少了對傳感器的干擾,開關(guān)電源功率大,保證步進電機的響應(yīng)速度。5V 線性電源我采用78L05 芯片來產(chǎn)生,12V 開關(guān)電源我們采用LM2596-12V 來產(chǎn)生,其電路如圖4 所示。
圖4 電源電路
導(dǎo)軌的運動采用兩相步進電機控制。步進電機具有誤差不長期積累、精度高、控制方便等優(yōu)點。通過控制脈沖個數(shù)來控制角位移量,從而達到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達到調(diào)速的目的。這里我們采用TA8435H 來驅(qū)動步進電機。TA8435H 是東芝公司生產(chǎn)的單片正弦細(xì)分二相步進電機驅(qū)動專用芯片,該芯片供電電壓范圍寬,功率大,外圍電路簡單等優(yōu)點。
界面顯示我們采用液晶12864。該液晶可以顯示豐富的內(nèi)容,既能夠顯示數(shù)字、漢字甚至顯示圖形,而且顯示界面穩(wěn)定可切換界面,不需要外圍電路,且自帶字庫能顯示漢字,控制方便,耗能較低,顯示內(nèi)容豐富。
采用導(dǎo)電塑料電位器作為角度傳感器。硬件上采用一個1%精度的電阻與角度傳感器串聯(lián)。不同的角度對應(yīng)的角度傳感器的電壓不同,根據(jù)線性關(guān)系,采用高精度ADC 來采集傳感器電壓的變化。通過采集不同角度對應(yīng)的電壓建立一個電壓-角度對照表。通過該表格我們可以實時檢測導(dǎo)軌的角度,并根據(jù)相應(yīng)的趨勢,及時調(diào)整導(dǎo)軌角度。
當(dāng)小球運動超出預(yù)期的位置或者小球掉落需要進行聲光報警提示。聲光報警電路我們采用8550 三極管構(gòu)成共射極放大電路來驅(qū)動。當(dāng)小球失控掉落時會觸發(fā)軌道盡頭的微動開關(guān),從而放大電路驅(qū)動報警電路工作。
根據(jù)題目要求,軟件部分主要有鍵盤子程序,電機控制子程序,AD 采集子程序,紅外對管掃描子程序。軟件部分通過鍵盤設(shè)置小球運動的參數(shù)后,通過步進電機控制U 型導(dǎo)軌角度,紅外對管檢測小球位置。這樣既有采集,也有反饋從而構(gòu)成一個閉環(huán)來精確控制小球的運動軌跡。
圖5 程序流程圖
采用多組紅外對管進行實時掃描檢測。即軌道上均勻排布128 對紅外對管,將128 對紅外對管分為16 組,每8 對一組進行控制,用單片機上的8 個IO 口控制多組紅外發(fā)射管進行動態(tài)掃描,8 個IO 口監(jiān)測紅外接收管狀態(tài)。這就類似于數(shù)碼管的動態(tài)掃描顯示,只要掃描速率足夠快,就能實時檢測到哪些紅外對管被遮擋,從而確定小球的位置。紅外對管在導(dǎo)軌上每5 毫米一對,可以較為精確檢測小球所在位置監(jiān)測小球所處的位置。能將小球的距離精確到1cm 范圍內(nèi)。
采用精密導(dǎo)電塑料電位器作為角度傳感器,電阻的范圍是0-5k,線性度0.1%。該角度傳感器具有線性度好,相應(yīng)速度塊等優(yōu)點。將導(dǎo)軌與該電位器軸連接實現(xiàn)同步運動,導(dǎo)軌轉(zhuǎn)動帶動傳感器轉(zhuǎn)動,通過高精度ADC 采集角度傳感器上電壓的變化,從而得出阻值的變化,最終通過線性關(guān)系轉(zhuǎn)換得到角度數(shù)據(jù)。
根據(jù)題意要求,在基本要求中,采用開環(huán)控制。在發(fā)揮部分,采用閉環(huán)控制。為使系統(tǒng)能夠快速的響應(yīng)并調(diào)整誤差量,減小系統(tǒng)的抖動,提高控制精度,閉環(huán)控制回路采用增量式PID 控制算法。
增量式PID 控制算法原理:
圖6
圖6 是直流電機的調(diào)速系統(tǒng),給定的轉(zhuǎn)速No(t)與實際的轉(zhuǎn)速N(t)相比較,得出的偏差值 E(t)=No(t)-N(t),經(jīng)過PID 控制器計算后輸出控制電壓U(t),驅(qū)動電機改變其轉(zhuǎn)速。
以T 作為采樣的周期,k 為采樣信號,以離散采集點kT(k=0,1,2,3,.......) 對應(yīng)著連續(xù)的時間t 上的每一時刻,采用求和的形式代替積分;用增量的形式代替微分,具體的公式如下:
兩式相減并整理得出:
程序每隔一段時間采樣一次,更新一次Uk 值,電機的轉(zhuǎn)速將恒定在給定的轉(zhuǎn)速上,當(dāng)實際角度不等于設(shè)定角度時,通過自動控制PWM 進行調(diào)節(jié)電機轉(zhuǎn)速。
在系統(tǒng)設(shè)計過程中,硬件力求最簡,軟件盡量做到穩(wěn)定。由于前期主控選擇不合理,掃描數(shù)碼管頻率不夠,導(dǎo)致小球位置掃描有一定的延遲,存在一定的誤差。最終通過理論建模加上實際測試,最終完成題目的基本要求和發(fā)揮部分的80%要求,并取得全國二等獎的好成績。