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