基于定時(shí)器和鎖相環(huán)的伺服系統(tǒng)分頻輸出方法應(yīng)用研究
引言
運(yùn)動(dòng)控制系統(tǒng)為了監(jiān)視或控制機(jī)構(gòu)的運(yùn)行狀態(tài),常需驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)的伺服驅(qū)動(dòng)器將電機(jī)編碼器位置信息分頻后,以正交脈沖的形式實(shí)時(shí)反饋給上位控制系統(tǒng)。對(duì)于脈沖型伺服驅(qū)動(dòng)器,這是常用的方法:對(duì)于總線型伺服驅(qū)動(dòng)器,雖然可以通過(guò)總線接口向上位控制系統(tǒng)反饋位置信息,但應(yīng)用中也存在不足之處:一方面,要求上位控制系統(tǒng)總線接口必須與伺服驅(qū)動(dòng)器總線接口相同或者兼容,另一方面,總線通信周期相對(duì)伺服控制周期來(lái)說(shuō)較長(zhǎng),且存在較大通信抖動(dòng),對(duì)于全閉環(huán)控制難以獲得理想的性能,所以仍然需要將編碼器數(shù)值分頻后通過(guò)正交脈沖接口實(shí)時(shí)反饋到上位控制器。
分頻輸出采用的硬件平臺(tái),一般基于CPLD或FPGA來(lái)實(shí)現(xiàn),這就需要在伺服系統(tǒng)中增加額外的邏輯單元,會(huì)增加成本和系統(tǒng)復(fù)雜度。
本文方法,硬件上采用MCU芯片自帶的兩個(gè)定時(shí)器外設(shè)單元:一個(gè)定時(shí)器利用PwM功能,生成一對(duì)頻率可變、占空比為50%的正交脈沖信號(hào):然后將分頻輸出的正交脈沖信號(hào)連接到第二個(gè)定時(shí)器的編碼器接口,對(duì)輸出信號(hào)進(jìn)行測(cè)量,形成反饋:將分頻輸出脈沖指令信號(hào)與反饋信號(hào)比較后,利用鎖相環(huán)跟隨指令信號(hào),形成對(duì)分頻輸出的自動(dòng)控制。
本設(shè)計(jì)充分利用微處理器豐富的定時(shí)器外設(shè),控制上采用鎖相環(huán)跟隨編碼器輸入信號(hào),在不使用可編程器件的情況下,實(shí)現(xiàn)低成本的35~32767范圍內(nèi)任意整數(shù)分頻輸出,經(jīng)仿真和實(shí)驗(yàn)驗(yàn)證可達(dá)到設(shè)計(jì)要求。
1分頻輸出正交脈沖的方案設(shè)計(jì)及實(shí)現(xiàn)
1.1設(shè)計(jì)原理
伺服電機(jī)位置反饋采用多摩川17位Rs485總線式絕對(duì)式編碼器,單圈分辨率為131072。分頻輸出正交脈沖分辨率為35~32767。系統(tǒng)設(shè)計(jì)框圖如圖1所示。
編碼器實(shí)時(shí)角度9e與反饋的正交脈沖角度9q'比較后形成角度差A(yù)o,經(jīng)比例放大疊加編碼器速度后形成速度信號(hào)oe。oe經(jīng)頻率計(jì)算后得到正交脈沖頻率oq,然后通過(guò)正交脈沖發(fā)生器產(chǎn)生占空比為50%的脈沖信號(hào)。
此信號(hào)經(jīng)正交脈沖檢測(cè)器檢測(cè)積分后形成正交脈沖的角度值θq,再經(jīng)角度計(jì)算后,形成正交脈沖反饋角度θq'。
當(dāng)編碼器角度θe與正交脈沖角度θq'同相位,那么角度差A(yù)9為0,正交脈沖輸出頻率正比于編碼器速度:當(dāng)電機(jī)加速時(shí),編碼器角度θe超前正交脈沖角度θq',相位差A(yù)9增加,導(dǎo)致oe增加,正交脈沖頻率oq增加,最終使得反饋角度θq'相位增加,這樣相位差A(yù)9將會(huì)減小:當(dāng)電機(jī)減速時(shí),編碼器角度θe滯后正交脈沖角度θq',相位差A(yù)9減小,導(dǎo)致oe減小,正交脈沖頻率oq減小,最終使得反饋角度θq'相位減小,這樣相位差A(yù)9將會(huì)增加。整個(gè)調(diào)節(jié)過(guò)程為反饋控制方式[4],無(wú)論電機(jī)處于何種運(yùn)行狀態(tài),系統(tǒng)總能將相位偏差降低,且積分環(huán)節(jié)可使穩(wěn)態(tài)偏差消除,使分頻輸出角度始終跟隨編碼器角度。
1.2正交脈沖發(fā)生器
正交脈沖由工作于非對(duì)稱PwM模式的定時(shí)器產(chǎn)生,其由正交的A、B兩相脈沖和表示零位的Z相信號(hào)組成,且三個(gè)信號(hào)之間有一定的相位要求和占空比要求[5]。定時(shí)器在該模式下生成的兩個(gè)中心對(duì)稱PwM信號(hào)間允許存在可編程相移。當(dāng)定時(shí)器向上計(jì)數(shù)時(shí),若定時(shí)器值小于比較寄存器值CCR1,則輸出高電平:反之,輸出低電平。當(dāng)定時(shí)器向下計(jì)數(shù)時(shí),若定時(shí)器值大于比較寄存器值CCR2,則輸出低電平:反之,輸出高電平。正交脈沖輸出過(guò)程如圖2所示。
脈沖頻率/p由計(jì)數(shù)器的重載寄存器ARR和定時(shí)器的16位預(yù)分頻器PsC確定,如式(1)所示:
式中:/ck一in為定時(shí)器輸入時(shí)鐘。
由圖2可知,綜合調(diào)節(jié)比較器CCR1~CCR4的值,即可改變兩路PwM脈沖的占空比和相位。脈沖A與脈沖B要求占空比為50%、相位差90o,可固定脈沖A與定時(shí)器三角波中心對(duì)稱,只調(diào)節(jié)脈沖B的相位。各比較寄存器
值計(jì)算如下:
1.3正交脈沖檢測(cè)及Z信號(hào)生成
1.3.1正交脈沖的檢測(cè)
將輸出的正交脈沖信號(hào)A與B分別連接到第二個(gè)定時(shí)器TIM2的編碼接口TI1、TI2,并配置為編碼器接口模式。此時(shí),它相當(dāng)于帶有方向選擇的外部時(shí)鐘,在兩路信號(hào)的每個(gè)邊沿進(jìn)行計(jì)數(shù)。當(dāng)A相超前B相時(shí)遞增計(jì)數(shù),B相超前A相時(shí)遞減計(jì)數(shù),因此其計(jì)數(shù)值始終表示正交脈沖的位置信息,計(jì)數(shù)方向?qū)?yīng)于旋轉(zhuǎn)方向。工作過(guò)程如圖3所示。
圖3正交脈沖檢測(cè)
1.3.2產(chǎn)生零位脈沖Z信號(hào)
Z信號(hào)與A相、B相脈沖有一定時(shí)序和精度要求,且Z信號(hào)的正脈寬要求為90o。為達(dá)到此要求,采用定時(shí)器TIM2的輸出比較功能輸出脈沖寬度為1個(gè)時(shí)鐘寬度的信號(hào)作為Z信號(hào)。首先,將TIM2重載寄存器TIM2ARR設(shè)置為分頻脈沖的分辨率Ro,如此,當(dāng)向上計(jì)數(shù)達(dá)到該值時(shí),定時(shí)器將從0開始重新計(jì)數(shù),并產(chǎn)生更新事件。其次,打開定時(shí)器TIM2溢出中斷,當(dāng)中斷發(fā)生時(shí),強(qiáng)制輸出Z信號(hào)為低電平。最后,在向上計(jì)數(shù)時(shí)設(shè)置比較寄存器值為1,向下計(jì)數(shù)時(shí)設(shè)置比較計(jì)數(shù)器值為Ro-1,當(dāng)比較匹配時(shí),Z信號(hào)設(shè)置為自動(dòng)翻轉(zhuǎn)。
1.4鎖相環(huán)
鎖相環(huán)的作用是穩(wěn)定分頻輸出的角度,即正交脈沖的個(gè)數(shù),實(shí)時(shí)跟蹤電機(jī)編碼器角度值。鎖相環(huán)結(jié)構(gòu)圖如圖4所示,由負(fù)反饋調(diào)整回路實(shí)現(xiàn)。
鎖相環(huán)角度輸出如下:
式中:speede為編碼器速度:Rq為分頻輸出脈沖分辨率:9e為編碼器角度:oq為正交脈沖頻率:億p11為鎖相環(huán)比例環(huán)節(jié)增益。其中,角度9e和9q以標(biāo)幺值計(jì)算,用數(shù)字0~1表示09~3609:speede單位為Hz,1Hz表示旋轉(zhuǎn)速度為12/r。
比例環(huán)節(jié)增益億p11應(yīng)盡量大,以提高系統(tǒng)的動(dòng)態(tài)響應(yīng),有利于快速跟隨輸入信號(hào):但同時(shí)也要足夠小,以減少輸出頻率抖動(dòng)引發(fā)的干擾。其值可通過(guò)仿真和調(diào)試進(jìn)行合理選取。
2分頻輸出脈沖自動(dòng)控制仿真與實(shí)驗(yàn)驗(yàn)證
2.1控制系統(tǒng)的Simulink仿真
系統(tǒng)stim1tun模型如圖5所示。正交脈沖發(fā)生器模塊0EРPeue2gat2是利用stim1tun基本模塊單元搭建的,用于模擬oMU定時(shí)器外設(shè)產(chǎn)生正交Рwo:正交脈沖檢測(cè)模塊0EРdeaecat2用于模擬oMU定時(shí)器編碼器接口進(jìn)行正交脈沖計(jì)數(shù):其他比例、積分模塊采用標(biāo)準(zhǔn)的stim1tun模塊實(shí)現(xiàn)。
通過(guò)調(diào)節(jié)億p11值觀察模型的階躍響應(yīng),以初步找出億p11的合適范圍,為實(shí)驗(yàn)驗(yàn)證提供較為準(zhǔn)確的值,階躍響應(yīng)如圖6所示。系統(tǒng)采樣頻率10nHz,仿真時(shí)長(zhǎng)0.1r,在0.01r編碼器速度由02/itu變化至6002/itu,角度誤差經(jīng)過(guò)0.02r收斂至穩(wěn)定值。經(jīng)仿真比較,隨著增益億p11增大,收斂逐漸加快:當(dāng)億p11大于0.4時(shí),會(huì)出現(xiàn)超調(diào)且能夠收斂:當(dāng)億p11等于1.0時(shí),系統(tǒng)出現(xiàn)震蕩且無(wú)法收斂。為減少系統(tǒng)震蕩,將系統(tǒng)調(diào)節(jié)為過(guò)阻尼狀態(tài)。根據(jù)調(diào)參仿真,億p11以不大于0.4為好。
圖6系統(tǒng)階躍響應(yīng)圖
2.2實(shí)驗(yàn)驗(yàn)證
2.2.1實(shí)驗(yàn)平臺(tái)與實(shí)驗(yàn)方法
采用四橫電機(jī)sH660系列220V/400w交流伺服驅(qū)動(dòng)器作為實(shí)驗(yàn)平臺(tái)(圖7)來(lái)驗(yàn)證本文所提分頻輸出方法。伺服電機(jī)安裝17位多圈絕對(duì)式編碼器,額定轉(zhuǎn)速3000r/min,設(shè)置分頻輸出4倍頻后分辨率為10000。分頻正交脈沖由MicsigsTo1104C示波器采樣,脈沖計(jì)數(shù)由J-scope采樣并顯示。實(shí)驗(yàn)操作使用四橫電機(jī)公司的伺服系統(tǒng)調(diào)試軟件shMotion,利用調(diào)試軟件位置點(diǎn)動(dòng)功能,設(shè)定點(diǎn)動(dòng)脈沖數(shù)位20000,單圈脈沖數(shù)10000,最高速度設(shè)定為600r/min。調(diào)試軟件啟動(dòng)位置點(diǎn)動(dòng)功能后,伺服電機(jī)以設(shè)定速度先反向運(yùn)轉(zhuǎn)720°再正向運(yùn)轉(zhuǎn)720°,用示波器和J-scope同時(shí)采集分頻輸出脈沖,對(duì)設(shè)計(jì)方法進(jìn)行驗(yàn)證。
圖7實(shí)驗(yàn)平臺(tái)
2.2.2正交脈沖相位驗(yàn)證
正向旋轉(zhuǎn)波形如圖8所示,可以看出,正交脈沖A相超前B相90°,頻率為25kHz。修改點(diǎn)動(dòng)脈沖數(shù)位-20000,反向旋轉(zhuǎn)波形如圖9所示,可以看出反向運(yùn)轉(zhuǎn)時(shí)B相超前A相90°,頻率為25kHz。根據(jù)實(shí)驗(yàn)結(jié)果,分頻輸出信號(hào)特征符合產(chǎn)品要求。
圖8正向旋轉(zhuǎn)
圖9反向旋轉(zhuǎn)
2.2.3分頻輸出脈沖位置跟隨性驗(yàn)證
J-scope采集位置跟隨波形如圖10所示,在反向旋轉(zhuǎn)時(shí),分頻輸出脈沖信號(hào)跟隨編碼器脈沖以下降鋸齒波的形式在0~10000之間變化。
圖l0位置跟隨波形
在完成反向運(yùn)動(dòng)20000個(gè)脈沖后,電機(jī)減速停止到初始位置,開始正向運(yùn)動(dòng)。正向運(yùn)動(dòng)時(shí),分頻輸出脈沖跟隨編碼器脈沖以上升鋸齒波的形式在0~10000之間變化,完成正向運(yùn)動(dòng)20000個(gè)脈沖??梢钥闯?分頻輸出角度能夠較好地跟隨編碼器角度。
3結(jié)語(yǔ)
綜上所述,本文介紹了一種基于定時(shí)器和鎖相環(huán)實(shí)現(xiàn)伺服系統(tǒng)可變整數(shù)分頻輸出的方法,使用微控制器兩個(gè)定時(shí)器外設(shè),控制方法上采用比例積分環(huán)節(jié)構(gòu)成鎖相環(huán),無(wú)須CPLD或FPGA器件,在伺服系統(tǒng)原有的MCU上就可實(shí)現(xiàn),具有明顯的成本優(yōu)勢(shì)。通過(guò)仿真和實(shí)驗(yàn),在伺服系統(tǒng)5000r/min速度范圍內(nèi),該方法可實(shí)現(xiàn)產(chǎn)品要求的35~32767任意整數(shù)分頻。該方法在低速范圍內(nèi)還可提供倍頻輸出,但囿于定時(shí)器PwM的輸出頻率,高速倍頻會(huì)受到限制。