CAN總線在波動仿生推進(jìn)器中的應(yīng)用
作為一種面向水下航行器的新型仿生推進(jìn)裝置,波動仿生推進(jìn)器主要模擬依靠身體波動式推進(jìn)的魚類的游動方式,以單柔性長鰭的波動推進(jìn)為基礎(chǔ),利用多背鰭之間的協(xié)同控制來產(chǎn)生推力、升力、偏航和俯仰力矩。在機(jī)構(gòu)設(shè)計上,一個單柔性長鰭由若干根鰭條組成,通過對這若干根鰭條進(jìn)行不同的配置,可以實現(xiàn)單柔性長鰭不同的波形。而波形參數(shù)(波長、波幅、波頻、波傳播方向等)的不同將直接影響到單柔性長鰭所產(chǎn)生推力的大小。在研究初期,需要對單柔性長鰭進(jìn)行靈活控制,以便確定推進(jìn)效率最優(yōu)的波形參數(shù)。為此,我們設(shè)計了一種多電機(jī)獨立控制方案,即由一個電機(jī)控制一根鰭條,通過電機(jī)之間的協(xié)調(diào)來實現(xiàn)對單柔性長鰭的波動控制。
本文引用地址:http://m.butianyuan.cn/article/188723.htmCAN(ControllerAreaNetwork)總線,又稱控制器局域網(wǎng),是Bosch公司在現(xiàn)代汽車技術(shù)中領(lǐng)先推出的一種多主機(jī)局部網(wǎng),也是一種串行通訊協(xié)議。其卓越的可靠性和傳輸?shù)母咚傩?,使它能夠有效地支持具有很高安全等級的分布式實時控制。CAN總線現(xiàn)在已廣泛應(yīng)用于工業(yè)現(xiàn)場控制、智能大廈、環(huán)境監(jiān)控等眾多領(lǐng)域,從高速的網(wǎng)絡(luò)到通用的多路接線都可以使用。在汽車電子行業(yè)里,使用CAN總線連接發(fā)動機(jī)控制單元、傳感器、防剎車系統(tǒng)等,其傳輸速度可達(dá)1Mbit/s。波動仿生推進(jìn)器多電機(jī)系統(tǒng)內(nèi)部通訊總線與汽車內(nèi)部總線有很多相似的特性,如都處于強(qiáng)機(jī)械震蕩、強(qiáng)電磁干擾環(huán)境等,而且CAN總線在機(jī)器人內(nèi)部通訊系統(tǒng)中的應(yīng)用已經(jīng)有了許多成功的先例。因此在波動仿生推進(jìn)器的內(nèi)部通訊總線設(shè)計中采用CAN協(xié)議。
1系統(tǒng)總體結(jié)構(gòu)
水下波動仿生推進(jìn)器采用分級控制的思路,總體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。在岸上,以一臺IBM-PC機(jī)作為操控平臺,實現(xiàn)操縱命令的給定、彈載內(nèi)部運行狀態(tài)的監(jiān)測與可視化管理以及人機(jī)界面的功能。它通過RS-232總線連接到仿生推進(jìn)器內(nèi)部的主控上位機(jī)PC/104上。PC/104是仿生推進(jìn)器運動控制的核心模塊,負(fù)責(zé)實現(xiàn)除底層電機(jī)控制模塊以外的所有上層控制算法,包括多電機(jī)的波形控制、姿態(tài)與深度測量、安全狀態(tài)監(jiān)控等。其中,多電機(jī)的波形控制是通過PC/104對底層若干個電機(jī)控制節(jié)點的協(xié)調(diào)來實現(xiàn)的,通過采用基于CAN現(xiàn)場總線的串行通信協(xié)議,保證了通信的可靠性及實時性。
在本系統(tǒng)中,核心控制部分采用SBS公司的PC/104模塊,并通過該公司集成的基于PC/104的CSD-CAN總線控制器與波動仿生推進(jìn)器內(nèi)部的各控制節(jié)點組成CAN通信網(wǎng)絡(luò)。在底層各電機(jī)控制節(jié)點上,采用日本安川公司模塊化SGMAH04型交流伺服電機(jī)和相應(yīng)SGDM04ADA型伺服驅(qū)動器。該伺服驅(qū)動器可通過自帶的RS-232串口(CN3)與數(shù)字操作器或者PC聯(lián)接,通過編碼器接頭(CN2)聯(lián)接編碼器至伺服電機(jī),同時它還提供一個實時I/O端口(CN1)可與運動模塊MP910等或其它上級裝置聯(lián)接。向其I/O端口發(fā)送脈沖序列可以對電機(jī)進(jìn)行速度和位置控制,向其串口發(fā)送命令指令可以獲取電機(jī)當(dāng)前的速度和位置信息。這樣,我們可以跳過最底層與電機(jī)接口部分的軟硬件開發(fā),而通過單片機(jī)直接對伺服驅(qū)動器進(jìn)行控制。在各個電機(jī)控制節(jié)點上,研制相應(yīng)的CAN智能節(jié)點以實現(xiàn)與彈載上位機(jī)PC/104的通信。
波動仿生推進(jìn)器中CAN網(wǎng)絡(luò)必須具備波形控制和狀態(tài)監(jiān)控兩大功能。對于該多電機(jī)系統(tǒng),各個節(jié)點相互獨立,通過在PC/104中對這若干個節(jié)點進(jìn)行合理的調(diào)配來實現(xiàn)波動仿生推進(jìn)器的波形控制功能。另外,各CAN節(jié)點實時監(jiān)測本控制節(jié)點對應(yīng)電機(jī)的工作狀態(tài),并將其返回給上位機(jī);同時,各CAN節(jié)點定時監(jiān)測節(jié)點本身的工作狀態(tài),利用CAN總線協(xié)議強(qiáng)大的錯誤處理功能對各種可能出現(xiàn)的錯誤進(jìn)行分析處理。
2CAN網(wǎng)絡(luò)的硬件方案
由圖1可知,各個CAN節(jié)點直接掛接于同一個CAN網(wǎng)絡(luò)。它們的軟硬件組成結(jié)構(gòu)完全一致,硬件組成框圖見圖2。
系統(tǒng)中的各CAN節(jié)點采用的都是智能節(jié)點,即都由微控制器和可編程的CAN控制芯片組成。從圖2可以看出,各CAN節(jié)點電路主要由微控制器AT89C51、獨立CAN控制器SJA1000、CAN收發(fā)器82C250、高速光耦6N137、撥碼開關(guān)地址輸入電路、電源監(jiān)測與看門狗電路以及面向伺服電機(jī)的部分電路組成。
由于采用了模塊化的伺服電機(jī)驅(qū)動器,各控制節(jié)點只需實現(xiàn)簡單的伺服控制功能,故采用Atmel公司的8位單片機(jī)AT89C51作為微控制器。CAN控制芯片完成CAN的通信協(xié)議,主要由實現(xiàn)CAN總線協(xié)議的部分與實現(xiàn)與微控制器接口部分的電路組成,這里采用的是PHILIPS公司的SJA1000。它是一種獨立CAN控制器,具有BasicCAN和PeliCAN兩種工作模式,其中PeliCAN模式支持具有很多新特性的CAN2.0B協(xié)議。82C250是高性能的CAN總線收發(fā)器,是CAN協(xié)議控制器和物理總線的接口,它對總線提供差動發(fā)送能力,對CAN控制器提供差動接收能力。通過對82C250的8號管腳的不同設(shè)置,可使其工作于高速、待機(jī)、斜率等三種模式。
撥碼開關(guān)地址輸入電路用于對各個CAN節(jié)點的標(biāo)識。上電后,單片機(jī)首先讀取撥碼開關(guān)的數(shù)值,并在CAN初始化中將其寫入SJA1000的接收代碼寄存器,作為該節(jié)點的標(biāo)識碼。電源監(jiān)測與看門狗電路采用的是MAX813,它在系統(tǒng)上電時刻提供上電復(fù)位功能,在程序運行時提供看門狗監(jiān)測和電源監(jiān)測功能,并能夠?qū)崿F(xiàn)手動復(fù)位。
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評論