基于DSP的覆冰機(jī)器人控制系統(tǒng)研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
DSP(digital signal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或1的數(shù)字信號(hào)。再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。
覆冰和積雪等原因時(shí)刻威脅著電力及通信網(wǎng)絡(luò)的安全運(yùn)行[1-4]。覆冰機(jī)器人是針對(duì)去除輸電線路覆冰的自動(dòng)化裝置。該機(jī)器人需要對(duì)行走電機(jī)、關(guān)節(jié)電機(jī)以及夾抓加緊電機(jī)等多種電機(jī)進(jìn)行伺服控制。電機(jī)的種類和數(shù)量相對(duì)繁多,因此機(jī)器人控制系統(tǒng)相對(duì)比較復(fù)雜。本文主要研究了覆冰機(jī)器人的行走電機(jī)伺服控制。行走電機(jī)需要帶動(dòng)機(jī)器人在線路上行走,當(dāng)線路有較大覆冰時(shí)要帶動(dòng)除冰刀完成破冰工作。機(jī)器人在作業(yè)中,當(dāng)遇到冰層厚不能連續(xù)前進(jìn)時(shí),自動(dòng)完成后退,加速前沖,進(jìn)行斷續(xù)除冰。
行走電機(jī)伺服控制采用以電機(jī)控制專用芯片TMS320LF2407為核心的全數(shù)字化無刷直流電機(jī)控制系統(tǒng)。采用全數(shù)字化控制方式可以有效地避免模擬控制中不穩(wěn)定因素的干擾。由于該機(jī)器人工作在強(qiáng)電磁環(huán)境中,因此全數(shù)字化控制方式可以有效地避免電磁干擾。由于直流無刷電機(jī)具有結(jié)構(gòu)簡(jiǎn)單、運(yùn)行可靠等交流電機(jī)的一系列優(yōu)點(diǎn),又具備高速度、高效率、高動(dòng)態(tài)響應(yīng)等直流電機(jī)的優(yōu)點(diǎn),因此該系統(tǒng)選擇直流無刷電機(jī)作為機(jī)器人軸驅(qū)動(dòng)[5]。
1 控制系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)
通過分析直流電機(jī)的運(yùn)動(dòng)方程可知,電機(jī)加速度與其轉(zhuǎn)矩成正比,而轉(zhuǎn)矩又與其電流成正比,因此,要實(shí)現(xiàn)電機(jī)的高精度高動(dòng)態(tài)性能控制,就需要同時(shí)對(duì)電機(jī)的速度、電流以及位置進(jìn)行檢測(cè)和控制。系統(tǒng)中包括位置檢測(cè)環(huán)節(jié)和電流檢測(cè)環(huán)節(jié),分別檢測(cè)電機(jī)的轉(zhuǎn)速和電流。系統(tǒng)的硬件電路主要包括DSP系統(tǒng)、功率驅(qū)動(dòng)電路、隔離電路、位置檢測(cè)電路和電流檢測(cè)電路。系統(tǒng)的結(jié)構(gòu)原理如圖1所示。
數(shù)字信號(hào)處理(Digital Signal Processing,簡(jiǎn)稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。數(shù)字信號(hào)處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示。在過去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強(qiáng)的實(shí)力。
2速度閉環(huán)控制
根據(jù)輸入的設(shè)定值和反饋量形成偏差,經(jīng)過一系列數(shù)字化調(diào)整形成PWM占空比的控制量,以此控制伺服電機(jī)的轉(zhuǎn)動(dòng)速度或速度的變化。
速度閉環(huán)控制主要負(fù)責(zé)機(jī)器人行走速度和除冰時(shí)的速度變化控制。圖2為無刷直流電機(jī)速度電流雙閉環(huán)控制系統(tǒng)。對(duì)BLDCM 形成速度閉環(huán)控制時(shí),通過光電編碼器檢測(cè)電機(jī)的轉(zhuǎn)動(dòng)方向及轉(zhuǎn)角并反饋回DSP系統(tǒng)。
其中,
為一階慣性環(huán)節(jié)的時(shí)間常數(shù)
為電機(jī)在額定勵(lì)磁下的反電動(dòng)勢(shì)常數(shù);K1、K2分別為電流和速度反饋的比例系數(shù);K3=R為電機(jī)的相電阻;υg為電機(jī)給定轉(zhuǎn)速;υs為電機(jī)反饋速度;ig為速度調(diào)節(jié)器的輸出,即電流給定值;if為反饋電流;ie為電流誤差信號(hào);Uc為PWM控制信號(hào);Ud為電機(jī)直流端電壓;E為電機(jī)相反電動(dòng)勢(shì)幅值;id為電機(jī)相電流;n為電機(jī)的真實(shí)轉(zhuǎn)速。
3系統(tǒng)硬件設(shè)計(jì)
3.1 相電流檢測(cè)
由于功率電子主回路采用兩兩通電方式。任意時(shí)刻電流僅流入三相繞組中的兩相,所以只需1個(gè)相電流檢測(cè)傳感器即可完成相電流的檢測(cè)。使用旁路電阻檢測(cè)各相電流。該電阻位于三相全控功率變換電路的下端功率橋臂與地之間,同時(shí)起過電流保護(hù)作用。電阻上的壓降信號(hào)經(jīng)過放大以后,送到TMS320F2407片上的A/D轉(zhuǎn)換通道,經(jīng)過A/D轉(zhuǎn)換得到合適的電流信號(hào)。A/D轉(zhuǎn)換結(jié)束以后,A/D轉(zhuǎn)換模塊會(huì)向CPU發(fā)出中斷請(qǐng)求信號(hào),等待CPU對(duì)電流信號(hào)的檢測(cè)。最后根據(jù)電流誤差,在每個(gè)PWM周期開始時(shí),對(duì)PWM脈沖的占空比進(jìn)行調(diào)節(jié)[6]。
3.2 轉(zhuǎn)子位置與轉(zhuǎn)速檢測(cè)
選用TMS320LF2407A實(shí)現(xiàn)三相無刷直流電機(jī)調(diào)速的控制和驅(qū)動(dòng)電路。使用3個(gè)位置間隔120°分布的霍爾傳感器,由霍爾器件所輸出的轉(zhuǎn)子位置信號(hào)送到功率變換電路后,直接送至TMS320LF2407A的捕獲單元進(jìn)行處理。檢測(cè)3個(gè)捕獲口的狀態(tài)可以得到當(dāng)前3路位置信號(hào)的組合狀態(tài),從而得到轉(zhuǎn)子位置。 捕獲口CAP1~CAP3 捕獲到的每一次跳變引發(fā)一次捕獲中斷,轉(zhuǎn)子每轉(zhuǎn)過一轉(zhuǎn),產(chǎn)生6次捕獲中斷。通過測(cè)量相鄰2次中斷時(shí)間間隔得出電機(jī)轉(zhuǎn)速。
3.3 驅(qū)動(dòng)電路設(shè)計(jì)
電機(jī)控制驅(qū)動(dòng)器采用IR2130芯片。IR2130芯片控制6個(gè)功率管導(dǎo)通和關(guān)斷順序,實(shí)現(xiàn)控制電機(jī)的正反轉(zhuǎn)。此驅(qū)動(dòng)芯片本身給功率器件提供過電壓保護(hù)。其內(nèi)部含有邏輯保護(hù)電路,當(dāng)出現(xiàn)對(duì)級(jí)直通邏輯,芯片立即全部輸出低電平,關(guān)斷所有MOSFET管。另外,功率回路保護(hù)器件中有檢測(cè)電阻,電流過大時(shí),檢測(cè)信號(hào)經(jīng)過邏輯判斷,將PDPINT置為低電平,DSP內(nèi)部計(jì)數(shù)器停止計(jì)數(shù),所有PWM輸出低電平,關(guān)斷驅(qū)動(dòng)電路,實(shí)現(xiàn)過電流保護(hù)[7]。
4系統(tǒng)軟件設(shè)計(jì)
主程序主要完成DSP初始化,流程圖如圖3所示。A/D轉(zhuǎn)換中斷子程序完成速度、電流的調(diào)節(jié),流程圖如圖4所示。實(shí)驗(yàn)用時(shí)鐘頻率為20 MHz,PWM頻率為20 kHz。通過定時(shí)器1周期匹配事件啟動(dòng)A/D轉(zhuǎn)換,使每個(gè)PWM周期都進(jìn)行1次電流采樣,并且要在A/D轉(zhuǎn)換中斷處理程序調(diào)節(jié)電流來控制PWM輸出。捕捉中斷程序完成對(duì)位置量的計(jì)數(shù)和計(jì)算速度參考量,程序流程圖如圖5所示。轉(zhuǎn)子每轉(zhuǎn)過60°角觸發(fā)一次捕捉中斷,進(jìn)行換相操作和速度計(jì)算[8]。
本文應(yīng)用TI公司的TMS320LF2407A DSP 設(shè)計(jì)了一種針對(duì)覆冰機(jī)器人行走和除冰時(shí)的直流無刷電機(jī)控制系統(tǒng)。經(jīng)分析,該系統(tǒng)不僅成本低、易于實(shí)現(xiàn),且性能穩(wěn)定、方便擴(kuò)展,對(duì)工程實(shí)踐和電機(jī)調(diào)速具有重要意義。
方案中,假設(shè)已知發(fā)送節(jié)點(diǎn)的發(fā)射功率,接收節(jié)點(diǎn)可以根據(jù)接收信號(hào)的強(qiáng)度,計(jì)算二者之間距離的近似值;發(fā)射功率可控,即節(jié)點(diǎn)可以根據(jù)自身需要調(diào)整發(fā)射功率。采用與文獻(xiàn)[5]相同的無線傳輸能量消耗模型。ADEECS協(xié)議按輪執(zhí)行,每一輪分為網(wǎng)絡(luò)部署,簇頭選舉,成簇,數(shù)據(jù)傳輸這4個(gè)階段。
具體實(shí)現(xiàn)過程如下:
階段1:網(wǎng)絡(luò)部署階段在網(wǎng)絡(luò)部署階段,讓基站以一定的功率向網(wǎng)絡(luò)內(nèi)廣播一個(gè)消息HELLO_MSG。傳感器節(jié)點(diǎn)根據(jù)接收信號(hào)的強(qiáng)度計(jì)算出自己到基站的近似距離,在與基站通信時(shí),依據(jù)這個(gè)距離選擇適當(dāng)?shù)陌l(fā)射功率。在成簇階段,還將利用這個(gè)信息來均衡簇頭的負(fù)載。
階段2:簇頭選舉階段全局范圍內(nèi)預(yù)先設(shè)定一個(gè)0~1之間的閾值T,用來控制參加簇頭競(jìng)選的節(jié)點(diǎn)比例。每一個(gè)節(jié)點(diǎn)生成一個(gè)0~1之間的隨機(jī)數(shù),記為u。若u
式中:T為最大約定的最大延遲時(shí)間;Eresidual為節(jié)點(diǎn)剩余能量;Eini是節(jié)點(diǎn)原始能量。
階段3:成簇階段簇頭向網(wǎng)絡(luò)所有節(jié)點(diǎn)廣播自己成為簇頭的消息HEAD_AD,內(nèi)容為簇頭節(jié)點(diǎn)的標(biāo)識(shí)及該節(jié)點(diǎn)與基站的距離。普通節(jié)點(diǎn)接收到此消息后選擇一個(gè)通信代價(jià)cost(CH)最小的聚類加入,并發(fā)送消息JOIN_REQ。通信代價(jià)表達(dá)式為:
式(5)中參數(shù)與式(2)和式(4)表示的意義相同。從式(5)可以看出,該通信代價(jià)綜合考慮了節(jié)點(diǎn)與簇頭的距離、簇頭與基站的距離及簇頭的剩余能量。從而實(shí)現(xiàn)了由聚類成員節(jié)點(diǎn)選擇剩余能量較大,與自己距離較近,與基站距離較小的簇頭形成簇,達(dá)到能量均衡的目的。
階段4:數(shù)據(jù)傳輸階段簇頭向所有成員節(jié)點(diǎn)廣播TDMA通信時(shí)隙調(diào)度信息TDMA_SCHEDULE。成員節(jié)點(diǎn)按分配好的TDMA時(shí)隙在某個(gè)時(shí)刻將自己檢測(cè)到的數(shù)據(jù)發(fā)送給簇頭。簇頭在接收聚類成員發(fā)送數(shù)據(jù)的過程中進(jìn)行數(shù)據(jù)融合,并將融合后的數(shù)據(jù)直接傳輸給基站,該過程采用單跳的通信方式。
4 ADEECS協(xié)議仿真與分析
仿真中,使用Matlab作為仿真平臺(tái),采用與文獻(xiàn)[3]相同的能量消耗模型。仿真參數(shù)如表1所示。
文中將ADEECS與EECS和LEACH協(xié)議性能進(jìn)行仿真對(duì)比。
4.1簇頭分布的仿真對(duì)比
LEACH簇頭個(gè)數(shù)取最優(yōu)值。在仿真中,LEACH簇頭個(gè)數(shù)為6;取T=0.15,R=26,w=0.8。由3種協(xié)議的簇頭分布圖(圖2~圖4)可以看出,LEACH協(xié)議簇頭隨機(jī)分布;EECS協(xié)議簇頭分布比較均勻,但存在簇頭漏洞問題;ADEECS協(xié)議簇頭真正實(shí)現(xiàn)了均勻分布。所以,提出的延遲發(fā)送競(jìng)選消息的方法很好地解決了LEACH和EECS協(xié)議在簇頭選舉過程中存在的問題。
定義第一個(gè)節(jié)點(diǎn)的死亡時(shí)間為無線傳感器網(wǎng)絡(luò)的網(wǎng)絡(luò)壽命,用工作輪數(shù)表示網(wǎng)絡(luò)的工作時(shí)間。如果剩余節(jié)點(diǎn)過少,那么整個(gè)網(wǎng)絡(luò)的存在就毫無意義。仿真中為了更好地對(duì)比仿真結(jié)果,仿真曲線只選取剩余節(jié)點(diǎn)數(shù)大于50的情況。仿真結(jié)果如圖5所示。
由圖5可以看出,在成簇階段,ADEECS協(xié)議綜合考慮了簇頭剩余能量、簇頭與基站的距離以及簇成員節(jié)點(diǎn)與簇頭的距離。這種通信代價(jià)計(jì)算方式很好地提高了網(wǎng)絡(luò)性能,有效地延長(zhǎng)了網(wǎng)絡(luò)生命周期,達(dá)到了協(xié)議目的。
5結(jié)語
通過對(duì)無線傳感器網(wǎng)絡(luò)中典型分簇路由協(xié)議、LEACH協(xié)議和EECS協(xié)議進(jìn)行的研究和分析,提出了一種改進(jìn)的分簇方案ADEECS。利用延遲發(fā)送競(jìng)爭(zhēng)消息的方法和新的通信代價(jià)公式很好地解決了EECS協(xié)議存在的問題,實(shí)現(xiàn)了簇頭的均勻分布,有效地延長(zhǎng)了網(wǎng)絡(luò)壽命。