尤向陽(yáng)
(1.三門峽職業(yè)技術(shù)學(xué)院;2.河南科技大學(xué)應(yīng)用工程學(xué)院,河南三門峽472000)
專用集成PWM芯片雖然能夠用于超聲波電機(jī)的控制,但其無(wú)法滿足實(shí)時(shí)性能要求高的位置控制和需要在線辨識(shí)參數(shù)的精確調(diào)速控制場(chǎng)合[1]。DSP芯片因其實(shí)時(shí)、高速、低功耗和高集成度的特點(diǎn),被廣泛應(yīng)用在電機(jī)控制領(lǐng)域。由于超聲波電機(jī)通常工作在諧振頻率附近,以DSP56F801作為核心控制器的超聲波電機(jī)驅(qū)動(dòng)控制裝置產(chǎn)生的PWM信號(hào)滿足了超聲波電機(jī)諧振頻率,此PWM信號(hào)經(jīng)過(guò)雙推挽驅(qū)動(dòng)電路可驅(qū)動(dòng)超聲波電機(jī)[2]。實(shí)現(xiàn)超聲波電機(jī)閉環(huán)控制時(shí),轉(zhuǎn)速的實(shí)時(shí)檢測(cè)與諧振頻率的在線跟蹤是必須首先解決的兩個(gè)重要問(wèn)題。本文說(shuō)明了基于DSP56F801產(chǎn)生PWM信號(hào)的方法,并在此基礎(chǔ)上對(duì)電機(jī)測(cè)速的算法和頻率自動(dòng)跟蹤的算法進(jìn)行設(shè)計(jì),通過(guò)軟件實(shí)現(xiàn)在線測(cè)速和實(shí)時(shí)頻率跟蹤。
超聲波電機(jī)驅(qū)動(dòng)控制系統(tǒng)采用雙推挽逆變電路,根據(jù)超聲波電機(jī)的驅(qū)動(dòng)電壓波形需求和推挽逆變電路的工作特點(diǎn),要求DSP能夠產(chǎn)生頻率、相位差、占空比均可調(diào)的PWM信號(hào),通過(guò)實(shí)時(shí)正確配置DSP56F801的PWM模塊中各寄存器的值可產(chǎn)生所需PWM信號(hào)[3]。PWM模塊有6個(gè)輸出通道,從PWM0-PWM5,超聲波電機(jī)驅(qū)動(dòng)用到PWM0-PWM3,將其配置為兩對(duì)互補(bǔ)通道對(duì);將PWM4、PWM5屏蔽,即通道占空比為0%。PWM0-PWM3信號(hào)如圖1所示。
圖1 PWM模塊輸出信號(hào)
為了保證推挽式逆變電路正常工作,需要對(duì)PWM模塊的死區(qū)寬度寄存器和標(biāo)志位進(jìn)行設(shè)置,保證生成一組自帶死區(qū)的互補(bǔ)PWM信號(hào)。根據(jù)設(shè)定的死區(qū)時(shí)間DT以及PWM波的周期可以計(jì)算PWM信號(hào)的占空比。死區(qū)時(shí)間DT按公式(1)進(jìn)行設(shè)置。
式中,P為PWM模塊的預(yù)分頻值。PMDEADTM為PWM模塊的死區(qū)控制字。IPBus時(shí)鐘頻率為40MHz。設(shè)P=2,PMDEADTM=200,同時(shí)取PWM周期的50%等于PMDEADTM的值,則輸出頻率為50KHz的PWM信號(hào),才能滿足實(shí)驗(yàn)用USM的諧振頻率要求。模塊中各寄存器正確賦值后,將PWMEN位置1,使PWM發(fā)生器工作,并在每半周期重載中斷程序中載入不同的值,實(shí)現(xiàn)頻率、占空比、相位差的實(shí)時(shí)調(diào)整,實(shí)現(xiàn)超聲波電機(jī)的速度控制。PWM信號(hào)的軟件流程圖如圖2所示。
圖2 PWM信號(hào)軟件流程圖
在主程序中完成對(duì)PWM模塊寄存器的初始化;并賦初值給 Period、Deadtime 、Intercount、Phavalue。
PWM信號(hào)的頻率:
其中IPBUS時(shí)鐘頻率為40MHz;P為預(yù)分頻值,這里P=2;Period表示計(jì)數(shù)模寄存器PWMCM中的值。
PWM信號(hào)的占空比:
其中Deadtime表示死區(qū)控制寄存器PMDEADTM中的值。
超聲波電機(jī)兩相輸入交流電壓間的相位差主要由PWM0和PWM2之間的相位差來(lái)決定,可由下式(4)求得.
當(dāng)重載中斷發(fā)生時(shí),根據(jù)Intercount的值,將不同的值載入,計(jì)數(shù)值寄存器PWMVAL2,Intercount的值為1時(shí)將Phavalue中的值送入計(jì)數(shù)值寄存器PWMVAL2;當(dāng)Intercount為0時(shí),將(Period-Phavalue)中的值送入計(jì)數(shù)值寄存器PWMVAL2。
本文中轉(zhuǎn)速測(cè)量是用DSP中內(nèi)置外圍模塊中的TIMER定時(shí)器在一定的時(shí)間內(nèi)對(duì)光電編碼器輸出的脈沖進(jìn)行計(jì)數(shù),然后進(jìn)行數(shù)據(jù)運(yùn)算得出轉(zhuǎn)速數(shù)據(jù)。DSP56F801內(nèi)設(shè)兩個(gè)定時(shí)器,每個(gè)定時(shí)器內(nèi)部包括4個(gè)16位的計(jì)數(shù)器/定時(shí)器;每個(gè)計(jì)數(shù)器有單獨(dú)的分頻器,并且它們可以級(jí)聯(lián)使用;每個(gè)計(jì)數(shù)器都有捕捉和比較功能。定時(shí)器控制寄存器(TMRCTRL)中的13~15位可設(shè)置計(jì)數(shù)器的工作模式,將此3位設(shè)置為100時(shí),計(jì)數(shù)器工作在相位檢測(cè)模式,即可對(duì)編碼器輸出的A、B相脈沖進(jìn)行4倍頻,并可判斷旋轉(zhuǎn)方向。其計(jì)數(shù)和方向判斷原理圖如圖3所示。狀態(tài)和控制寄存器(SCR)中的Capture Mode可用來(lái)設(shè)置輸入沿的捕捉模式。定時(shí)器D的計(jì)數(shù)器有自己固定的3個(gè)I/O引腳,將碼盤信號(hào)直接連接到這3個(gè)引腳TD0-TD2。
圖3 定時(shí)器相位檢測(cè)模式工作原理
常用的能兼顧高低轉(zhuǎn)速的數(shù)字測(cè)速方法為M/T法[4]。M/T法測(cè)速既記錄測(cè)速時(shí)間內(nèi)碼盤輸出的脈沖數(shù)M1,又檢測(cè)同一時(shí)間間隔內(nèi)高頻時(shí)鐘脈沖數(shù)M2,是一種綜合性能最佳的測(cè)速方法。M/T法測(cè)速原理如圖4所示,它利用光電編碼器輸出的脈沖上升沿啟動(dòng)采樣周期定時(shí)器工作,同時(shí)啟動(dòng)高頻脈沖計(jì)數(shù)器。當(dāng)采樣周期定時(shí)結(jié)束時(shí),重新捕捉光電編碼器上升沿,當(dāng)捕捉到上升沿時(shí)停止高頻脈沖計(jì)數(shù)器。其定時(shí)器的同步和捕獲功能保證了測(cè)速的精度。
采用M/T法測(cè)得電機(jī)轉(zhuǎn)速可表示為式(5)。
式中f0表示高頻時(shí)鐘脈沖頻率,PN表示碼盤光柵數(shù)。
采用M/T法測(cè)速的相對(duì)誤差與轉(zhuǎn)速無(wú)關(guān),表達(dá)式如式(6)所示。
圖4 M/T法測(cè)速原理
采用M/T法實(shí)現(xiàn)電機(jī)測(cè)速的程序流程圖如圖5所示。
為使電機(jī)獲得較高的工作效率,其輸入兩相電壓的頻率應(yīng)位于電機(jī)的固有諧振頻率附近,否則驅(qū)動(dòng)電流將與正壓電效應(yīng)產(chǎn)生的反饋電流發(fā)生向量疊加,進(jìn)而削弱電機(jī)驅(qū)動(dòng)能力[5]。而超聲波電機(jī)隨著運(yùn)行時(shí)間的加長(zhǎng),由于溫升、負(fù)載變化及周圍環(huán)境變化等原因?qū)?dǎo)致電機(jī)的諧振頻率發(fā)生漂移。因此,驅(qū)動(dòng)系統(tǒng)中加入頻率檢測(cè)電路來(lái)檢測(cè)電機(jī)諧振頻率的漂移,并以此調(diào)整電機(jī)的驅(qū)動(dòng)頻率,能實(shí)現(xiàn)頻率跟蹤,保證系統(tǒng)穩(wěn)定運(yùn)行。
由超聲波電機(jī)開環(huán)實(shí)驗(yàn)結(jié)果可知,在電機(jī)諧振頻率附近的區(qū)域內(nèi),檢測(cè)信號(hào)的電壓值峰值比較高,在30V以上;其他區(qū)域電壓值都較低,在25V以下。在諧振頻率附近,電機(jī)輸入端電壓峰值減小,反饋電壓峰值增大。通過(guò)測(cè)試出反饋回來(lái)的電壓可以實(shí)現(xiàn)電機(jī)的頻率跟蹤。
圖5 電機(jī)速度測(cè)試程序流程圖
本文的頻率跟蹤功能利用A/D模塊與PWM模塊聯(lián)合實(shí)現(xiàn)。DSP56F801的ADC包括8個(gè)輸入通道和兩個(gè)獨(dú)立的采樣保持電路,轉(zhuǎn)換精度為12位,轉(zhuǎn)換的最大值是32760。ADC的時(shí)鐘是從總線時(shí)鐘獲得,它和總線時(shí)鐘的關(guān)系是可編程的;轉(zhuǎn)換速度最快為每次同時(shí)掃描需要5.3us;有同時(shí)和順序兩種采樣模式;模數(shù)轉(zhuǎn)換器有2個(gè)獨(dú)立的轉(zhuǎn)換器,8個(gè)輸入通道分為兩組:AN0~AN3,AN4~AN7,每組都有各自獨(dú)立的一個(gè)采樣保持電路,可保持本組內(nèi)一路信號(hào)。VREF參考電壓源經(jīng)電感濾波接到3.3V直流電源。
采用電壓反饋式頻率跟蹤方法,通過(guò)反饋回來(lái)的電壓實(shí)現(xiàn)電機(jī)的頻率跟蹤。通過(guò)對(duì)孤極反饋電壓進(jìn)行采樣,獲得反饋電壓的峰值與設(shè)定值進(jìn)行比較,當(dāng)采樣得到的值小于設(shè)定值時(shí),通過(guò)改變PWM計(jì)數(shù)模寄存器(PWMCM)中的值改變PWM信號(hào)的頻率,從而實(shí)現(xiàn)電機(jī)諧振頻率的自動(dòng)跟蹤。圖6為PWM信號(hào)波形與孤機(jī)反饋電壓波形,電機(jī)工作在諧振狀態(tài)時(shí),反饋電壓的最大值出現(xiàn)在PWM信號(hào)為高電平期間。
圖6 PWM信號(hào)波形與孤機(jī)反饋電壓波形
程序?qū)崿F(xiàn)時(shí),在PWM模塊重載中斷發(fā)生且PWM1信號(hào)在中斷結(jié)束后輸出將為高電平,在此時(shí)的PWM重載中斷程序中觸發(fā)ADC模塊,對(duì)反饋電壓進(jìn)行采樣。設(shè)置AD模塊寄存器時(shí),允許掃描結(jié)束中斷;使ADC模塊工作在最大時(shí)鐘頻率5MHZ,且只允許sample0-sample2,都對(duì)AN0進(jìn)行采樣,采樣連續(xù)進(jìn)行4個(gè)周期,獲得12個(gè)采樣值。當(dāng)掃描結(jié)束時(shí),掃描結(jié)束中斷標(biāo)志位置1,向CPU申請(qǐng)中斷,經(jīng)裁決后,進(jìn)入中斷服務(wù)程序,在程序中取12個(gè)采樣值中的最大值作為反饋電壓的最大值與參考值進(jìn)行比較,若小于參考值,使PWM計(jì)數(shù)模寄存器(PWMCM)加1,使頻率減小一個(gè)頻率單位;若大于參考值,則維持PWMCM中的值不變,保持原驅(qū)動(dòng)頻率不變。
頻率跟蹤的程序流程圖如圖7所示。在主程序中定義全局變量Adsam、Sample[3]、Feedback、refervalue;其中Adsam代表掃描中斷次數(shù);Sample[3]表示3次采樣值;Feedback表示12次采樣得到的最大值;refervalue表示設(shè)定的參考值(諧振時(shí)反饋電壓的最大值)。
圖7 諧振頻率自動(dòng)跟蹤程序流程圖
基于DSP56F801說(shuō)明了超聲波電機(jī)驅(qū)動(dòng)控制系統(tǒng)PWM信號(hào)產(chǎn)生方法。在此基礎(chǔ)上設(shè)計(jì)了電機(jī)測(cè)速的算法和頻率自動(dòng)跟蹤的算法并通過(guò)軟件實(shí)現(xiàn)在線測(cè)速和實(shí)時(shí)頻率跟蹤。該自動(dòng)測(cè)速和頻率跟蹤算法實(shí)現(xiàn)簡(jiǎn)單,計(jì)算量小,運(yùn)行效率高。在此基礎(chǔ)上,下一步可結(jié)合各種控制策略對(duì)超聲波電機(jī)進(jìn)行閉環(huán)控制研究,來(lái)實(shí)現(xiàn)對(duì)超聲波電機(jī)運(yùn)行的高效實(shí)時(shí)控制。
安陽(yáng)工學(xué)院學(xué)報(bào)2019年2期