基于DSP和電壓反饋的機(jī)器人多軸運(yùn)動(dòng)控制器的設(shè)計(jì)
引言
本文引用地址:http://www.ex-cimer.com/article/257243.htm 對(duì)于機(jī)器人控制技術(shù),實(shí)時(shí)性和穩(wěn)定性是研究的重點(diǎn)。現(xiàn)階段,機(jī)器人控制的主要方法是在離線狀態(tài)下對(duì)步態(tài)進(jìn)行規(guī)劃,并在主控機(jī)上對(duì)機(jī)器人的運(yùn)動(dòng)進(jìn)行實(shí)時(shí)的補(bǔ)償,這種處理方法對(duì)處理器的運(yùn)算速度和處理能力提出了很高的要求。傳統(tǒng)的機(jī)器人控制器大多以80C196系列單片機(jī)作為處理器,當(dāng)采用12MHz晶振時(shí),其狀態(tài)周期為167ns,機(jī)器周期為1ms,不能滿足機(jī)器人控制的需要。
DSP芯片處理速度可以達(dá)到幾納秒,甚至更高,非常適合于機(jī)器人控制。因此,本文選用DSP來(lái)代替原有的單片機(jī),同時(shí)借助底層電壓反饋技術(shù),設(shè)計(jì)出一種分布式機(jī)器人多軸運(yùn)動(dòng)控制器。
控制系統(tǒng)結(jié)構(gòu)與功能
本機(jī)器人控制系統(tǒng)結(jié)構(gòu)是一個(gè)典型的“PC+運(yùn)動(dòng)控制器”模式,其中,主控計(jì)算機(jī)要求體積小、運(yùn)算速度快,通常采用嵌入式工控機(jī)。主要負(fù)責(zé)整個(gè)系統(tǒng)的在線運(yùn)動(dòng)規(guī)劃、動(dòng)作級(jí)運(yùn)動(dòng)控制、語(yǔ)音交互控制、視覺(jué)導(dǎo)引控制以及人機(jī)交互等功能。底層控制單元以控制器為核心,采用電壓反饋的方式對(duì)各運(yùn)動(dòng)軸系進(jìn)行控制,具體結(jié)構(gòu)如圖1所示??刂破骱椭骺赜?jì)算機(jī)通過(guò)CAN總線相連。這種通信方式降低了連線的復(fù)雜程度,提高了通信的速度,增強(qiáng)了系統(tǒng)的穩(wěn)定性。此外,由于只用兩根線進(jìn)行通信,結(jié)構(gòu)也十分靈活。
控制器是整個(gè)控制系統(tǒng)的核心,通過(guò)接收主控計(jì)算機(jī)的控制命令對(duì)各關(guān)節(jié)執(zhí)行軸系進(jìn)行控制,同時(shí)把底層信息反饋給主控計(jì)算機(jī),實(shí)現(xiàn)大回路反饋,以便于主控計(jì)算機(jī)協(xié)調(diào)規(guī)劃,統(tǒng)一管理??刂破鞯目刂菩阅苤苯雨P(guān)系到機(jī)器人的運(yùn)動(dòng)能力,本文專門(mén)設(shè)計(jì)了基于DSP和電壓反饋的多軸運(yùn)動(dòng)控制器。
控制器設(shè)計(jì)
機(jī)器人的各種運(yùn)動(dòng)由各個(gè)關(guān)節(jié)軸系完成,每個(gè)軸系具有一個(gè)自由度,可以完成某一方向的轉(zhuǎn)動(dòng)任務(wù),所有軸系同時(shí)協(xié)調(diào)工作就可以完成相對(duì)復(fù)雜的運(yùn)動(dòng)。本文研究的所有軸系均由PWM脈沖信號(hào)驅(qū)動(dòng)控制。
本多軸運(yùn)動(dòng)控制器結(jié)構(gòu)如圖2所示。整個(gè)控制器以DSP為核心,分為四大部分: DSP主處理器模塊主要完成信息處理和各種控制功能;A/D轉(zhuǎn)換模塊為主處理器提供運(yùn)動(dòng)軸系的位置信息;外圍電路完成電壓監(jiān)控、參數(shù)存儲(chǔ)、電路譯碼、光電隔離等功能;通信模塊負(fù)責(zé)與主控計(jì)算機(jī)進(jìn)行信息交互。
DSP主處理器模塊
DSP主處理器是整個(gè)控制器的核心,負(fù)責(zé)各種信息的處理,同時(shí)與主控計(jì)算機(jī)進(jìn)行通信,其運(yùn)算速度、對(duì)信息的處理能力等方面直接影響控制器的性能。本文選用的是TI公司的TMS320LF2407A芯片,該產(chǎn)品集實(shí)時(shí)處理能力和控制器外設(shè)于一身,非常適用于工業(yè)控制。
在本文設(shè)計(jì)的控制器中,TMS320LF2407A 工作電壓為3.3V、系統(tǒng)時(shí)鐘為40MHz,數(shù)據(jù)總線與A/D轉(zhuǎn)換模塊相連,接收A/D轉(zhuǎn)換結(jié)果;地址總線和控制總線與外圍電路中的譯碼部分相連,完成各種譯碼和控制功能;PWM輸出端口為運(yùn)動(dòng)軸系提供控制信號(hào);通信接口與通信模塊相連,負(fù)責(zé)與主控計(jì)算機(jī)交互信息;中斷接口與譯碼電路相連,接受A/D轉(zhuǎn)換結(jié)束信號(hào)觸發(fā)的外部中斷;復(fù)位接口連接外部看門(mén)狗電路,當(dāng)外部電壓超出規(guī)定的范圍時(shí)復(fù)位主處理器;串行接口連接外部存儲(chǔ)器,從外部存儲(chǔ)器中讀取控制算法所需的參數(shù)。
A/D轉(zhuǎn)換模塊
外部電壓傳感器把運(yùn)動(dòng)軸系的位置信息轉(zhuǎn)換成電壓信號(hào),A/D轉(zhuǎn)換模塊通過(guò)對(duì)此電壓信號(hào)進(jìn)行A/D轉(zhuǎn)換,為主處理器提供能夠識(shí)別的數(shù)字信號(hào)。本文設(shè)計(jì)的A/D轉(zhuǎn)換電路如圖3所示。ADG508A為8選1多路選擇器,對(duì)輸入的多路電壓進(jìn)行選擇,選出一路電壓送轉(zhuǎn)換器。AD622為電壓放大器,同時(shí)具有濾波功能,可以把輸入的-5V~+5V電壓放大到-12V~+12V,以提高A/D轉(zhuǎn)換的精度。AD976為16位A/D轉(zhuǎn)換器,把放大后的電壓轉(zhuǎn)換成+5V數(shù)字信號(hào)。74LVTH245為8位電平轉(zhuǎn)換器,把+5V數(shù)字信號(hào)轉(zhuǎn)換成主處理器能夠接受的+3.3V數(shù)字信號(hào)送TMS320LF2407A,使用時(shí)需兩塊并聯(lián)組成一個(gè)16位的電平轉(zhuǎn)換器。
外圍電路模塊
外圍電路模塊主要負(fù)責(zé)控制器的電壓監(jiān)控、參數(shù)存儲(chǔ)、電路譯碼、光電隔離等功能。其中,電壓監(jiān)控任務(wù)由外部看門(mén)狗電路完成,本文選用的是DS1834A芯片。此芯片可同時(shí)對(duì)電路板上+5V和+3.3V電壓進(jìn)行監(jiān)控,電壓安全范圍可進(jìn)行調(diào)節(jié),還具有手動(dòng)復(fù)位功能。如果電壓超出安全范圍,則在相應(yīng)引腳產(chǎn)生低電平復(fù)位信號(hào),直到電壓恢復(fù)正常后再經(jīng)過(guò)350ms,復(fù)位引腳才恢復(fù)高電平。若手動(dòng)復(fù)位則兩個(gè)復(fù)位引腳同時(shí)產(chǎn)生復(fù)位信號(hào)。
DSP主處理器執(zhí)行控制算法所需要的參數(shù)存放在外部存儲(chǔ)器X25650中,DSP通過(guò)串行外設(shè)接口(SPI口)模塊與X25650相連,從中讀取需要的參數(shù)數(shù)據(jù)。
電路譯碼功能由一塊CPLD實(shí)現(xiàn),主要功能包括為ADG508A提供端口選擇信號(hào)、為AD976提供轉(zhuǎn)換開(kāi)始信號(hào)、為74LVTH245提供輸出使能信號(hào)、接收AD976轉(zhuǎn)換結(jié)束信號(hào)并為DSP提供A/D轉(zhuǎn)換結(jié)束中斷信號(hào)、接收DS1834A的復(fù)位信號(hào)并為DSP提供復(fù)位脈沖信號(hào)等。
光電隔離器件選用高速光耦6N137,主要是為控制器與外部環(huán)境提供隔離,包括PWM脈沖控制信號(hào)的隔離和CAN總線通信的隔離。
通信模塊
通信模塊主要是與主控計(jì)算機(jī)進(jìn)行通信,接收主控計(jì)算機(jī)的命令并為主控計(jì)算機(jī)提供必要的數(shù)據(jù)。由于TMS320LF2407A內(nèi)部帶有CAN總線通信模塊,所以只需外接一塊CAN收發(fā)器就可以與外界進(jìn)行通信。收發(fā)器選用的是SN65HVD230芯片,此芯片與傳統(tǒng)CAN收發(fā)器PCA82C250兼容,且支持3.3V電壓,可直接與TMS320 LF2407A連接。為提高通信質(zhì)量,中間需用光耦進(jìn)行隔離。
控制流程與分析
此控制器可同時(shí)為8路軸系提供控制功能,其工作流程如圖4所示,圖中虛線所包圍部分的功能由控制器完成。
具體工作過(guò)程為:系統(tǒng)開(kāi)始運(yùn)行并完成初始化工作;電壓傳感器把執(zhí)行軸系的位置信息轉(zhuǎn)換成電壓信號(hào);DSP主處理器向ADG508A發(fā)送選擇信號(hào),選通一路電壓信號(hào)經(jīng)放大器AD622放大后送AD976進(jìn)行A/D轉(zhuǎn)換。選擇哪一路電壓由主處理器地址線經(jīng)譯碼后對(duì)ADG508A的端口選擇位進(jìn)行控制,通常是八路輪流選擇。AD976的轉(zhuǎn)換起始也由主處理器控制,轉(zhuǎn)換結(jié)束時(shí)發(fā)出結(jié)束信號(hào),經(jīng)譯碼后提供給主處理器產(chǎn)生外部中斷,主處理器在中斷子程序中通過(guò)啟動(dòng)電平轉(zhuǎn)換電路讀取轉(zhuǎn)換后的數(shù)據(jù)。AD976的最高轉(zhuǎn)換速率為100KSPS,此速率下,8路同時(shí)轉(zhuǎn)換,每一路的轉(zhuǎn)換速率為12.5KSPS,完全可以滿足控制的需要。
結(jié)語(yǔ)
本文設(shè)計(jì)的控制器,采用先選路、再放大、最后轉(zhuǎn)換的方式為DSP主處理器提供需要的位置信息。整個(gè)控制器結(jié)構(gòu)簡(jiǎn)單靈活,工作穩(wěn)定可靠,非常適用于機(jī)器人控制,經(jīng)實(shí)踐證明,此方法是行之有效的。此控制器最多可同時(shí)控制8路軸系,可根據(jù)實(shí)際情況進(jìn)行選擇,單路轉(zhuǎn)換速率最高達(dá)100KSPS。同時(shí),本設(shè)計(jì)還可以方便地移植到其它類似的控制機(jī)構(gòu)中去,以對(duì)各種PWM脈沖驅(qū)動(dòng)的軸系進(jìn)行控制,是一種多功能通用型控制器。
評(píng)論