,
(武漢理工大學 能源與動力工程學院,武漢 430063)
隨著計算機技術(shù)的發(fā)展、船舶自動化程度的提高,船載儀表系統(tǒng)也由過去的機械儀表向電子式儀表(EFIS)發(fā)展。但現(xiàn)在還在使用期的早期建造的船舶大部分是采用模擬信號設(shè)備;有些設(shè)備雖然采用了數(shù)字信號,但也沒有統(tǒng)一的標準。為提高這些早期船舶的自動化程度,需要解決模擬信號數(shù)字化以及信號標準統(tǒng)一的問題。國內(nèi)開發(fā)了ZSZ系列自整角機/數(shù)字轉(zhuǎn)換模塊,ZSZ系列轉(zhuǎn)換器是一種采用跟蹤技術(shù)和模塊化結(jié)構(gòu)的自整角機/數(shù)字轉(zhuǎn)換器,它采用二階伺服回路,輸出與TTL電平兼容的并行二進制碼,與美國AD公司的ADC1700系列轉(zhuǎn)換器完全兼容。
但是,這些接口只能采集轉(zhuǎn)換一路信號或一種信號,并且輸出信號的通訊格式不是標準的NMEA-0183格式信號(即ASCⅡ碼)。據(jù)此,筆者選擇船舶上應(yīng)用比較廣泛、比較重要的步進電機信號和自整角機信號作為對象,以AT89C51單片機為核心芯片,設(shè)計一款采集和處理這兩種信號的多路轉(zhuǎn)換接口。
系統(tǒng)硬件原理框圖見圖1。
由自整角機信號和步進信號的前置電路、8路采樣和保持器、多路轉(zhuǎn)換開關(guān)、12位AD574逐位直流到數(shù)字轉(zhuǎn)換器、單片機AT89C52等組成多路信號采集與處理系統(tǒng)。自整角機、步進電機的信號經(jīng)過各自前置處理電路后,送入單片機系統(tǒng)進行數(shù)據(jù)的實時處理,然后經(jīng)串口向外輸出符合NMEA-0183或者IEC-61162格式的標準信號。
自整角機各路信號經(jīng)同步采樣保持后,由單片機89C51控制多路轉(zhuǎn)換開關(guān)選擇通道和啟動AD574;信號經(jīng)12位AD574逐位直流到數(shù)字轉(zhuǎn)換器,轉(zhuǎn)換成12位數(shù)字量。12位數(shù)據(jù)分兩個8位送出,先送高8位,后送低4位。
自整角機信號處理由信號比較和信號整形兩部分組成,對自整角同步發(fā)送機送出的模擬信號進行衰減、鑒零、鑒相、整形處理。信號處理部分最重要的是自整角機機械角到數(shù)字角的轉(zhuǎn)換。
自整角機必須經(jīng)過正余弦變壓器,把輸入的信號轉(zhuǎn)換為正余弦旋轉(zhuǎn)變壓器輸出方式,同時使輸出的正弦和余弦電壓限制在10 V左右[1]。目前多采用電子式正余弦變壓器。圖2為自整角機輸入的正余弦變壓器。
圖2 正余弦信號生成電
電子式正余弦變壓器的兩路輸出為:
(1)
(2)
式中:Us——正弦輸出電壓;
Uc——余弦輸出電壓;
Um——輸入正弦、余弦繞組電壓最大值;
ω——輸出信號的載波頻率,即激磁電壓的角頻率;
θ——轉(zhuǎn)動的機械角度;
Ri——輸入電阻;
Rf——反饋電阻;
K——比例系數(shù)。
正余弦變壓器輸出的信號是以模擬信號表示的機械軸角θ,在數(shù)字隨動系統(tǒng)中,需要將機軸角θ轉(zhuǎn)換成數(shù)字角φ。
由式(1)、(2)可以推出:
(3)
(4)
信號Us,Uc在峰值區(qū)間進行同步采樣和保持,經(jīng)A/D轉(zhuǎn)換器后變成與電壓成正比的量,由式(4)進行反正切運算,即可解算出數(shù)字角φ[2]。
步進電機在船舶上應(yīng)用廣泛,其中步進式分羅經(jīng)就是典型的例子,其功能就是將脈沖信號變換為相應(yīng)的角位移,即有一個脈沖信號,電機轉(zhuǎn)一個角度。分羅經(jīng)中通常使用的步進電機是每來一個脈沖,轉(zhuǎn)子旋轉(zhuǎn)30°,對應(yīng)的分羅經(jīng)刻度盤的刻度為1/6°,機分羅經(jīng)轉(zhuǎn)子與分羅經(jīng)刻度盤的齒輪傳動比是180∶1,在1°的航向變化中步進電機S1、S2、S3三個繞組分別為S1、S1S2、S2、S2S3、S3、S3S1呈周期變化,每一步為1/6°,在1°之內(nèi)步進輸出的三個導線上S1、S2、S3電壓信號已經(jīng)是脈沖編碼了。據(jù)此可列真值表1的信號代碼。
表1 葛雷碼真值表
表中:“1”代表高電平(35 V或者70 V),每個“1”相當于1/6°的航向變化,6個“1”為1°航向變化,相當于轉(zhuǎn)子旋轉(zhuǎn)360°。
由表1可知,每兩個相鄰的代碼之間,只有一位數(shù)是不同的。這正好是3位6進制循環(huán)碼(或稱為葛雷碼),與普通的3位8進制葛雷碼相比,這里缺少“000”和“111”兩個代碼,由真值表1還可以看出,每條輸出線均在相鄰的三個代碼中為高電平,三個相鄰代碼為低電平。
在實際電路中,要考慮電平問題。步進式羅經(jīng)中,三相電路的輸出電平通常是35 V或者70 V。在輸入單片機中時,需要的是TTL電平,即5 V電平。因此需要將35 V和70 V電壓降到5 V,并且考慮噪聲隔離,采用光敏元件作為開關(guān)元件。經(jīng)過降壓處理得到TTL電平信號后,該信號由8212鎖存器鎖存,供單片機讀取。
單片機89C51主要完成多路轉(zhuǎn)換開關(guān)選擇、數(shù)據(jù)采集、信號格式轉(zhuǎn)換和信號輸出等功能。它的外圍電路主要有時鐘電路和復(fù)位電路以及串口輸出轉(zhuǎn)換電路。89C51讀取自整角機或者步進電機信號后,對信號進行數(shù)據(jù)處理。對自整角機信號根據(jù)反正切運算,查表求得自整角機角度數(shù)字信號;對步進式羅經(jīng)信號,查葛雷碼真值表,得到1°以內(nèi)的航向變化量,根據(jù)航向的增減,由原航向加或減該航向的變化量得到實時航向。
不論是自整角機信號還是步進式羅經(jīng)信號,只要有信號變化,單片機就將變化后的信號轉(zhuǎn)換為標準的NMEA-0183格式信號,送單片機串口輸出。串口輸出的通訊協(xié)議標準主要有RS-232C和RS-485,可以分別采用MAX232和MAX483來實現(xiàn)RS-232C和RS-485的接口電路,滿足不同工作場合的需要。
系統(tǒng)主程序是一個無限循環(huán)程序,不斷查詢是否有步進電機信號請求采集的信號和自整角機位置信號。當有信號時,調(diào)用相應(yīng)處理程序進行處理,由串口輸出標準的NMEA-0183格式信號。
自整角機位置信號數(shù)字化的軟件工作流程為:完成對單片機的初始化;多次進行A/D輸入端短路時的A/D轉(zhuǎn)換,取它們的平均值作為A/D輸入端的零位偏差,供主程序校正;確定分區(qū),計算K;查表,由K值查到θ的值;將θ值保存在一個約定好的存儲區(qū)中。然后按照NEMA-0183格式把信號傳送到單片機的串口供傳輸。見圖3。
圖3 自整角機位置信號處理流程
羅經(jīng)接口提供了格雷碼變化的信息后,軟件的任務(wù)就是將這種變化轉(zhuǎn)換為相對航向信號,此航向信號以兩字節(jié)二進制數(shù)表示,單位為1/6°。當相對航向在零度附近擺動時,程序要能給出正確的示值。見圖4。
圖4 步進電機位置信號處理流程
NMEA-0183標準中對不同的發(fā)送設(shè)備定義了不同的TALKER ID。TALKER ID為兩個字符,共計35個。同時定義了上百個數(shù)據(jù)形式代碼,每個代碼3個字符。數(shù)據(jù)串必須是79個字符或更少。字符采用美國國家標準ASCLL碼[3]。例如步進式電羅經(jīng)的信號格式為:$HEHDT, x.x, T *hh〈CR〉〈LF〉,部分串口通訊顯示見圖5。
$-數(shù)據(jù)串開始;HE-電羅經(jīng);HDT-真航向;,-數(shù)據(jù)區(qū)定界符;332.7-度數(shù);T-True;*-校驗和識別碼;2A-校驗和;〈CR〉〈LF〉-數(shù)據(jù)結(jié)束回車換行。圖5 步進式電羅經(jīng)串口通訊
本設(shè)計以單片機作為信號采集與處理核心,根據(jù)自整角機信號和步進電機信號不同的特點分別設(shè)計了不同的采集和處理電路。經(jīng)過本系統(tǒng)處理后,不論自整角機信號(模擬信號)還是步進電機信號(數(shù)字信號),都輸出符合NMEA-0183格式標準的RS-232電平信號,由此解決了船舶設(shè)備通訊時的信號不一致問題,提高了船舶的自動化程度,適應(yīng)了現(xiàn)代航海設(shè)備的要求。
[1] 胡 皓,董辰光.自整角機/數(shù)字轉(zhuǎn)換器及其外圍電路設(shè)計[J].測控技術(shù),2005,24(5):90-91.
[2] 高文政.一種軸角到數(shù)字轉(zhuǎn)換器的設(shè)計[J].情報指揮控制系統(tǒng)與仿真技術(shù),2002(11):59-62.
[3] NMEA-0183 V2.20 Standard For Interfacing Marine Electronic Devices[S].National Marine Electronics Association, 1997.