本文簡要介紹了基于pc104嵌入式工業(yè)控制計(jì)算機(jī)某小型遠(yuǎn)程自主水下航行器制導(dǎo)系統(tǒng)的設(shè)計(jì)要求和軟硬件實(shí)現(xiàn)方法,該制導(dǎo)系統(tǒng)己成功應(yīng)用于學(xué)校211工程建設(shè)的自主水下航行器上。
西北工業(yè)大學(xué)航海工程學(xué)院研制的水下航行器,是一種小型、遠(yuǎn)航程、低速航行、電動(dòng)力推進(jìn)、主要從事科學(xué)研究的水下航行器,其研制始于1998年。由于其體積小,而且要求其航程遠(yuǎn),除了采用低阻外型及高效稀土永磁推進(jìn)電機(jī)外,要求其制導(dǎo)系統(tǒng)的功耗要低,體積要小。由于科研經(jīng)費(fèi)限制,制導(dǎo)系統(tǒng)的成本要求要低。
1制導(dǎo)系統(tǒng)的硬件設(shè)計(jì)考慮到客觀條件對(duì)制導(dǎo)的實(shí)際需要,制導(dǎo)系統(tǒng)的硬件設(shè)備主要包括:pc104工控機(jī)、電子羅盤、gps、深度傳感器、舵機(jī),其結(jié)構(gòu)原理圖如所示。
水下航行器的pc104工控機(jī)主要有cpu模、a/d轉(zhuǎn)換板及d/a轉(zhuǎn)換板、串口并口擴(kuò)展板幾部分。
1)cpu模塊采用深圳盛博公司的80486dx系列,它與標(biāo)準(zhǔn)的pc100%兼容,含有14個(gè)中斷通道8259兼容),7個(gè)dma通道8237兼容),3個(gè)可編程計(jì)數(shù)器/定時(shí)器8254兼容),2個(gè)16550兼容的rs232口。
a/d轉(zhuǎn)換板采用實(shí)時(shí)設(shè)備公司生產(chǎn)的dm5406,它的主要性能指標(biāo)為:輸入電源+5v;8路差分或16路單端輸入a/d通道,分辨率12位,轉(zhuǎn)換時(shí)間5微秒;3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中2個(gè)計(jì)數(shù)器串聯(lián)用作a/d采樣的同步時(shí)鐘;2路12位d/a,可通過編程輸出。
d/a轉(zhuǎn)換板采用實(shí)時(shí)設(shè)備公司生產(chǎn)的dm5604,它的主要性能指標(biāo)為:輸入電源+5v;功耗2.35w;8路12位d/a,可通過編程輸出24路ttl/cmos兼容的8255數(shù)字i/o.串口并口擴(kuò)展板采用深圳盛博公司生產(chǎn)的msp-i系統(tǒng)擴(kuò)展模塊,含有兩個(gè)pc兼容rs232c串行口默認(rèn)端口地址為3e8h和2e8h,中斷號(hào)為irq11和丨rq10),―個(gè)pc兼容雙向并行口,pc104標(biāo)準(zhǔn)尺寸,+5v操作電壓,低功耗cmos設(shè)計(jì),與pc104cpu模塊直接接。
電子羅盤采用美國精確導(dǎo)航公司研制的tcm2-20,它是一個(gè)具有最新技術(shù)的低功耗、高性能的傳感器模塊,它將一個(gè)三軸磁強(qiáng)計(jì)和一個(gè)高性能的二軸傾斜傳感器結(jié)合封裝在一起,使其具有比當(dāng)今其它類型的羅盤更小的體積和功耗。
始化,同時(shí)可以跟蹤12個(gè)衛(wèi)星,并可進(jìn)行快速定位。
深度傳感器采用寶雞儀表廠生產(chǎn)的cs-pt系統(tǒng)高精度壓力變送器。
舵機(jī)作為航行器的執(zhí)行機(jī)構(gòu),主要執(zhí)行元件為步進(jìn)電機(jī),傳動(dòng)機(jī)構(gòu)為蝸輪、蝸桿。步進(jìn)電機(jī)的工作方式為四相四拍。在該舵機(jī)控制系統(tǒng)中僅需控制電機(jī)運(yùn)轉(zhuǎn)脈沖數(shù)及運(yùn)轉(zhuǎn)方向,就可達(dá)到控制舵角的目的。舵機(jī)控制系統(tǒng)采用單片機(jī)和功率放大器混合驅(qū)動(dòng)步進(jìn)電機(jī)。
步進(jìn)電機(jī)驅(qū)動(dòng)脈沖使用軟件分配,每臺(tái)電機(jī)使用專門的正反轉(zhuǎn)程序,通過對(duì)a/d采樣值的計(jì)算,得到電機(jī)的驅(qū)動(dòng)脈沖數(shù),可實(shí)現(xiàn)一個(gè)單片機(jī)對(duì)三臺(tái)電機(jī)的驅(qū)動(dòng)。
步進(jìn)電機(jī)的驅(qū)動(dòng)電源采用大功率場效應(yīng)管,它具有驅(qū)對(duì)上式積分得到航行器的航向角指令為動(dòng)功率小,無二次擊穿等優(yōu)點(diǎn)。
2制導(dǎo)系統(tǒng)的軟件設(shè)計(jì)控制方案1)水下航行器縱向運(yùn)動(dòng)的控制方案:水下航行器縱向運(yùn)動(dòng)是一個(gè)不穩(wěn)定的非最小相位系統(tǒng)1,為了提高其定深航行的穩(wěn)定性,其控制方案的結(jié)構(gòu)圖如所示。,——航行器縱向運(yùn)動(dòng)控制方案結(jié)構(gòu)圖其中y為由深度傳感器測(cè)量到的航行器的航行深度,y為設(shè)定航行深度,為自由角,為橫舵角指令,ky和為比例系數(shù),為深度變化率的估計(jì)值。為了提高!估計(jì)的精度和響應(yīng)速度,提高抗干擾性,我們采用變帶寬微分跟蹤器,其表達(dá)式為n(y-y)系數(shù)為帶寬。其中的表達(dá)式為水下航行器航向運(yùn)動(dòng)的控制方案:采用位置輸出反饋控制方案,其控制方案的結(jié)構(gòu)圖如所示。
其中為由磁羅盤測(cè)量到的航行器的航向角,為由制導(dǎo)律計(jì)算出的航向角指令,k為比例系數(shù),為垂直舵角指令。
水下航行器橫滾運(yùn)動(dòng)的控制方案:采用位置輸出反饋控制方案,其控制方案的結(jié)構(gòu)圖如所示。
為比例系數(shù),為差動(dòng)舵角指令。
4)舵角分配規(guī)律:由于水下航行器采用全動(dòng)舵結(jié)構(gòu)配置,并采用水平差動(dòng),因此水平左舵和右舵的分配規(guī)律為制導(dǎo)律采用方位線3humb-line)導(dǎo)航方案。所謂方位線rhumb-line)即是地球表面上與所有子午線以相同角度相交的交點(diǎn)之間的連線,如所示。
在中,(,))為由gps測(cè)量到的航行器的當(dāng)前經(jīng)煒度,(+,)+)為航行器就位點(diǎn)的經(jīng)煒度。當(dāng)a(=(+-(,a)=)廠)9,足夠小時(shí),由可得為了便于程序的維護(hù)升級(jí),制導(dǎo)系統(tǒng)軟件采用c++語言。由于制導(dǎo)系統(tǒng)中的電子羅盤、gps的輸出一般都是采用串行數(shù)字輸出,其格式符合美國國家海洋電子協(xié)會(huì)為海用電子設(shè)備制定的標(biāo)準(zhǔn)nmea-0183.為此,我們開發(fā)了pc104工控機(jī)與這些設(shè)備之間進(jìn)行串行中斷通訊的c++通用軟件。它主要由兩個(gè)基本類組成。一是bufferclass類,該類主要是將串行中斷通訊接收到的數(shù)據(jù)放入緩沖器中,以便對(duì)接收到的數(shù)據(jù)進(jìn)行處理和轉(zhuǎn)化。另一類是serialportclass類,該類主要完成對(duì)串行通訊接口進(jìn)行設(shè)置,并將接收的數(shù)據(jù)存入緩沖器內(nèi)。在此基礎(chǔ)上,分別針對(duì)電子羅盤、gps定義了兩個(gè)派生類。以電子羅盤為例,一個(gè)派生類為compbufferclass,存放電子羅盤輸出的整串?dāng)?shù)據(jù),另一個(gè)派生類為compassportclass,設(shè)置電子羅盤斷口地址、中斷號(hào)及串行通訊格式。由于篇幅所限,不能在本文中詳細(xì)介紹,可參閱。此外,為下轉(zhuǎn)第53頁)服務(wù)器數(shù)據(jù)標(biāo)簽與plc6的寄存器數(shù)據(jù)標(biāo)簽內(nèi)容吻合。證明服務(wù)器數(shù)據(jù)交換正常。當(dāng)檢查plc6與plc2通訊時(shí),發(fā)現(xiàn)plc1、plc2的modbuspluse的通訊指示燈閃爍均不正常,而plc6的閃爍正常。按理說plc6、plc2、plc1之間為柜間線,也無人接觸不該導(dǎo)致通訊中斷。經(jīng)簡單目視檢查后,沒有發(fā)現(xiàn)問題。由于plc1、plc2同處于網(wǎng)路后半段,遂認(rèn)為有因素在影響整個(gè)網(wǎng)路后半段。立即前往距離約50米外的網(wǎng)路后半段終端點(diǎn)-電氣值班室。經(jīng)檢查modbuspluse網(wǎng)絡(luò)終端電阻接線接觸不良,引起短路,導(dǎo)致網(wǎng)絡(luò)阻抗不匹配,信號(hào)反射率上升,引起波形失真,從而影響到網(wǎng)路后半段最近的3個(gè)節(jié)點(diǎn)不能正常工作。
重新接線后,系統(tǒng)立即恢復(fù)正常。事后詢問得知,電氣值班室這幾日一直在裝修,白天屢屢搬動(dòng)設(shè)備,可能就是因?yàn)樵O(shè)備移動(dòng)導(dǎo)致終端電阻時(shí)好時(shí)壞,這也解釋了為何故障從不發(fā)生在深夜的疑問。
3改進(jìn)措施現(xiàn)在網(wǎng)絡(luò)化工業(yè)控制在工業(yè)生產(chǎn)中處于至關(guān)重要的地位,其通訊安全理應(yīng)得到足夠的重視。一些次重要或可有可無的網(wǎng)絡(luò)節(jié)點(diǎn)應(yīng)盡量減少或做分段處理。布線點(diǎn)一定要確保網(wǎng)路安全可靠。這一點(diǎn)尤其在總線式網(wǎng)絡(luò)上特別突出。從而在根源上減少甚至杜絕故障。除了在硬件設(shè)置上進(jìn)行了重新安置,還在網(wǎng)絡(luò)故障軟件診斷上,下了很大功夫。經(jīng)過反復(fù)論證,實(shí)現(xiàn)了網(wǎng)路故障的即時(shí)診斷。即使出問題的不單單是網(wǎng)路線路,還包括電源中斷、cpu損壞、通訊輔助設(shè)備損壞等,也能夠在極短的時(shí)間內(nèi)判斷故障點(diǎn)及故障范圍。具體做法如下:在plc1~6以及服務(wù)器分別設(shè)置一個(gè)動(dòng)態(tài)變化的位寄存器和位數(shù)據(jù)標(biāo)簽,它們不斷地以1秒一次的頻率變化,由0!1再由1!0.這樣在c1~c10上可以清楚的看到plc1~6以及服務(wù)器中,誰與工作站通訊中斷了。同時(shí)配合plc以及服務(wù)器的狀態(tài)字傳輸,可以方便的得到通訊故障原因,如果應(yīng)用數(shù)據(jù)庫技術(shù)還可以進(jìn)行網(wǎng)絡(luò)故障的歷史記錄和查詢。










