船用儀表用步進電機細分驅(qū)動的實現(xiàn)
摘 要: 介紹了一種基于組合電阻式步進電機細分驅(qū)動的原理,并給出用該方法實現(xiàn)的船用柴油機狀態(tài)監(jiān)控儀表。儀表實現(xiàn)了對船用柴油機的轉(zhuǎn)速、機油壓力、機油溫度、冷卻水溫度、電瓶電壓等參數(shù)進行實時顯示監(jiān)控的功能。設(shè)計采用軟硬件相結(jié)合的驅(qū)動方法,既保障了系統(tǒng)的可靠性,又降低了儀表成本。
關(guān)鍵詞: 船用儀表;步進電機;細分驅(qū)動;組合電阻
船用儀表從工作原理上區(qū)分,有模擬式儀表和數(shù)字式儀表[1]。以模擬量組合單元儀表為主的監(jiān)控儀表所需要的器件數(shù)量多,指示精度低。數(shù)字式船用儀表多為LED數(shù)碼管顯示方式,雖然分辨率高,但不夠直觀,尤其在單屏面上顯示多個數(shù)據(jù)時,不利于進行遠距離觀察,而且它顯示的是單純的一個數(shù)據(jù),沒有在一定范圍內(nèi)進行顯示,觀察人員還需將觀察到的數(shù)據(jù)再過濾比較,才能對運行狀況作出判斷,不利于發(fā)現(xiàn)異常情況。因此為了既適應(yīng)船用儀表的需要,又滿足人機工程的要求,本文提出了一種全數(shù)字步進電機式船用柴油機狀態(tài)監(jiān)控儀表,與傳統(tǒng)的模擬量為傳輸量的指針式儀表不同的是,它把數(shù)字量用步進電機式指針進行了模擬式指示,將數(shù)字顯示的準(zhǔn)確性和模擬指示的直觀性結(jié)合在一起,克服了以往模擬式儀表指針指示的非線性、抖動、卡滯等現(xiàn)象,指針示值準(zhǔn)確、能夠快速追蹤參數(shù)的變化,運行平穩(wěn)。
1 步進電機式船用儀表的總體設(shè)計方案
步進電機式船用儀表總體結(jié)構(gòu)框圖如圖1所示,本設(shè)計采用帶有LCD顯示模塊的PIC核的單片機作為控制器,對柴油機運行參數(shù)(包括轉(zhuǎn)速、機油壓力、機油溫度、冷卻水溫度、電瓶電壓等)進行數(shù)據(jù)采集,把數(shù)據(jù)處理成相對應(yīng)的步進電機式指針要走的步數(shù),并在指針式儀表上進行顯示。選用的VID29-05步進電機為兩相步進電機,內(nèi)置減速比180/1的齒輪系,可用分步模式或微步模式驅(qū)動。輸出軸的步距角最小可以達到(1/12)°,最大角速度為600 °/s。
2 步進電機組合電阻式細分驅(qū)動的硬件設(shè)計
步進電機是把脈沖信號轉(zhuǎn)換成角位移或直線位移的執(zhí)行元件,是一種輸出與輸入數(shù)字脈沖相對應(yīng)的增量驅(qū)動元件[2]。步進電機的運行方式主要有整步、分步、微步3種[3]。為了使儀表指針能夠高精度地準(zhǔn)確定位,使步進電機平穩(wěn)、無卡滯地運行,減少電機的振蕩和噪聲,需要對步進電機進行細分驅(qū)動,即微步模式。
步進電機的細分驅(qū)動方式有專用芯片法和PWM脈寬調(diào)制法。專用芯片法采用硬件的方法實現(xiàn)步進電機的細分驅(qū)動,容易實現(xiàn),但成本較高。PWM脈寬調(diào)制法采用PWM脈沖直接對步進電機進行驅(qū)動,采用軟件的方式實現(xiàn),驅(qū)動硬件成本較低,但需要多路PWM模塊,對單片機的選型要求較高。因此綜合成本和實用性兩方面的因素考慮后,本設(shè)計提出一種基于組合電阻式的步進電機細分驅(qū)動方法,該驅(qū)動方式的硬件為3個電阻的組合,成本低,原理簡單,易實現(xiàn)。驅(qū)動軟件為儀表指針跟蹤算法的設(shè)計,不需要單片機的PWM模塊,實用性較強。
在本設(shè)計中勵磁繞組采用階梯型電壓驅(qū)動,在繞組上進行電流疊加,即每經(jīng)過一個細分信號周期,單片機輸出到電機線圈的電壓順次發(fā)生變化,使得通過線圈的電流按上述公式產(chǎn)生接近正弦波的變化,逐漸增大或減少,而不是一次性地通入或切斷,使電機能更平穩(wěn)地運行。
組合電阻式細分驅(qū)動是指步進電機每一相線圈一端與單片機的I/O口相連,另一端與N個阻值不同、處于并聯(lián)方式的電阻相連,N個電阻的數(shù)量和取值大小需要考慮電機內(nèi)部線圈電阻,以便產(chǎn)生能夠驅(qū)動電機的、接近于正弦波的階梯波形。單片機與步進電機之間無專用驅(qū)動芯片。并聯(lián)電阻N的個數(shù)越多,則步進電機每一相上出現(xiàn)的狀態(tài)就越多,細分的程度也越高。圖2所示為該24細分驅(qū)動法的硬件電路圖。
圖中M1、M2為步進電機的一相繞組,M3、M4為另一相繞組,SN74HC595是串行輸入并行輸出芯片,用作擴展PIC單片機的I/O口,每一相繞組上都接有3個并聯(lián)的電阻。因為VID29-05輸出軸的步距角最小可以達到(1/12)°,而它內(nèi)置減速比為180/1的齒輪系,因此一個微步表示指針轉(zhuǎn)子轉(zhuǎn)動15°。VID29-05步進電機一個周期共有6個分步,即每個分步相位相差60°,每個分步可以細分為4個微步,整個周期細分為24個微步,即24細分,其對稱的階梯波形圖如圖3所示。
因為有12個不同的對稱階梯數(shù)值,故選取3個不同阻值的電阻與步進電機繞組線圈電阻一起就能得到16種邏輯組合,選取其中最合適的12種即可。在硬件電路中每一相都有3個電阻相并聯(lián),VID29-05步進電機的每相內(nèi)部繞組電阻為210 ?贅,單片機I/O口輸出電壓為5 V,再根據(jù)VID29-05步進電機微步驅(qū)動的各相電流值,可以計算出3個電阻與電機內(nèi)部繞組在電路中的總等效電阻值和步進電機一相繞組上的電壓值,根據(jù)這些數(shù)據(jù)就可選配3個電阻的阻值和控制電阻引腳的電平邏輯。當(dāng)QD輸出高電平時,QA、QB、QC有8種組合可選,除去輸出全高狀態(tài)(因為若QA、QB、QC、QD全為高時,就沒有電流輸出),可根據(jù)需要取出其中最適合的6種狀態(tài)。當(dāng)QD輸出低電平時,同理可取出除去全低狀態(tài)外的最適合的6種狀態(tài),由此可得到12個值。將此12個值進行x軸對稱則可得出另一組階梯波。將整組數(shù)據(jù)建成一個表,通過查表的方式就可以控制步進電機。
3 步進電機組合電阻式細分驅(qū)動的軟件設(shè)計
3.1 指示參數(shù)位置與步進電機微步數(shù)的關(guān)系
在本設(shè)計中,要顯示的參數(shù)有溫度、壓力、轉(zhuǎn)速和電壓。溫度顯示范圍為40 ℃~120 ℃,壓力顯示范圍為0~1 MPa,轉(zhuǎn)速顯示范圍為0~3 000 r/min,電壓顯示范圍為18 V~32 V。在此對溫度顯示與步進電機微步數(shù)的計算關(guān)系進行說明,其余三表類似。根據(jù)廠家給定的溫度面板滿量程刻度為112.5°,步進電機細分驅(qū)動中每一步旋轉(zhuǎn)角度(1/12)°,因此當(dāng)達到滿量程時步進電機的微步數(shù)為step=112.5×12=1 350 步。但溫度是從40 ℃開始顯示的,應(yīng)將40 ℃作為指示零點,且滿量程為120 ℃,滿量程點與初始點相差溫度為80 ℃,而它們之間的物理角度差為112.5°,因此溫度每相差一度,指針應(yīng)走過的物理角度為(112.5/80)°,溫度與電壓近似成線性關(guān)系,如圖4所示的溫度-電壓關(guān)系圖,由此可得關(guān)系式:
根據(jù)式(2)和式(3)就可計算出相對應(yīng)的目標(biāo)溫度值y,再根據(jù)式(4)就可計算出目標(biāo)溫度相對應(yīng)的儀表指針位置,即指針距初始點(“40 ℃”點)的微步數(shù)。將此位置與指針的當(dāng)前位置進行比較,即可得到指針應(yīng)轉(zhuǎn)動的方向和轉(zhuǎn)角。由此可建立溫度-微步數(shù)表,通過查表的方式就可得到目標(biāo)溫度值所對應(yīng)的微步數(shù)。
由于溫度與電壓之間的非線性關(guān)系及電機齒輪的誤差影響,導(dǎo)致滿度定位有偏差,可以通過分段線性處理的方法,在半滿量程點、2/3滿量程點和滿量程點,對式(4)進行補償修正,從而獲得準(zhǔn)確的定位。
3.2 儀表指針跟蹤算法的實現(xiàn)
儀表指針運行的效果要求平滑且跟蹤快,要滿足這兩項要求,必須要有好的升降頻控制算法,因此必須在軟件設(shè)計上配合實現(xiàn)硬件電路的細分驅(qū)動。硬件電路提供驅(qū)動步進電機的階梯波形,軟件設(shè)計將控制此波形的時間間隔,使得指針快速、精準(zhǔn)地定位,并且平滑、無卡滯地運行。主要包括指針歸零模塊、分頻驅(qū)動中斷模塊、跟蹤控制模塊。
常用的升降頻控制方法有3種[4]:直線升降頻、指數(shù)曲線升降頻、拋物線升降頻。直線升降頻是以恒定的加速度進行升降,平穩(wěn)性較好,適用于速度變化較大的快速定位方式。軟件實現(xiàn)比較簡單,但其加速度時間比較長。指數(shù)升降頻控制具有較強的跟蹤能力,但當(dāng)速度變化較大的時侯其平衡性較差。拋物線升降頻是將直線升降頻和指數(shù)曲線升降頻相融合,充分考慮到步進電機低速時的有效轉(zhuǎn)矩,使升降速的時間大為縮短,同時又考慮使其具有較強的跟蹤能力,這是一種比較好的升降頻控制方法,本設(shè)計所采用的升降頻控制方法正是此方法。
指針跟蹤程序流程圖如圖5所示,查參數(shù)-微步數(shù)表得到目標(biāo)微步數(shù)后,與當(dāng)前位置比較確定指針的轉(zhuǎn)動方向和轉(zhuǎn)角。為使指針能快速跟蹤、準(zhǔn)確定位,需要按拋物線升降頻法,建立一張位置差值-指針?biāo)俣缺?,?dāng)目標(biāo)位置離當(dāng)前位置較遠時,指針?biāo)俣容^快,反之則較慢,如參數(shù)突然變化較大,不能直接從上一較快(較慢)的指針?biāo)俣纫淮巫兓捷^慢(較快)的目標(biāo)速度,會使指針產(chǎn)生卡滯、抖動等現(xiàn)象,此時應(yīng)在程序中控制指針?biāo)俣葷u進的變化。
將步進電機應(yīng)用到船用儀表中,推動了數(shù)字化指針儀表的發(fā)展,顯示方式更符合人機工程學(xué)的要求。本文對實現(xiàn)組合電阻式步進電機細分驅(qū)動的軟硬件設(shè)計進行了描述,與專用芯片法(硬件)和PWM脈寬調(diào)制法(軟件)相比,性價比較好。儀表指針跟蹤位置的準(zhǔn)確性、快速性及運行平穩(wěn)性都超過了普通模擬指針表的功能,有
著較強的通用性和廣闊的應(yīng)用前景。該儀表已通過廠家的裝船測試,各項指標(biāo)達到設(shè)計要求,并已交付使用,運行正常。
參考文獻
[1] 陳立軍,黃學(xué)武,鄭華耀.SMSC船用智能儀表的研究[J].自動化與儀表,2007,22(4):21-24.
[2] 胡惟文,蔡劍華,王先春.基于FPGA的步進電機均勻細 分驅(qū)動器的實現(xiàn)[J].微計算機信息,2008,24(2):183-184.
[3] 李錚,鮮繼清,王平.直驅(qū)型數(shù)控指針式儀表的設(shè)計與實現(xiàn)[J].儀器儀表學(xué)報,2007,28(2):327-330.
[4] 李明泉.功率步進電機升降頻過程的最優(yōu)控制[J].微電機,1988(4):8-16.