版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第7章工業(yè)控制專用集成電路7.1單軸交流伺服驅(qū)動(dòng)控制7.2兩軸聯(lián)動(dòng)控制電路設(shè)計(jì)7.3高速數(shù)據(jù)采集專用控制電路習(xí)題與思考
7.1單軸交流伺服驅(qū)動(dòng)控制
7.1.1控制原理與功能分析
1.交流伺服驅(qū)動(dòng)原理與控制方法交流伺服電機(jī)及驅(qū)動(dòng)電路是運(yùn)動(dòng)控制系統(tǒng)的主要構(gòu)成單元,其性能指標(biāo)決定運(yùn)動(dòng)控制系統(tǒng)本身品質(zhì)的好壞。相應(yīng)的,交流伺服及其驅(qū)動(dòng)控制也是運(yùn)動(dòng)控制系統(tǒng)的主要控制任務(wù)之一。
交流伺服電機(jī)的控制模式與方法有很多種,包括模擬電壓方式、總線方式、指令脈沖結(jié)合方向信號(hào)方式等。相對(duì)于其他方式,指令脈沖方式具有接線、調(diào)試簡(jiǎn)單方便、易于實(shí)現(xiàn)等特點(diǎn),在運(yùn)動(dòng)控制領(lǐng)域的應(yīng)用相對(duì)廣泛。工作于指令脈沖方式時(shí),其與傳統(tǒng)的步進(jìn)電機(jī)控制具有一定的類似性,交流伺服電機(jī)的驅(qū)動(dòng)信號(hào)包括驅(qū)動(dòng)脈沖與方向信號(hào)。其中,指令脈沖的頻率決定伺服電機(jī)的轉(zhuǎn)速,脈沖頻率越高,轉(zhuǎn)速越快;頻率越低,轉(zhuǎn)速越慢。方向信號(hào)的電平狀態(tài)決定電機(jī)的旋轉(zhuǎn)方向,在不同的高低電平狀態(tài)作用下,電機(jī)分別按照逆時(shí)針或順時(shí)針?lè)较蛐D(zhuǎn)。
2.梯形加減速控制
受到電機(jī)功率、輸出扭矩等條件的影響,實(shí)現(xiàn)伺服控制時(shí),還需要對(duì)電機(jī)的加加速度、加速度、速度等進(jìn)行規(guī)劃。運(yùn)動(dòng)控制常用的速度規(guī)劃方法包括S曲線加減速、梯形曲線加減速等方法,其中梯形加減速運(yùn)算簡(jiǎn)單、易于實(shí)現(xiàn),在多種運(yùn)動(dòng)控制系統(tǒng)中得到廣泛應(yīng)用,其加速度、速度曲線如圖7.1所示。
在圖7.1所示的加減速過(guò)程中,根據(jù)運(yùn)動(dòng)控制系統(tǒng)的速度特征,可以將梯形加減速的運(yùn)動(dòng)曲線劃分為加速段、勻速段與減速段3個(gè)工作段,分別為圖中的0~t0、t0~t1、t1~t2這3個(gè)時(shí)間段。假定運(yùn)動(dòng)控制系統(tǒng)在時(shí)刻t時(shí)的即時(shí)加速度、即時(shí)速度分別為a(t)、v(t),則瞬時(shí)時(shí)間t時(shí)的加速度參數(shù)由公式(7-1)確定:
(7-1)
圖7.1運(yùn)動(dòng)控制系統(tǒng)梯形加減速的加速度及速度曲線
在圖7.1所示梯形加速度控制中,瞬時(shí)時(shí)間t時(shí)的速度參數(shù)由公式(7-2)確定:
(7-2)
為便于梯形加減速的數(shù)字實(shí)現(xiàn),本例中的速度計(jì)算利用遞推公式獲取。假定速度、加速度的采樣時(shí)間為Δt,時(shí)刻k-1的速度、加速度采樣值分別為vk-1、ak-1,則采樣時(shí)刻k時(shí)的速度vk由遞推公式(7-3)確定。
(7-3)
3.器件實(shí)現(xiàn)原理與功能結(jié)構(gòu)
根據(jù)前文描述的控制原理與方法,本例的單軸交流伺服驅(qū)動(dòng)控制電路可采用圖7.2所示的邏輯功能結(jié)構(gòu)。
圖7.2單軸交流伺服控制器件的邏輯功能結(jié)構(gòu)
4.器件的進(jìn)程結(jié)構(gòu)
參照?qǐng)D7.2中的伺服控制器件的邏輯功能結(jié)構(gòu),本例通過(guò)多進(jìn)程結(jié)合結(jié)構(gòu)化描述實(shí)現(xiàn)相應(yīng)的伺服驅(qū)動(dòng)控制電路邏輯。結(jié)合器件各構(gòu)成單元的功能與數(shù)據(jù)處理過(guò)程描述,分別設(shè)計(jì)專用集成電路的并行接口寫(xiě)進(jìn)程、并行接口讀進(jìn)程、狀態(tài)轉(zhuǎn)換與控制、基準(zhǔn)時(shí)鐘控制、驅(qū)動(dòng)脈沖輸出控制等進(jìn)程,各進(jìn)程間的輸入/輸出與啟動(dòng)關(guān)系如圖7.3所示。
圖7.3單軸交流伺服控制器件的進(jìn)程結(jié)構(gòu)與啟動(dòng)關(guān)系
7.1.2電路的VHDL描述
結(jié)合電路的實(shí)際應(yīng)用狀況,在實(shí)現(xiàn)電路時(shí),分別設(shè)計(jì)電路的勻速運(yùn)動(dòng)、升速運(yùn)動(dòng)與降速運(yùn)動(dòng)3種工作模式,并分模式加以實(shí)現(xiàn)。其中,勻速運(yùn)動(dòng)的參數(shù)曲線如圖7.1所示;在升速運(yùn)動(dòng)模式下,運(yùn)動(dòng)按指定初始速度開(kāi)始,以指定加速度升至終止速度,運(yùn)動(dòng)到指令位移結(jié)束;降速運(yùn)動(dòng)按指定初始速度開(kāi)始,以指定加速度降至指定的終止速度,運(yùn)動(dòng)到指令位移結(jié)束。
1.頂層實(shí)體MtDrv設(shè)計(jì)
頂層實(shí)體MtDrv提供16位雙向數(shù)據(jù)端口D、3位地址輸入端A與器件片選端CS。同時(shí),器件提供數(shù)據(jù)寫(xiě)入端WR、讀出端RD,均為低電平有效。器件使用地址00H~05H存儲(chǔ)運(yùn)動(dòng)指令參數(shù),分別為指令位移Dis、平均速度SpdA、初始速度SpdS、終止速度SpdE、加速度ACC與運(yùn)動(dòng)模式Md。為便于仿真觀測(cè),電路中設(shè)置了相關(guān)的專用端口xSpd、XSpdCnt與XDisCur,以觀察電路運(yùn)行時(shí)的瞬時(shí)速度、瞬時(shí)速度計(jì)數(shù)值與瞬時(shí)位移的變化情況。生成電路時(shí),可刪除該部分端口及相關(guān)賦值語(yǔ)句,刪除后器件邏輯與功能不受影響。
為便于理解與描述器件電路,在編程實(shí)現(xiàn)時(shí),程序的所有端口、變量、信號(hào)定義以及進(jìn)程設(shè)計(jì)與前文的邏輯結(jié)構(gòu)、進(jìn)程描述嚴(yán)格一致,頂層實(shí)體電路MtDrv的VHDL實(shí)現(xiàn)程序如下。
例7-1-1單軸交流伺服控制器件頂層實(shí)體MtDrv的VHDL描述:
頂層實(shí)體MtDrv的數(shù)據(jù)寫(xiě)進(jìn)程WrProc響應(yīng)寫(xiě)信號(hào)WR的上升沿。片選信號(hào)CS有效時(shí),WrProc根據(jù)地址A的取值,分別將指令位移、平均速度、初始速度等運(yùn)動(dòng)參數(shù)寫(xiě)入相關(guān)寄存器備用。模式控制字Md僅使用8位數(shù)據(jù)端口D的低2位,取值00H~02H分別對(duì)應(yīng)于勻速運(yùn)動(dòng)、升速運(yùn)動(dòng)與降速運(yùn)動(dòng)3種模式;實(shí)體中的基準(zhǔn)時(shí)鐘進(jìn)程Ck10MP對(duì)100
MHz基準(zhǔn)時(shí)鐘CLK進(jìn)行10分頻,產(chǎn)生10
MHz的控制時(shí)鐘Ck10M用于采樣周期、驅(qū)動(dòng)脈沖等的實(shí)現(xiàn)。
本例的速度、位移、加速度參數(shù)分別采用計(jì)量單位“步/s”、“步”與“mm/s2”描述,電機(jī)步當(dāng)量為0.01
mm,即1
mm?=?100步。運(yùn)動(dòng)采樣時(shí)間Δt設(shè)定為10?μs,即每過(guò)10?μs,實(shí)體MtDrv的進(jìn)程StaCon執(zhí)行一次運(yùn)動(dòng)參數(shù)運(yùn)算。為便于程序描述,StaCon利用公式(7-3)的變體公式(7-4)計(jì)算運(yùn)動(dòng)速度,式中的多項(xiàng)式Int(10-3Σak)為速度積分ΣakΔt的整數(shù)部分,多項(xiàng)式Rm(10-3Σak)是速度積分ΣakΔt的余數(shù)部分。
(7-4)
在電路的實(shí)際運(yùn)行過(guò)程中,進(jìn)程StaCon響應(yīng)電路的門(mén)控信號(hào)G,若信號(hào)G輸入低電平,進(jìn)程初始化速度變量iSpd、加速度積分iSigmaA等運(yùn)動(dòng)參數(shù),將信號(hào)CPEn置為低電平,禁止脈沖發(fā)生電路U0。當(dāng)門(mén)控G變?yōu)楦唠娖綍r(shí),StaCon對(duì)控制時(shí)鐘Ck10M的上升沿進(jìn)行計(jì)數(shù),計(jì)至十進(jìn)制數(shù)“99”時(shí),10
μs的運(yùn)動(dòng)采樣時(shí)間結(jié)束。此時(shí),StaCon獲取Div24元件U1的24位速度計(jì)數(shù)值,取其低16位計(jì)算16位速度計(jì)數(shù)值SpdCnt,供脈沖計(jì)數(shù)元件U2產(chǎn)生驅(qū)動(dòng)脈沖使用。然后,StaCon執(zhí)行加速度積分運(yùn)算,求取Σak即程序中的16位變量iSigmaA。最后,進(jìn)程StaCon利用iSigmaA除以1000求取速度增量,從而得到當(dāng)前運(yùn)動(dòng)速度值。
工作于模式0時(shí),電路執(zhí)行勻速運(yùn)動(dòng),整個(gè)運(yùn)動(dòng)被劃分為加速段(iSec?=?0)、勻速段(iSec
=?1)與減速段(iSec?=?2)。在加速段內(nèi),若速度達(dá)到指令速度SpdA或當(dāng)前位移達(dá)到指令位移一半,電路將當(dāng)前位移DisCur存入減速度位移iRmDis,供減速段使用,之后進(jìn)入勻速段(iSec?=?1);在勻速段內(nèi),電路利用指令位移Dis減去當(dāng)前位移DisCur計(jì)算剩余位移量,若剩余位移量小于iRmDis,運(yùn)動(dòng)進(jìn)入減速段;在減速段內(nèi),電路比較指令位移與當(dāng)前位移,若二者一致,StaCon禁止驅(qū)動(dòng)脈沖發(fā)生PGen元件U2,結(jié)束運(yùn)動(dòng)。
電路工作于模式1時(shí),電路執(zhí)行加速運(yùn)動(dòng),整個(gè)運(yùn)動(dòng)過(guò)程僅包括梯形加減速的加速段與勻速段。在加速段內(nèi),若速度增至終止速度SpdE,運(yùn)動(dòng)進(jìn)入勻速段;在勻速段內(nèi),若指令位移與當(dāng)前位移一致,則禁止驅(qū)動(dòng)脈沖發(fā)生PGen元件U2,結(jié)束運(yùn)動(dòng)。
工作于模式2時(shí),電路執(zhí)行減速運(yùn)動(dòng),運(yùn)動(dòng)僅包括減速段與勻速段。在減速段內(nèi),若速度減至終止速度SpdE,運(yùn)動(dòng)進(jìn)入勻速段;在勻速段內(nèi),若指令位移與當(dāng)前位移一致,StaCon禁止脈沖發(fā)生元件U2,結(jié)束運(yùn)動(dòng)。
需要特別說(shuō)明的是,由于不存在小于1步的位移量,即運(yùn)動(dòng)速度vk為整型數(shù),在每個(gè)運(yùn)動(dòng)采樣時(shí)刻速度計(jì)算完畢后,iSigmaA除以1000的整數(shù)部分被清零,余數(shù)被保留,以備下一采樣時(shí)刻使用。為便于程序?qū)崿F(xiàn),程序中除以1000的運(yùn)算通過(guò)取iSigmaA的高6位實(shí)現(xiàn)。
頂層實(shí)體MtDrv的數(shù)據(jù)讀進(jìn)程RdProc響應(yīng)并行接口讀信號(hào)RD,當(dāng)CS有效且地址選中“110”時(shí),RdProc將當(dāng)前位移DisCur送至數(shù)據(jù)總線D。
除了上述進(jìn)程,實(shí)體MtDrv定義并例化了元件U0、U1與U2,分別用于驅(qū)動(dòng)脈沖的產(chǎn)生、速度計(jì)數(shù)值計(jì)算以及當(dāng)前位移的計(jì)算。
2.實(shí)體PGen設(shè)計(jì)
實(shí)體PGen接收驅(qū)動(dòng)脈沖參數(shù)與使能控制,產(chǎn)生符合指定條件的電機(jī)驅(qū)動(dòng)脈沖。電路預(yù)定的脈沖發(fā)生功能通過(guò)進(jìn)程mPGen實(shí)現(xiàn),描述程序如下。
例7-1-2驅(qū)動(dòng)脈沖發(fā)生電路PGen的VHDL描述:
實(shí)體PGen描述程序中,端口Cnt為16位脈沖計(jì)數(shù)值輸入端口,端口G為脈沖電路的使能控制,端口Clk為脈沖發(fā)生電路的基準(zhǔn)控制時(shí)鐘,Clk與頂層實(shí)體MtDrv中進(jìn)程Ck10MP送出的10
MHz基準(zhǔn)控制時(shí)鐘信號(hào)Ck10M是同一個(gè)信號(hào);端口CP送出得到的電機(jī)驅(qū)動(dòng)脈沖信號(hào)。
描述程序的進(jìn)程mPGen響應(yīng)基準(zhǔn)控制時(shí)鐘Clk(實(shí)體MtDrv得到的時(shí)鐘Ck10M)、使能信號(hào)G與脈沖計(jì)數(shù)值Cnt的變化,G端變?yōu)榈碗娖綍r(shí),脈沖發(fā)生中止,計(jì)數(shù)變量tmp清零,脈沖輸出iCP清零;反之,G端變?yōu)楦唠娖綍r(shí),mPGen對(duì)Clk的上升沿計(jì)數(shù),計(jì)至脈沖計(jì)數(shù)值Cnt后,輸出脈沖端口iCP反相。不斷重復(fù)上述過(guò)程,便能獲得與計(jì)數(shù)值Cnt相對(duì)應(yīng)的等距方波。
mPGen的使能端G由頂層實(shí)體MtDrv的信號(hào)CPEn控制,在電路運(yùn)行時(shí),實(shí)體MtDrv的StaCon進(jìn)程不斷檢測(cè)并比較指令位移Dis與當(dāng)前位移,若二者一致,則StaCon清除CPEn,從而將G端置為低電平,禁止進(jìn)程mPGen啟動(dòng)。
3.實(shí)體DisCon設(shè)計(jì)
實(shí)體DisCon實(shí)現(xiàn)的功能包括對(duì)驅(qū)動(dòng)脈沖計(jì)數(shù)、計(jì)算當(dāng)前位移DisCur以及電路忙閑狀態(tài)的輸出。DisCon向頂層實(shí)體MtDrv返回電路的忙閑狀態(tài)iBsy與當(dāng)前位移DisCur,其描述程序如下。
例7-1-3位移計(jì)算與控制電路DisCon的VHDL描述:
實(shí)體DisCon的端口Cnt為16位指令位移,G為門(mén)控端口信號(hào),端口Clk為頂層實(shí)體MtDrv元件U0輸出的電機(jī)驅(qū)動(dòng)脈沖,DisCur返回當(dāng)前位移,標(biāo)志Bsy返回電路忙閑狀態(tài)。
在上述程序描述中,進(jìn)程mPCnt響應(yīng)門(mén)控信號(hào)G,若G為低電平,電路執(zhí)行初始化,將端口Cnt送入的指令位移送入計(jì)數(shù)變量tmp;若G為高電平,則忙標(biāo)志iBsy置“1”,mPCnt對(duì)驅(qū)動(dòng)脈沖Clk的下降沿計(jì)數(shù),計(jì)數(shù)變量tmp進(jìn)行減計(jì)數(shù),當(dāng)前位移iDisCur進(jìn)行加計(jì)數(shù)。當(dāng)tmp計(jì)至“0”時(shí),忙標(biāo)志iBsy清零。
4.實(shí)體Div24設(shè)計(jì)
實(shí)體Div24用于頂層實(shí)體MtDrv中24位速度計(jì)數(shù)值tSpdCnt的計(jì)算,通過(guò)24位的除法器實(shí)現(xiàn),在頂層實(shí)體MtDrv中,16位運(yùn)動(dòng)速度Spd與16位速度計(jì)數(shù)值SpdCnt滿足關(guān)系式(7-5)。
(7-5)
這里,速度單位為步/s,基準(zhǔn)控制時(shí)鐘頻率為
10?MHz,由此可以得到速度計(jì)數(shù)值SpdCnt的計(jì)算公式(7-6)。
(7-6)
計(jì)算上式時(shí),5?×?106可采用24位無(wú)符號(hào)數(shù)4C4B40H表述,因此此處設(shè)計(jì)24位除法器以求取速度計(jì)數(shù)值。實(shí)體MtDrv調(diào)用該除法器U1時(shí),在16位數(shù)值Spd的左側(cè)并置8位的00H,將其擴(kuò)展成24位,相應(yīng)的結(jié)果tSpdCnt也為24位數(shù)據(jù);使用時(shí),取其低16位送入SpdCnt。24位除法器描述程序如下。
例7-1-4速度計(jì)數(shù)運(yùn)算電路Div24的VHDL描述:
上述程序響應(yīng)24位除數(shù)、被除數(shù)A與B的變化,若A或B發(fā)生變化,除進(jìn)程DivProc執(zhí)行一次。DivProc通過(guò)循環(huán)DivL按照由高到低的順序依次獲取被除數(shù)A的各數(shù)據(jù)位,并執(zhí)行減運(yùn)算,求得除結(jié)果各數(shù)據(jù)位以及余數(shù)。最后,DivProc將24位除結(jié)果iRs送至端口Rs并返回給頂層實(shí)體信號(hào)tSpdCnt,由頂層實(shí)體MtDrv的進(jìn)程StaCon截取低16位,得到16位的速度計(jì)數(shù)值SpdCnt。
7.1.3電路實(shí)現(xiàn)
1.項(xiàng)目創(chuàng)建與編譯
在單軸交流伺服控制電路的VHDL描述程序中,實(shí)體MtDrv、PGen、DisCon與Div24的描述程序分別命名為MtDrv.vhd、PGen.vhd、DisCon.vhd與Div24.vhd。利用上述程序創(chuàng)建項(xiàng)目,設(shè)置實(shí)體MtDrv作為項(xiàng)目頂層實(shí)體,項(xiàng)目名稱與頂層實(shí)體名稱一致,也設(shè)置為MtDrv。根據(jù)程序復(fù)雜程度,結(jié)合電機(jī)控制中的實(shí)時(shí)性要求,初選MAXII系列CPLD作為電路的實(shí)現(xiàn)器件,具體器件根據(jù)編譯結(jié)果由開(kāi)發(fā)系統(tǒng)指定。采用上述方法,單軸交流伺服控制器件MtDrv的實(shí)現(xiàn)項(xiàng)目及其編譯結(jié)果如圖7.4所示。
圖7.4單軸交流伺服控制器件MtDrv的項(xiàng)目實(shí)現(xiàn)及編譯結(jié)果
2.器件、引腳分配
根據(jù)編譯結(jié)果及后續(xù)制版、布線等情況,本例電路引腳與器件分配情況如圖7.5所示。
圖7.5單軸交流伺服控制器件MtDrv的引腳與器件分配
從編譯結(jié)果可以看出,器件EPM2210F256C3可以滿足本例原定的交流伺服電機(jī)驅(qū)動(dòng)控制要求,宏單元占有率、端口占用率等基本滿足要求;所選PLD為低功耗器件,F(xiàn)BGA封裝面積小,C3速度等級(jí)較高。因此,本例為項(xiàng)目最終指定的器件為EPM2210F256C3。
圖7.5中帶陰影引腳為已分配信號(hào)的引腳,按逆時(shí)針順序,引腳上分配的信號(hào)依次為片選CS、寫(xiě)信號(hào)Wr、讀信號(hào)Rd、3位地址信號(hào)A、并行接口的16位雙向數(shù)據(jù)端口D、驅(qū)動(dòng)脈沖輸出端口CP、控制電路忙狀態(tài)標(biāo)志Bsy、100M基準(zhǔn)時(shí)鐘CLK、電機(jī)驅(qū)動(dòng)門(mén)控信號(hào)G。信號(hào)與實(shí)現(xiàn)器件引腳之間的具體對(duì)應(yīng)關(guān)系如表7.1所示。
7.1.4電路測(cè)試及分析
1.功能仿真
圖7.6所示為單軸交流伺服驅(qū)動(dòng)控制器件MtDrv的仿真輸入波形文件,圖中的仿真柵格大小設(shè)置為20
ns,仿真總時(shí)長(zhǎng)設(shè)置為280
ms。
圖7.6單軸交流伺服控制電路MtDrv的仿真輸入
圖中的仿真輸入涵蓋控制電路三種工作模式下的運(yùn)動(dòng)過(guò)程仿真,即均速控制、升速控制與降速控制。在均速控制下,運(yùn)動(dòng)速度由0加至指令速度,然后做勻速運(yùn)動(dòng),最后減速并到達(dá)指令位移,運(yùn)動(dòng)結(jié)束;在升速模式下,電機(jī)以初始速度開(kāi)始,升至終止速度后保持勻速運(yùn)動(dòng),直至運(yùn)動(dòng)結(jié)束;在降速模式下,電機(jī)以初始速度開(kāi)始,降至終止速度后保持勻速運(yùn)動(dòng),直至運(yùn)動(dòng)指令結(jié)束;圖中信號(hào)D為并口數(shù)據(jù)總線的數(shù)據(jù)設(shè)置情況,DATA為仿真運(yùn)行中數(shù)據(jù)總線D的實(shí)際信號(hào)變化。在做升速運(yùn)動(dòng)時(shí),指令參數(shù)寫(xiě)入時(shí)的集成電路MtDrv的仿真結(jié)果如圖7.7所示。
圖7.7模式1的指令參數(shù)寫(xiě)入過(guò)程仿真
執(zhí)行升速運(yùn)動(dòng)時(shí),外部控制計(jì)算機(jī)通過(guò)并行接口向地址“000”寫(xiě)入數(shù)值“150”,設(shè)置指令位移為150步;向地址“010”寫(xiě)入數(shù)值“500”,設(shè)置初始速度為500步/s;向地址“100”寫(xiě)入數(shù)值“2800”,設(shè)置加速度為2800步/s2;向地址“011”寫(xiě)入數(shù)值“3000”,設(shè)置運(yùn)動(dòng)終止速度為3000步/s;向地址“101”寫(xiě)入數(shù)值“1”,設(shè)置電路工作于模式1,執(zhí)行升速運(yùn)動(dòng);圖7.8為上述條件下,升速運(yùn)動(dòng)的仿真結(jié)果。
圖7.8模式1升速段運(yùn)動(dòng)過(guò)程仿真
在圖示運(yùn)動(dòng)中,指令加速度Acc為2800步/S2,指令位移Dis為150步,初始速度SpdS與終止速度SpdE分別為500步/S、3000步/s,工作模式Md設(shè)置為模式1,與寫(xiě)入值嚴(yán)格一致。在運(yùn)動(dòng)過(guò)程中,驅(qū)動(dòng)脈沖CP周期逐漸變小,最終趨于恒定,對(duì)應(yīng)的運(yùn)動(dòng)速度持續(xù)增加至3001步/s后進(jìn)行勻速運(yùn)動(dòng),直至運(yùn)動(dòng)結(jié)束。實(shí)際的終止速度與指令存在1步/s的誤差。圖7.9所示為指令執(zhí)行期間,外部計(jì)算機(jī)讀取當(dāng)前速度的仿真結(jié)果。
圖7.9運(yùn)動(dòng)速度讀取仿真
在圖示運(yùn)動(dòng)段中的時(shí)刻4.01406
ms處,RD、CS相繼產(chǎn)生下降沿從而生效,器件的地址端口A上送出當(dāng)前位移寄存器地址“110”,電路MtDrv獲取當(dāng)前位移XDisCur的取值“4”并將其送上數(shù)據(jù)總線DATA。均速運(yùn)動(dòng)的參數(shù)寫(xiě)入仿真如圖7.10所示。
圖7.10模式1的指令運(yùn)動(dòng)參數(shù)寫(xiě)入仿真
在圖示的指令寫(xiě)入過(guò)程中,外部計(jì)算機(jī)通過(guò)端口“000”向指令位移寄存器Dis寫(xiě)入指令位移150步,通過(guò)地址“001”向指令平均速度寄存器SpdA寫(xiě)入指令平均速度3000步/s,通過(guò)地址“101”向模式控制字寄存器Md寫(xiě)入模式字“0”,電路工作于均速運(yùn)動(dòng)模式。運(yùn)動(dòng)過(guò)程仿真如圖7.11。
圖7.11模式0的運(yùn)動(dòng)控制過(guò)程仿真
圖示仿真結(jié)果中,隨時(shí)間推移,驅(qū)動(dòng)脈沖CP的周期逐漸減小,然后保持恒定;持續(xù)一定時(shí)間后,CP周期持續(xù)增大,直至運(yùn)動(dòng)結(jié)束。在運(yùn)動(dòng)的結(jié)束階段,電路輸出兩個(gè)低頻驅(qū)動(dòng)脈沖,補(bǔ)足位移量。與之相對(duì)應(yīng),在起始階段,運(yùn)動(dòng)速度持續(xù)增大,直到增至指令速度3000步/s,完成加速段;然后,運(yùn)動(dòng)速度保持在3000步/s,實(shí)現(xiàn)勻速段;在運(yùn)動(dòng)的最后階段,速度持續(xù)減小至100步/s,完成減速段。當(dāng)速度減至100步/s后,電路繼續(xù)輸出兩個(gè)低頻脈沖,實(shí)現(xiàn)最終的150步指令位移。工作于模式0時(shí),電路的加速段工作過(guò)程仿真如圖7.12所示。
圖7.12模式0加速段工作過(guò)程仿真
在模式0的加速段內(nèi),運(yùn)動(dòng)段iSec取“0”值,加速度積分每10?μs執(zhí)行一次,積分值iSigmaA執(zhí)行疊加運(yùn)算,運(yùn)動(dòng)速度xSpd由100步/s開(kāi)始持續(xù)上升,速度計(jì)數(shù)值XSpdCnt則隨速度增大由數(shù)值50000持續(xù)減小。結(jié)合實(shí)際應(yīng)用,在實(shí)現(xiàn)原定的電機(jī)驅(qū)動(dòng)過(guò)程時(shí),對(duì)最低速度進(jìn)行了限定,限定為100步/s。模式0的減速度運(yùn)動(dòng)過(guò)程仿真如圖7.13所示。
圖7.13模式0減速段工作過(guò)程仿真
在模式0的減速段內(nèi),加速度積分重啟,積分值iSigmaA隨之重啟進(jìn)行疊加運(yùn)算,運(yùn)動(dòng)速度xSpd由勻速段的實(shí)際速度3001步/s開(kāi)始持續(xù)減小,對(duì)應(yīng)的速度計(jì)數(shù)值XSpdCnt隨積分運(yùn)行持續(xù)減小。當(dāng)運(yùn)動(dòng)速度降至100步/s后保持不變,走完預(yù)定的指令位移,從而實(shí)現(xiàn)指令的運(yùn)動(dòng)過(guò)程。電路工作于模式2時(shí)的指令參數(shù)寫(xiě)入過(guò)程仿真如圖7.14所示。
圖7.14模式2的指令參數(shù)寫(xiě)入過(guò)程仿真
在上圖的參數(shù)寫(xiě)入過(guò)程中,外部計(jì)算機(jī)向地址“000”、“010”、“100”、“011”與“101”分別寫(xiě)入指令的目標(biāo)位移、起始速度、加速度、終止速度與工作模式參數(shù),將各參數(shù)依次設(shè)置為150步、3000步/s、2800步/s2、1500步/s與工作模式2。模式2的減速段工作過(guò)程仿真如圖7.15。
圖7.15模式2的減速段工作過(guò)程仿真
在工作模式2的減速段內(nèi),門(mén)控G變?yōu)楦唠娖?,開(kāi)始減速運(yùn)動(dòng),加速度積分啟動(dòng),iSigmaA執(zhí)行疊加運(yùn)算,運(yùn)動(dòng)速度xSpd由初始速度3000步/s開(kāi)始持續(xù)減小,速度計(jì)數(shù)值由初值1666開(kāi)始依次減小。減速指令的完整執(zhí)行過(guò)程如圖7.16所示。
圖7.16模式2的減速指令的執(zhí)行過(guò)程仿真
2.時(shí)序分析
單軸伺服電機(jī)控制電路執(zhí)行時(shí)序分析如圖7.17所示。
選中圖中的按鈕Start,啟動(dòng)時(shí)序分析,然后選擇按鈕Report,得到本例單軸伺服電機(jī)控制電路的各時(shí)間參數(shù)。其中,數(shù)據(jù)建立時(shí)間tsu的最大值為?-0.342?ns,時(shí)鐘輸出延遲時(shí)間tco的最大值為17.098?ns,輸出延遲時(shí)間tpd的最大值為5.570?ns,數(shù)據(jù)保持時(shí)間th的最大值為3.728
ns。
圖7.17單軸伺服電機(jī)控制電路的時(shí)序分析
7.2兩軸聯(lián)動(dòng)控制電路設(shè)計(jì)
7.2兩軸聯(lián)動(dòng)控制電路設(shè)計(jì)
1.輪廓控制原理輪廓運(yùn)動(dòng)及其控制是運(yùn)動(dòng)控制系統(tǒng),尤其是數(shù)控系統(tǒng)的關(guān)鍵功能,其性能直接決定運(yùn)動(dòng)控制系統(tǒng)品質(zhì)的優(yōu)劣。
1)直線輪廓控制
在運(yùn)動(dòng)控制系統(tǒng)中,二維直線的輪廓控制原理如圖7.18所示。假定圖中的直線OE為指令輪廓,運(yùn)動(dòng)起點(diǎn)O落在坐標(biāo)原點(diǎn)上,終點(diǎn)E的坐標(biāo)為(xE,
yE),位置N為運(yùn)動(dòng)執(zhí)行過(guò)程中的當(dāng)前位置。
圖7.18運(yùn)動(dòng)控制系統(tǒng)的二維直線輪廓插補(bǔ)原理
在圖7.18中,當(dāng)前位置N與理想軌跡OE存在3種幾何關(guān)系:在OE輪廓上、在OE上方N
″位置、在OE下方N
′位置。實(shí)現(xiàn)指令輪廓OE時(shí),電機(jī)持續(xù)向輪廓誤差減小的方向運(yùn)動(dòng),即:N落在N
″上或OE輪廓上,X軸電機(jī)執(zhí)行一個(gè)脈沖當(dāng)量的運(yùn)動(dòng);N落在N
′上,Y軸電機(jī)執(zhí)行一個(gè)脈沖當(dāng)量的運(yùn)動(dòng)。假定動(dòng)點(diǎn)N的坐標(biāo)為(xi,yi),考察上述3種狀況,有公式(7-7)成立:
(7-7)
定義函數(shù),公式(7-8)演變?yōu)椋?/p>
(7-8)
執(zhí)行輪廓運(yùn)動(dòng)時(shí),需要首先計(jì)算函數(shù)F,然后根據(jù)F的取值狀況,產(chǎn)生X或Y軸電機(jī)的驅(qū)動(dòng)信號(hào)并產(chǎn)生相應(yīng)軸的運(yùn)動(dòng),從而實(shí)現(xiàn)預(yù)定的理想輪廓OE。為便于電路實(shí)現(xiàn),采用遞推公式計(jì)算運(yùn)動(dòng)的F參數(shù)。假定當(dāng)前運(yùn)動(dòng)時(shí)刻為i,F(xiàn)參數(shù)為Fi;下一運(yùn)動(dòng)時(shí)刻為i+1,則F參數(shù)Fi+1的遞推公式為式(7-9):
(7-9)
根據(jù)上述的控制策略,二維直線輪廓運(yùn)動(dòng)通過(guò)以下步驟實(shí)現(xiàn):
(1)終點(diǎn)判別。比較當(dāng)前位置與終點(diǎn)坐標(biāo),判別運(yùn)動(dòng)是否結(jié)束。
(2)驅(qū)動(dòng)選擇。根據(jù)F參數(shù),判定運(yùn)動(dòng)軸。若F≥0,X軸電機(jī)使能;若F<0,
Y軸電機(jī)使能。
(3)進(jìn)給運(yùn)動(dòng)。產(chǎn)生驅(qū)動(dòng)信號(hào)并驅(qū)動(dòng)運(yùn)動(dòng)軸,執(zhí)行輪廓運(yùn)動(dòng)。
(4)
F參數(shù)計(jì)算。調(diào)用公式(7-9),計(jì)算下一時(shí)刻的F參數(shù)備用。
2)圓弧輪廓控制
圖7.19所示為運(yùn)動(dòng)控制系統(tǒng)的第1象限逆圓弧軌跡運(yùn)動(dòng)實(shí)現(xiàn)原理,圖中的圓弧輪廓OE為指令運(yùn)動(dòng)軌跡,圓心落在坐標(biāo)原點(diǎn)上,運(yùn)動(dòng)起點(diǎn)S的坐標(biāo)為(xS,yS),運(yùn)動(dòng)終點(diǎn)E的坐標(biāo)為(xE,yE)。同樣假定位置N為輪廓運(yùn)動(dòng)實(shí)現(xiàn)過(guò)程中的當(dāng)前位置。
圖7.19運(yùn)動(dòng)控制系統(tǒng)的第1象限逆圓弧輪廓插補(bǔ)原理
與直線輪廓運(yùn)動(dòng)相似,執(zhí)行圖中的圓弧軌跡運(yùn)動(dòng)時(shí),根據(jù)當(dāng)前運(yùn)動(dòng)點(diǎn)N的位置確定X與Y軸的動(dòng)作與否。若動(dòng)點(diǎn)N落在指令圓弧SE內(nèi)部的N
″?位置,則Y電機(jī)執(zhí)行一個(gè)脈沖當(dāng)量的運(yùn)動(dòng);若動(dòng)點(diǎn)N落在指令圓弧SE輪廓上或外部的N
′?位置,則X電機(jī)執(zhí)行一個(gè)脈沖當(dāng)量的運(yùn)動(dòng)。假定動(dòng)點(diǎn)N的坐標(biāo)為(xi,yi),考察上述狀況,有公式(7-10)成立:
(7-10)
實(shí)現(xiàn)圓弧輪廓時(shí),定義參數(shù),利用F參數(shù)判別各個(gè)時(shí)刻的運(yùn)動(dòng)軸,實(shí)現(xiàn)理想的圓弧輪廓。對(duì)運(yùn)動(dòng)過(guò)程離散化,假定當(dāng)前運(yùn)動(dòng)時(shí)刻為i,對(duì)應(yīng)的F參數(shù)為Fi,下一運(yùn)動(dòng)時(shí)刻為i+1,對(duì)應(yīng)的F參數(shù)為Fi+1,則參數(shù)Fi+1可由下式(7-11)確定:
(7-11)
結(jié)合上述的圓弧運(yùn)動(dòng)控制策略,可以得到運(yùn)動(dòng)控制系統(tǒng)第1象限逆圓弧軌跡的實(shí)現(xiàn)過(guò)程:
(1)終點(diǎn)判別。比較當(dāng)前動(dòng)點(diǎn)位置與圓弧輪廓終點(diǎn)坐標(biāo),判別圓弧軌跡是否完成。
(2)驅(qū)動(dòng)選擇。根據(jù)當(dāng)前的F參數(shù),選擇運(yùn)動(dòng)軸。若F≥0,則X軸電機(jī)使能;若F<0,則Y軸電機(jī)使能。
(3)進(jìn)給運(yùn)動(dòng)。產(chǎn)生驅(qū)動(dòng)信號(hào)并驅(qū)動(dòng)運(yùn)動(dòng)軸,實(shí)現(xiàn)預(yù)定的圓弧軌跡運(yùn)動(dòng)。
(4)
F參數(shù)計(jì)算。調(diào)用公式(7-11),計(jì)算下一時(shí)刻的F參數(shù)備用。
第1象限順圓弧的輪廓控制與逆圓弧類似,只是控制規(guī)則略有不同,當(dāng)參數(shù)F≥0時(shí),若當(dāng)前運(yùn)動(dòng)點(diǎn)落在指令圓弧外部,Y電機(jī)負(fù)向走一步;反之,當(dāng)參數(shù)F≤0,若當(dāng)前運(yùn)動(dòng)點(diǎn)落在指令圓弧內(nèi)部,X電機(jī)正向走一步。F參數(shù)的遞推公式(7-12)如下:
(7-12)
在上述過(guò)程中,分別介紹了第1象限直線、逆圓弧輪廓的軌跡控制及實(shí)現(xiàn)方法,同時(shí)上述方法中并不包含電機(jī)方向?qū)崿F(xiàn)的方法。使用上述方法實(shí)現(xiàn)四象限直線及圓弧時(shí),需首先根據(jù)運(yùn)動(dòng)指令的類型及起/終點(diǎn)坐標(biāo),確定X、Y軸電機(jī)的方向控制信號(hào);然后,取各坐標(biāo)絕對(duì)值,將其他象限的直線、圓弧輪廓轉(zhuǎn)換為第1象限輪廓軌跡處理,從而得到相應(yīng)的驅(qū)動(dòng)脈沖。該方法的正確性可自行證明,此處不再介紹。
2.器件實(shí)現(xiàn)原理與功能結(jié)構(gòu)
根據(jù)前文所述的輪廓控制原理與過(guò)程,本例中的兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制集成電路采用如圖7.20所示的邏輯功能結(jié)構(gòu)。
圖7.20兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制電路的邏輯功能結(jié)構(gòu)
電機(jī)旋向控制獲取指令起/終點(diǎn)坐標(biāo)信息及工作模式控制字Md,根據(jù)各坐標(biāo)值與模式字計(jì)算并判別X/Y軸的運(yùn)動(dòng)方向,同時(shí)求取各坐標(biāo)值的絕對(duì)值,把四象限直線與圓弧輪廓運(yùn)動(dòng)轉(zhuǎn)換為第1象限的直線或順/逆圓弧軌跡控制;圓弧軌跡控制與直線輪廓控制接收電機(jī)旋向控制求取的坐標(biāo)絕對(duì)值,接受驅(qū)動(dòng)、狀態(tài)及使能控制電路送出的使能控制,實(shí)現(xiàn)指令圓弧或直線輪廓需要的驅(qū)動(dòng)脈沖;驅(qū)動(dòng)、狀態(tài)及使能控制的工作主要有:①根據(jù)工作模式Md與電路使能信號(hào)En求取圓弧/直線軌跡控制電路的使能信號(hào);②計(jì)算指令輪廓所在的象限與當(dāng)前位移;③輸出運(yùn)動(dòng)狀態(tài)與驅(qū)動(dòng)脈沖。
3.器件的進(jìn)程結(jié)構(gòu)
參照?qǐng)D7.20中的兩軸聯(lián)動(dòng)控制器件邏輯功能結(jié)構(gòu),本例利用多進(jìn)程描述結(jié)合結(jié)構(gòu)化描述的方法,來(lái)實(shí)現(xiàn)相應(yīng)的兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制邏輯。結(jié)合前文對(duì)聯(lián)動(dòng)控制各構(gòu)成電路的功能與數(shù)據(jù)處理過(guò)程描述,本例分別設(shè)計(jì)兩軸聯(lián)動(dòng)控制專用器件的并行接口寫(xiě)進(jìn)程、并行接口讀進(jìn)程、電機(jī)旋向控制進(jìn)程、直線軌跡驅(qū)動(dòng)脈沖控制、圓弧輪廓驅(qū)動(dòng)脈沖控制等進(jìn)程,狀態(tài)、使能與I/O控制通過(guò)并行條件賦值語(yǔ)句實(shí)現(xiàn),器件的進(jìn)程輸入/輸出與啟動(dòng)關(guān)系如圖7.21所示。
圖7.21兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制器件的進(jìn)程結(jié)構(gòu)與啟動(dòng)關(guān)系
7.2.2兩軸聯(lián)動(dòng)控制器件的VHDL描述
參照?qǐng)D7.21所示的進(jìn)程結(jié)構(gòu)與啟動(dòng)關(guān)系,在電路描述中分別設(shè)計(jì)實(shí)體DAxis、ArcMt與LnMt實(shí)現(xiàn)預(yù)定的兩軸聯(lián)動(dòng)控制邏輯。其中,實(shí)體ArcMt實(shí)現(xiàn)圓弧輪廓的驅(qū)動(dòng)脈沖控制,實(shí)體LnMt實(shí)現(xiàn)直線軌跡的驅(qū)動(dòng)脈沖控制;實(shí)體DAxis為頂層實(shí)體,用于實(shí)現(xiàn)坐標(biāo)參數(shù)輸入、運(yùn)動(dòng)模式設(shè)定、即時(shí)坐標(biāo)值的獲取、電機(jī)旋向控制、I/O與狀態(tài)控制等功能。同時(shí),頂層實(shí)體DAxis調(diào)用并使能圓弧運(yùn)動(dòng)ArcMt的元件U0與直線運(yùn)動(dòng)LnMt的元件U1,輸出指令要求的圓弧/直線軌跡驅(qū)動(dòng)脈沖。
1.頂層實(shí)體DAxis的VHDL描述
考慮到嵌入式CPU的應(yīng)用現(xiàn)狀、運(yùn)動(dòng)指令參數(shù)等情況,執(zhí)行頂層實(shí)體DAxis的邏輯描述時(shí),將器件并行接口的數(shù)據(jù)總線D設(shè)置為16位雙向數(shù)據(jù)端口,地址A占用3位輸入端口,設(shè)置片選信號(hào)CS,寫(xiě)、讀信號(hào)則分別定義為WR、RD,均為低電平有效。為便于程序描述,程序中所有的端口、變量、信號(hào)定義與器件的結(jié)構(gòu)、功能以及進(jìn)程關(guān)系描述一致,頂層實(shí)體DAxis的VHDL描述程序如下。
例7-2-1兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制電路頂層實(shí)體DAxis的VHDL描述:
根據(jù)前文所述的電路進(jìn)程結(jié)構(gòu),頂層實(shí)體DAxis的描述程序?qū)崿F(xiàn)的進(jìn)程包括并口寫(xiě)進(jìn)程WrProc、讀進(jìn)程RdProc,電機(jī)旋向控制進(jìn)程MtDir以及狀態(tài)、使能與I/O控制Sta&En&IO子電路,器件地址“000”~“101”依次被分配給起/終點(diǎn)坐標(biāo)iXS、iYS、iXE、iYE、當(dāng)前X坐標(biāo)與當(dāng)前Y坐標(biāo)。進(jìn)程WrProc響應(yīng)寫(xiě)信號(hào)WR的上升沿,獲取指令坐標(biāo)數(shù)據(jù)。當(dāng)CS有效且地址A為“000”~“011”時(shí),進(jìn)程分別寫(xiě)入起終點(diǎn)的坐標(biāo),坐標(biāo)取值范圍為?-32?768至32?767,計(jì)量單位為電機(jī)的步當(dāng)量。
實(shí)體DAxis的讀進(jìn)程RdProc響應(yīng)讀信號(hào)RD、地址位A與片選信號(hào)CS,當(dāng)RD、CS有效且地址為“100”時(shí),RdProc送出X坐標(biāo)當(dāng)前值;當(dāng)運(yùn)動(dòng)發(fā)生在第1或第4象限時(shí),X坐標(biāo)取正值,RdProc將寄存器xCurBuf直接送上數(shù)據(jù)總線D;當(dāng)運(yùn)動(dòng)發(fā)生在其他象限時(shí),RdProc將寄存器xCurBuf取反后送上數(shù)據(jù)總線D;當(dāng)RD、CS有效且地址為“101”時(shí),RdProc送出Y坐標(biāo)當(dāng)前值;當(dāng)運(yùn)動(dòng)發(fā)生在第1或第2象限時(shí),Y坐標(biāo)取正值,RdProc將寄存器yCurBuf直接送上數(shù)據(jù)總線D;當(dāng)運(yùn)動(dòng)發(fā)生在其他象限時(shí),RdProc將寄存器yCurBuf取反后送上數(shù)據(jù)總線D。
進(jìn)程MtDir根據(jù)運(yùn)動(dòng)模式Md,比較指令坐標(biāo),判斷X/Y軸電機(jī)的轉(zhuǎn)向。若端口Md變?yōu)榈碗娖?,?zhí)行直線軌跡,此時(shí),如果運(yùn)動(dòng)軸的相應(yīng)終點(diǎn)坐標(biāo)大于零,則電機(jī)逆時(shí)針旋轉(zhuǎn),相應(yīng)方向口拉低;反之,方向口變?yōu)楦唠娖?。若端口Md變?yōu)楦唠娖?,則執(zhí)行圓弧輪廓運(yùn)動(dòng),此時(shí),如果運(yùn)動(dòng)軸的終點(diǎn)坐標(biāo)大于起點(diǎn)坐標(biāo),則電機(jī)逆時(shí)針旋轉(zhuǎn),相應(yīng)方向口變?yōu)榈碗娖?;反之,方向口變?yōu)楦唠娖?。除了上述功能,MtDir還能夠求取各坐標(biāo)值的絕對(duì)值,將所有運(yùn)動(dòng)變換至第1象限處理。
狀態(tài)、使能與I/O控制Sta&En&IO子電路包括從結(jié)構(gòu)體內(nèi)關(guān)鍵字“Begin”開(kāi)始的條件賦值語(yǔ)句以及元件例化語(yǔ)句。Sta&En&IO子電路根據(jù)運(yùn)動(dòng)模式Md與使能信號(hào)En激活圓弧輪廓控制元件U0或直線軌跡控制元件U1,同時(shí)獲取當(dāng)前坐標(biāo)值。此外,Sta&En&IO還計(jì)算運(yùn)動(dòng)所在象限,根據(jù)運(yùn)動(dòng)模式選擇輸出驅(qū)動(dòng)脈沖XP、YP及運(yùn)動(dòng)狀態(tài)Bsy。
2.直線軌跡控制電路LnMt的VHDL描述
電路LnMt接收MtDir求得的指令坐標(biāo)絕對(duì)值,實(shí)現(xiàn)直線運(yùn)動(dòng)軌跡的驅(qū)動(dòng)脈沖。根據(jù)前文所述的電路進(jìn)程結(jié)構(gòu),直線軌跡控制進(jìn)程LnMt-mPGen由底層實(shí)體LnMt實(shí)現(xiàn),電路的描述代碼如下。
例7-2-2直線軌跡控制子電路LnMt的VHDL描述:
在實(shí)體電路LnMt的描述程序中,進(jìn)程mPGen產(chǎn)生X/Y軸的脈沖使能信號(hào)iXEn與iYEn,二者與輪廓控制基準(zhǔn)脈沖執(zhí)行“與”運(yùn)算,獲得最終的電機(jī)驅(qū)動(dòng)脈沖信號(hào)XCk、YCk。執(zhí)行直線運(yùn)動(dòng)時(shí),頂層實(shí)體的狀態(tài)、使能與I/O控制Sta&En&IO子電路根據(jù)運(yùn)動(dòng)模式Md與使能信號(hào)En發(fā)出使能信號(hào)sLnEn,將sLnEn置為高電平,啟動(dòng)LnMt元件U1。
U1元件的進(jìn)程mPGen響應(yīng)輪廓控制基準(zhǔn)脈沖Clk、門(mén)控信號(hào)G與使能信號(hào)AxisEn(即頂層實(shí)體信號(hào)sLnEn),G端變?yōu)榈碗娖綍r(shí),子電路U1執(zhí)行運(yùn)動(dòng)初始化,清零F參數(shù)iFac、使能端iXEn、iYEn、當(dāng)前坐標(biāo)iXCur、iYCur與BSY忙標(biāo)志。當(dāng)Clk下降沿來(lái)臨時(shí),mPGen執(zhí)行終點(diǎn)判別,未到輪廓終點(diǎn)時(shí),進(jìn)程判別F參數(shù),根據(jù)F參數(shù)取值狀況來(lái)使能對(duì)應(yīng)的iXEn與iYEn信號(hào)并執(zhí)行坐標(biāo)運(yùn)算。最后,進(jìn)程mPGen調(diào)用公式(7-9),重新計(jì)算F參數(shù)iFac,等待下一個(gè)輪廓控制時(shí)鐘Clk的下降沿。
循環(huán)重復(fù)上述處理過(guò)程,直至直線輪廓運(yùn)動(dòng)完成。最后,進(jìn)程清除所有相關(guān)標(biāo)志及信號(hào),結(jié)束指令。
3.圓弧輪廓控制電路ArcMt的VHDL描述
圓弧輪廓控制電路ArcMt接收頂層實(shí)體進(jìn)程DMtDir求得的指令起/終點(diǎn)坐標(biāo)的絕對(duì)值,產(chǎn)生圓弧輪廓需要的電機(jī)驅(qū)動(dòng)脈沖。根據(jù)電路的進(jìn)程結(jié)構(gòu)描述,圓弧輪廓控制進(jìn)程LnMt-mPGen通過(guò)底層實(shí)體LnMt實(shí)現(xiàn),電路的VHDL程序描述如下。
例7-2-3圓弧輪廓運(yùn)動(dòng)控制電路實(shí)體ArcMt的VHDL描述:
與直線軌跡控制類似,實(shí)體電路ArcMt利用自身的進(jìn)程mPGen產(chǎn)生X/Y軸的脈沖使能信號(hào)iXEn與iYEn,二者與輪廓控制脈沖Clk執(zhí)行“與”運(yùn)算,獲得驅(qū)動(dòng)信號(hào)XCk與YCk。實(shí)現(xiàn)圓弧輪廓時(shí),頂層實(shí)體DAxis的Sta&En&IO子電路發(fā)出使能信號(hào)sArcEn,啟動(dòng)ArcMt元件U0。
ArcMt元件U0的進(jìn)程mPGen監(jiān)測(cè)輪廓控制脈沖Clk、門(mén)控G與使能信號(hào)AxisEn(即頂層實(shí)體信號(hào)sArcEn),當(dāng)信號(hào)G變?yōu)榈碗娖剑琺PGen執(zhí)行初始化,獲取圓弧起點(diǎn)坐標(biāo)并清零運(yùn)動(dòng)各參數(shù)。當(dāng)G端變?yōu)楦唠娖角褻lk的下降沿來(lái)臨時(shí),mPGen判別輪廓終點(diǎn),若未到終點(diǎn),則進(jìn)程mPGen根據(jù)起終點(diǎn)坐標(biāo)判斷圓弧運(yùn)動(dòng)的順逆方向,根據(jù)F參數(shù)iFac的取值狀況使能相應(yīng)的iXEn與iYEn信號(hào)并執(zhí)行坐標(biāo)運(yùn)算。最后,進(jìn)程mPGen根據(jù)圓弧輪廓運(yùn)動(dòng)的順/逆圓方向,調(diào)用公式(7-12)或公式(7-11),重新計(jì)算F參數(shù)iFac,等待下一個(gè)輪廓控制時(shí)鐘Clk的下降沿。
7.2.3電路實(shí)現(xiàn)
1.項(xiàng)目創(chuàng)建與編譯
采用上節(jié)的VHDL程序描述兩軸聯(lián)動(dòng)控制電路的各個(gè)構(gòu)成進(jìn)程,圖7.22所示為兩軸聯(lián)動(dòng)輪廓控制電路DAxis的實(shí)現(xiàn)項(xiàng)目及編譯結(jié)果。
圖7.22兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制器件的項(xiàng)目實(shí)現(xiàn)及編譯
2.器件、引腳分配
根據(jù)編譯結(jié)果,器件EPM1270T144C3能滿足預(yù)定的兩軸聯(lián)動(dòng)控制功能,同時(shí)其較低的邏輯單元占有率與端口占用率,容許在以后進(jìn)行適當(dāng)修改,以增強(qiáng)系統(tǒng)性能,實(shí)現(xiàn)系統(tǒng)的在線升級(jí)。EPM1270T144C3為3.3
V低功耗器件,封裝面積、速度等級(jí)等較為理想。兼顧后續(xù)制版、布線等操作,本例中的兩軸聯(lián)動(dòng)控制電路引腳分配與器件指定如圖7.23所示。
圖7.23兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制器件的器件選擇與引腳分配
圖中帶陰影的引腳為已分配信號(hào)引腳,按照逆時(shí)針順序,從器件的引腳1到引腳143,端口上已分配的信號(hào)依次為16位雙向數(shù)據(jù)端口D、讀信號(hào)RD、寫(xiě)信號(hào)WR、片選信號(hào)CS、地址信號(hào)A、門(mén)控信號(hào)G、運(yùn)動(dòng)模式Md與使能控制En、輪廓控制基準(zhǔn)時(shí)鐘Clk與Y軸電機(jī)驅(qū)動(dòng)脈沖YP、Y軸電機(jī)方向信號(hào)YD、X軸電機(jī)驅(qū)動(dòng)脈沖XP、X軸電機(jī)方向信號(hào)XD、運(yùn)動(dòng)忙標(biāo)志Bsy。各信號(hào)與實(shí)現(xiàn)器件引腳之間的詳細(xì)對(duì)應(yīng)關(guān)系如表7.2所示。
7.2.4電路測(cè)試及分析
1.功能仿真
圖7.24所示為兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制電路的仿真輸入波形,圖中的仿真柵格設(shè)置為10
ns,仿真總時(shí)長(zhǎng)設(shè)置為8.8?μs。
圖7.24兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制器件的工作過(guò)程仿真輸入
第1、2象限的直線運(yùn)動(dòng)控制時(shí)序模擬如圖7.25所示,圖7.26所示為第3、4象限的直線運(yùn)動(dòng)控制仿真。
圖7.25第1、2象限的直線運(yùn)動(dòng)控制過(guò)程仿真圖7.26第3、4象限的直線運(yùn)動(dòng)控制過(guò)程仿真
圖7.27所示為前述四象限直線軌跡控制得到的仿真軌跡與理想軌跡,圖(a)~(d)對(duì)應(yīng)第1~4象限的運(yùn)動(dòng)。其中,帶箭頭折線為器件實(shí)現(xiàn)的實(shí)際輪廓,無(wú)箭頭實(shí)線為指令的理想軌跡。
圖7.27四象限直線運(yùn)動(dòng)軌跡仿真
圖7.28所示為第1象限的順/逆圓弧輪廓控制過(guò)程仿真。時(shí)間段2.1~2.8
μs為順時(shí)針圓弧輪廓運(yùn)動(dòng)控制,時(shí)間段2.9~3.8
μs為逆時(shí)針圓弧輪廓運(yùn)動(dòng)控制。
圖7.28第1象限的順/逆圓弧輪廓控制過(guò)程仿真
圖7.29所示為第2象限順/逆圓弧輪廓控制過(guò)程仿真,圖7.30所示為在第1、2象限圓弧運(yùn)動(dòng)的實(shí)際軌跡與理想輪廓。
圖7.29第2象限順/逆圓弧輪廓控制過(guò)程仿真圖7.30第1、2象限順/逆圓弧輪廓軌跡仿真
圖7.31所示為第3象限圓弧輪廓的運(yùn)動(dòng)控制過(guò)程仿真,第4象限圓弧輪廓的運(yùn)動(dòng)控制如圖7.32所示。
圖7.31第3象限的順/逆圓弧輪廓控制過(guò)程仿真圖7.32第4象限的順/逆圓弧輪廓控制過(guò)程仿真
在圖7.31所示的第3象限圓弧輪廓控制仿真中,器件獲取順圓端點(diǎn)(-6,-8)與(-10,0),計(jì)算XD、YD得到取值“1”、“0”,之后將輪廓轉(zhuǎn)至第1象限,按第1象限輪廓控制方法實(shí)現(xiàn)軸脈沖;逆圓控制時(shí),器件比較端點(diǎn)(-10,0)、(-6,-8)得到XD、YD取值“0”、“1”,將輪廓轉(zhuǎn)至第1象限,實(shí)現(xiàn)驅(qū)動(dòng)脈沖。
執(zhí)行圖7.32所示的第4象限順圓弧輪廓運(yùn)動(dòng)時(shí),運(yùn)動(dòng)控制器件DAxis首先比較順圓端點(diǎn)(10,0)、(6,-8)坐標(biāo)值,得到X、Y軸電機(jī)方向端口信號(hào)XD、YD的取值“1”、“0”。然后,器件計(jì)算端點(diǎn)各坐標(biāo)的絕對(duì)值,將第4象限輪廓轉(zhuǎn)變?yōu)榈?象限軌跡處理。逆圓輪廓運(yùn)動(dòng)的處理方法與順圓輪廓基本類似,相異之處僅在于方向口XD、YD取值不同。
第3、4象限圓弧輪廓運(yùn)動(dòng)的實(shí)際軌跡如圖7.33所示。圖中帶箭頭直線及實(shí)線圓弧分別為運(yùn)動(dòng)實(shí)際軌跡與理想輪廓,與控制原理預(yù)定的過(guò)程一致。
圖7.33第3、4象限的直線運(yùn)動(dòng)控制過(guò)程仿真
2.時(shí)序分析
圖7.34所示為Quartus時(shí)間分析工具ClassicTimingAnalyzerTool得到的兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制器件時(shí)序分析結(jié)果。圖中的窗口ClassicTimingAnalyzerTool詳細(xì)給出了兩軸運(yùn)動(dòng)控制器件DAxis的輸出延遲時(shí)間tpd、數(shù)據(jù)建立時(shí)間tsu、時(shí)鐘輸出延遲時(shí)間tco與信號(hào)保持時(shí)間th等參數(shù)。
選擇窗口ClassicTimingAnalyzerTool中的按鈕Start,啟動(dòng)電路時(shí)序分析,然后選擇按鈕Report,得到兩軸聯(lián)動(dòng)控制器件的各個(gè)時(shí)間參數(shù)的極端值,如圖中的窗口CompilationReport-TimingAnalyzerSummary所示。
根據(jù)圖7.34所示的時(shí)間分析結(jié)果,兩軸聯(lián)動(dòng)控制器件DAxis的數(shù)據(jù)建立時(shí)間tsu的最大值為12.334
ns,時(shí)鐘輸出延遲tco的最大值為16.858
ns,輸出延遲tpd的最大值為12.152ns,數(shù)據(jù)保持時(shí)間th的最大值為1.713ns,控制時(shí)鐘CLK的最高容許頻率為80.53
MHz。
圖7.34兩軸聯(lián)動(dòng)運(yùn)動(dòng)控制器件時(shí)序分析
7.3高速數(shù)據(jù)采集專用控制電路
7.3.1邏輯功能與分析
1.電路功能與邏輯結(jié)構(gòu)高速數(shù)據(jù)采集及其控制是工業(yè)控制、現(xiàn)代農(nóng)業(yè)、航空航天等領(lǐng)域中高性能系統(tǒng)的常用電路。本節(jié)在高速數(shù)據(jù)采集系統(tǒng)中選用常用的高速模數(shù)轉(zhuǎn)換芯片ADS7816,設(shè)計(jì)專用采集控制集成電路,實(shí)現(xiàn)能自主運(yùn)行的高速數(shù)據(jù)采集電路。
ADS7816是一種12位微功耗的典型模數(shù)轉(zhuǎn)換集成電路,采樣頻率為200
kHz,休眠功耗為3
μW,采樣頻率為200
kHz時(shí)功耗為1.9
mW,采樣頻率為12.5
kHz時(shí)功耗僅為150
μW。器件模擬輸入端?+In與?-In接收差分輸入的模擬量,數(shù)字輸出采用串行接口,串行數(shù)據(jù)接口的信號(hào)CS與DCLOCK端口分別接收片選與串行數(shù)據(jù)的時(shí)鐘輸入,DOUT端口串行輸出AD轉(zhuǎn)換得到的12位數(shù)字量,器件的工作時(shí)序如圖7.35所示。
圖7.35常用高速模數(shù)轉(zhuǎn)換器件ADS7816的工作時(shí)序
ADS7816的數(shù)據(jù)采集與模數(shù)轉(zhuǎn)換通過(guò)片選端CS啟動(dòng)。CS產(chǎn)生下降沿,器件執(zhí)行一次采集轉(zhuǎn)換任務(wù)。經(jīng)過(guò)1.5~2個(gè)數(shù)據(jù)周期TDCLOCK的采樣時(shí)間,器件串行數(shù)據(jù)端DOUT響應(yīng)串行數(shù)據(jù)時(shí)鐘CLK,依次送出起始位以及由高到低的12位轉(zhuǎn)換數(shù)據(jù)D11~D0。然后,如果CS持續(xù)生效,ADS7816的數(shù)據(jù)端DOUT繼續(xù)反序(由低位到高位)送出12位轉(zhuǎn)換數(shù)據(jù)。
本例實(shí)現(xiàn)的自主運(yùn)行高速數(shù)據(jù)采集系統(tǒng)的功能結(jié)構(gòu)如圖7.36所示。其中,虛線框內(nèi)所示的構(gòu)成電路為高速采集控制器件的邏輯結(jié)構(gòu)。
圖7.36高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)及采集控制專用器件的邏輯構(gòu)成
圖中的采集控制專用器件自主產(chǎn)生ADS7816需要的CS、DCLOCK信號(hào),將轉(zhuǎn)換數(shù)據(jù)直接存入器件內(nèi)部的采集數(shù)據(jù)片內(nèi)存儲(chǔ)單元,數(shù)據(jù)采集任務(wù)自主完成,無(wú)需外部干預(yù)。同時(shí),采集控制專用器件提供SPI標(biāo)準(zhǔn)接口,便于外部計(jì)算機(jī)獲取采集到的數(shù)據(jù)序列。
在圖中的專用采集控制器件內(nèi),采集驅(qū)動(dòng)控制電路負(fù)責(zé)發(fā)出AD驅(qū)動(dòng)信號(hào)CS,啟動(dòng)采集轉(zhuǎn)換,并提供符合ADS7816數(shù)據(jù)通信協(xié)議的接口獲取轉(zhuǎn)換數(shù)據(jù);存儲(chǔ)控制將轉(zhuǎn)換數(shù)據(jù)從采集數(shù)據(jù)緩沖送入片內(nèi)采集數(shù)據(jù)存儲(chǔ)單元;SPI收發(fā)控制獲取控制計(jì)算機(jī)發(fā)出的數(shù)據(jù)請(qǐng)求,根據(jù)請(qǐng)求啟動(dòng)存儲(chǔ)控制,將采集數(shù)據(jù)片內(nèi)存儲(chǔ)單元的相應(yīng)數(shù)據(jù)送上SPI總線。
2.實(shí)現(xiàn)原理
參照采集控制專用器件的邏輯結(jié)構(gòu),本例通過(guò)多進(jìn)程,描述邏輯結(jié)構(gòu)中的各個(gè)控制邏輯,各進(jìn)程間的輸入/輸出關(guān)系與啟動(dòng)關(guān)系如圖7.37所示。
圖7.37采集專用控制電路的進(jìn)程結(jié)構(gòu)與啟動(dòng)關(guān)系
7.3.2電路的VHDL描述
根據(jù)上述的器件邏輯功能結(jié)構(gòu)與進(jìn)程關(guān)系,采用VHDL描述采集控制器件。為便于電路描述,在器件的編程實(shí)現(xiàn)時(shí),程序中的所有端口、變量、信號(hào)定義以及進(jìn)程命名、設(shè)計(jì)與圖7.37中的描述一致,電路的VHDL描述程序如下。
例7-3-1
高速數(shù)據(jù)采集專用控制電路的VHDL描述:
描述程序的實(shí)體名稱設(shè)置為AdSys,電路采用標(biāo)準(zhǔn)SPI接口協(xié)議,端口信號(hào)包括MOSI(MasterOutputSlaveInput)、MISO(MasterInputSlaveOutput)、串行數(shù)據(jù)時(shí)鐘Sck與從機(jī)片選端nSS。此外,器件端口還包括ADS7816的數(shù)據(jù)輸入端DOUT、串行數(shù)據(jù)時(shí)鐘Dck、片選端CS,器件的門(mén)控端G、基準(zhǔn)時(shí)鐘
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 多鏈技術(shù)促進(jìn)多元慈善生態(tài)建設(shè)-洞察與解讀
- 數(shù)據(jù)中心能效提升方法-洞察與解讀
- 某化工公司產(chǎn)品檢測(cè)服務(wù)方案
- 5G設(shè)備EMC增強(qiáng)-洞察與解讀
- 情緒調(diào)節(jié)與抑郁復(fù)發(fā)風(fēng)險(xiǎn)-洞察與解讀
- 醫(yī)院物資管理制度和流程
- 簡(jiǎn)約單頁(yè)簡(jiǎn)歷模板
- 四年級(jí)語(yǔ)文老師家長(zhǎng)會(huì)發(fā)言稿
- 六年級(jí)下小升初數(shù)學(xué)畢業(yè)總復(fù)習(xí)必考知識(shí)點(diǎn)
- 《炮獸》課文原文 高中語(yǔ)文選修 外國(guó)小說(shuō)欣賞
- 廣西南寧市2025-2026學(xué)年高一上學(xué)期期末物理試題(原卷版+解析版)
- 2026屆湖北省襄陽(yáng)第四中學(xué)數(shù)學(xué)高一上期末考試模擬試題含解析
- 吉林省長(zhǎng)春市2026屆高三年級(jí)質(zhì)量檢測(cè)政治(一)(長(zhǎng)春一模)(含答案)
- 2026年度駕駛員工作計(jì)劃
- 2026年常州工業(yè)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)含答案詳解
- OEE的課件教學(xué)課件
- 混凝土施工作業(yè)環(huán)境管理方案
- 2025年初會(huì)職稱《經(jīng)濟(jì)法基礎(chǔ)》真題匯編及答案
- 2025年四川省成都市武侯區(qū)中考物理二診試卷
- 光纖線路架設(shè)施工方案
- 2025年監(jiān)理工程師市政公用工程繼續(xù)教育考試題及答案
評(píng)論
0/150
提交評(píng)論