王成瓊,麥麥提明·阿不都克力木,尹福成,劉武周
(1.內(nèi)江職業(yè)技術(shù)學(xué)院自動(dòng)化技術(shù)系,四川內(nèi)江 641100;2.喀什大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院,新疆喀什 844006; 3.內(nèi)江師范學(xué)院數(shù)學(xué)與信息科學(xué)學(xué)院,四川內(nèi)江 641100;4.內(nèi)江職業(yè)技術(shù)學(xué)院教育研究所,四川內(nèi)江 641100)
我國(guó)正處于工業(yè)制造向工業(yè)創(chuàng)新轉(zhuǎn)化的重要階段,工業(yè)機(jī)器人越來(lái)越多被應(yīng)用。工業(yè)機(jī)器人中涉及到多種技術(shù)包括運(yùn)動(dòng)控制、信號(hào)讀取部分、傳動(dòng)部分等部分[1],其中最核心部分是運(yùn)動(dòng)控制部分。在工業(yè)控制機(jī)器人中設(shè)備常用控制方式有2種。一種是集中式控制即完成核心處理器的設(shè)計(jì),運(yùn)動(dòng)控制部分采用成熟驅(qū)動(dòng)器,另一種是分布式控制,CPU完成主要分配任務(wù)而DSP完成精確定位信號(hào)處理部分。由于便于管理后者越來(lái)越成為工業(yè)工廠的發(fā)展趨勢(shì)[2]。
為了研制一款成本低、性能和可靠性滿足一般三軸運(yùn)動(dòng)工業(yè)機(jī)器人的控制系統(tǒng),閉環(huán)控制輸出3路電機(jī)脈沖和模擬量輸出信號(hào)完成伺服驅(qū)動(dòng)器的控制,輸入部分也有3路正交增量式編碼器信號(hào)輸入和開(kāi)關(guān)量輸入。最后對(duì)關(guān)鍵電路和定位精度完成驗(yàn)證。
圖1 運(yùn)動(dòng)控制整體結(jié)構(gòu)
三軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制整體結(jié)構(gòu)如圖1所示,電機(jī)控制部分的電機(jī)和驅(qū)動(dòng)器采用MR-JE-70A數(shù)字式交流類型,主要控制步驟開(kāi)始為專用軟件寫(xiě)入配置參數(shù),然后采用脈沖和模擬量信號(hào)控制電機(jī)工作在位置、扭矩和速度模式[3]。被控驅(qū)動(dòng)器采用ARM為核心處理芯片與DSP協(xié)同配合處理運(yùn)動(dòng)控制信號(hào)。
控制器主要具備功能包括人機(jī)交互、脈沖輸出和輸入、模擬量輸出、驅(qū)動(dòng)器控制接口控制模式I/O配置等,除此之外還具有一般嵌入式電路的下載功能、內(nèi)存擴(kuò)展功能等。多CPU之間采用SPI總線進(jìn)行50 Mbit/s傳輸速度通信[4],DSP主要負(fù)責(zé)每個(gè)關(guān)節(jié)伺服控制定位和控制輸出脈沖計(jì)算。ARM板控制核心采用S5N8946,DSP采用TMS320。
此運(yùn)動(dòng)控制器電路還包括電源設(shè)計(jì)、最小系統(tǒng)、高速光耦、高速脈沖等多個(gè)電路[5],根據(jù)三軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制特點(diǎn)對(duì)主要部分電路進(jìn)行設(shè)計(jì)說(shuō)明。
24 V-5 V電源轉(zhuǎn)換電路核心芯片主要分2類:一類是線性穩(wěn)壓芯片,這類芯片通常有高穩(wěn)定度和小波紋的特點(diǎn),由于內(nèi)部采用的是多組變壓器相互作用輸出電壓,當(dāng)電壓幅度要求比較高時(shí)需要散熱更好的多組變壓器,其利用效率會(huì)不足30%,典型代表有LM78系列芯片。另一類開(kāi)關(guān)關(guān)穩(wěn)壓芯片的轉(zhuǎn)換效率比較高,由于采用的外置變壓器和電容,內(nèi)部只有邏輯電路造成紋波電壓很大,需要進(jìn)行良好的濾波處理,典型芯片有LM2575和LM2576[6]。本電源系統(tǒng)中采用轉(zhuǎn)換效率更高的開(kāi)關(guān)穩(wěn)壓管LM2575-5.0作為第一級(jí)轉(zhuǎn)換芯片[7],供電源經(jīng)LM2575-5.0開(kāi)關(guān)穩(wěn)壓管后輸出5 V的穩(wěn)定直流電壓,給系統(tǒng)各板載IC供電,24 V-5 V電源轉(zhuǎn)換電路如圖2所示。
圖2 24 V-5 V電源轉(zhuǎn)換電路
如圖2所示,輸入端C25、C26電容并聯(lián),增大容值,減小容抗,濾波效果更好。輸出端采用電感L1和π型濾波結(jié)合設(shè)計(jì)[8],在電路中,電感L1可以濾除信號(hào)中的交流電壓成分,因此在直流電源中可以起到平滑電壓的作用。電感對(duì)直流阻抗小,交流阻抗大,可以起到抑制干擾信號(hào)的作用,在輸出端就獲得比較純凈的直流電流。同時(shí)利用二極管D1的單向?qū)щ娦钥梢云鸬奖Wo(hù)后級(jí)電路作用。
在輸出接口電路中S5N8946與輸出負(fù)載間也要進(jìn)行隔離,輸入電路與輸出接口電路一樣,將通道定義為4個(gè)一組并進(jìn)行模塊化設(shè)計(jì),隔離器件采用TLP521-4光電隔離器。與輸入接口通道不同的是MCU輸出電流小不足以直接驅(qū)動(dòng)負(fù)載,設(shè)計(jì)中需將MCU輸出電流放大,輸出電路采用8路達(dá)林頓管ULN2803,輸出接口電路如圖3所示。
圖3 輸出接口電路
S5N8946上電時(shí)引腳呈高電平狀態(tài),故設(shè)計(jì)輸出電路原理時(shí)光電耦合器的前級(jí)上拉電阻R23與電源連接,MCU 發(fā)出的信號(hào)通過(guò)Y.xOUT與前級(jí)構(gòu)成回路,MCU輸出低電平時(shí)有效使得光電耦合器內(nèi)部二極管導(dǎo)通,D5作為耦合器前級(jí)導(dǎo)通的指示[9]。由于光耦器件本身輸出電流能力就非常弱,因此不可能帶動(dòng)后續(xù)的高電流負(fù)載,必須選擇一個(gè)具有電流和功率放大作用的器件。
ULN2803集成8路達(dá)林頓管,內(nèi)置非門(mén)邏輯單元,相當(dāng)于反向放大器,輸入端接收邏輯電平信號(hào),在高電平下對(duì)應(yīng)輸出端導(dǎo)通,為防止上電導(dǎo)通引起輸出端控制執(zhí)行器件的誤動(dòng)作[10],在器件輸出引腳外側(cè)上拉一個(gè)發(fā)光二極管表示電路的工作狀態(tài)。其內(nèi)部已經(jīng)集成消除感性負(fù)載斷電時(shí)產(chǎn)生的反向電壓功能,外部采用環(huán)路形式連接負(fù)載器件,只要保證負(fù)載內(nèi)電流和器件內(nèi)電流形成一個(gè)環(huán)路即可,此電路的公共端接入負(fù)載負(fù)端,在ULN2803COM和GND之間放置去耦電容來(lái)提高輸出模塊的抗干擾能力。
當(dāng)直流伺服電機(jī)工作在位置控制或速度控制模式時(shí),都可以通過(guò)脈沖來(lái)實(shí)現(xiàn)控制效果,主要的控制線號(hào)有2個(gè),一是DSP計(jì)算出目標(biāo)位置脈序列信號(hào)pulse和電機(jī)轉(zhuǎn)動(dòng)的方向信號(hào)dir,接口信號(hào)為T(mén)TL電平[11],采用常用高速光耦芯片6N137進(jìn)行信號(hào)轉(zhuǎn)換,可以起到保護(hù)MCU端口的作用,信號(hào)輸出脈沖可以達(dá)到1 MHz,具體高速光耦電路如圖4所示。
圖4 高速光耦電路
6N137的VE引腳作為使能作用,一般采用高電平控制。為了保證芯片有一個(gè)穩(wěn)定電壓,采用C30電容進(jìn)行去耦[12]。后側(cè)電路也采用限流電阻加發(fā)光二極管的設(shè)計(jì)方法來(lái)保護(hù)電路,且為提高電路驅(qū)動(dòng)能力需要上拉電壓。
當(dāng)伺服電機(jī)處于速度控制模式的時(shí)候,需要輸入-10~+10 V模擬電壓來(lái)控制電機(jī)轉(zhuǎn)速,數(shù)字芯片即MCU無(wú)法穩(wěn)定輸出可靠的電壓值,需要設(shè)計(jì)DAC轉(zhuǎn)換電路。需要3路以上的模擬信號(hào),所以選擇有4路模擬電壓輸出信號(hào)的D/A芯片DAC7724,需要12路并行數(shù)字信號(hào)進(jìn)行控制,其中6位信號(hào)是地址等信號(hào),6位為模擬輸出信號(hào),輸出電壓可以達(dá)到0.05 mV精度。
如圖5所示VOUT可以分別輸出4路模擬電路,而且數(shù)模轉(zhuǎn)換芯片的正模擬和負(fù)模擬電源電壓分別為±15 V,能夠保證電機(jī)工作在滿轉(zhuǎn)速狀態(tài)。為了保證3路信號(hào)的驅(qū)動(dòng)能力,利用運(yùn)算放大器設(shè)計(jì)一種低噪聲高輸入阻抗的模擬隔離電路,選擇的TL074具有4路輸出能力,且電源參考電壓采用專用精密電壓參考源芯片,并且利用反向比例放大電路可以保證系統(tǒng)電壓輸出精度在2.5 mV。
圖5 速度控制模擬量電路
在運(yùn)動(dòng)控制系統(tǒng)中起到?jīng)Q定性作用的電路有2個(gè)方面,就是通訊速率和經(jīng)過(guò)DSP計(jì)算后電機(jī)的精確定位程序,下面分別對(duì)這2個(gè)方面進(jìn)行設(shè)計(jì)。
SPI協(xié)議要求主從設(shè)備進(jìn)行數(shù)據(jù)交換的過(guò)程中嚴(yán)格遵從同一個(gè)時(shí)鐘頻率,因此在使用時(shí)需要對(duì)串行時(shí)鐘進(jìn)行設(shè)置。串行時(shí)鐘用高低電平分別表示同步時(shí)鐘的工作狀態(tài),時(shí)鐘相位配置可以選擇數(shù)據(jù)信號(hào)在上升或下降沿進(jìn)行傳輸,當(dāng)設(shè)定好CPHA狀態(tài)后數(shù)據(jù)信號(hào)碰到第一個(gè)設(shè)定好的時(shí)鐘脈沖沿時(shí)就可以傳送數(shù)據(jù)。SPI串行通訊有4種工作方式,結(jié)果如下所示。
(1)SPI0:CPOL=0,CPHA=0;
(2)SPI1:CPOL=0,CPHA=1;
(3)SPI2:CPOL=1,CPHA=0;
(4)SPI3:CPOL=1,CPHA=1。
工作過(guò)程如圖6所示,其余4個(gè)過(guò)程基本類似,因此選擇比較有代表性的信號(hào)傳輸過(guò)程進(jìn)行分析。
圖6 SPI工作方式圖
當(dāng)時(shí)鐘信號(hào)即SCK開(kāi)始出現(xiàn)上升趨勢(shì)時(shí)就開(kāi)始數(shù)據(jù)接收,SDI中的信號(hào)即0或1信號(hào)被放入到主控芯片寄存器中并保存下來(lái)。如此實(shí)現(xiàn)8位數(shù)據(jù)即0xXX的傳送,然后從高電平到低電平依次把數(shù)據(jù)羅列好即完成一段數(shù)據(jù)的發(fā)送,數(shù)據(jù)可以被主控處理器調(diào)用處理。發(fā)送過(guò)程大致類似不再贅述。
伺服系統(tǒng)有3個(gè)控制回路,構(gòu)成三環(huán)結(jié)構(gòu)[13],分別為:電流環(huán)、速度環(huán)和位置環(huán),其中電流環(huán)是提高控制精度和響應(yīng)速度、改善控制性能的關(guān)鍵,速度環(huán)控制有助于系統(tǒng)得到良好的靜態(tài)和動(dòng)態(tài)特性,位置環(huán)作用是產(chǎn)生速度指令并使電機(jī)準(zhǔn)確定位和跟蹤,作為外環(huán)依賴于電流環(huán)和速度環(huán)的控制結(jié)果。除此之外還有伺服電機(jī)和其他一些功能單元也不可或缺,拿其中定位更精確的定位環(huán)為例進(jìn)行設(shè)計(jì)。由于閉環(huán)系統(tǒng)中位置環(huán)的閉環(huán)效果遠(yuǎn)遠(yuǎn)好于速度,因此把速度認(rèn)定為位置的慣性部分并降低為一階。將速度環(huán)忽略高次項(xiàng)后可降階為一階慣性環(huán)節(jié),位置定位控制結(jié)構(gòu)如圖7所示。
圖7 位置定位控制結(jié)構(gòu)圖
驗(yàn)證工業(yè)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)分2個(gè)部分,第一部分通過(guò)設(shè)定不同采樣點(diǎn)觀察系統(tǒng)輸出的脈沖和模擬電壓值,第二部分通過(guò)現(xiàn)場(chǎng)測(cè)量速度和理論數(shù)據(jù)之間的誤差觀察運(yùn)動(dòng)控制器整體控制效果。
通過(guò)實(shí)驗(yàn)儀器測(cè)量設(shè)備為RIGOL數(shù)字示波器,最小分辨率可以達(dá)到1 mV/div,最大采樣頻率可以達(dá)到500 MHz。實(shí)驗(yàn)主要目的是通過(guò)電路性能測(cè)試觀察設(shè)計(jì)電路和運(yùn)動(dòng)控制系統(tǒng)的精度是否可以滿足系統(tǒng)要求[14]。DAC初始數(shù)據(jù)如表1所示。
表1 DAC初始部分?jǐn)?shù)據(jù)
如圖8所示,數(shù)據(jù)是通過(guò)采樣間隔為100個(gè)數(shù)字脈沖通過(guò)40次測(cè)量得出的數(shù)據(jù),通過(guò)最小二乘法擬合出曲線,數(shù)據(jù)中可以看出實(shí)際數(shù)據(jù)和擬合后數(shù)據(jù)的絕對(duì)誤差最大值可以達(dá)到24 mV,因此D/A電路線性誤差就是24 mV,為了得到更高精度系統(tǒng),采用數(shù)據(jù)補(bǔ)償程序?qū)ο到y(tǒng)進(jìn)行改進(jìn)。
圖8 D/A輸出電壓曲線圖
定位精度主要是為了測(cè)試脈沖輸出模式時(shí)的數(shù)據(jù)波動(dòng),主要因素就是脈沖個(gè)數(shù)和頻率,通過(guò)系統(tǒng)設(shè)定輸出10 000個(gè)脈沖時(shí),采用10 kHz進(jìn)行脈沖輸出,通過(guò)定位過(guò)程中信號(hào)的跟隨誤差,發(fā)現(xiàn)當(dāng)脈沖未發(fā)送完畢時(shí)始終會(huì)有跟隨誤差,從低到高的整個(gè)過(guò)程中跟隨誤差為450個(gè)脈沖,定位時(shí)間為1 s,而且根據(jù)所顯示的數(shù)據(jù)可知,最終位置誤差約為4個(gè)脈沖。
如圖9所示經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn),在相同參數(shù)下輸出脈沖頻率越大誤差會(huì)增加,最終系統(tǒng)的定位誤差為4/10 000左右。
圖9 輸出600 Hz頻率脈沖偏差
本文通過(guò)嵌入式ARM+DSP架構(gòu)完成三軸工業(yè)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的設(shè)計(jì),首先設(shè)計(jì)高速SPI通訊、高速I(mǎi)/O輸入輸出和多路D/A等硬件電路,并通過(guò)高速通訊程序和高效的定位反饋程序完成系統(tǒng)軟件設(shè)計(jì),最后測(cè)試電路D/A輸出信號(hào)和電機(jī)的定位精度。實(shí)驗(yàn)證明系統(tǒng)可以驅(qū)動(dòng)多軸工業(yè)機(jī)器人且滿足工業(yè)生產(chǎn)的定位精度要求。