魯杰爽
LU Jie-shuang
(湖北職業(yè)技術學院 機電工程學院,孝感 432000 )
生物組織自動脫水機是醫(yī)院病理科的常用制片設備。溫度測控和步進電機的精確控制是生物組織自動脫水機設計中最重要的兩個技術問題。本文將從這兩個方面介紹其改進設計。
自動脫水機要求在浸蠟工作過程中保持恒溫,通常溫度為60℃!65℃。溫度測量與控制的基本要求是溫度控制準確、操作簡單和可靠性高。
溫度傳感器很多,具有各自的優(yōu)缺點和適用場合。集成溫度傳感器AD590是電流輸出,測溫線性好,但需設計變送器電路進行電流電壓轉換和信號放大,尤其實際使用時還需要進行校準,帶來了不便。
在改進設計中我們采用了LM35溫度傳感器,其額定工作溫度為-50℃!+150℃,測量精度較高,它的輸出電壓與攝氏溫度成正比,電壓靈敏度為+10mv/ 。LM35無需作任何調整或校準,在實際使用上非常方便,其外圍工作電路簡單,可靠性很高。設計的溫度測量電路如圖1所示。
由于LM35輸出信號為電壓信號,無需進行電流電壓轉換,為了提高電路可靠性,省去了放大器及變送器電路,LM35輸出與溫度(室溫!100 )成正比的電壓信號(室溫電壓~1V),并直接送入AD轉換器。
為了提高溫度測量精度,采用了分辨率為10位的串行AD轉換器TLC1543,它轉換精度高、轉換速度快(約10us),僅需占用單片機4個I/O引腳,外圍工作電路也非常簡單,提高了模數(shù)轉換的可靠性。為了減少誤差的干擾和影響,程序采用了5次連續(xù)溫度采樣、冒泡法排序和取中間值的辦法進行數(shù)字濾波。
單片機AT89S52引腳P3.3經光耦和雙向可控硅來控制加熱管的通電和斷電來實現(xiàn)加熱的控制,溫度控制采用了增量式PID控制算法[1-3],取得了令人滿意的溫度控制精度。
圖1 溫度測量電路
本文設計的生物組織自動脫水機水平方向有12個液缸,裝載生物組織的吊籃固定在機座的縱向滑條上,由機座X電機驅動機座水平方向依次先運動到每個液缸上方,后由機座Y電機推動吊籃下放至液缸進行醫(yī)學處理,延時等待用戶設定的時間后再由Y電機將吊籃向上提起。接著開始下一個液缸的醫(yī)學處理。步進電機每次都必須準確地將吊籃移動一定的距離并定位。
步進電機的驅動電路如圖2所示,采用SGS公司的步進電動機單相繞組驅動集成電路芯片PBL3717A,2塊芯片和少量的無源元件就可以構成兩相步進電動機的驅動電路,可以實現(xiàn)整步、半步、1/4步、微步距運行控制,性價比高。若用數(shù)模轉換芯片的輸出電壓來改變9號引腳電壓即可實現(xiàn)細分控制。本系統(tǒng)無需細分控制,故固定接+5V。
PHAS引腳用于控制繞組的電流方向(電機轉動方向),IN1和IN0引腳用于設置輸出的線圈電流大小,當兩者輸入組合為00、01、10、11時,分別對應繞組電流的100%、60%、20%、0%。單片機AT89S52依次輸出控制字,通過鎖存器來設置驅動芯片的PHAS、IN1、IN0引腳以控制兩相線圈A和B的電流,就可以實現(xiàn)對步進電機的轉動方向、步距的控制。本系統(tǒng)采用1/4步距,16拍工作方式:
計算出這16拍對應的16個控制字,并定義為數(shù)組存儲在單片機ROM中。程序運行時只需順序輸出這組控制字,改變兩個控制字輸出之間的延時長短,即改變控制字的輸出頻率,就可以改變步進電機的轉速。正序或反序輸出這組控制字就可以實現(xiàn)步進電機的正轉或反轉。
圖2 步進電機驅動電路
2.2.1 步進電機的升降速控制
步進電機控制[4]的關鍵問題是保證步進電機在頻繁啟動、停止、換向及高速運轉過程中不失步、不超步,盡可能快地移動一定距離并準確定位,提高工作效率。
如前所述,步進電機通過改變控制字的輸出頻率來改變其轉速。由步進電機的矩頻特性可知,電機的輸出轉矩隨著頻率的增加而下降。實際負載運行時,步進電機有一個最大啟動轉速和最大負載轉速,啟動時超過最大啟動轉速驅動電機會造成電機失步,甚至堵轉,因此必然有一個升速過程。同樣地,高速運轉的步進電機要停轉時,必須有降速過程,否則電機容易因慣性而超步,造成定位不準確,損害電機。故步進電機拖動負載高速移動一定距離時,須經過“啟動—加速—高速勻速運行—減速—停止”5個階段。步進電機升降速曲線的設計是否合理不但直接影響電機運行的升降速度,還影響著電機運行噪音、最高速度、定位精度、系統(tǒng)運行平穩(wěn)性和品質,影響著整機的綜合性能。
常見的步進電機升降速曲線有:梯形曲線、拋物線和指數(shù)曲線等[5,6]。理想升速曲線為指數(shù)曲線[7],它更能使步進電機轉子的加速度的變化與輸出轉矩的變化即矩頻特性相適應,能充分發(fā)揮步進電機的有效轉矩,大大縮短升降速時間。
由步進電機的運動方程可推出其升速曲線是一條指數(shù)曲線[8]。f (t) = fm(1-e-t/τ), 其中f為步進電機m的最高工作頻率,τ為決定升速快慢的時間常數(shù),可通過實驗來確定。由于X、Y步進電機的負載不同,通過分別對X、Y步進電機進行多次實驗和比較,根據(jù)步進電機的工作力矩、最終工作頻率、升降速時間長短的要求,計算并編制出各自的最優(yōu)化升速曲線。
因軟件實現(xiàn)指數(shù)運算困難,對各自的最優(yōu)升速曲線進行離散化,均勻分為若干段,用階梯曲線逼近,計算出各頻率點和對應的各頻率點運行步數(shù)??刂埔?guī)律如圖3所示,步進電機以低于最大啟動頻率的突跳頻率啟動,并按指數(shù)規(guī)律階躍上升。在離散的每個速度頻率點上連續(xù)運行一定的步數(shù)以免失步,然后跳轉至下一個頻率點上運行。隨著頻率點的升高,頻率突變量減小,頻率點運行步數(shù)逐漸增加。
圖3 指數(shù)規(guī)律升降速曲線
步進電機控制字輸出頻率的改變通過單片機定時器中斷(工作方式1)實現(xiàn),升降速度實際上就是不斷改變定時器初值的大小。據(jù)此可計算出各頻率點對應的定時初值,并進行修正,計入定時器誤差,即單片機從定時器計數(shù)溢出開始,單片機響應中斷的時間和定時中斷函數(shù)內再次給計數(shù)器賦初值指令及其前面指令的機器周期之和。定時器初值要加上這個誤差值,以提高步進電機的轉速精度。
將各頻率點對應的2個字節(jié)定時初值修正值和對應的1個字節(jié)運行步數(shù)計算好,按頻率點的升頻順序定義為一個數(shù)組存儲在單片機ROM內,數(shù)組以最高運行頻率點結束,并將其對應的運行步數(shù)用0x00填充,作為升速階段結束的標記。程序運行時正向查數(shù)組即可實現(xiàn)指數(shù)規(guī)律升速,當查數(shù)組查到當前頻率點運行步數(shù)為0x00,意味著進入了勻速運行階段。簡化起見,降速過程采用升速的逆過程,只需反向查頻率點數(shù)組就可實現(xiàn)指數(shù)規(guī)律降速。這種升降速方案容易實現(xiàn)、頻率點修改方便且效果理想。
2.2.2 步進電機控制的軟件實現(xiàn)
由于需要控制X、Y兩個步進電機,為了節(jié)約單片機資源而共用定時器0,定義了步進電機運行函數(shù)void RunningMoto(uchar *motoname, bit direction, ulong steps)。基本思想是根據(jù)形參傳入的電機名,來使頻率點指針指向對應的X或Y頻率點數(shù)組,控制字指針則指向對應的X或Y電機控制字數(shù)組,以實現(xiàn)相應步進電機的運行,direction=0表示電機正轉,正向順序輸出控制字數(shù)組中數(shù)據(jù),否則反向順序輸出,steps則表示將要運行的總步數(shù),然后就開啟定時器,由定時器0中斷函數(shù)實現(xiàn)升速、勻速、降速運行所規(guī)定的總步數(shù),最后停止定時器。
定時器0中斷函數(shù)的功能則是按照當前頻率點查得的定時初值重新賦值以控制中斷的時間間隔,每中斷一次就依次輸出控制字數(shù)組中的控制字,使電機運行一步,同時使當前頻率點運行步數(shù)減1,當前步數(shù)加1,直至當前頻率點運行步數(shù)減為零,頻率點指針后移而轉入下一個頻率點的運行。若查得的當前頻率點運行步數(shù)為0×00,說明進入勻速階段,設置勻速標志變量,計算當前頻率點運行步數(shù)(總步數(shù)-2×當前步數(shù)),勻速階段步數(shù)運行結束后,則進入了降速階段,頻率點指針前移,重復升速的逆過程,直至當前步數(shù)等于總步數(shù),則關閉定時器,結束電機運行。為了準確控制機座吊籃的移動位置,電機X或Y每運行一步,還需對其坐標X或Y進行加1或減1計算。程序流程如圖4所示。
圖4 步進電機控制流程
步進電機在運行過程容易與整機固有頻率發(fā)生共振而增大運行噪音,影響著整機的穩(wěn)定性和壽命。我們主要從以下兩方面來改善共振現(xiàn)象。
1)步進電機以1/4步距運行。這樣步進電機每運行一步,其繞組內的電流將不再是0和額定工作電流I之間的來回突變,而是從0經0.2I變化到I,緩解了相電流突變的程度,自然也就減少了電機運行的振動和噪音。
2)在頻率表的局部范圍內,靈活調整相關離散頻率點及其對應的定時初值,改變步進電機的振動頻率,避免共振現(xiàn)象的發(fā)生。
實踐證明,這些措施明顯改善了共振現(xiàn)象,取得了良好效果。
本文所述的溫度測控和步進電機運行控制方案在實踐中取得了理想效果,應用于生物組織自動脫水機的實際生產中,該方案具有很強的實用價值。
[1] 楊寧, 黃元峰. 微機控制技術(第2版)[M]. 北京: 高等教育出版社, 2005: 43-44.
[2] 何頂新, 王維, 等. 溫控系統(tǒng)中改進的PID算法[J]. 電氣傳動, 2007, 37(8): 36-39.
[3] 嚴曉照, 張興國. 增量式PID控制在溫控系統(tǒng)中的應用[J].南通大學學報, 2006, 5(4): 48-51.
[4] 王曉明. 電動機的單片機控制[M]. 北京: 北京航空航天大學出版社, 2002.
[5] 劉穎, 王志剛, 王紅, 張喜偉. 步進電機升降頻的優(yōu)化算法[J]. 微電機, 2010, 43(8): 93-94.
[6] 閆劍虹, 何泰祥. 步進電機高速啟停控制的單片機實現(xiàn)[J]. 空間電子技術, 2009(2): 124-127.
[7] 高亮. 8051單片機對步進電機的控制及步進電機升降速曲線的設計[J]. 測控技術, 2002, 21(11): 64-65.
[8] 李海波, 何雪濤. 步進電機升降速的離散控制[J]. 北京化工大學學報, 2003, 30(1): 92-94.