張凱
(鄭州鐵路職業技術學院,河南鄭州,451460)
根據項目需求,經仔細分析計算,充分考慮各種因素,制定整體方案如下。方案采用STC12C5A60S2 為控制核心,通過步進電機和U 型導軌來控制小球運動,利用精密電位器來采集導軌的角度,采用128 組紅外對管來實時采集小球的位置。系統整體方框圖如圖1 所示。
STC12C5A60S2 系列單片機是宏晶科技生產的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,但速度快8-12倍。內部集成MAX810 專用復位電路,2 路PWM,8 路高速10 位A/D 轉換(250K/S),針對電機控制,強干擾場合。其最小系統如圖2 所示。

圖1 系統整體框圖

圖2 單片機最小系統

圖3 小球位置檢測電路
第一版本使用的是HX711 稱重傳感器來做的,在實際測試中發現小球運動過程中,壓力變化數制太小,測量精度達不到。后來在U 型導軌上采用128 對紅外對管來采集小球的位置信息,紅外對管有靈敏度高,響應快等優點,經過測試完全滿足項目需求。其電路如圖3 所示。
電源供電常用的有線性直流穩壓電源,開關電源,蓄電池等等。本系統需要供電的模塊有單片機,液晶,紅外對管,導電塑料電位器(5V),步進電機(12V)等多輸出電壓形式。
為了更好的實現項目的要求,我們采用5V 線性電源為主控和傳感器模塊供電,采用12V開關電源為步進電機供電。線性電源紋波小,減少了對傳感器的干擾,開關電源功率大,保證步進電機的響應速度。5V 線性電源我采用78L05 芯片來產生,12V 開關電源我們采用LM2596-12V 來產生,其電路如圖4 所示。

圖4 電源電路
導軌的運動采用兩相步進電機控制。步進電機具有誤差不長期積累、精度高、控制方便等優點。通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。這里我們采用TA8435H 來驅動步進電機。TA8435H 是東芝公司生產的單片正弦細分二相步進電機驅動專用芯片,該芯片供電電壓范圍寬,功率大,外圍電路簡單等優點。
界面顯示我們采用液晶12864。該液晶可以顯示豐富的內容,既能夠顯示數字、漢字甚至顯示圖形,而且顯示界面穩定可切換界面,不需要外圍電路,且自帶字庫能顯示漢字,控制方便,耗能較低,顯示內容豐富。
采用導電塑料電位器作為角度傳感器。硬件上采用一個1%精度的電阻與角度傳感器串聯。不同的角度對應的角度傳感器的電壓不同,根據線性關系,采用高精度ADC 來采集傳感器電壓的變化。通過采集不同角度對應的電壓建立一個電壓-角度對照表。通過該表格我們可以實時檢測導軌的角度,并根據相應的趨勢,及時調整導軌角度。
當小球運動超出預期的位置或者小球掉落需要進行聲光報警提示。聲光報警電路我們采用8550 三極管構成共射極放大電路來驅動。當小球失控掉落時會觸發軌道盡頭的微動開關,從而放大電路驅動報警電路工作。
根據題目要求,軟件部分主要有鍵盤子程序,電機控制子程序,AD 采集子程序,紅外對管掃描子程序。軟件部分通過鍵盤設置小球運動的參數后,通過步進電機控制U 型導軌角度,紅外對管檢測小球位置。這樣既有采集,也有反饋從而構成一個閉環來精確控制小球的運動軌跡。

圖5 程序流程圖
采用多組紅外對管進行實時掃描檢測。即軌道上均勻排布128 對紅外對管,將128 對紅外對管分為16 組,每8 對一組進行控制,用單片機上的8 個IO 口控制多組紅外發射管進行動態掃描,8 個IO 口監測紅外接收管狀態。這就類似于數碼管的動態掃描顯示,只要掃描速率足夠快,就能實時檢測到哪些紅外對管被遮擋,從而確定小球的位置。紅外對管在導軌上每5 毫米一對,可以較為精確檢測小球所在位置監測小球所處的位置。能將小球的距離精確到1cm 范圍內。
采用精密導電塑料電位器作為角度傳感器,電阻的范圍是0-5k,線性度0.1%。該角度傳感器具有線性度好,相應速度塊等優點。將導軌與該電位器軸連接實現同步運動,導軌轉動帶動傳感器轉動,通過高精度ADC 采集角度傳感器上電壓的變化,從而得出阻值的變化,最終通過線性關系轉換得到角度數據。
根據題意要求,在基本要求中,采用開環控制。在發揮部分,采用閉環控制。為使系統能夠快速的響應并調整誤差量,減小系統的抖動,提高控制精度,閉環控制回路采用增量式PID 控制算法。
增量式PID 控制算法原理:

圖6
圖6 是直流電機的調速系統,給定的轉速No(t)與實際的轉速N(t)相比較,得出的偏差值 E(t)=No(t)-N(t),經過PID 控制器計算后輸出控制電壓U(t),驅動電機改變其轉速。
以T 作為采樣的周期,k 為采樣信號,以離散采集點kT(k=0,1,2,3,.......) 對應著連續的時間t 上的每一時刻,采用求和的形式代替積分;用增量的形式代替微分,具體的公式如下:

兩式相減并整理得出:

程序每隔一段時間采樣一次,更新一次Uk 值,電機的轉速將恒定在給定的轉速上,當實際角度不等于設定角度時,通過自動控制PWM 進行調節電機轉速。
在系統設計過程中,硬件力求最簡,軟件盡量做到穩定。由于前期主控選擇不合理,掃描數碼管頻率不夠,導致小球位置掃描有一定的延遲,存在一定的誤差。最終通過理論建模加上實際測試,最終完成題目的基本要求和發揮部分的80%要求,并取得全國二等獎的好成績。