《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動態(tài) > 基于CPLD的開放式四軸運動控制器的設(shè)計

基于CPLD的開放式四軸運動控制器的設(shè)計

2009-02-18
作者:李葉松 董 瑋

  摘? 要: 一種基于PC機的開放式四軸運動控制平臺的軟,、硬件組成及設(shè)計方法。采用CPLD簡化了平臺硬件結(jié)構(gòu),,利用PC機的資源實現(xiàn)了“軟運動控制”功能,。系統(tǒng)具有結(jié)構(gòu)開放、使用方便,、成本低廉,、性能可靠等特點,可以靈活地實現(xiàn)定制應用,。?

  關(guān)鍵詞: 開放式系統(tǒng)? 運動控制器? CPLD?

?

  作為運動控制的核心部件,運動控制器普遍采用16位或32位微控制器,,其靈活的系統(tǒng)集成方式和高速的指令執(zhí)行速度提高了運動控制性能,、改善了控制系統(tǒng)的精度、增強了系統(tǒng)構(gòu)造的靈活性,。如DeltaTau公司的PMAC系列,、MEI公司的XMP系列的產(chǎn)品,均采用了高速數(shù)字信號處理器(DSP)和現(xiàn)場可編程門陣列(FPGA)技術(shù),,一般可以控制1~8個軸,。這些基于PC機總線的運動控制器,雖然因采用高性能微處理器在信息處理速度方面有較大的提高,,并在實際應用中提供了靈活的接口,,但在使用以及系統(tǒng)集成的時候,仍然有很多不便,,如價格比較高,、應用非常復雜等。并且在結(jié)構(gòu)上是封閉的,,只能針對某一類型的應用,,控制策略單一,很難同時滿足控制系統(tǒng)在多種應用場合中的要求,,實現(xiàn)定制應用,。?

  過去,,受計算機處理能力的限制,高性能的運動控制技術(shù)需要在板處理器如單片機或DSP上實現(xiàn),,一般PC機中的微處理器很難同時完成如軌跡插補運算和伺服控制運算等任務,。目前PC機微處理器已經(jīng)采用了更先進的工藝技術(shù),信息處理能力明顯提高,,可以滿足高速實時運動控制的要求,,硬件支持能力大大增強,并且PC機良好的軟件開發(fā)環(huán)境使構(gòu)造開放式運動控制平臺成為可能,。本文提出了一種不采用在板處理器而以PC機微處理器為控制核心的開放式四軸運動控制器,,該運動控制器采用ALTERA公司的復雜可編程門陣列(CPLD)EPF6016實現(xiàn)硬件管理功能,硬件的功能可以通過軟件配置,,而應用層的功能如運動軌跡規(guī)劃和伺服控制等均由PC機完成,。?

1 系統(tǒng)硬件結(jié)構(gòu)?

  開放式四軸運動控制器的硬件結(jié)構(gòu)如圖1所示。其中,,虛線框內(nèi)的部分由ALTERA公司的復雜可編程門陣列EPF6016實現(xiàn),。FLEX6000系列器件EPF6016是ALTERA公司為大容量設(shè)計提供的一種低成本可編程交織式門陣列,共有16000個可用門,,1320個邏輯單元,,117個I/O引腳,每個I/O引腳都有獨立的三態(tài)輸出使能控制,。該器件采用OPEFLEX結(jié)構(gòu),,能在最小的芯片尺寸上保持高性能和高布線率。器件的基本組成是邏輯單元(LE),。每個邏輯單元由一個4輸入查找表,、一個寄存器以及作為進位鏈和級連鏈功能的專用通道。每十個邏輯單元組成一個邏輯陣列塊(LAB),。器件采用SRAM構(gòu)造,,可以通過外部EEPROM或控制器實現(xiàn)在線配置,能使設(shè)計者在設(shè)計初期以及設(shè)計測試過程中對設(shè)計作靈活的修改,,同時也能夠通過在線重新配置來改變其內(nèi)部功能,。運動控制器的硬件功能編程由ALTERA公司提供的MAX+PLUSII開發(fā)系統(tǒng)支持,設(shè)計采用了原理圖輸入方式,,設(shè)計和調(diào)試比較直觀,、簡便。?

?

?

  該運動控制器的硬件結(jié)構(gòu)分為以下幾部分:?

  (1)主機接口電路:運動控制器采用了ISA-AT總線接口,,同時設(shè)計了PC-104接口,。數(shù)據(jù)總線寬度為16位,接口功能在EPF6016內(nèi)部實現(xiàn),,其中包括總線地址譯碼,、數(shù)據(jù)和命令鎖存,、中斷及復位等功能。?

  (2)光電編碼器接口電路:運動控制器接收四路光電編碼器差分輸入信號作為位置反饋,,最高輸入頻率為1MHz,,輸入的A、B相信號經(jīng)過差動接收后,,在EPF6016內(nèi)部經(jīng)過數(shù)字濾波處理后進行倍頻和辨向,,產(chǎn)生的方向信號和脈沖信號進入16位加減計數(shù)器。系統(tǒng)軟件可以讀取計數(shù)而獲得實際的位置變化,。?

  (3)模擬量輸出電路:高性能的運動控制器應采用高分辨率的D/A轉(zhuǎn)換器,。為了保證模擬量控制信號的精度,并考慮到模擬量信號在線上傳輸引起的漂移和電壓降落,,運動控制器和伺服驅(qū)動器之間的模擬控制接口信號至少應有12位以上的精度,。本文中的運動控制器采用了低成本、小封裝體積的雙16位串行輸入D/A轉(zhuǎn)換器AD1866,,構(gòu)成雙極性電壓輸出方式,。在 EPF6016內(nèi)部設(shè)計了控制4路并發(fā)式并行/串行數(shù)據(jù)轉(zhuǎn)換以及4路D/A地址選擇電路,運動控制器的模擬量電壓輸出范圍為±10V,。?

  (4)數(shù)字量輸入輸出電路:運動控制的所有I/O信號均采用光電隔離處理,,考慮到I/O開關(guān)信號可能產(chǎn)生的信號抖動現(xiàn)象,對每一路I/O信號都進行了相應的數(shù)字濾波處理以消除噪聲信號,??刂破髟O(shè)計了40路I/O信號,其中包括16路專用輸入信號,、2路特殊開關(guān)輸入信號(用于坐標測量或定位的接觸式測頭信號和急停開關(guān)信號),,另外還設(shè)計了16路可編程通用I/O信號(8路輸入/8路輸出),。實際上,,所有的I/O信號除個別信號具有獨特的功能外,都是開放的,,可以根據(jù)應用的特點設(shè)計具體的功能,。?

  (5)模擬量輸入電路:對于一些控制場合,需要檢測或控制外部狀態(tài)量的變化,,運動控制器也設(shè)計了相應的單端或差動式模擬量反饋輸入通道,。系統(tǒng)采用MAXIM公司的8通道、12位轉(zhuǎn)換精度,、150kHz采樣頻率的A/D轉(zhuǎn)換器MAX197,。各模擬量通道可以獨立編程選擇輸入范圍:±10V、±5V,、0~10V,、0~5V,,A/D轉(zhuǎn)換器的轉(zhuǎn)換基準采用內(nèi)部基準。?

  (6)可編程定時器:由于在開放式運動控制系統(tǒng)中,,插補運算和伺服控制都由PC機完成,,這兩個控制任務通常不在一個任務循環(huán)中處理。一般而言,,插補運算的周期要比伺服控制的周期長,,因此兩個任務需要占用不同的系統(tǒng)資源。由于插補運算通常占用PC機的定時中斷資源,,而伺服控制也是一個需要精確定時的任務,,因此在EPF6016內(nèi)部設(shè)計了可編程16位定時器。該定時器可采用不同的時鐘源,,定時范圍為0~300ms,,最小分辨率為70ns,定時器產(chǎn)生的溢出動作可以向PC機申請中斷,。?

  (7)同步工作電路:在運動控制系統(tǒng)中,,各控制軸同步運行是一個很重要的要求,因此在EPF6016內(nèi)部設(shè)計了同步控制電路和專門的控制字,,支持多塊運動控制器控制輸出同步刷新,、反饋計數(shù)值同步讀取等操作。?

  (8)硬件看門狗電路:在運動控制器中采用了DALLAS公司的看門狗復位及電壓監(jiān)控芯片DS1232,,以監(jiān)測系統(tǒng)的軟硬件運行情況,。當系統(tǒng)軟件運行死機的時候,看門狗電路產(chǎn)生信號復位系統(tǒng),,保證整個系統(tǒng)的可靠性,。看門狗定時時間可以編程設(shè)置為300ms,、600ms,、1.2s。?

  從硬件結(jié)構(gòu)的組成特點可以看出,,系統(tǒng)的組成核心是具有可重新配置特點的CPLD EPF6016,,它實現(xiàn)了幾乎所有的外圍電路管理功能,而其它的電路都屬于標準的輔助電路,。因此系統(tǒng)在結(jié)構(gòu)上具有典型的開放性,,這對實現(xiàn)軟件的開放是一個很好的支持。?

2 運動控制器軟件設(shè)計?

  運動控制器的軟件采用Borland C++語言編寫,,可以按照庫函數(shù)的方式調(diào)用,。根據(jù)實時運動控制的特點和硬件資源的結(jié)構(gòu),函數(shù)庫分為兩類:?

  (1)控制運動控制器硬件操作的函數(shù)庫。包括針對運動控制器硬件基本操作的函數(shù),,通過調(diào)用這些函數(shù)可以充分利用硬件資源,,實現(xiàn)定制的應用。運動控制器上的各個硬件功能的存取操作是通過一組讀寫控制命令實現(xiàn)的,,每一個控制命令占用一個PC機I/O空間地址,,對每一個地址分別進行讀或?qū)懖僮鲗a(chǎn)生不同的功能。硬件操作函數(shù)庫按照C++語言類的方式構(gòu)造,,每個命令都是以運動控制器硬件操作類的公有成員函數(shù)形式存在,。這些命令主要實現(xiàn)以下功能:?

  ①控制光電編碼器脈沖計數(shù)器,,讀取或清除計數(shù)值;?

 ?、谠O(shè)置運動控制器的工作方式以及配置系統(tǒng)的各個硬件資源;?

  ③開關(guān)量輸入輸出操作,,實現(xiàn)包括通用I/O和專用I/O的查詢和設(shè)置,、控制器硬件資源工作狀態(tài)查詢等功能;?

  ④模擬量控制命令,,用于控制D/A轉(zhuǎn)換器和A/D轉(zhuǎn)換器實現(xiàn)模擬量輸出和模擬信號采集等,。?

  (2)定制應用算法函數(shù)庫。根據(jù)實際應用的要求,,以控制運動控制器硬件操作的函數(shù)庫為基礎(chǔ),,可以有針對性地設(shè)計應用算法函數(shù)。本文以運動控制為例設(shè)計了針對運動控制的算法函數(shù)庫,,實現(xiàn)運動規(guī)劃,、伺服控制等功能。其它控制算法和功能也可以在此基礎(chǔ)上進一步擴展,。運動控制算法函數(shù)庫的各個命令也采用C++語言類的方式進行封裝,,控制算法類是運動控制器硬件操作類的繼承,調(diào)用和修改都十分方便,,因而在結(jié)構(gòu)上具有很好的開放性,。?

  在伺服運動控制算法上,控制器將當前規(guī)劃的運動位置,、進給速度送入伺服控制器與反饋的實際位置進行比較,,得到位置跟蹤誤差,,經(jīng)過位置控制器后,,送到D/A轉(zhuǎn)換器,輸出伺服驅(qū)動器的控制信號,。位置控制算法可以根據(jù)實際的要求采用多種控制策略,。?

  本文的運動控制器控制算法采用PID+速度前饋方式。通過調(diào)節(jié)各參數(shù),這種控制算法能對大多數(shù)系統(tǒng)實現(xiàn)精確而穩(wěn)定的控制,。其控制結(jié)構(gòu)如圖2所示,。?

?

?

  伺服控制器輸出計算公式為:?

  ?

3 系統(tǒng)應用及實驗結(jié)果?

  從運動控制器的軟硬件結(jié)構(gòu)可以看出,這種設(shè)計具有比較好的開放性,,便于在軟硬件方面進行功能擴展和重新配置,,同時應用系統(tǒng)的構(gòu)造也比較靈活。圖3為開放式運動控制平臺應用于伺服電機控制的結(jié)構(gòu)圖,。它由三部分組成:采用PENTIUM200 CPU的 IBM PC機;四軸開放式運動控制器;交流伺服電機和驅(qū)動器(采用松下MINAS-A系列100W伺服驅(qū)動器;位置伺服控制周期分別為250μs和1ms),。圖4和圖5分別是不同伺服控制周期時位置控制器采用PID控制算法的正弦位置跟蹤曲線,其中,,θr表示幅值為2500個脈沖,、頻率為4Hz的正弦給定信號,θf表示實際位置反饋,,E表示位置跟蹤誤差,。結(jié)果表明,系統(tǒng)可以方便地實現(xiàn)控制設(shè)置,,具有較強的軟件擴展能力,。?

?

?

?

?

  本文設(shè)計的開放式四軸運動控制平臺,由于采用了高容量低成本的CPLD EPF6016,,將運動控制器所需的硬件資源進行了整合集成,,提高了系統(tǒng)硬件的配置能力和可靠性,并且充分利用PC機軟件資源方面的優(yōu)勢,,采用C++語言“類”的結(jié)構(gòu)對運動控制算法進行封裝,,使系統(tǒng)軟件也具有很好的開放性和集成性,可以方便地設(shè)計多種控制算法,,實現(xiàn)“軟運動控制”功能,。這種設(shè)計不僅降低了成本,而且控制算法對使用者開放,,便于根據(jù)實際對象采用不同的控制算法定制應用,。?

參考文獻?

1 富歷新.基于PC總線的四軸電機運動控制器. 電氣傳動,1998(5):35~37?

2 Frohlish.P. New Trends in Automation:Concepts of PCBased Controllers. Real Time Magazine (Belgium),,1997(4):67~70
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。