路文斌, 林曉海
(1.山東能源棗礦集團(tuán)柴里煤礦,山東 棗莊 277519;2泰安煤礦機(jī)械有限公司,山東 泰安 271000)
基于單片機(jī)的單軸控制器的結(jié)構(gòu)研究
路文斌1, 林曉海2
(1.山東能源棗礦集團(tuán)柴里煤礦,山東 棗莊 277519;2泰安煤礦機(jī)械有限公司,山東 泰安 271000)
單軸控制器是現(xiàn)代工業(yè)控制中常用的一種控制裝置,其核心處理器有多種,如單片機(jī)、DSP、FPGA以及一些專用芯片等,基于單片機(jī)的控制器結(jié)構(gòu)簡單,價(jià)格低廉,具有很好的應(yīng)用前景,通過對該種控制器結(jié)構(gòu)的研究,能更好地改進(jìn)其缺陷,使其更好地應(yīng)用于市場。
單軸控制器;工業(yè)控制;單片機(jī);DSP
在現(xiàn)代工業(yè)控制中,單軸運(yùn)動(dòng)是非常基本、極其普遍的運(yùn)動(dòng),所以單軸控制器具有廣泛的應(yīng)用,譬如數(shù)控機(jī)床、工業(yè)機(jī)器人等。在數(shù)控機(jī)床(或其他裝備)的工作臺上,單軸控制器控制電機(jī)(步進(jìn)/伺服電機(jī))通過絲杠-螺母機(jī)構(gòu),將轉(zhuǎn)動(dòng)變?yōu)楣ぷ髋_的進(jìn)給運(yùn)動(dòng)。單軸控制器的實(shí)現(xiàn)完全可以使用大規(guī)模的IC實(shí)現(xiàn),但是成本偏高?;趩纹瑱C(jī)的插補(bǔ)控制器具有價(jià)格低廉、集成度高、體積小、易于操作控制等特點(diǎn)[1],因此對它的研究具有重大的意義。通過對基于單片機(jī)為控制核心單軸控制器結(jié)構(gòu)的研究討論,以便于設(shè)計(jì)出價(jià)格低廉、控制靈活、結(jié)構(gòu)簡單的單軸控制器。
現(xiàn)在控制器有三類:以單片機(jī)或者微處理器作為核心的控制器,以專用芯片作為核心處理器的控制器,以及基于PC總線的以DSP和FPGA作為核心處理器的控制器[2]。基于單片機(jī)的單軸控制器就是以單片機(jī)為核心處理器的運(yùn)動(dòng)控制器,所謂單軸控制器其實(shí)就是一種插補(bǔ)控制器,該邏輯單元能產(chǎn)生進(jìn)給脈沖控制步進(jìn)電機(jī)或伺服電機(jī)運(yùn)動(dòng),每一個(gè)這樣的控制器只能控制一個(gè)電機(jī)的運(yùn)動(dòng)狀態(tài)。它可以接受CNC控制器和控制計(jì)算機(jī)的指令或參數(shù),產(chǎn)生指定頻率f和指定個(gè)數(shù)m的脈沖序列。單軸控制器的輸出通過步進(jìn)/伺服控制器,控制步進(jìn)電機(jī)或伺服電機(jī)的產(chǎn)生進(jìn)給運(yùn)動(dòng)。
在運(yùn)動(dòng)控制系統(tǒng)中,單軸控制器是介于主控計(jì)算機(jī)和伺服控制器之間,如圖1所示。
圖1 單軸控制在控制系統(tǒng)中作用
我們研究的單軸控制器是利用硬件(內(nèi)置外設(shè))和軟件配合實(shí)現(xiàn)的。硬件主要是定時(shí)器/計(jì)數(shù)器,其作用是在一個(gè)插補(bǔ)周期內(nèi),實(shí)現(xiàn)設(shè)定速度的進(jìn)給脈沖輸出以及脈沖計(jì)數(shù)或定時(shí)。利用一個(gè)計(jì)數(shù)器對源脈沖進(jìn)行計(jì)數(shù)分頻,產(chǎn)生進(jìn)給脈沖,利用另外一個(gè)定時(shí)計(jì)數(shù)器計(jì)數(shù)(或是定時(shí)),以確定輸出脈沖的個(gè)數(shù)m。計(jì)數(shù)方式可直接決定m,定時(shí)方式下,間接確定脈沖個(gè)數(shù)m,因?yàn)榇_定了進(jìn)給周期,一個(gè)時(shí)間段內(nèi)的脈沖也是確定的。
軟件的作用包括:1)計(jì)算定時(shí)計(jì)數(shù)參數(shù),并將其裝入對應(yīng)的寄存器;2)控制加減速過程;3)與CNC或工業(yè)控制計(jì)算通訊,接收指令;4)誤差的記錄與補(bǔ)償。
圖2所示為一種在單片機(jī)平臺上實(shí)現(xiàn)的單軸控制器結(jié)構(gòu),其中主要包括脈沖產(chǎn)生模塊、插補(bǔ)計(jì)算模塊、脈沖計(jì)數(shù)/定時(shí)模塊、誤差管理與修正模塊、調(diào)度控制模塊、參數(shù)配置表、通訊管理模塊。
圖2 單軸控制器體系結(jié)構(gòu)
脈沖產(chǎn)生模塊、脈沖計(jì)數(shù)/定時(shí)模塊由可編程硬件(定時(shí)器)構(gòu)成。脈沖產(chǎn)生模塊用于產(chǎn)生進(jìn)給脈沖,脈沖計(jì)數(shù)/定時(shí)模塊用于脈沖計(jì)數(shù),或者插補(bǔ)周期的定時(shí)。
插補(bǔ)計(jì)算模塊、誤差管理與修正模塊等由軟件實(shí)現(xiàn)。插補(bǔ)計(jì)算模塊是將一個(gè)較長的插補(bǔ)距離L,按一定規(guī)則分解成若干小段dl,這些小段在若干插補(bǔ)周期內(nèi)完成。另外,該模塊根據(jù)給定的dl,速度f,插補(bǔ)周期Tc,計(jì)算脈沖產(chǎn)生模塊和脈沖計(jì)數(shù)/定時(shí)模塊的計(jì)數(shù)值(設(shè)定值)。誤差管理與修正模塊的作用是補(bǔ)償上一個(gè)插補(bǔ)周期因設(shè)定值取整而產(chǎn)生的誤差。
調(diào)度控制模塊由軟件和系統(tǒng)定時(shí)中斷配合實(shí)現(xiàn),實(shí)現(xiàn)插補(bǔ)周期啟動(dòng)、插補(bǔ)計(jì)算的開始、響應(yīng)上位機(jī)的信息,或向上位機(jī)發(fā)送消息。收發(fā)消息的管道是通訊接口,也可以是狀態(tài)接口上的聯(lián)絡(luò)信號。
參數(shù)配置表是內(nèi)存的一個(gè)數(shù)據(jù)結(jié)構(gòu),存儲運(yùn)動(dòng)控制的各種參數(shù),插補(bǔ)計(jì)算模塊要用到參數(shù)配置表的數(shù)據(jù),上位機(jī)通過通訊管理模塊寫入控制參數(shù),插補(bǔ)計(jì)算的中間數(shù)據(jù)也存儲到參數(shù)表中。通訊管理模塊由軟件和硬件通訊電路實(shí)現(xiàn)。用于與CNC控制器或工業(yè)控制計(jì)算機(jī)的通訊。
目前微處理器都具有功能很強(qiáng)的定時(shí)器/計(jì)數(shù)器,可以自動(dòng)實(shí)現(xiàn)插補(bǔ)周期內(nèi)的脈沖輸出。如圖3所示使用一個(gè)定時(shí)器/計(jì)數(shù)器,產(chǎn)生單個(gè)插補(bǔ)周期內(nèi)的可調(diào)脈沖頻率f(周期為Tf),設(shè)置不同的初值d,該定時(shí)器的溢出時(shí)間將是可調(diào)的,d的每個(gè)增量值是溢出時(shí)間增加一個(gè)脈沖源的周期Ts。每當(dāng)計(jì)數(shù)器溢出時(shí)可觸發(fā)輸出引腳電平的翻轉(zhuǎn),所以每兩個(gè)計(jì)數(shù)周期產(chǎn)生一個(gè)完整的脈沖輸出。由此可以在一定范圍內(nèi)任意調(diào)節(jié)進(jìn)給脈沖的頻率f,或者說可以任意調(diào)節(jié)進(jìn)給速度v。
圖3 實(shí)現(xiàn)單個(gè)插補(bǔ)周期脈沖輸出的可編程硬件架構(gòu)
利用另外一個(gè)定時(shí)器/計(jì)數(shù)器控制脈沖序列的脈沖個(gè)數(shù)m,利用軟件完成參數(shù)m配置,當(dāng)輸出進(jìn)給脈沖時(shí),計(jì)數(shù)器的輸出端便同步(直接反饋輸出的進(jìn)給脈沖)或異步(通過編碼器)出現(xiàn)脈沖,這個(gè)計(jì)數(shù)器的計(jì)數(shù)輸出端直接連接到產(chǎn)生進(jìn)給脈沖的計(jì)數(shù)器的門控輸入引腳,那么,單軸控制器當(dāng)輸出m個(gè)脈沖后即被鎖定,從而實(shí)現(xiàn)了一個(gè)給定個(gè)數(shù)和頻率的脈沖序列。
當(dāng)然,脈沖序列在一個(gè)插補(bǔ)周期內(nèi)的引起的位移是有原理性誤差。這個(gè)誤差將在下一個(gè)插補(bǔ)周期內(nèi)由軟件加以補(bǔ)償。
在實(shí)際應(yīng)用中單軸控制器必須有加減速的功能。單軸控制器的加減速過程對應(yīng)著輸出的脈沖間隔的變化。為了降低成本以及復(fù)雜程度,在一個(gè)較長的時(shí)間段上,如果要求電機(jī)轉(zhuǎn)速是變化的,如加速或減速,實(shí)際采用的辦法是:將一個(gè)長進(jìn)給過程分解為若干個(gè)相等的斷時(shí)間片,即插補(bǔ)周期Tc。在一個(gè)插補(bǔ)周期Tc內(nèi),單軸控制器輸出的m個(gè)脈沖的周期相等,也就是脈沖頻率不變。而在相鄰插補(bǔ)周期,使進(jìn)給脈沖頻率按線性或某種其他規(guī)律變化。由于實(shí)際插補(bǔ)周期較短,在慣性的作用下,產(chǎn)生的工作臺運(yùn)動(dòng)可以看作是一個(gè)平穩(wěn)的加速或減速過程,從而產(chǎn)生某種規(guī)律的宏觀加速度和減速度。
現(xiàn)在的工業(yè)生產(chǎn)中廣泛地應(yīng)用了自動(dòng)化技術(shù),如礦山設(shè)備,石油裝備,機(jī)械制造業(yè)等,價(jià)格低廉、結(jié)構(gòu)簡單、控制靈活的單軸控制器具有廣泛的應(yīng)用市場。通過對單軸控制器的簡單介紹了解,以及對基于單片機(jī)的單軸控制器的軟硬件體系、模塊組成、加減速的實(shí)現(xiàn)方法的研究討論等,為我們下一步改良設(shè)計(jì)該控制器提供了一種思路。
[1]李朋朋,馬國英.基于8位MCU的兩軸經(jīng)濟(jì)型插補(bǔ)控制器設(shè)計(jì)的插補(bǔ)計(jì)算[J].機(jī)械工程師,2014(11):123-124.
[2]周文軍.基于單片機(jī)的多軸運(yùn)動(dòng)控制器的編程與實(shí)現(xiàn)[J].南寧職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014(3):97-100.
(編輯 昊 天)
TM571.1
B
1002-2333(2015)08-0094-02
路文斌(1987—),男,助理工程師,從事煤礦開采及相關(guān)機(jī)械的研究工作。
2015-03-07