摘要:為了既適應船用儀表的需要,又滿足人機工程的要求,本文提出了一種全數字步進電機式船用柴油機狀態監控儀表,與傳統的模擬量為傳輸量的指針式儀表不同的是,它把數字量用步進電機式指針進行了模擬式指示,將數字顯示的準確性和模擬指示的直觀性結合在一起,克服了以往模擬式儀表指針指示的非線性、抖動、卡滯等現象,指針示值準確、能夠快速追蹤參數的變化,運行平穩。
船用儀表從工作原理上區分,有模擬式儀表和數字式儀表。以模擬量組合單元儀表為主的
監控儀表所需要的器件數量多,指示精度低。數字式船用儀表多為LED數碼管顯示方式,LED數碼管實際上是由七個發光管組成8字形構成的,加上小數點就是8個。這些段分別由字母a,b,c,d,e,f,g,dp來表示。當數碼管特定的段加上電壓后,這些特定的段就會發亮,以形成我們眼睛看到的字樣了。如:顯示一個“2”字,那么應當是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED數碼管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸數碼管的顯示筆畫常用一個發光二極管組成,而大尺寸的數碼管由二個或多個發光二極管組成,一般情況下,單個發光二極管的管壓降為1.8V左右,電流不超過30mA。發光二極管的陽極連接到一起連接到電源正極的稱為共陽數碼管,發光二極管的陰極連接到一起連接到電源負極的稱為共陰數碼管。因此為了既適應船用儀表的需要,又滿足人機工程的要求,本文提出了一種全數字步進電機式船用柴油機狀態監控儀表,與傳統的模擬量為傳輸量的指針式儀表不同的是,它把數字量用步進電機式指針進行了模擬式指示,將數字顯示的準確性和模擬指示的直觀性結合在一起,克服了以往模擬式儀表指針指示的非線性、抖動、卡滯等現象,指針示值準確、能夠快速追蹤參數的變化,運行平穩。
1、步進電機式船用儀表的總體設計方案
步進電機式船用儀表總體結構框圖如圖1所示,本設計采用帶有LCD顯示模塊的PIC核的單片機作為控制器,采用RISC結構的單片機數據線和指令線分離,即所謂哈佛結構。這使得取指令和取數據可同時進行,且由于一般指令線寬于數據線,使其指令較同類CISC單片機指令包含更多的處理信息,執行效率更高,速度亦更快。同時,這種單片機指令多為單字節,程序存儲器的空間利用率大大提高,有利于實現超小型化。屬于CISC結構的單片機有Motorola的M68HC系列、Atmel的AT89系列、中國臺灣Winbond(華邦)W78系列、荷蘭Philips的PCF80C51系列等;屬于RISC結構的有In8051系列、Microchip公司的PIC系列、Zilog的Z86系列、Atmel的AT90S系列、韓國三星公司的KS57C系列4位單片機、中國臺灣義隆的EM-78系列等。
2、步進電機組合電阻式細分驅動的硬件設計
步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元步進電機件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度,稱為“步距角”,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。
步進電機的細分驅動方式有芯片法和PWM脈寬調制法。芯片法采用硬件的方法實現步進電機的細分驅動,容易實現,但成本較高。PWM脈寬調制法采用PWM脈沖直接對步進電機進行驅動,采用軟件的方式實現,驅動硬件成本較低,但需要多路PWM模塊,對單片機的選型要求較高。因此綜合成本和實用性兩方面的因素考慮后,本設計提出一種基于組合電阻式的步進電機細分驅動方法,該驅動方式的硬件為3個電阻的組合,成本低,原理簡單,易實現。
在本設計中勵磁繞組采用階梯型電壓驅動,在繞組上進行電流疊加,即每經過一個細分信號周期,單片機輸出到電機線圈的電壓順次發生變化,使得通過線圈的電流按上述公式產生接近正弦波的變化,逐漸增大或減少,而不是一次性地通入或切斷,使電機能更平穩地運行。
組合電阻式細分驅動是指步進電機每一相線圈一端與單片機的I/O口相連,另一端與N個阻值不同、處于并聯方式的電阻相連,N個電阻的數量和取值大小需要考慮電機內部線圈電阻,以便產生能夠驅動電機的、接近于正弦波的階梯波形。單片機與步進電機之間無驅動芯片。圖2所示為該24細分驅動法的硬件電路圖。
圖中M1、M2為步進電機的一相繞組,M3、M4為另一相繞組,SN74HC595是串行輸入并行輸出芯片,用作擴展PIC單片機的I/O口,每一相繞組上都接有3個并聯的電阻。因為VID29-05輸出軸的步距角zui小可以達到(1/12)°,而它內置減速比為180/1的齒輪系,因此一個微步表示指針轉子轉動15°。VID29-05步進電機一個周期共有6個分步,即每個分步相位相差60°,每個分步可以細分為4個微步,整個周期細分為24個微步,即24細分,其對稱的階梯波形圖如圖3所示。
因為有12個不同的對稱階梯數值,故選取3個不同阻值的電阻與步進電機繞組線圈電阻一起就能得到16種邏輯組合,選取其中zui合適的12種即可。在硬件電路中每一相都有3個電阻相并聯,VID29-05步進電機的每相內部繞組電阻為210?贅,單片機I/O口輸出電壓為5V,再根據VID29-05步進電機微步驅動的各相電流值,可以計算出3個電阻與電機內部繞組在電路中的總等效電阻值和步進電機一相繞組上的電壓值,根據這些數據就可選配3個電阻的阻值和控制電阻引腳的電平邏輯。當QD輸出高電平時,QA、QB、QC有8種組合可選,除去輸出全高狀態,可根據需要取出其中的6種狀態。當QD輸出低電平時,同理可取出除去全低狀態外的的6種狀態,由此可得到12個值。
3、步進電機組合電阻式細分驅動的軟件設計
3.1指示參數位置與步進電機微步數的關系
在本設計中,要顯示的參數有溫度、壓力、轉速和電壓。溫度顯示范圍為40℃~120℃,壓力顯示范圍為0~1MPa,轉速顯示范圍為0~3000r/min,電壓顯示范圍為18V~32V。在此對溫度顯示與步進電機微步數的計算關系進行說明,其余三表類似。根據廠家給定的溫度面板滿量程刻度為112.5°,步進電機細分驅動中每一步旋轉角度(1/12)°,因此當達到滿量程時步進電機的微步數為step=112.5×12=1350步。但溫度是從40℃開始顯示的,應將40℃作為指示零點,且滿量程為120℃,滿量程點與初始點相差溫度為80℃,而它們之間的物理角度差為112.5°,因此溫度每相差一度,指針應走過的物理角度為(112.5/80)°,溫度與電壓近似成線性關系,如圖4所示的溫度-電壓關系圖,由此可得關系式:
根據式(2)和式(3)就可計算出相對應的目標溫度值y,再根據式(4)就可計算出目標溫度相對應的儀表指針位置,即指針距初始點(“40℃”點)的微步數。將此位置與指針的當前位置進行比較,即可得到指針應轉動的方向和轉角。
由于溫度與電壓之間的非線性關系及電機齒輪的誤差影響,導致滿度定位有偏差,可以通過分段線性處理的方法,在半滿量程點、2/3滿量程點和滿量程點,對式(4)進行補償修正,從而獲得準確的定位。
3.2儀表指針跟蹤算法的實現
儀表指針運行的效果要求平滑且跟蹤快,要滿足這兩項要求,必須要有好的升降頻控制算法,因此必須在軟件設計上配合實現硬件電路的細分驅動。硬件電路提供驅動步進電機的階梯波形,軟件設計將控制此波形的時間間隔,使得指針快速、地定位,并且平滑、無卡滯地運行。
常用的升降頻控制方法有3種:直線升降頻、指數曲線升降頻、拋物線升降頻。直線升降頻是以恒定的加速度進行升降,平穩性較好,適用于速度變化較大的快速定位方式。軟件實現比較簡單,但其加速度時間比較長。指數升降頻控制具有較強的跟蹤能力,但當速度變化較大的時侯其平衡性較差。拋物線升降頻是將直線升降頻和指數曲線升降頻相融合,充分考慮到步進電機低速時的有效轉矩,使升降速的時間大為縮短,同時又考慮使其具有較強的跟蹤能力。
指針跟蹤程序流程圖如圖5所示,查參數-微步數表得到目標微步數后,與當前位置比較確定指針的轉動方向和轉角。為使指針能快速跟蹤、準確定位,需要按拋物線升降頻法,建立一張位置差值-指針速度表,當目標位置離當前位置較遠時,指針速度較快,反之則較慢,如參數突然變化較大,不能直接從上一較快(較慢)的指針速度一次變化到較慢(較快)的目標速度,會使指針產生卡滯、抖動等現象。
將步進電機應用到
船用儀表中,推動了數字化指針儀表的發展,顯示方式更符合人機工程學的要求。
4、結束語
本文對實現組合電阻式步進電機細分驅動的軟硬件設計進行了描述,與芯片法(硬件)和PWM脈寬調制法(軟件)相比,性價比較好。儀表指針跟蹤位置的準確性、快速性及運行平穩性都超過了普通模擬指針表的功能,有著較強的通用性和廣闊的應用前景。