www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 模擬 > 模擬
[導(dǎo)讀]文中提出了一種基于CAN總線的水下機(jī)器人分布式控制系統(tǒng)結(jié)構(gòu),主要設(shè)計(jì)其執(zhí)行節(jié)點(diǎn),包括P87C591單片機(jī)為核心的的硬件電路和軟件結(jié)構(gòu)設(shè)計(jì)。

引言

與傳統(tǒng)的纜控水下航行器(ROV)相比,自主水下航行器(AUV)具有如下特點(diǎn):(1)環(huán)境適應(yīng)性強(qiáng),活動(dòng)范圍大,可沖破人工潛水極限進(jìn)入現(xiàn)場(chǎng)進(jìn)行接近觀測(cè);(2)體積小,使用方便,便于布放和回收;(3)可根據(jù)水聲信號(hào)遙控或預(yù)置程序控制,按要求進(jìn)行相關(guān)項(xiàng)目觀測(cè);(4)有自主動(dòng)力,水下運(yùn)行時(shí)間相對(duì)較長(zhǎng),有源噪聲低等。

水下機(jī)器人裝配有大量傳感器,要求控制系統(tǒng)具有較高的處理速度,又因開發(fā)費(fèi)用較高,必須具有很好的可擴(kuò)展性來改變測(cè)量裝置以實(shí)現(xiàn)多功能。分布式控制系統(tǒng)在適用范圍、可擴(kuò)展性、控制速度、系統(tǒng)模塊化、可維護(hù)性、抗單點(diǎn)故障等方面具有明顯優(yōu)勢(shì),是極佳的選擇。

圖1所示為本文開發(fā)的基于CAN總線的分布式水下機(jī)器人控制系統(tǒng)結(jié)構(gòu)。CAN總線具有如下特性:(1)實(shí)時(shí)性高。多主站工作方式,優(yōu)先級(jí)高的節(jié)點(diǎn)優(yōu)先傳輸數(shù)據(jù),數(shù)據(jù)傳輸率高(1Mbit/s);(2)檢錯(cuò)和糾錯(cuò)機(jī)制強(qiáng)。發(fā)送信息損壞自動(dòng)重發(fā),采用獨(dú)特的非破壞總線仲裁技術(shù),有CRC及其它校驗(yàn);(3)連接簡(jiǎn)單,可擴(kuò)展性強(qiáng),開發(fā)方便。通訊協(xié)議與開放系統(tǒng)互連模型OSI一致,應(yīng)用層協(xié)議可有用戶自己定義。


圖1 水下機(jī)器人控制系統(tǒng)結(jié)構(gòu)

控制系統(tǒng)由各個(gè)功能節(jié)點(diǎn)通過CAN總線連接構(gòu)成,各節(jié)點(diǎn)大部分時(shí)間并行工作,只在必要時(shí)與中央控制節(jié)點(diǎn)通訊。其中的執(zhí)行節(jié)點(diǎn)直接控制AUV的現(xiàn)場(chǎng)執(zhí)行機(jī)構(gòu),對(duì)AUV的功能實(shí)現(xiàn)性起著至關(guān)重要的作用。在研究開發(fā)的AUV中,執(zhí)行節(jié)點(diǎn)除完成CAN通信外,還有以下幾個(gè)主要功能:(1)航行速度控制功能。其執(zhí)行部件為一三葉螺旋槳,產(chǎn)生主推力;(2)航行方向控制功能。執(zhí)行部件是一對(duì)垂直舵;(3)航行深度控制功能。實(shí)現(xiàn)深度控制與縱傾控制,執(zhí)行部件是一對(duì)水平舵;(4)傳感器模塊的旋轉(zhuǎn)調(diào)平控制功能,實(shí)現(xiàn)部分傳感器位姿調(diào)整。其中,(1)為速度伺服控制系統(tǒng),(2),(3),(4)為位置伺服控制系統(tǒng),均由無刷直流伺服電機(jī)進(jìn)行驅(qū)動(dòng)。

執(zhí)行節(jié)點(diǎn)硬件設(shè)計(jì)

CAN接口設(shè)計(jì)
節(jié)點(diǎn)主芯片選用Philips公司的P87C591,其兼容80C51指令集,并成功的集成了Philips公司的SJAl000CAN控制器,該嵌入式CAN控制器具有以下特點(diǎn):(1)完全符合CAN210規(guī)范,控制CAN幀的接收和發(fā)送;(2)CAN接口包含5個(gè)實(shí)現(xiàn)CPU與CAN控制器連接的特殊功能寄存器。對(duì)重要CAN寄存器的訪問通過快速自動(dòng)增加的尋址特性和對(duì)特殊功能寄存器的位尋址來實(shí)現(xiàn);(3)CAN控制器的發(fā)送緩沖區(qū)能夠保存一個(gè)完整的CAN信息幀(擴(kuò)展或標(biāo)準(zhǔn)幀),只要通過CPU啟動(dòng)發(fā)送,信息就從發(fā)送緩沖區(qū)傳輸?shù)紺AN內(nèi)核模塊;(4)當(dāng)接收一個(gè)信息時(shí),CAN內(nèi)核模塊將串行數(shù)據(jù)流轉(zhuǎn)換成并行數(shù)據(jù)傳輸?shù)津?yàn)收濾波器,通過此可編程濾波器,P87C591確認(rèn)接收需要的信息。

圖2所示為以P87C591為核心的CAN節(jié)點(diǎn)接口電路。P1.0,P1.1分別對(duì)應(yīng)CAN的收(RXDC)和發(fā)(TXDC)線,通過高速光耦(6N137)與總線實(shí)現(xiàn)光電隔離。CAN收發(fā)器選用Philips的P82C250,以差分方式發(fā)送,CAN總線末端加124的終端匹配電阻。


圖2 CAN總線接口電路

無刷直流伺服系統(tǒng)構(gòu)建
根據(jù)應(yīng)用場(chǎng)合,選擇了瑞士Maxon公司的EC系列無刷直流伺服電機(jī)(DCBrushless ServoMotor),其滿足以下要求:(1)電機(jī)重量輕,體積小,這在水下潛器設(shè)計(jì)中是十分關(guān)心的問題,而且轉(zhuǎn)動(dòng)慣量約可減少50%左右;(2)無機(jī)械換向,大大減少了電磁干擾,適合AUV在狹小空間容納多種傳感器的特點(diǎn);(3)特征曲線基本為直線,控制性好;(4)有一定的防潮和耐高溫能力。螺旋槳驅(qū)動(dòng)和舵驅(qū)動(dòng)功率不同,分別為400W和80W;工作電壓分別為直流48V和直流24V。

電機(jī)驅(qū)動(dòng)器采用美國(guó)Accelus公司的直流無刷數(shù)字伺服驅(qū)動(dòng)器,其有以下特點(diǎn):(1)全數(shù)字驅(qū)動(dòng)器,電流、速度和位置三環(huán)控制可以自由配置;(2)驅(qū)動(dòng)器中集成有flash存儲(chǔ)器,其有配套的計(jì)算機(jī)軟件,通過驅(qū)動(dòng)器上的RS232端口對(duì)驅(qū)動(dòng)器進(jìn)行部分功能設(shè)定。(3)由于為全數(shù)字驅(qū)動(dòng)器,與控制器連接簡(jiǎn)單。

圖3表示了一路直流無刷電機(jī)伺服系統(tǒng)。對(duì)螺旋槳,驅(qū)動(dòng)器設(shè)置成速度控制模式,其它設(shè)置為位置控制模式。螺旋槳驅(qū)動(dòng)電機(jī)采用PWM調(diào)速方式,其它驅(qū)動(dòng)電機(jī)都通過微控制器I/O口輸出脈沖控制。


圖3 無刷電機(jī)伺服控制系統(tǒng)示意圖

電機(jī)驅(qū)動(dòng)器按要求進(jìn)行合理設(shè)置和連接后,與控制器P87C591密切相關(guān)的信號(hào)線有兩條:一條控制電機(jī)的轉(zhuǎn)速或位置,一條控制電機(jī)的轉(zhuǎn)向。對(duì)螺旋槳控制,將其驅(qū)動(dòng)器設(shè)置為速度模式,采用PWM調(diào)速控制,電機(jī)的轉(zhuǎn)速與PWM的占空比成正比。其它電機(jī)控制系統(tǒng),驅(qū)動(dòng)器設(shè)置為位置模式,由于這幾個(gè)電機(jī)控制系統(tǒng)對(duì)電機(jī)的轉(zhuǎn)速要求不高,采用定轉(zhuǎn)速,這樣脈沖頻率恒定,通過對(duì)P87C591的定時(shí)器編程產(chǎn)生脈沖,另外用控制器的一個(gè)端口控制電機(jī)的轉(zhuǎn)向。

為了保證系統(tǒng)工作安全、可靠,在控制器與驅(qū)動(dòng)器之間,采用高速光耦6N137進(jìn)行隔離,其原因:(1)控制器和驅(qū)動(dòng)器存在接地電位差;(2)抑制環(huán)境干擾信號(hào);(3)控制器供電4.5~5V,為弱電,而驅(qū)動(dòng)器供電20~70V,相對(duì)較高。在電源輸入和電機(jī)輸出都配置保險(xiǎn)絲進(jìn)行安全保護(hù)。

執(zhí)行節(jié)點(diǎn)軟件設(shè)計(jì)

應(yīng)用層協(xié)議制定
在CAN210規(guī)范標(biāo)準(zhǔn)中,為了用戶使用的靈活性,只對(duì)物理層和數(shù)據(jù)鏈路層進(jìn)行了規(guī)定,沒有定義應(yīng)用層,這就需要用戶根據(jù)自己需求制定應(yīng)用層協(xié)議。雖然目前可以使用一些成熟的應(yīng)用層協(xié)議,如HiLon、CANOpen、DeviceNET和SDS協(xié)議等,但缺乏針對(duì)性,因此首先制定CAN應(yīng)用層協(xié)議。

在設(shè)計(jì)一個(gè)基于CAN總線的通信系統(tǒng)時(shí),確定CAN標(biāo)識(shí)符的分配非常重要,它關(guān)系到通訊網(wǎng)絡(luò)結(jié)構(gòu)的合理性和傳輸效率的高低,是制定應(yīng)用層協(xié)議的一個(gè)重要研究?jī)?nèi)容。本文在CAN2.0標(biāo)準(zhǔn)幀格式的基礎(chǔ)上,根據(jù)水下機(jī)器人控制系統(tǒng)的需求特點(diǎn)制定了一個(gè)多幀傳輸?shù)膽?yīng)用層協(xié)議。協(xié)議中將11位信息標(biāo)識(shí)符按表1進(jìn)行分配。

標(biāo)識(shí)符ID28-ID25定義為源地址,ID24-ID21定義為目的地址,這樣節(jié)點(diǎn)可以按優(yōu)先權(quán)高低由低向高分配地址,保證競(jìng)爭(zhēng)中優(yōu)先權(quán)高的節(jié)點(diǎn)能先占用總線。相同目的/源地址的幀還可以通過標(biāo)識(shí)符ID20-ID19來調(diào)整優(yōu)先權(quán),ID18的值用來區(qū)分多幀傳輸中起始幀(1)/普通幀(0)。

在標(biāo)識(shí)符分配中,一般保留一個(gè)地址作為數(shù)據(jù)廣播,另外不使用地址15,以避免標(biāo)識(shí)符前7位全為隱性位(邏輯1)。因此協(xié)議可以滿足不多于14個(gè)節(jié)點(diǎn)的需求。


表1 CAN幀信息和標(biāo)識(shí)碼定義

一般CAN總線的應(yīng)用層協(xié)議習(xí)慣將流長(zhǎng)度、多幀索引等信息放在數(shù)據(jù)場(chǎng)中,但這樣每一幀都浪費(fèi)了若干個(gè)字節(jié)。因此本文將多幀傳輸?shù)南嚓P(guān)信息作為起始幀發(fā)出,而有效數(shù)據(jù)作為普通幀隨后發(fā)出。起始幀的數(shù)據(jù)域結(jié)構(gòu)見表2,傳輸號(hào)為本次多幀傳輸?shù)男蛱?hào),流長(zhǎng)度為本次數(shù)據(jù)傳輸?shù)淖止?jié)數(shù)。


表2 起始幀(ID18=1)的數(shù)據(jù)域

普通幀的數(shù)據(jù)域?qū)τ脩羰峭该鞯模梢愿鶕?jù)需要任意安排使用。

水下機(jī)器人總線上傳輸?shù)男畔⒖煞譃橐韵氯悾?1)傳感器節(jié)點(diǎn)數(shù)據(jù)傳輸命令,傳送為保證機(jī)器人正常運(yùn)動(dòng)所需要的傳感器信息,包括航行傳感器和任務(wù)傳感器等。(2)航跡控制命令。上述兩類命令按照一定時(shí)鐘節(jié)拍發(fā)送到總線上,一般發(fā)送航跡命令的節(jié)拍要比發(fā)送傳感器數(shù)據(jù)的節(jié)拍慢。(3)特殊命令,例如出現(xiàn)緊急情況需要上浮等,此種命令是不定時(shí)發(fā)送的,發(fā)送的頻率也不是均勻的。

根據(jù)以上通信特點(diǎn),在滿足功能要求的條件下,為了簡(jiǎn)潔,協(xié)議規(guī)定命令均不超過8個(gè)字節(jié),并使用2個(gè)字節(jié)來為命令編碼。節(jié)點(diǎn)間一次可能傳輸一個(gè)或多個(gè)命令。在本文制定的應(yīng)用層協(xié)議中,命令通過普通幀傳輸。

表3列舉了普通幀的數(shù)據(jù)域結(jié)構(gòu),每個(gè)普通幀包含一個(gè)命令,其數(shù)據(jù)域前兩個(gè)字節(jié)為命令編碼,第三個(gè)字節(jié)存放本條命令的參數(shù)個(gè)數(shù),后面為若干個(gè)參數(shù)的內(nèi)容。


表3 普通幀(ID18=0)的數(shù)據(jù)域

CAN程序設(shè)計(jì)
CAN軟件設(shè)計(jì)主要包括初始化函數(shù)、接收處理函數(shù)、發(fā)送處理函數(shù)、中斷處理函數(shù)等。

CAN通信的初始化工作主要包括操作模式設(shè)定、驗(yàn)收濾波器設(shè)置、總線定時(shí)、管腳配置和中斷設(shè)置等幾項(xiàng)工作。需要注意總線上各節(jié)點(diǎn)的波特率必須一致,另外P1.0(RXDC)和P1.1(TXDC)必須設(shè)置為準(zhǔn)雙向模式。

CAN接收程序流程見圖4。中斷函數(shù)中負(fù)責(zé)接收CAN信息,并將對(duì)每個(gè)任務(wù)的描述及其所包含的命令插入隊(duì)列;而主循環(huán)中將各任務(wù)包含的命令從隊(duì)列取出,并且根據(jù)命令執(zhí)行相應(yīng)的運(yùn)算或操作。使用隊(duì)列的好處是在執(zhí)行命令的同時(shí)中斷函數(shù)還可以接收新的命令,避免了同時(shí)讀寫通信緩沖區(qū)造成的沖突。

CAN的發(fā)送程序采用查詢方式,因?yàn)?strong>CAN總線本身提供了比較好的總線仲裁、錯(cuò)誤檢測(cè)、錯(cuò)誤標(biāo)定和故障界定功能,發(fā)送程序的設(shè)計(jì)比較簡(jiǎn)單,這里不再過多贅述。


圖4 CAN接收處理程序

試驗(yàn)與結(jié)論

執(zhí)行節(jié)點(diǎn)的工作對(duì)象為小型自治測(cè)量型水下機(jī)器人,低阻力流線型殼體,水中配成中性浮力,由一個(gè)三葉螺旋槳提供推力,水平舵和垂直舵各一對(duì)來控制航向與姿態(tài),技術(shù)指標(biāo)見表4。

機(jī)器人先后完成了水上拖纜航行和無纜自治航行。試驗(yàn)證明,本節(jié)點(diǎn)完全滿足自治水下機(jī)器人航行控制性能的高要求,并且具有實(shí)時(shí)性高、可靠性強(qiáng)、使用方便等優(yōu)點(diǎn)。在今后的工作中,還可以對(duì)執(zhí)行節(jié)點(diǎn)做進(jìn)一步的改進(jìn),如更換高性能的微控制器,進(jìn)一步提高節(jié)點(diǎn)的處理速度;采用嵌入式操作系統(tǒng)來提高節(jié)點(diǎn)的實(shí)時(shí)處理能力,從而使節(jié)點(diǎn)具備更高性能。

    表4 水下機(jī)器人技術(shù)指標(biāo)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

工作量守恒定律。前面看似吃點(diǎn)虧把其它不歸我的業(yè)務(wù)也實(shí)現(xiàn)了,正是我在第一階段實(shí)現(xiàn)了3塊業(yè)務(wù),它也創(chuàng)造一個(gè)測(cè)試環(huán)境,我可以不依賴其他同事任務(wù)進(jìn)度,獨(dú)自完成軟路由的功能測(cè)試。其二,我的架構(gòu)能同時(shí)兼容3種業(yè)務(wù)的實(shí)現(xiàn),也證明架構(gòu)有...

關(guān)鍵字: 架構(gòu) 應(yīng)用層 服務(wù)器

汽車電子系統(tǒng)架構(gòu)發(fā)生了顛覆性變化。它已經(jīng)持續(xù)了近十年,現(xiàn)在正在加快速度。這主要發(fā)生在 BEV 初創(chuàng)公司中,因?yàn)樗鼈儧]有歷史限制或根深蒂固的喜愛設(shè)計(jì),并且可以從電子架構(gòu)的零基礎(chǔ)開始。

關(guān)鍵字: CAN總線 電動(dòng)汽車

在電子產(chǎn)品的設(shè)計(jì)中,電磁兼容EMC性能對(duì)系統(tǒng)的影響非常大,關(guān)系到其能正常穩(wěn)定運(yùn)轉(zhuǎn)。世界上已經(jīng)開始對(duì)電子產(chǎn)品的電磁兼容性做強(qiáng)制性限制,電磁兼容性能已經(jīng)成為產(chǎn)品性能的一個(gè)重要指標(biāo)。 電磁兼容主要有兩方面的內(nèi)容,一個(gè)是產(chǎn)...

關(guān)鍵字: CAN總線 電磁兼容EMC

CAN 是Controller Area Network 的縮寫(以下稱為CAN),是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議。在汽車產(chǎn)業(yè)中,出于對(duì)安全性、舒適性、方便性、低功耗、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來。...

關(guān)鍵字: CAN總線 CAN 抗噪

CAN總線首先在汽車上得到了廣泛應(yīng)用,之后又在工業(yè)生產(chǎn)領(lǐng)域有了很大發(fā)展,那么面對(duì)不同的應(yīng)用場(chǎng)景和工況,如何選擇合適的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)慢慢成為一個(gè)讓人頭疼的問題。在這篇文章中,我將重點(diǎn)介紹用于驅(qū)動(dòng)這些總線電壓的 CAN 驅(qū)動(dòng)器...

關(guān)鍵字: CAN總線 CAN總線拓?fù)?/a>

水下機(jī)器人是一種工作于水下的環(huán)境的無人機(jī)產(chǎn)品。由于水下環(huán)境危險(xiǎn),人類的潛水深度有限,所以水下機(jī)器人已成為人類探索海洋的重要工具,廣泛應(yīng)用于水下娛樂,水下搜救,科研教學(xué),漁業(yè)應(yīng)用等領(lǐng)域。

關(guān)鍵字: 云間半導(dǎo)體科技 水下機(jī)器人

事情從一個(gè)健身教練說起吧。李東,自稱亞健康終結(jié)者,嘗試使用互聯(lián)網(wǎng)的模式拓展自己的業(yè)務(wù)。在某款新開發(fā)的聊天軟件琛琛上發(fā)布廣告。鍵盤說來就來。瘋狂發(fā)送"李東",回車發(fā)送!,"亞健康終結(jié)者",再回車發(fā)送!還記得四層網(wǎng)絡(luò)協(xié)議長(zhǎng)什...

關(guān)鍵字: TCP UDP 數(shù)據(jù)包 應(yīng)用層

基金會(huì)現(xiàn)場(chǎng)總線FF(Foundation Fieldbus)以ISO/OSI開放系統(tǒng)互聯(lián)模式為基礎(chǔ),取其物理層、數(shù)據(jù)鏈路層、應(yīng)用層為FF通信模型的相應(yīng)層次,并在應(yīng)用層上增加了用戶層。用戶層主要針對(duì)自動(dòng)化測(cè)控應(yīng)用的需要,定...

關(guān)鍵字: 基金會(huì)總線 應(yīng)用層 鏈路層

上一篇文章木城:聽說你想做一個(gè)汽車軟件工程師?(上)閱讀量挺好,于是我打算趁熱打鐵,加一個(gè)番外篇。在本篇文章里,我們來探討一下一位汽車軟件工程師的成長(zhǎng)過程。還是那句話:一家之言,姑妄聽之!想當(dāng)年還在校園的時(shí)候,我們都被安...

關(guān)鍵字: 汽車 軟件工程師 應(yīng)用層 測(cè)試工程師

計(jì)算機(jī)網(wǎng)絡(luò)的原理其實(shí)很簡(jiǎn)單,但是套上專業(yè)名詞后,那些看不見、摸不著的概念,會(huì)讓人云里霧里。其實(shí)理解了網(wǎng)絡(luò)名詞,再去學(xué)習(xí)網(wǎng)絡(luò),會(huì)感覺像打開了任督二脈,發(fā)現(xiàn)網(wǎng)絡(luò)不過如此。因此,掌握一定數(shù)量的網(wǎng)絡(luò)概念名詞是很有必要的,現(xiàn)在有一...

關(guān)鍵字: 網(wǎng)絡(luò) 模型 端口 應(yīng)用層

模擬

31144 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉