摘要:本文首先針對電機控制簡要介紹了Cypress最新推出的PSoC4產(chǎn)品的主要特性和兩相HB型
步進(jìn)電機細(xì)分控制原理。然后分析了當(dāng)前主要的步進(jìn)電機商用解決方案,詳細(xì)闡述了在PSoC4平臺上開發(fā)步進(jìn)電機控制系統(tǒng)的方法,過程和優(yōu)勢,并給出了實用的工程和實驗結(jié)果。
1. 引言
PSoC4為Cypress在2013年推出的可編程片上系統(tǒng)PSoC(Programmable System on Chip)系列的最新產(chǎn)品,采用ARM Cortex-M0作為處理核心。PSoC4完全繼承了PSoC芯片家族本身的高度可編程的靈活性,并融合Cortex M0高性價比的處理器核架構(gòu),使得PSoC4系列產(chǎn)品成為一個具有高度可擴展性的處理器平臺,在性價比、功耗等方面優(yōu)勢顯著。更值得一提的是,PSoC4針對電機控制提供了完整和極具特色的片內(nèi)資源,工程師在PSoC4上開發(fā)電機控制系統(tǒng)時將更加直觀與快捷。
PSoC4產(chǎn)品系列目前推出的是CY8C4100和CY8C4200兩個入門級產(chǎn)品系列。本文即以CY8C4200為例,介紹如何在PSoC4上開發(fā)兩相HB型步進(jìn)電機控制系統(tǒng)。
2. PSoC4架構(gòu)及片內(nèi)資源簡介
PSoC 4 是基于ARM Cortex-M0 CPU(處理器)的可編程嵌入式系統(tǒng)控制器家族,為嵌入式應(yīng)用提供了強大的可編程平臺。它集合了可編程模擬資源、可編程內(nèi)部互聯(lián)、用戶可編程數(shù)字邏輯、通用的固定功能外設(shè)計以及高性能的ARM Cortex-M0 CPU子系統(tǒng)。
PSoC 4系列包括以下特性:
●高性能Cortex-M0 CPU內(nèi)核
●固定功能以及可配置的數(shù)字模塊
●高度可編程的數(shù)字邏輯
●高性能模擬系統(tǒng)
●靈活可編程的內(nèi)部互連
圖1是PSoC4的系統(tǒng)框圖。限于篇幅,本文將主要概括與電機控制相關(guān)的片內(nèi)資源特性,詳細(xì)內(nèi)容可以參考Cypress網(wǎng)站上的PSoC4的數(shù)據(jù)手冊。
●高達(dá)48MHz,43 DMIPS的32位Cortex-M0 CPU,支持單周期乘法
●多達(dá)32 KB Flash及4KB
SRAM內(nèi)存
●四個獨立的可支持中央對齊的TCPWM,支持互補的可編程死區(qū)及同步ADC操作
●兩個低功耗比較器
●兩個電流數(shù)模轉(zhuǎn)換器(IDAC),可以輸出給內(nèi)部模塊,或通過GPIO輸出到外部成為可定制的用戶電流源。
●兩個支持比較器模式及SAR ADC輸入緩沖功能的運算放大器
●四個可編程數(shù)字邏輯模塊(UDB)
圖1: PSoC4芯片系統(tǒng)框圖
PSoC4在開發(fā)環(huán)境方面與PSoC家族的上一代產(chǎn)品保持一致,仍然為PSoC Creator,延續(xù)了將片內(nèi)資源抽象為模塊化Component的開發(fā)方法,控制系統(tǒng)架構(gòu)清晰具體,簡單快捷。用戶可以更多關(guān)注產(chǎn)品的功能開發(fā),而較少的注意芯片的硬件結(jié)構(gòu)細(xì)節(jié)。PSoC Creator的詳細(xì)信息可以在Cypress網(wǎng)站上獲得。
3. 步進(jìn)電機控制原理及主要商用控制方案分析
① 步進(jìn)電機控制原理
兩相HB型步進(jìn)電機是步進(jìn)電機家族中應(yīng)用最為廣泛的一種,具有分辨率高,轉(zhuǎn)矩大和性價比高的優(yōu)點。其缺點是低速時的振動大和高速時的噪音。采用細(xì)分步進(jìn)驅(qū)動是降低振動和噪音的有效手段。
圖2表示兩相HB型步進(jìn)電機的4細(xì)分微步進(jìn)的各相電流基準(zhǔn)波形。各相電流值的峰值相等,相位偏差90°,電機相電流將跟蹤此基準(zhǔn)波形,由于電機實際相電流的連續(xù)性,其平均曲線將變成正弦波。
圖2:4細(xì)分微步進(jìn)的電流基準(zhǔn)波形
② 步進(jìn)電機主要商用控制方案分析
目前市場上比較成熟的步進(jìn)電機控制方案大致有兩種,區(qū)別主要在產(chǎn)生細(xì)分正弦波的方式上,分別為偏硬件和偏軟件的方案。偏硬件的方案由CPLD和DAC產(chǎn)生基準(zhǔn)正弦波,偏軟件的方案由MCU及其內(nèi)部PWM產(chǎn)生基準(zhǔn)正弦波。
1)基于CPLD的偏硬件方案分析
圖3為基于CPLD的偏硬件方案控制框圖,CPLD根據(jù)雙四拍時序控制雙全橋驅(qū)動電路的開通。其內(nèi)部存儲有基準(zhǔn)正弦波的細(xì)分值數(shù)字表,此細(xì)分表有DAC轉(zhuǎn)換成模擬電壓與電機相電流的采樣值進(jìn)行比較后控制雙全橋驅(qū)動電路,可以使電機相電流準(zhǔn)確跟蹤正弦基準(zhǔn)值。
圖3:基于CPLD的偏硬件方案控制框圖
2)基于MCU的偏硬件方案分析
圖4為基于MCU的偏軟件方案控制框圖,MCU對電機兩相電流進(jìn)行實時采樣,進(jìn)行ADC轉(zhuǎn)換后與細(xì)分正弦波的基準(zhǔn)值進(jìn)行比較,根據(jù)比較的結(jié)果決定PWM的開通,從而使電機產(chǎn)生細(xì)分正弦的相電流。
圖4:基于MCU的偏軟件方案控制框圖
綜合上述兩種方案不難看出,CPLD方案可以產(chǎn)生100K以上的pps(pulse per second),但系統(tǒng)所需器件多,成本較高。MCU方案成本有所降低,但由于ADC采樣帶來的相位滯后和閉環(huán)控制算法耗時較長限制了電機的pps,一般在50K以下,如果要繼續(xù)提高,需要采用高檔的MCU或DSP,也會增加成本。
4. 基于PSoC4的步進(jìn)電機控制架構(gòu)及優(yōu)勢
PSoC4片內(nèi)集成有兩個電流數(shù)模轉(zhuǎn)換器 (IDAC),分別為最大7位和8位精度。均取為7為精度,因此可以產(chǎn)生最大為128細(xì)分的階梯狀正弦波。圖5表示由IDAC產(chǎn)生的兩路16細(xì)分基準(zhǔn)正弦波。
圖5:16細(xì)分基準(zhǔn)正弦波
圖6為基于PSoC4的步進(jìn)電機控制架構(gòu)框圖。
圖6:步進(jìn)電機控制框圖
對電機的兩相電流分別進(jìn)行采樣,經(jīng)放大和高頻濾波后與IDAC產(chǎn)生的電流基準(zhǔn)由PSoC4的內(nèi)部比較器 進(jìn)行比較,當(dāng)實際相電流超過基準(zhǔn)值時,將由PSoC4關(guān)閉驅(qū)動電機的PWM輸出一個周期,這樣就可以迫使電機的實際相電流跟蹤IDAC產(chǎn)生的電流基準(zhǔn),實現(xiàn)正弦波細(xì)分驅(qū)動。
對比PSoC4控制架構(gòu)于前述的商用方案可以發(fā)現(xiàn),由于PSoC4內(nèi)部集成了IDAC、可編程的CPLD(UDB)和比較器,因此具備CPLD方案的所有性能與優(yōu)勢,同時其內(nèi)部的高性能Cortex-M0核又使其可以完成MCU的控制功能,并具有其低成本的特點。因此,基于PSoC4的步進(jìn)電機控制方案在性價比上有很大的提高。
5. 基于PSoC4 的步進(jìn)電機控制設(shè)計實例
①控制原理圖設(shè)計
圖7為PSoC Creator環(huán)境下的步進(jìn)電機控制原理圖,虛線框內(nèi)的部分即為依據(jù)圖4構(gòu)建的電機相電流細(xì)分驅(qū)動電路。兩路電流獨立控制,相位相差90。。內(nèi)部低功耗比較器的同向端接電機向電流經(jīng)采樣、放大和濾波后的電壓信號;反向端節(jié)內(nèi)部IDAC輸出的細(xì)分正弦信號。比較器輸出高電平將關(guān)閉TCPWM一個周期,迫使電機相電流跟蹤IDAC的電流基準(zhǔn)波形,實現(xiàn)步進(jìn)電機的細(xì)分驅(qū)動控制。
圖中的定時器用于設(shè)計細(xì)分步長,通過在軟件中修改其周期值可以實時改變電機的轉(zhuǎn)速。圖中的ADC可以讀入模擬的速度輸入信號,作為電機的給定轉(zhuǎn)速。
圖7:步進(jìn)電機控制原理圖
②控制系統(tǒng)軟件設(shè)計
1)主程序設(shè)計
控制主程序首先初始化和配置PSoC4的內(nèi)部資源,在主循環(huán)中檢測用戶的起停命令和速度給定,決定運行或鎖定步進(jìn)電機。圖8為控制主程序的流程圖。
圖8:主程序流程圖
2)中斷函數(shù)設(shè)計
本文的細(xì)分步進(jìn)驅(qū)動算法主要在設(shè)定細(xì)分步長的定時器溢出中斷函數(shù)中完成。中斷函數(shù)處理正弦波1/2周期判斷,繞組驅(qū)動區(qū)間推進(jìn),兩相繞組電流細(xì)分基準(zhǔn)值更新和細(xì)分微步推進(jìn)等。圖9為中斷函數(shù)的流程圖。
圖9: 中斷函數(shù)流程圖
③控制系統(tǒng)實驗結(jié)果
在PSoC Creator環(huán)境編譯步進(jìn)電機控制工程,連接PSoC4開發(fā)板,雙全橋驅(qū)動板與兩相HB型步進(jìn)電機,電機可正常運行。圖8顯示電機運行時的三個關(guān)鍵波形。通道2為相電流實際波形,通道3為相電流經(jīng)采樣放大濾波后的信號波形,通道4為IDAC輸出的相電流基準(zhǔn)波形。
由圖可以看出,電機相電流為平滑的正弦波,且能很好的跟蹤細(xì)分正弦電流基準(zhǔn)。
圖10: 電機運行時的三個關(guān)鍵波形
6. 小結(jié)
本文主要介紹了如何在PSoC4平臺上開發(fā)步進(jìn)電機控制系統(tǒng)。作為PSoC家族的最新成員,PSoC4保留了PSoC系列豐富的片內(nèi)資源和高度的靈活性,而且提供了針對電機控制的富有特色的外設(shè)。本文開發(fā)完成的實例顯示了在PSoC4平臺上開發(fā)步進(jìn)電機控制系統(tǒng)不僅直觀快捷,而且具有優(yōu)越的性能和較低的成本。用戶可以使用PSoC4設(shè)計出優(yōu)秀的步進(jìn)電機控制系統(tǒng)和產(chǎn)品。
參考文獻(xiàn)
[1]. PSoC 4: PSoC 4200 Family Datasheet
[2]. PSoC 4 Architecture TRM
[3]. PSoC 4100/4200 Family PSoC 4 Registers TRM (Technical Reference Manual)
[4]. AN56551 - PSoC 3 Stepper Motor Control with Precision Microstepping
[5]. 坂本正文著. 王自強 譯. 步進(jìn)電機應(yīng)用技術(shù). 北京: 科學(xué)出版社,2010