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