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