周 峰, 李智華, 顧 全
(上海大學(xué)機(jī)電工程與自動化學(xué)院,上海 200072)
步進(jìn)電機(jī)是將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蛑本€位移的開環(huán)執(zhí)行驅(qū)動機(jī)構(gòu),在不超載的情況下,步進(jìn)電機(jī)的轉(zhuǎn)速及停止位置僅取決于給定脈沖信號的頻率和個數(shù),其被廣泛運(yùn)用于CNC、咖啡機(jī)、數(shù)字探頭、自動儀表、打印機(jī)、機(jī)器人等方面。在大多數(shù)情況下,步進(jìn)電機(jī)都要進(jìn)行細(xì)分控制,以便提高控制精度和控制穩(wěn)定性。簡便、高效、可靠的控制技術(shù)決定了步進(jìn)電機(jī)的應(yīng)用前景和效果。
Cypress公司在2009推出了基于8051和ARM Cortex-M3內(nèi)核的 PSoC3和 PSoC5,并同步發(fā)布了專門用于PSoC3/5的集成開發(fā)環(huán)境——PSoC Creator。PSoC內(nèi)置微處理器和數(shù)字模擬外設(shè),是具有真正混合信號處理能力的可編程片上系統(tǒng)。片內(nèi)內(nèi)置定時器、PWM、AD、放大器、濾波器等可編程數(shù)字、模擬系統(tǒng),可靈活配置用戶所需的各種模塊,為步進(jìn)電機(jī)的控制提供了一個強(qiáng)有力的平臺。
單極性指步進(jìn)電機(jī)線圈中電流的流動方向是固定的,即線圈中的電流只按一個方向流動。兩相步進(jìn)電機(jī)的單極性驅(qū)動電路使用4個晶體管來驅(qū)動步進(jìn)電機(jī)的2組相位,電路結(jié)構(gòu)如圖1所示。
圖1 單極驅(qū)動電路圖
雙極性則是指步進(jìn)電機(jī)線圈中電流的流動方向不是單向的,即繞組電流有時沿某一方向流動,有時按相反方向流動。兩相步進(jìn)電機(jī)的雙極性驅(qū)動電路如圖2所示,它使用8個晶體管來驅(qū)動2組相位。
圖2 雙極驅(qū)動電路圖
從性能上看,兩種驅(qū)動電路在相同電壓UDD的驅(qū)動下,單極性驅(qū)動電路的輸出力矩比雙極性驅(qū)動電路要小。單極性驅(qū)動電路每次都借助中間抽頭,導(dǎo)通繞組線圈的一半,而雙極性驅(qū)動電路的繞組線圈每次都有電流通過,在相同電壓UDD的驅(qū)動下其驅(qū)動電流IDD相當(dāng),但是單極性驅(qū)動電路產(chǎn)生的磁場集中在某個導(dǎo)通的線圈附近,而雙極性驅(qū)動電路則在整個電機(jī)內(nèi)產(chǎn)生了一個相對均勻的磁場,其穩(wěn)定性要優(yōu)于單極性驅(qū)動電路,輸出力矩也較大。故本次設(shè)計采用雙極驅(qū)動模式。
根據(jù)用戶和測試的需要,該步進(jìn)電機(jī)控制器具備以下功能:
(1)細(xì)分微步數(shù)可調(diào),最大可達(dá)256步細(xì)分;
(2)步進(jìn)電機(jī)運(yùn)行轉(zhuǎn)速可調(diào);
(3)帶負(fù)載電流大小可調(diào);
(4)電機(jī)轉(zhuǎn)動方向可調(diào);
(5)靜止時有節(jié)能保護(hù),線圈電流減半;
(6)過流保護(hù);
(7)溫度保護(hù)。
2.2.1 PSoC 硬件功能的實現(xiàn)
本設(shè)計選用CY8C3866AXI芯片來控制一個兩相四步電機(jī)。首先對PSoC進(jìn)行設(shè)置,運(yùn)用cypress公司自己開發(fā)的PSoC Creator軟件來搭建硬件電路。PSoC Creator將一個軟件開發(fā)IDE與一個圖形設(shè)計編輯器結(jié)合在一起,構(gòu)成一個獨(dú)特的強(qiáng)有力的軟硬件同步設(shè)計環(huán)境。它提供了存有幾十個預(yù)先配置過的模擬和數(shù)字外設(shè)庫,可以方便地拖放進(jìn)電路圖設(shè)計界面并組成強(qiáng)大的系統(tǒng)。該工具還可以自動為所有片上信號分配管腳。構(gòu)建過程會為每一個元件產(chǎn)生一個一致的、容易記住的API系列,這樣軟件開發(fā)者即可控制硬件,而無需為基本執(zhí)行指令操心。該系統(tǒng)中選用了多個內(nèi)部數(shù)模模塊,如:用于實現(xiàn)該設(shè)計的2個可編程增益放大器(PGA),2個比較器(CMP),2個PWM,2個8位電壓數(shù)模轉(zhuǎn)化器(VDAC),2個中斷器,2個clock,一個LCD顯示模塊,一個電容觸摸感應(yīng)模塊(CapSense),一個UART通信接口,2個控制存儲器(Control Reg和Control Start),一個8位計數(shù)器(timer)。各器件的功能見表1。
表1 PSoC內(nèi)部配置功能表
硬件流程:PGA將采樣電阻上得到的采樣電流進(jìn)行放大,然后與當(dāng)前數(shù)模轉(zhuǎn)化器輸出的模擬值進(jìn)行比較,一旦后者小于前者,PWM的kiss端生效,PWM停止工作直到后者大于或等于前者。當(dāng)PWM管正常工作時,輸出的脈沖信號結(jié)合Control Reg表示的象限信息通過LUT1真值表來控制8個MOS管的輪流導(dǎo)通,實現(xiàn)步進(jìn)電機(jī)在某種微步下的運(yùn)轉(zhuǎn)。
2.2.2 PSoC 軟件功能的實現(xiàn)
在PSoC設(shè)計中,本文采用C語言編寫所有程序。一般的數(shù)字和模擬模塊的API程序,當(dāng)選擇了這個模塊后就會自動在PSoC Creator中生成,設(shè)計中主要是對 main,stepper,useinterface函數(shù)進(jìn)行編寫。軟件流程圖見圖3。
圖3 控制軟件流程圖
(1)main函數(shù)包含了各種模塊的初始化、參數(shù)初始值的設(shè)定,以及通過Capsense觸摸盤來控制微步數(shù)、電機(jī)運(yùn)行方向、轉(zhuǎn)速、負(fù)載電流大小。
(2)Stepper函數(shù)規(guī)劃了一個運(yùn)行周期內(nèi)步進(jìn)電機(jī)運(yùn)行的算法,其中包括了一個正弦表的寫入。程序利用讀取正弦表的指針來識別當(dāng)前電機(jī)的運(yùn)行位置并判斷其處于哪一象限,并在這一象限內(nèi)進(jìn)行指針的傳遞,當(dāng)換相指令來了以后就到下一個象限進(jìn)行循環(huán)。如圖4所示。
圖4 A、B相導(dǎo)通原理圖
(3)Useinterface的功能是通過Capsense的輸入信號來控制LCD上的顯示,其設(shè)計等同于一個狀態(tài)機(jī),給用戶一個清晰方便的界面。
結(jié)合雙極驅(qū)動模式以及在PCoS上設(shè)置的控制方法,利用Cypress公司的CY27x43板搭建了實際的測試平臺,由此來進(jìn)行性能測試。
細(xì)分通過調(diào)節(jié)變化正弦表中指針的Sm.MicroStepPace來實現(xiàn),當(dāng)一個時鐘周期內(nèi)指針走了128個Sm.MicroStepPace,則細(xì)分就是半步,當(dāng)一個時鐘周期內(nèi)指針走了256個 Sm.MicroStep-Pace,就等于沒有細(xì)分,于是有
Pace=256/Sm.MicroStepPace在此基礎(chǔ)上分別用示波器抓取Half Step、4 Microsteps、32 Microsteps下某一MOS管腳上的電壓波形,如圖5~圖7所示。
圖5 Half Step下管腳電壓
圖6 4 MicroSteps下管腳電壓
圖7 32 MicroSteps下管腳電腳
從圖5~圖7可看出:本設(shè)計不僅可以實現(xiàn)細(xì)分?jǐn)?shù)的調(diào)節(jié),而且MOS管腳輸出電壓波形正確、穩(wěn)定,充分體現(xiàn)了在PSoC3基礎(chǔ)下設(shè)計的控制器的高性能、低復(fù)雜度。
步進(jìn)電機(jī)每個周期的運(yùn)行都將在正弦表中進(jìn)行,因此只需要改變這個正弦表的周期(speedFrq值)就能改變電機(jī)的運(yùn)轉(zhuǎn)速度。另外,因為PWM脈沖的周期是恒定不變的,故在改變微步數(shù)值時也能改變轉(zhuǎn)速,因為微步數(shù)少了意味著一個周期內(nèi)只要更少的脈沖數(shù)就可以走完,如表2所示。
表2 轉(zhuǎn)速計測量的結(jié)果
電機(jī)的運(yùn)行是被分在四個象限內(nèi)進(jìn)行的,當(dāng)正弦信號過零點或者到達(dá)幅值時,標(biāo)志位就會發(fā)出換相的信號進(jìn)行換相,正向運(yùn)行時是從第一象限→第二象限→第三象限→第四象限→第一象限運(yùn)轉(zhuǎn)的,當(dāng)要反向運(yùn)行時就必須是第四象限→第三象限→第二象限→第一象限→第四象限運(yùn)轉(zhuǎn),測試中用Capsense觸摸板來改變Control Reg控制器的輸出,試驗證明電機(jī)進(jìn)行了反轉(zhuǎn),并且轉(zhuǎn)速和細(xì)分微步數(shù)沒有變化。
本文介紹了一款步進(jìn)電機(jī)控制器的設(shè)計。該設(shè)計基于功能強(qiáng)大的PSoC3單片機(jī),應(yīng)用PSoC Creator進(jìn)行片內(nèi)設(shè)計,外圍電路簡單可靠,設(shè)計過程簡便。設(shè)計的步進(jìn)電機(jī)具有微步數(shù)可調(diào)(從256步到整步),轉(zhuǎn)速可調(diào),電機(jī)轉(zhuǎn)動方向可調(diào)等多種可控功能,并且在樣機(jī)測試中輸出了穩(wěn)定的電壓波形,可見設(shè)計的樣機(jī)是一個高性能的步進(jìn)電機(jī)控制器。
[1]劉寶廷.步進(jìn)電動機(jī)及其驅(qū)動控制系統(tǒng)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997.
[2]Cypress MicroSystems.PSoC mixed signal array preliminary data sheet for silicon revision A[G].2003.
[3]焦振宇.賽普拉斯PSoC及其開發(fā)應(yīng)用[J].微處理機(jī),2004(5):62-64.
[4]董陽澤,蔣山山,薛德賢.PSoC在電機(jī)控制器中的應(yīng)用研究[J].微計算機(jī)信息,2006(8):117-119.