樓然苗,胡佳文
(浙江海洋學(xué)院公共實(shí)驗(yàn)中心、網(wǎng)絡(luò)中心,浙江舟山 316004)
目前船用羅經(jīng)主要有電羅經(jīng)和磁羅經(jīng),電羅經(jīng)價(jià)格在10萬(wàn)元左右,精度較高但啟動(dòng)時(shí)間長(zhǎng)。而機(jī)械平衡式指針磁羅經(jīng)價(jià)格一般在2 000元左右,精度一般。機(jī)械平衡式指針磁羅經(jīng)作為低價(jià)而性能穩(wěn)定的船用設(shè)備得到了許多小型貨船及漁船的配置應(yīng)用,由于磁羅經(jīng)通常安裝在固定的地方,航行時(shí)船長(zhǎng)使用查看較為不便。使用LSM303DLH制作的磁羅經(jīng)傳感器是通過(guò)讀取磁羅經(jīng)上磁針的磁場(chǎng)與兩個(gè)互相垂直軸傳感器輸出的數(shù)據(jù),從而計(jì)算出航船的航行磁北偏角信息,從串口傳送到數(shù)字顯示設(shè)備上,以方便船長(zhǎng)查看,提高了航行的安全系數(shù)[1-10]。
圖1為硬件電路原理框圖。電路主要由微處理器、地磁傳感器、RS485接口電路、七段發(fā)光二極管顯示器及電源變換器組成。
微處理器采用宏晶公司的STC12LE5608AD單片機(jī),選擇32腳的方形貼片封裝(LQFP-32),運(yùn)算速度為每秒10 萬(wàn)次;電源電壓為 2.2~3.6 V,時(shí)鐘頻率為 0~35 MHz,速度相當(dāng)于普通51系列單片機(jī)的0~420 MHz;內(nèi)部數(shù)據(jù)存儲(chǔ)器為768字節(jié),程序存儲(chǔ)器為8 K字節(jié);內(nèi)帶8路10位ADC(Analog-to-Digital Converter)轉(zhuǎn)換器。宏晶高速單片機(jī)無(wú)需專用編程器,可通過(guò)串口直接下載用戶程序,在開(kāi)發(fā)階段尤為方便。主要資源使用情況為:P1口用于LED顯示器的段碼輸出;串行口用于航行角的數(shù)字輸出;P2口的三個(gè)端口用于與LSM303DLH傳感器的I2C(Inter-Integrated Circuit)通信;P3.4口接一個(gè)按鍵小開(kāi)關(guān),用于初始化校正;P0.0口用于RS485芯片的使能控制。
圖1 硬件電路原理框圖Fig.1 Circuit block diagram
LSM303DLH地磁傳感器是意法半導(dǎo)體公司最新推出的具有三軸磁力計(jì)和三軸加速計(jì)集成的二合一傳感器模塊。采用I2C數(shù)字總線與處理器通信;磁力傳感器的測(cè)量范圍從1.3高斯到8.1高斯共分7檔,重力傳感器的測(cè)量范圍為2個(gè)重力加速度到8個(gè)重力加速度,可用程序設(shè)置選擇;其磁力傳感器在20高斯以內(nèi)的磁場(chǎng)環(huán)境下都能夠保持一致的測(cè)量效果和相同的敏感度,它的分辨率可以達(dá)到8毫高斯,并且內(nèi)部采用12位ADC,以保證對(duì)磁場(chǎng)強(qiáng)度的精確測(cè)量;加速計(jì)同樣采用12位ADC,可以達(dá)到千分之一重力加速度的測(cè)量精度,加速計(jì)可運(yùn)行于低功耗模式,并有睡眠/喚醒功能,可大大降低功耗。與采用霍爾效應(yīng)原理的地磁傳感器相比,LSM303DLH的功耗低,精度高,線性度好,并且不需要溫度補(bǔ)償。在磁力計(jì)數(shù)據(jù)更新頻率為7.5 Hz、加速計(jì)數(shù)據(jù)更新頻率為50 Hz時(shí),消耗電流典型值為0.83 mA,在待機(jī)模式時(shí),消耗電流小于3 μA。圖2為L(zhǎng)SM303DLH地磁傳感器的應(yīng)用電路圖,加速度傳感器與地磁傳感器輸出數(shù)據(jù)線采用并接辦法,通過(guò)讀不同的地址獲取相應(yīng)的數(shù)據(jù)。
圖2 地磁傳感器應(yīng)用電路圖Fig.2 Geomagnetism sensor application circuit diagram
接口電路采用SP3485EN芯片,應(yīng)用電路如圖3。當(dāng)發(fā)送數(shù)據(jù)時(shí),輸出使能端TE置1,TE為0時(shí)處于接收狀態(tài)。
顯示電路采用三位共陽(yáng)七段LED顯示器,由于單片機(jī)的輸入電流足以驅(qū)動(dòng)LED發(fā)光,所以省卻了驅(qū)動(dòng)電路,發(fā)光電流用電阻加以限定,電路設(shè)計(jì)中電阻為1 K。采用定時(shí)器逐位掃描的方法進(jìn)行航行角的顯示,顯示度數(shù)為三位整數(shù)(0~360°)。而從串口傳送的數(shù)據(jù)為四位,其中小數(shù)位一位。
圖3 RS485電平轉(zhuǎn)換電路Fig.3 RS485 electrical level convert circuit
電源電路用兩片LM1117MP芯片,輸入電壓范圍為直流5~15 V,采用級(jí)連完成兩組穩(wěn)壓輸出,輸出電壓分別為3.3 V和1.8 V。
LSM303DLH地磁傳感器內(nèi)部有重力加速度和磁場(chǎng)強(qiáng)度的三軸輸出功能,在磁羅經(jīng)轉(zhuǎn)換器中由于機(jī)械磁羅經(jīng)處于水平狀態(tài),Mz近似為零忽略不計(jì),所以僅使用了磁場(chǎng)輸出數(shù)據(jù)中的水平方向數(shù)據(jù)MX、MY。根據(jù)圖4地球磁場(chǎng)在磁傳感器平面X、Y方向的分量大小,可求出航行方向與磁北方向的夾角θ。傳感器安裝時(shí)應(yīng)將平面方向兩軸的某軸與船首方向保持一致。
磁羅經(jīng)傳感器控制程序主要有:初始化程序、地磁場(chǎng)數(shù)據(jù)讀出程序、磁北角計(jì)算程序、格式輸出控制程序、顯示程序及校正程序等。
圖4 航向角與磁傳感器輸出量的關(guān)系Fig.4 Relationship of course angle and magnetic sensor output quantity
控制程序的初始化工作主要是對(duì)一些變量單元進(jìn)行初值設(shè)定、I2C通信總線初始化、設(shè)定LSM303DLH地磁傳感器的寄存器工作參數(shù)以及串行口波特率設(shè)定等。
地磁場(chǎng)數(shù)據(jù)讀出程序?yàn)橹鲃?dòng)式連續(xù)讀取模式,LSM303DLH地磁傳感器工作于最快的轉(zhuǎn)換速度狀態(tài),微處理器不斷讀取實(shí)時(shí)的磁場(chǎng)數(shù)據(jù),通過(guò)計(jì)算求得磁北航偏角,在微處理器使用12 MHz晶振時(shí),讀取一次并計(jì)算出角度的時(shí)間約為1 ms。
磁北角的計(jì)算采用多次數(shù)據(jù)求平均值的方法,以提高精確度并減少干擾數(shù)據(jù)的影響。在程序中對(duì)連續(xù)的10個(gè)讀出數(shù)據(jù)求得的磁北角進(jìn)行平均值的計(jì)算,對(duì)個(gè)別相差特別大的數(shù)據(jù)進(jìn)行丟棄,以保證讀取數(shù)據(jù)的有效性。由于航船在行駛中轉(zhuǎn)向緩慢,因此每秒4次以上的刷新率已足夠保證使用的要求。
磁羅經(jīng)傳感器輸出的語(yǔ)句格式為IEC-61162-1標(biāo)準(zhǔn)(International Electro technical Commission,簡(jiǎn)稱IEC)。語(yǔ)句標(biāo)準(zhǔn)格式為共17個(gè)ASCⅡ碼,如“$HCHDM,108.1,M*21”。其中“$HCHDM”為格式標(biāo)志符,后面?zhèn)z逗號(hào)之間的為信息數(shù)據(jù),表示航向角為偏北108.1°,“M”為標(biāo)識(shí)符,“*”后面為前面所有ASCⅡ碼的異或校驗(yàn)和。信息輸出采用RS485電平,波特率一般為4 800 Baud。
顯示程序采用定時(shí)器自動(dòng)掃描,三位共陽(yáng)LED發(fā)光管顯示器顯示航偏角的整數(shù)部分,顯示器的亮度四檔可調(diào)。
當(dāng)?shù)卮艌?chǎng)附近有鐵質(zhì)或固定外磁場(chǎng)時(shí),會(huì)對(duì)地磁場(chǎng)大小與方向產(chǎn)生磁干擾,從而改變地磁場(chǎng)的方向及大小。另外每路傳感器的放大量不一致也會(huì)對(duì)輸出數(shù)據(jù)產(chǎn)生誤差,因此需對(duì)每路的最大值及中心點(diǎn)位置進(jìn)行校正,方法是在首次安裝完磁羅經(jīng)傳感器后,使船在原地慢慢地開(kāi)2圈以上,或使磁羅經(jīng)傳感器繞磁羅盤中心點(diǎn)慢轉(zhuǎn)2圈以上,內(nèi)部程序?qū)?huì)對(duì)每路的磁強(qiáng)度最大值和最小值4個(gè)數(shù)據(jù)存放在內(nèi)部存儲(chǔ)器中,這樣在以后每次計(jì)算磁北角時(shí)可對(duì)每路的實(shí)際測(cè)量值進(jìn)行修正,這樣就能消除硬鐵干擾及放大量不一致造成的測(cè)量誤差了。
經(jīng)測(cè)試,用LSM303DLH設(shè)計(jì)的磁羅經(jīng)傳感器的讀數(shù)誤差優(yōu)于1°,主要誤差較大的地方在90°、180°、270°、360°附近,分析原因是在求反正切函數(shù)時(shí)分母數(shù)字接近為零,水平方向與垂直方向磁場(chǎng)量數(shù)據(jù)的比值較大。
利用LSM303DLH三軸數(shù)字傳感器制作的磁羅經(jīng)傳感器,具有靈敏度高、穩(wěn)定性好等特點(diǎn),該技術(shù)已應(yīng)用于工廠化批量生產(chǎn)。
[1]RIPKA P.Advances in fluxgate sensors[J].Sensors and Actuators A:Physical,2003,106(1/3):8-14.
[2]RIPKA P.New directions in fluxgate sensors[J].Journal of Magnetism and Magnetic Materials,2000,215-216;735-739.
[3]GARCIA A,MORN C,MORA M.Theoretical calculation for a two-axis magnetometer based on magnetization rotation[J].Sensors and Actuators A:Physical,2000,81(1/3):204-207.
[4]LEDERMAN S J,MARTIN A,KLATZKY C T R L.Relative performance using haptic and/or touch produced aud itory cues in a remote absolute texture identification task[A]//Proceedings o f the 11th Symposium on Haptic Interfaces for Virtual Environment and Teleoperator Systems.IEEE Computer Society,2003:151-158.
[5]KRON A,SCHMIDT G.Multi-fingered tactile feedback from virtual and remote environm-ents[A]//Proceedings of the 11th Symposium on Haptic Inter faces for Virtual Environment and Teleoperator Systems.IEEE Computer Society,2003:16-23.
[6]郝振海,黃圣國(guó).基于差分磁羅盤的組合航向系統(tǒng)[J].北京航空航天大學(xué)學(xué)報(bào),2008,34(4):377-380.
[7]馮桂蘭,田維堅(jiān),葛 偉,等.數(shù)字磁羅經(jīng)系統(tǒng)的設(shè)計(jì)[J].測(cè)控技術(shù),2006,25(8):86-88.
[8]張 琦,周冉輝,劉 睿,等.基于泊松方程的磁羅盤磁域自差修正[J].艦船電子工程,2011,31(9):51-53.
[9]文 方,黃錢飛.HMR3000在機(jī)器人姿態(tài)自控系統(tǒng)上的應(yīng)用[J].自動(dòng)化技術(shù)與應(yīng)用,2010,29(6):27-28.
[10]李希勝,劉洪毅,郭曉霞,等.車用磁電子羅盤的研制[J].微計(jì)算機(jī)信息,2006,22(10-1):308-310.