基于PSoC的二相混合式步進(jìn)電機細(xì)分驅(qū)動器
引言
本文引用地址:http://cafeforensic.com/article/178042.htm電機是現(xiàn)代工業(yè)的“肌肉”,推動著工業(yè)的發(fā)展。步進(jìn)電機是電機家族的“嬰兒”,在20世紀(jì)60年代早期才開始流行。它能將電脈沖信號轉(zhuǎn)換為角位移、直線位移等諸多優(yōu)點,被構(gòu)想作為昂貴的位置控制應(yīng)用中伺服電機的低成本替代產(chǎn)品,在航空航天、精密機械加工、自動化控制和辦公室自動化設(shè)備等領(lǐng)域大量使用,如云臺、打印機、繪圖儀和雕刻機等。
一般的步進(jìn)電機因為受限于機械加工工藝,其步距角不能做到很?。ㄈ绗F(xiàn)在相數(shù)高的5相步進(jìn)電機步距角為0.72)還達(dá)不到對位移精度要求高的精密控制系統(tǒng)的要求,如精密儀器定位、數(shù)控加工等場合。另外,使用傳統(tǒng)的驅(qū)動方法,步進(jìn)電機還存在低速運行時振動,會產(chǎn)生共振和噪聲的固有特性。
采用細(xì)分驅(qū)動不僅能有效解決這些問題,改善步進(jìn)電機的運行性能,還提高了分辨率,增加了電機的輸出力矩。1975年美國學(xué)者T.R.Fredriksen首次在美國增量運動控制系統(tǒng)及器件年會上提出了步進(jìn)電機步距角細(xì)分的控制方法后,在國內(nèi)外被廣泛研究,成為步進(jìn)電機驅(qū)動的發(fā)展趨勢。一些高性能的細(xì)分驅(qū)動器在國外被研究出來,但技術(shù)極為保密。國內(nèi)外對步進(jìn)電機細(xì)分驅(qū)動研究的文獻(xiàn)很多,主要對細(xì)分?jǐn)?shù)、均勻步距、恒定轉(zhuǎn)矩、低噪音、低振動、抗干擾、細(xì)分驅(qū)動器的硬件實現(xiàn)等方面進(jìn)行研究。
文章下面部分對步進(jìn)電機的工作原理及細(xì)分驅(qū)動進(jìn)行原理詳細(xì)介紹,提出一種用PSoC設(shè)計的細(xì)分驅(qū)動器,并總結(jié)了相對于其它一些設(shè)計方案的特點。
步進(jìn)電機工作原理及細(xì)分驅(qū)動
圖1是某兩型步進(jìn)電機的內(nèi)部與外形結(jié)構(gòu),從圖中可以大致看出其組成結(jié)構(gòu)。圖2是三相混合式步進(jìn)電機的結(jié)構(gòu)示意圖,定子繞組磁極和轉(zhuǎn)子上都有小齒,一般分別是5個和50個,當(dāng)某一相繞組通電時,轉(zhuǎn)子上的小齒就會與相應(yīng)繞組上的小齒對齊,與另外兩繞組上的小齒錯開一定的角度。
圖2 三相混合式步進(jìn)電機結(jié)構(gòu)示意圖
由此可得出如下一些結(jié)論:①控制步進(jìn)電機各相定子繞組的通電順序可以控制步進(jìn)電機的轉(zhuǎn)動方向;②控制輸入給步進(jìn)電機的脈沖數(shù)目N可以控制步進(jìn)電機的角位移為;③控制輸入給步進(jìn)電機的脈沖的頻率可以控制步進(jìn)電機的轉(zhuǎn)速為:
(轉(zhuǎn)/分鐘)
其實,仔細(xì)分析三種通電方式,應(yīng)該不難發(fā)現(xiàn)蘊含于其中的細(xì)分原理。以單雙相輪流通電A→AB為例,如果在這個階段,我們使B相繞組中的電流慢慢增加到與A相繞組中電流相同,那么與A相繞組對齊的轉(zhuǎn)子就會慢慢轉(zhuǎn)到A與B相繞中間;再假設(shè)我們使B相繞組中的電流以定量大小增加,即一種階梯上升的電流,那么轉(zhuǎn)子就會以比0.6更小的步距角一步一步轉(zhuǎn)動,這樣的就實現(xiàn)了步距角的細(xì)分。
但這是一種只改變某一相繞組中電流大小的細(xì)分方法,以二相步進(jìn)電機為例,其A、B兩相繞組中的電流合成矢量理論上是如圖3左所示的形式;其相鄰兩次電流矢量的大小與夾角都不同,這直接導(dǎo)致步距角與輸出力矩的大小不均勻。而現(xiàn)在所用的細(xì)分方法,一般是如圖3右所示的均勻恒幅電流矢量法;要實現(xiàn)電流矢量的這種變化,需A、B兩相中的電流同時改變,且滿足iA=iH.cos(a),iB=iH.sin(a)。
圖3 單相細(xì)分電流矢量和均勻恒幅電流矢量
下面分析一下兩相步進(jìn)電機中每相繞組中的電流,圖4、5、6分別是整步(單相輪流通電)、半步和四細(xì)分運行時繞組中電流波形示意圖。分析可知,細(xì)分原理就是通過精確控制相電流來產(chǎn)生均勻旋轉(zhuǎn)的磁場,即把原來每相電流的矩形波變?yōu)殡A梯波,原來走一步只給一個矩形波,現(xiàn)在把一個步距角分為N步來走,給N個階梯的階梯波,N就是細(xì)分?jǐn)?shù)。細(xì)分?jǐn)?shù)越大,相電流相鄰兩次的變化就越小,步距角就越小,為原來固有步距角的1/N,電機運行性能更好。還可得出另外兩點結(jié)論:①進(jìn)給繞組的細(xì)分電流的階梯數(shù)量m控制電機轉(zhuǎn)動的角位移為;②細(xì)分電流大小變化的頻率控制電機的轉(zhuǎn)速。
細(xì)分驅(qū)動的實現(xiàn)主要靠D/A數(shù)模轉(zhuǎn)換器來精確控制每小步的相電流,用8位的D/A最大能實現(xiàn)256級細(xì)分,位數(shù)越多,細(xì)分?jǐn)?shù)越大。要用D/A輸出的正弦規(guī)律變化的電流或電壓信號來控制相電流,根據(jù)末級功放管的工作狀態(tài)可以分為放大型和開關(guān)型兩種。一般步進(jìn)電機的工作電壓是幾伏到四十幾伏,工作電流是幾百毫安到幾安,從而不能用D/A的輸出直接驅(qū)動。
放大型驅(qū)動電路就是讓功放管工作在放大狀態(tài)來放大D/A的輸出,可以進(jìn)行電壓放大也可以進(jìn)行電流放大,但用放大后的正弦規(guī)律變化的電壓加在繞組上,會由于繞組電感的作用而不會產(chǎn)生正弦規(guī)律變化的電流,所以一般應(yīng)進(jìn)行電流放大。這種驅(qū)動方式,電路較簡單,只要選擇精度高一點的電子元件,電流的控制精度也較高;但由于功放管工作在放大狀態(tài),功耗較大、發(fā)熱較嚴(yán)重,所以一般用在驅(qū)動電流較小、控制精度較高、散熱環(huán)境較好的場合。
開關(guān)型驅(qū)動電路就是讓功放管工作在開關(guān)狀態(tài),從而其功耗和發(fā)熱都會降低;但電路較復(fù)雜,輸出的電流會像如圖7所示有一定的波紋;因此一般用于驅(qū)動力矩較大的電機。隨著大力矩輸出的步進(jìn)電機的發(fā)展,這種電路很常見,并且許多日本公司還生產(chǎn)了這種電路的步進(jìn)電機細(xì)分驅(qū)動芯片,如TA8435、A3955SB、THB8128等。
要實現(xiàn)開關(guān)型電路,常用的有兩種方法:斬波式和脈寬調(diào)制式(PWM)。斬波式電路典型結(jié)構(gòu)如圖8所示,其原理是用采樣電阻對電機繞組中的電流進(jìn)行采樣,使之與D/A輸出的細(xì)分電壓進(jìn)行比較,若采樣值大于D/A輸出,則功放管截止,反之功放管導(dǎo)通。這樣D/A輸出正弦規(guī)律變化的階梯型控制電壓,繞組中就流過階梯型的電流,這也是電流會有波紋的原因。這種電路應(yīng)該選用開關(guān)性能比較好的功放管和比較器。
圖4 整步運行相電流 圖5 半步運行相電流 圖6 四細(xì)分運行時相電流
圖7 有紋波的細(xì)分相電流
圖8 斬波式電路原理圖
另一種脈寬調(diào)制方式電路原理如圖9所示,其原理是用最大幅值相同的D/A輸出的正弦規(guī)律變化的電壓與恒幅三角波(也可為鋸齒波)進(jìn)行比較,D/A輸出的電壓越大,脈寬調(diào)制電路輸出的PWM脈沖的寬度也越大,而脈沖間的間隔則越??;反之則PWM脈沖的寬度也越小,而脈沖間的間隔則越大。圖10很好的說明了這種比較過程及輸出結(jié)果。這種方式調(diào)制出的PWM波,其脈沖寬度時間占空比是按正弦規(guī)律變化的,用它來控制功放管的通斷將產(chǎn)生比斬波式精度更高正弦變化的階梯型細(xì)分電流。這種方式是通過對功放管通斷時間的控制來改變輸出到繞組上的平均電流,這是因為繞組的電感特性對電流變化有阻礙作用,并且要求所用三角波的頻率一般應(yīng)大于20kHz。其實這種方法不一定要用真正的D/A與三角波發(fā)生器,完全可以用軟件的方法實現(xiàn),只要輸出的PWM波的占空比按正弦規(guī)律變化。
由于本文的設(shè)計方案是SPWM細(xì)分驅(qū)動,所以總結(jié)出以下幾點結(jié)論:①三角波的頻率決定PWM的頻率,而PWM的頻率決定了細(xì)分電流的紋波大小;②D/A輸出值的大小決定PWM的脈寬,而PWM的脈寬和頻率共同決定了細(xì)分電流的大?。虎跠/A的位數(shù)n決定細(xì)分?jǐn)?shù)為2n ,細(xì)分后電機的最小步距角為固有步距角θ/2n-1,SPWM的占空比的值即有2n種,并且其取值是按正弦規(guī)律變化及每個階梯電流對應(yīng)一種占空比;④D/A輸出值大小變化的頻率決定電機轉(zhuǎn)速,并應(yīng)遠(yuǎn)小于三角波的頻率,在電機啟動時不能超過其啟動頻率,在電機連續(xù)運行時不能超過其最高工作頻率;⑤三角波的頻率不能大于功率管的截止頻率,選擇開關(guān)性能越好的功率管,三角波的頻率可以越大,細(xì)分電流的紋波就越小。
當(dāng)然,除了上面介紹的幾種常用方法,還有其它的方法,比如PID控制等。總之,目標(biāo)就是精確控制繞組中流過正弦變化的階梯型波。
另外,有文獻(xiàn)指出由于步進(jìn)電機制造工藝引起的誤差和相電流由小變到大引起的相電流及其產(chǎn)生的勵磁存在非線性而導(dǎo)致的誤差等,會使細(xì)分后的步距角并不是完全均勻的;為了進(jìn)一步提高步距角,需要對正弦規(guī)律的D/A值進(jìn)行修正,即修正每小步的相電流值。當(dāng)然,對于細(xì)分后能達(dá)到精度允許的誤差的應(yīng)用場合完全可以不必耗費過多的資源來進(jìn)行這種修正了。
通過以上對步進(jìn)電機及其細(xì)分驅(qū)動的分析,讀者應(yīng)該對其有了充分的認(rèn)識,下一節(jié)將對本文設(shè)計的基于PSoC的二相混合式步進(jìn)電機細(xì)分驅(qū)動器進(jìn)行介紹。
基于PSoC的二相混合式步進(jìn)電機細(xì)分驅(qū)動器
隨著細(xì)分驅(qū)動技術(shù)的發(fā)展,步進(jìn)電機的相數(shù)“多”和固有的步距角“小”已經(jīng)沒有多大意義。對細(xì)分驅(qū)動器而言,相數(shù)多了反而增加了其復(fù)雜性,因為要輸出的細(xì)分相電流多了;且由于混合式步進(jìn)電機的優(yōu)勢,現(xiàn)在很多產(chǎn)商也是以生產(chǎn)這種電機為主,二相混合式步進(jìn)電機將成為主流,所以本文針對其設(shè)計了一種基于PSoC的并使用上述脈寬調(diào)制方法實現(xiàn)的細(xì)分驅(qū)動器。
賽普拉斯公司生產(chǎn)的CY8C系列PSoC可編程的片上系統(tǒng),集成了M8C內(nèi)核微控制器以及用戶可配置的嵌入式系統(tǒng)中通常圍繞微控制器周圍的模擬及數(shù)字模塊,模塊可配置成放大器、ADC、DAC、濾波器及比較器等模擬功能以及定時器、計數(shù)器、PWM、SPI和UART等數(shù)字功能。
由于本驅(qū)動器是為二自由度的云臺設(shè)計,需要同時控制二個步進(jìn)電機轉(zhuǎn)動,每個同時要兩路PWM控制,而每個PWM需占用一個數(shù)字模塊,因此選擇有8個可配置數(shù)字模塊的CY8C27443-24PXI型號28引腳封裝的芯片,其有3個8位的可復(fù)用可配置的I/O口P0、P1、P2。其功能模塊組成如圖11所示。
圖9 脈寬調(diào)制式原理圖
圖10 脈寬調(diào)制原理及輸出
圖11 CY8C27443-24PXI功能組成模塊
本文通過賽普拉斯公司提供的配套開發(fā)軟件PSoC Designer進(jìn)行開發(fā)(其使用方法請查看相關(guān)資料),為芯片配置4個8位PWM模塊、1個8位定時器、1個8位A/D(占1個模擬和1個數(shù)字模塊)、1個UART串口(占兩個數(shù)字模塊)和1個PGA可編程增益放大器,如圖12所示,圖中左邊為輸入引腳,右邊為輸出引腳,上半部分8個矩形即為8個可配置的數(shù)字模塊,依次被A/D、定時器、UART串口和4個PWM模塊占用,下半部分12個矩形即是可配置的模擬模塊,被PGA和A/D各占用一個。
其中,UART串口用來連接上位機,使上位機程序能發(fā)送命令控制電機的轉(zhuǎn)動(包括啟動、停止、方向和速度)和細(xì)分?jǐn)?shù)等,下位機可向上發(fā)送一些狀態(tài)信息等。每個PWM模塊輸出通過內(nèi)部總線連到P1口的兩個引腳上,即每個PWM模塊從兩個引腳上輸出相同的波形,但是可以通過引腳的可配置功能使其中一個引腳輸出高或低電平,可以實現(xiàn)模塊的分時復(fù)用;因為后文選用集成雙H橋芯片L298n作為末級功放,其每個橋的兩個輸入口同一時刻只有一個為高電平才導(dǎo)通,因此只用一個PWM模塊就能控制它,引腳連接如表1所示。定時器模塊用來產(chǎn)生中斷源以編寫分時處理結(jié)構(gòu)的程序。A/D模塊的輸入連接PGA輸出,PGA的輸入可以通過MUX模塊連接4個不同的引腳(P01、P03、P05、P07),從而一個A/D模塊就能分時通過4個引腳輸入來實現(xiàn)采樣4組不同的反饋相電流,以此可實現(xiàn)如過流保護(hù)等閉環(huán)控制功能。這些模塊都可以通過在程序中調(diào)用其提供的API函數(shù)實現(xiàn)參數(shù)和功能的設(shè)置,如要實現(xiàn)PWM模塊輸出的PWM波的脈寬和周期(頻率)設(shè)置,可分別調(diào)用函數(shù):
void PWM8_WritePulseWidth(BYTE bPulseWidth);
void PWM8_WritePeriod(BYTE bPeriod).
當(dāng)然,要使其正常工作還需要用其它函數(shù),這種調(diào)用API函數(shù)進(jìn)行編程的方法,使得開發(fā)相對于用其它芯片的設(shè)計方案更簡單。
細(xì)分驅(qū)動器的末級功放使用兩片集成的雙H橋路芯片L298n。該芯片的開關(guān)頻率最高可達(dá)40kHz,最高工作電壓可達(dá)46V,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A,其使用方法請參考芯片手冊。整個驅(qū)動器的原理圖如圖13所示。圖中選用42BYGH4417混合式2相4線步進(jìn)電機,其相電流為1.7A,因此4個采樣電阻選擇0.02Ω、1W、2512封裝的精密電阻,采樣電壓分別通過P01、P03、P05和P07被A/D模塊分時讀取;正常情況下,每相繞組的采樣電壓最大值為0.034V,經(jīng)過PGA模塊放大48倍后約為1.63V,給片內(nèi)以2.5V作為參考電壓、分辨率約為0.02V的8位A/D進(jìn)行轉(zhuǎn)換。
圖12 PSoC內(nèi)部模塊配置
表1 PWM模塊與I/O口及L298n連接對應(yīng)表
圖13 細(xì)分驅(qū)動器原理圖
驅(qū)動器設(shè)計的最大細(xì)分?jǐn)?shù)為128,當(dāng)頻率固定時,則決定細(xì)分電流大小的SPWM波的占空比即有128種。這128個脈寬值從小到大排列與四分之一個正弦波的128級量化后的值成比例關(guān)系,這樣只需要知道任意一個細(xì)分電流值(細(xì)分電流值=m×最大相電流/128,0≤m≤128)的大小對應(yīng)的脈寬值,就可計算出所有的脈寬值,這個值需要通過實驗得到,并且不同的電機由于相電阻等參數(shù)的不同所得到的這個脈寬值也不同。編程時把這128個脈寬值放在代碼段,調(diào)用API函數(shù)設(shè)置PWM波脈寬時使用時用查表方式進(jìn)行查找。對這128個值進(jìn)行2的倍數(shù)值等距采樣使用,就能實現(xiàn)64、32、16、8、4、2和1等細(xì)分,從而很容易實現(xiàn)“電機快速轉(zhuǎn)動時使用低細(xì)分,慢速時使用高細(xì)分”的控制策略。四個PWM模塊,每兩個的脈寬值是同時變化的,PWM1與PWM2同時(控制圖2-3中上面的那個L298n),另兩個同時,并且一個是從小到大變化,另一個是從大到小變化,從而實現(xiàn)電機的正轉(zhuǎn)和反轉(zhuǎn);脈寬值變化的越快,電機轉(zhuǎn)動越快,不變時電機處于自鎖狀態(tài)。
經(jīng)實驗證明,本文所設(shè)計的細(xì)分驅(qū)動器在電機快速和慢速轉(zhuǎn)動時都能很穩(wěn)定地工作,電機輸出力矩和步距角均勻、運行平穩(wěn),充分發(fā)揮了步進(jìn)電機的功能。
總結(jié)
本文首先詳細(xì)分析了步進(jìn)電機的工作和細(xì)分驅(qū)動原理,最后選擇理論上比較好的SPWM細(xì)分驅(qū)動方法,使用PSoC結(jié)合L298n實現(xiàn)了最高128細(xì)分的、能同時驅(qū)動兩個步進(jìn)電機的細(xì)分驅(qū)動器。
本文的細(xì)分驅(qū)動器設(shè)計方案很好地解決了使用其它方案時遇到的電路復(fù)雜和編程困難等問題,成本也比其它方案低很多,所用電子元件很少、功耗低、體積小,非常適合用于對體積和重量要求嚴(yán)格的場合,如無人機等。
pid控制相關(guān)文章:pid控制原理
pwm相關(guān)文章:pwm是什么
伺服電機相關(guān)文章:伺服電機工作原理
評論