羅 帆,汪 諍,陶一銘
(蘭州交通大學 機電工程學院,蘭州730070)
與人工進樣相比,自動進樣系統在連續進樣、樣品進樣精度、提高進樣效率等方面具有很大優勢,如今越來越廣泛用于自動化實驗設備[1-2]。本文設計了一種基于單片機控制的自動進樣機,主要控制三路步進電機來實現,兩路控制進樣管在X、Y 平面內移動來實現定位[3],另一路控制蠕動泵流量的大小,這些過程通過軟件控制,以此來實現樣液在進取的過程中的精準度。進樣的狀態可通過數碼管顯示,并采用按鍵控制來改變進樣的需求。
單片機是基于STC12C5A60S2 的微處理器。步進電機導軌滑臺由步進電機1 帶動,傳送帶由步進電機2 帶動,蠕動泵由步進電機3 帶動[4-6]。單片機首先控制步進電機1 通過滑臺移動帶動進樣管沿Y軸向下移動,當觸碰到限位開關時停止,步進電機3控制蠕動泵進行樣液流量進給,進樣完畢步進電機1 帶動進樣管向上移動, 步進電機2 帶動傳送帶使實驗樣品在X 軸上移動,送走進樣好的樣品,以此循環。進樣的循環次數以及樣液進給量通過數碼管顯示,采用按鍵模塊對其參數進行改變,以方便用戶使用。控制系統圖如圖1所示。

圖1 控制系統框圖Fig.1 Control system block diagram
該系統電路包括:單片機控制電路,按鍵控制電路,數碼管顯示電路,降壓穩壓電路,限位開關控制電路,單片機時鐘電路,單片機復位電路。總電路圖如圖2所示。

圖2 系統總電路圖Fig.2 General circuit diagram of the system
2.1.1 步進電機驅動方式
為了降低成本,步進電機模塊控制采用市場上已有的模塊, 其中步進電機1 與步進電機2 采用DVR8825 模塊驅動控制。控制蠕動泵流量的步進電機用DM542 驅動模塊控制,DM542 驅動模塊的接法有共陰極接法與共陽極接法,本系統采用共陽極接法。
2.1.2 蠕動泵流量的理論計算
蠕動泵主要由驅動器、泵頭、泵管和控制器組成,泵頭主要由泵殼和轉輥子組成[7-9]。本系統采用蠕動泵管內徑為1.6 mm, 泵殼圓周節圓直徑約為18.0 mm。如圖3所示,輥子從位置A 轉動到位置B,輸送流體量約為AB 段圓弧泵管內儲蓄的流體量[10-11],即:

圖3 蠕動泵流量計算圖Fig.3 Peristaltic pump flow calculation diagram

式中:D 為泵殼圓周節圓直徑(m);d 為泵管直徑(m);Δq 為圓弧AB 段內流體的體積(m3);θ 為轉子轉動的角度(rad)。
棍子旋轉1 圈,流量輸出為2π/θ 個Δq,即:

式中:q 為蠕動泵的排量(m3)。
蠕動泵流量如下:

式中:Q 為蠕動泵流量(m3/min);v 為蠕動泵轉速(r/min)。
由圖可知, 蠕動泵的流量大小只與其轉動速度、泵管的內徑和泵殼圓周結緣直徑有關。
2.1.3 蠕動泵流量優化
在實際應用中,為了提高蠕動泵工作效率,盡量使其以最高速度轉動,但是步進電機可能因為由于自身系統機械結構等因素,直接達到最高速度會有失步、超頻或者嘯叫等情況,對蠕動泵流量精確度輸出上造成影響。為保證蠕動泵流量傳輸精度本系統對步進電機3 控制上進行梯形加減速算法,先使步進電機3 勻加速到最大速度,快運行到目標值時再減速到零[12-15],模型如圖4所示。

圖4 速度曲線模型Fig.4 Schematic diagram of speed
從模型中可以看出算法一共分為3 段,OA 為勻加速階段,AB 為勻速部分,BC 為減速部分,在OA 加速階段,由低于步進電機啟動頻率開始,以固定加速到目標值,在AB 部分以最大速度勻速運動,BC 部分以加速度不變減速到0。可分為以下2種情況:
情況1:持續加速到最大速度然后減速到零,如圖5所示。

圖5 速度曲線模型1Fig.5 Schematic diagram of speed 1
根據速度與路程公式:

式中:x 為走過路程的長度;v2為末速度;v20為初速度;a 為加速度。
步進電機的轉動角度與步距角公式:

式中:θ 為轉動角度;n 為脈沖數;α 為步距角。
可得到從零到最大速度所需脈沖數:

式中:n1為從零到最大速度所需脈沖數;為最大轉動速度;a1為從零到最大速度的加速度。
步進電機開始減速從最大速度到零所需脈沖數:

式中:n2為從最大速度到零所需脈沖數;a2為從最大速度到零的加速度。
情況2: 速度未達到最大速度之前就需要開始減速,如圖6所示。

圖6 速度曲線模型2Fig.6 Schematic diagram of speed 2
到達速度頂點所需脈沖數:

式中:step 為總步數。
減速到零所需要脈沖數:

本系統只涉及到4 個按鍵,采用獨立按鍵。電路圖如圖7所示,單片機IO 口通過按鍵直接接地,當按鍵被按下時,IO 口被下拉輸出低電平。按鍵K1用來控制進給量的增加,最高可增加90 ml;按鍵K2用來控制進給量的降低,最低可降低20 ml;按鍵K3用來控制進給次數,進給次數設置是單向,最高可設置為進給9 次,當進給次數設置到9 次時,再按一下K3又回到1 次; 按鍵K4用來控制開始與停止進給。當電源接通,系統處于停止狀態,先設置好進給次數與進給量,然后按下K4系統啟動,在沒再次按下K4按鍵使系統停止的情況下,系統進給完成后將自動停止。

圖7 按鍵電路Fig.7 Button circuit
行程開關主要是用來限制機械部件運動的行程或者位置,從而達到機械部件能夠按一定的行程或者位置自動停止,反向運動,變速運動或自動往返運動等。本系統行程開關主要用來控制步進電機1 的行程, 當步進電機1 沿Y 軸向下移動到最底端觸碰到開關時停止運行。電路圖如圖8所示。

圖8 限位開關電路Fig.8 Limit switch circuit
本系統LED 數碼管采用動態顯示。動態顯示是單片機需要逐一且不斷掃描數碼管來控制數碼管的顯示狀態,利用人類肉眼世界停留時間,每一位數碼管顯示時間必須在1~2 ms。需要通過段選與位選一起控制,段選是將多段數碼管相同極性連接在一起,采用P0 口控制,位選是將每位數碼管分離出來進行控制,采用P2 口控制。本系統采用共陽極設計,位選為低電平時數碼管顯示,共有4 位7 段數碼管,第1 位顯示進給次數,第3 位與第4 位顯示進給容量。電路圖設計如圖9所示。

圖9 數碼管顯示電路Fig.9 Digital tube display circuit
穩壓電路采用LM2576 芯片設計, 電路圖如圖10所示[16]。

圖10 降壓穩壓電路Fig.10 Voltage regulator circuit
基于單片機的自動進樣系統軟件設計主要包括3 個部分:啟動停止程序,步進電機運行程序,數碼管顯示與按鍵控制程序。
(1)啟動停止程序也是主程序,接通電源,系統先讀取EEPROM 中的初始數據,初始數據設置為進給1 次,進給量20 ml,流程如圖11所示。

圖11 主程序流程Fig.11 Main program flow chart
(2)步進電機運行流程如圖12所示。

圖12 步進電機運行流程Fig.12 Stepper motor operation flow chart
(3)采用數碼管顯示,搭配按鍵輸入控制。按鍵在閉合和斷開時,觸電會存在抖動現象,抖動時間由按鍵機械特性決定,一般為5 ms~10 ms,所以在軟件設計時需要采用延時方法進行去抖動設計,流程如圖13所示。

圖13 數碼管顯示流程Fig.13 Digital tube display flow chart
采用稱重法測量在不同進給量的情況下樣液的理論測量值與實際值的誤差。測試表如表1所示。

表1 蠕動泵流量測試值Tab.1 Test value of peristaltic pump flow
本文設計了基于單片機的自動進樣系統。在實際應用中,實現了自動進樣、連續進樣、樣品容量檢測等功能,并且在連續進樣次數、樣品進給量上可進行設置,增加了自動進樣的靈活性,同時在樣品進樣精度、提高進樣效率、降低時間成本與人工投入等方面具有很大優勢,符合自動化實驗設備發展的趨勢。