一種運(yùn)動(dòng)控制器的設(shè)計(jì)和實(shí)現(xiàn)
出處:電子技術(shù)應(yīng)用 發(fā)布于:2011-09-03 13:00:38
運(yùn)動(dòng)控制起源于早期的伺服控制。簡(jiǎn)單地說(shuō),運(yùn)動(dòng)控制就是對(duì)機(jī)械運(yùn)動(dòng)部件的位置、速度等進(jìn)行實(shí)時(shí)的控制管理,使其按照預(yù)期的運(yùn)動(dòng)軌跡和規(guī)定的運(yùn)動(dòng)參數(shù)進(jìn)行運(yùn)動(dòng)。早期的運(yùn)動(dòng)控制技術(shù)主要是伴隨著數(shù)控技術(shù)、機(jī)器人技術(shù)和工廠自動(dòng)化技術(shù)的發(fā)展而發(fā)展的。早期的運(yùn)動(dòng)控制器實(shí)際上是可以獨(dú)立運(yùn)行的專(zhuān)用的控制器,往往無(wú)需另外的處理器和操作系統(tǒng)支持,可以獨(dú)立完成運(yùn)動(dòng)控制功能、工藝技術(shù)要求的其他功能和人機(jī)交互功能。這類(lèi)控制器可以成為獨(dú)立運(yùn)行的運(yùn)動(dòng)控制器。這類(lèi)控制器主要針對(duì)專(zhuān)門(mén)的數(shù)控機(jī)械和其他自動(dòng)化設(shè)備而設(shè)計(jì),往往已根據(jù)應(yīng)用行業(yè)的工藝要求設(shè)計(jì)了相關(guān)的功能,用戶(hù)只需要按照其協(xié)議要求編寫(xiě)應(yīng)用加工代碼文件,利用RS232或者DNC方式傳輸?shù)娇刂破鳎刂破骷纯赏瓿上嚓P(guān)的動(dòng)作。這類(lèi)控制器往往不能離開(kāi)其特定的工藝要求而跨行業(yè)應(yīng)用,控制器的開(kāi)放性?xún)H僅依賴(lài)于控制器的加工代碼協(xié)議,用戶(hù)不能根據(jù)應(yīng)用要求而重組自己的運(yùn)動(dòng)控制系統(tǒng)。本文對(duì)該運(yùn)動(dòng)控制器的總體結(jié)構(gòu)、硬件設(shè)計(jì)和軟件設(shè)計(jì)進(jìn)行了描述。
1 系統(tǒng)總體設(shè)計(jì)
運(yùn)動(dòng)控制器的總體性能指標(biāo)為:作為一個(gè)單獨(dú)的運(yùn)動(dòng)控制器使用,控制信號(hào)采用數(shù)字量方式輸出,能控制四軸的伺服電機(jī);脈沖輸出頻率為4MP/s,能處理的編碼器反饋信號(hào)頻率為4MP/s;能接收和處理4路編碼器反饋信號(hào);可以處理原點(diǎn)信號(hào)、正負(fù)方向信號(hào)、到位信號(hào)以及急停信號(hào)等數(shù)字量輸入信號(hào);提供16路數(shù)字量輸出信號(hào)和16路數(shù)字量輸入信號(hào)接口。運(yùn)動(dòng)控制器采用DSP與FPGA芯片作為主控芯片,主要包括DSP模塊、FPGA模塊、FPGA外圍電路模塊和數(shù)字量輸入輸出接口模塊。
采用基于DSP與FPGA的運(yùn)動(dòng)控制器,能夠?qū)崟r(shí)完成復(fù)雜的軌跡運(yùn)算,而且利用DSP的高速數(shù)字信號(hào)處理功能和FPGA功耗低、主頻高的優(yōu)點(diǎn),能充分顯示該運(yùn)動(dòng)控制器的優(yōu)點(diǎn)。采用DSP與FPGA相結(jié)合的運(yùn)動(dòng)控制器可以方便地對(duì)系統(tǒng)的控制策略進(jìn)行修改,對(duì)控制參數(shù)進(jìn)行修正,并可使設(shè)備具有良好的可靠性、可維修性,而且還降低了成本。系統(tǒng)還可以采用更多的智能控制策略,結(jié)構(gòu)靈活,有較強(qiáng)的通用性,適合于模塊化設(shè)計(jì),能夠提高算法效率,且易于維護(hù)和擴(kuò)展。總體設(shè)計(jì)方案原理框圖如圖1所示。

2 系統(tǒng)硬件設(shè)計(jì)
2.1 DSP模塊
數(shù)字信號(hào)處理(Digital Signal Processing,簡(jiǎn)稱(chēng)DSP)是一門(mén)涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來(lái),隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。數(shù)字信號(hào)處理是一種通過(guò)使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來(lái)處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示。在過(guò)去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強(qiáng)的實(shí)力。
本控制器采用TI公司的TMS320F2812為主控芯片,它是32位的控制專(zhuān)用DSP,內(nèi)含F(xiàn)LASH,主頻高達(dá)150 MHz,具有數(shù)字信號(hào)處理、事件管理和嵌入式控制功能,適用于大批量數(shù)據(jù)處理的場(chǎng)合。
選用TI公司生產(chǎn)的TPS767D318芯片來(lái)實(shí)現(xiàn)TMS320F2812的電源設(shè)計(jì),將5 V電源分別轉(zhuǎn)換為3.3 V和1.8 V。SRAM是DSP常用的外圍存儲(chǔ)器,它具有接口簡(jiǎn)單、讀寫(xiě)速度快等優(yōu)點(diǎn),所以選擇大小為64 KB的隨機(jī)存儲(chǔ)器CY7C1021作為存儲(chǔ)器擴(kuò)展芯片。DSP F2812與CY7C1021接口電路如圖2所示。

復(fù)位電路設(shè)計(jì)采用TI公司的TPS382x系列電壓監(jiān)控電路,此系列電路不需要外圍電路即可組成監(jiān)控電路。SCI模塊用于擴(kuò)展RS-232和RS-485串行通信接口;CAN模塊和外部CAN工業(yè)現(xiàn)場(chǎng)總線(xiàn)相連;外部接口用于與FPGA連接和擴(kuò)展數(shù)字量輸入輸出。
2.2 FPGA模塊
FPGA(Field-Programmable Gate Array),即現(xiàn)場(chǎng)可編程門(mén)陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專(zhuān)用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門(mén)電路數(shù)有限的缺點(diǎn)。FPGA一般來(lái)說(shuō)比ASIC(專(zhuān)用集成芯片)的速度要慢,無(wú)法完成復(fù)雜的設(shè)計(jì),而且消耗更多的電能。但是他們也有很多的優(yōu)點(diǎn)比如可以快速成品,可以被修改來(lái)改正程序中的錯(cuò)誤和更便宜的造價(jià)。廠商也可能會(huì)提供便宜的但是編輯能力差的FPGA.因?yàn)檫@些芯片有比較差的可編輯能力,所以這些設(shè)計(jì)的開(kāi)發(fā)是在普通的FPGA上完成的,然后將設(shè)計(jì)轉(zhuǎn)移到一個(gè)類(lèi)似于ASIC的芯片上。另外一種方法是用CPLD(復(fù)雜可編程邏輯器件備)。
FPGA芯片選用Altera公司的Cyclone系列EP1C6TC44C8,這是一款高性能、低功耗的FPGA。EP1C6TC44C8具有2個(gè)鎖相環(huán),包含5 980個(gè)邏輯單元,相當(dāng)于12萬(wàn)門(mén)的規(guī)模,同時(shí)還包含了頻率200 MHz、92 160 bit的內(nèi)部RAM。該芯片所擁有的邏輯門(mén)數(shù)量、頻率和引腳I/O等資源都能很好地滿(mǎn)足運(yùn)動(dòng)控制器的設(shè)計(jì)要求。由于本系統(tǒng)的控制對(duì)象是伺服電機(jī),所以設(shè)計(jì)中主要利用EP1C6TC44C8的I/O口設(shè)計(jì)電機(jī)控制信號(hào)的輸入輸出、編碼器信號(hào)的輸入與部分?jǐn)?shù)字量輸入輸出。另外,該芯片在整個(gè)硬件系統(tǒng)設(shè)計(jì)完畢后還可以通過(guò)JTAG接口對(duì)硬件進(jìn)行重配置,可以增加系統(tǒng)設(shè)計(jì)的靈活性。
2.3 FPGA外圍電路模塊
X軸伺服電機(jī)控制電路如圖3所示。Y軸、Z軸、U軸伺服電機(jī)控制電路與X軸相同。

(1)輸入輸出開(kāi)關(guān)量接口設(shè)計(jì)。輸入信號(hào)主要包括限位開(kāi)關(guān)信號(hào)LIMX+、LIMX-~LIMU+、LIMU-,伺服報(bào)警信號(hào)ALMX~ALMU和回零信號(hào)HMX~HMU。輸出信號(hào)主要包括伺服使能信號(hào)SRVX~SRVU和復(fù)位信號(hào)RSTX~RSTU。當(dāng)檢測(cè)到這些信號(hào)后,確定具體觸發(fā)的信號(hào),限位信號(hào)觸發(fā),則立即停止對(duì)應(yīng)電機(jī)該方向的運(yùn)動(dòng),直到限位消除,電機(jī)才能在該方向繼續(xù)運(yùn)動(dòng);回零信號(hào)觸發(fā),則電機(jī)等待Index信號(hào)的輸入后立即讓電機(jī)反向運(yùn)行用戶(hù)設(shè)定的回零距離作為機(jī)械零點(diǎn);伺服報(bào)警信號(hào)輸入時(shí),程序立即停止該電機(jī)的運(yùn)動(dòng),直到用戶(hù)將報(bào)警清除。
(2)輸出控制脈沖電路設(shè)計(jì)。輸出控制脈沖信號(hào)為伺服電機(jī)的4路脈沖控制輸出信號(hào)。此控制采用“脈沖+方向”指令,由于每個(gè)控制軸分別有脈沖和方向信號(hào),所以4路共8個(gè)輸出信號(hào)。輸出控制脈沖信號(hào)由FPGA輸出,要先經(jīng)過(guò)電平轉(zhuǎn)換,將FPGA的I/O引腳的3.3 V變?yōu)? V,再經(jīng)過(guò)光電隔離,然后再經(jīng)過(guò)施密特觸發(fā)器整形后輸出。由于脈沖和方向信號(hào)需要進(jìn)行差分,所以將信號(hào)接入差動(dòng)線(xiàn)驅(qū)動(dòng)器后再輸出。XPLS~UPLS為脈沖信號(hào),XDIR~UDIR為方向信號(hào)。差動(dòng)線(xiàn)驅(qū)動(dòng)器由AM26LS31構(gòu)成,該電路的功能是將輸入的單極性的方波信號(hào)轉(zhuǎn)化為一對(duì)極性相反的電機(jī)驅(qū)動(dòng)信號(hào),它的高阻抗輸出狀態(tài)在電源掉電時(shí)是有保障的。
(3)反饋脈沖處理電路設(shè)計(jì)。伺服電機(jī)的編碼器信號(hào)直接接入到電機(jī)驅(qū)動(dòng)器中,驅(qū)動(dòng)器提供三對(duì)差分信號(hào)A+、A-、B+、B-、Z+、Z-作為反饋。這三對(duì)信號(hào)由于受到驅(qū)動(dòng)器內(nèi)部大電源的干擾,在電機(jī)旋轉(zhuǎn)時(shí),所發(fā)出的信號(hào)會(huì)出現(xiàn)許多毛刺,直接接到FPGA中會(huì)引起誤判斷,所以三對(duì)信號(hào)經(jīng)過(guò)差分電路轉(zhuǎn)化為單路信號(hào)A、B、Z。差分電路由AM26LS32構(gòu)成,該芯片功能與AM26LS31相反,該電路的功能是將輸入的一對(duì)極性相反的編碼器反饋信號(hào)轉(zhuǎn)化為單極性的方波信號(hào)。A、B兩路為正交編碼脈沖,Z路每轉(zhuǎn)產(chǎn)生一個(gè)低電平脈沖,用于回零時(shí)的定位。
2.4 數(shù)字量輸入輸出接口模塊
考慮到系統(tǒng)的可擴(kuò)展性和DSP的GPIO口的數(shù)量,此運(yùn)動(dòng)控制器在DSP與FPGA上分別設(shè)計(jì)8路,共16路數(shù)字量輸入輸出。運(yùn)動(dòng)控制器的所有數(shù)字量輸入輸出信號(hào)均采用光電隔離處理,并對(duì)每一路信號(hào)進(jìn)行相應(yīng)的數(shù)字濾波處理,以消除噪聲信號(hào)。數(shù)字量輸入通道可以根據(jù)用戶(hù)的要求自定義用途,用于零點(diǎn)、限位信號(hào)的輸入等;數(shù)字量輸出通道用于各軸方向、脈沖信號(hào)的輸出以及一些外部設(shè)備的啟停控制等。
3 系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)采用模塊化設(shè)計(jì)方法,程序的總體結(jié)構(gòu)采用以數(shù)據(jù)管理和位置速度控制為主,以I/O端口控制、邏輯控制、插補(bǔ)運(yùn)算等為中斷任務(wù)或子函數(shù)任務(wù)的形式。位置速度控制主要負(fù)責(zé)對(duì)實(shí)時(shí)運(yùn)動(dòng)狀態(tài)的監(jiān)控與調(diào)節(jié);I/O端口控制主要負(fù)責(zé)掃描輸入端口、設(shè)置輸出端口等輔助性任務(wù)。
DSP控制程序主要由一個(gè)定時(shí)中斷構(gòu)成,主程序啟動(dòng)后,首先完成對(duì)TMS320F2812的初始化及系統(tǒng)的一些基本配置,并處于等待狀態(tài)。運(yùn)動(dòng)控制功能是在伺服中斷服務(wù)程序中實(shí)現(xiàn)的。主程序和伺服中斷服務(wù)程序基本流程如圖4所示。

FPGA主要完成運(yùn)動(dòng)控制器的精插補(bǔ)功能,采用數(shù)字積分法進(jìn)行插補(bǔ)[1]。把數(shù)字積分法分為3個(gè)狀態(tài):(1)狀態(tài)WAIT,等待插補(bǔ)信號(hào);(2)狀態(tài)L1,判斷總的脈沖數(shù);(3)狀態(tài)L2,積分累加器累加,如有溢出,相應(yīng)的輸出脈沖為高電平,剩余累加次數(shù)減1。
數(shù)字積分法的有限狀態(tài)機(jī)如圖5所示。

觸發(fā)條件T1:沒(méi)有啟動(dòng)信號(hào),下一狀態(tài)為WAIT,無(wú)操作;觸發(fā)條件T2:有啟動(dòng)信號(hào),下一狀態(tài)為L(zhǎng)1,操作為初始化各寄存器,置忙信號(hào);觸發(fā)條件T3:剩余累加次數(shù)大于0,下一狀態(tài)為L(zhǎng)2,操作為各軸輸出脈沖為低電平;觸發(fā)條件T4:剩余累加次數(shù)為0,下一狀態(tài)為WAIT,操作為各軸輸出脈沖為低電平,清忙標(biāo)志;無(wú)觸發(fā)條件:下一狀態(tài)為L(zhǎng)1。
具體實(shí)現(xiàn)方法為:時(shí)序電路產(chǎn)生的插補(bǔ)脈沖作為此模塊的累加脈沖,每累加1次,剩余累加次數(shù)減1。當(dāng)剩余累加次數(shù)為0時(shí),此次插補(bǔ)過(guò)程結(jié)束。
本文設(shè)計(jì)了一種通用型四軸伺服運(yùn)動(dòng)控制器,該運(yùn)動(dòng)控制器的結(jié)構(gòu)設(shè)計(jì)可以模塊化和易于擴(kuò)展,這樣可以滿(mǎn)足用戶(hù)的各種需求。在軟件部分中,采用有限狀態(tài)機(jī)的插補(bǔ)方法,在插補(bǔ)速度處理環(huán)節(jié)做了優(yōu)化,使脈沖輸出更加穩(wěn)定。此設(shè)計(jì)采用了模塊化思想,各電機(jī)可以單獨(dú)控制,具有較為全面的運(yùn)動(dòng)控制功能、較高的控制和較快的反應(yīng)速度,其性能可靠、硬件結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類(lèi)作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 掌握 DSP:原理剖析與應(yīng)用實(shí)踐2025/5/8 14:03:24
- 模糊邏輯在 DSP 上實(shí)時(shí)執(zhí)行2023/7/25 17:13:30
- 多速率DSP及其在數(shù)模轉(zhuǎn)換中的應(yīng)用2023/6/12 15:28:52
- 使用 DSP 加速 CORDIC 算法2023/3/29 15:46:30
- 高速DSP系統(tǒng)的信號(hào)完整性2022/9/26 16:45:38
- 編碼器的工作原理及作用1
- 超強(qiáng)整理!PCB設(shè)計(jì)之電流與線(xiàn)寬的關(guān)系2
- 三星(SAMSUNG)貼片電容規(guī)格對(duì)照表3
- 電腦藍(lán)屏代碼大全4
- 國(guó)標(biāo)委發(fā)布《電動(dòng)汽車(chē)安全要求第3部分:人員觸電防護(hù)》第1號(hào)修改單5
- 通俗易懂談上拉電阻與下拉電阻6
- 繼電器的工作原理以及驅(qū)動(dòng)電路7
- 電容單位8
- 跟我學(xué)51單片機(jī)(三):?jiǎn)纹瑱C(jī)串口通信實(shí)例9
- 一種三極管開(kāi)關(guān)電路設(shè)計(jì)10
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車(chē)電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









