STM32上SVPWM輸出的實(shí)現(xiàn)方案
摘要:在STM32F103VET6上實(shí)現(xiàn)了SVPWM輸出。介紹了SVPWM的優(yōu)點(diǎn)及原理。結(jié)合STM32F103VET6上的硬件資源,給出了SVPWM在高級(jí)定時(shí)器上實(shí)現(xiàn)的方式和三相橋式驅(qū)動(dòng)電路的設(shè)計(jì)。分析了該方案所占用的CPU資源。實(shí)驗(yàn)結(jié)果表明,該設(shè)計(jì)方案可行,能夠?qū)崿F(xiàn)SVPWM輸出。
關(guān)鍵詞:SVPWM;STM32;定時(shí)器;三相橋式驅(qū)動(dòng)
引言
SVPWM與SPWM相比,是一種比較新穎的控制方法,能夠使輸出電流波形盡可能接近于理想的正弦波形,使直流母線電壓的利用率有了很大提高。SVPWM主要應(yīng)用在變頻器領(lǐng)域,控制過(guò)程中需要對(duì)坐標(biāo)進(jìn)行變換及計(jì)算輸出時(shí)間,所以整個(gè)過(guò)程有一定的計(jì)算量,使得51單片機(jī)力不從心。人們只能采用價(jià)格昂貴、內(nèi)部資源偏少的DSP作為控制芯片。隨著STM32系列芯片的出現(xiàn),其豐富的片內(nèi)資源、較高的處理能力、極低的價(jià)格,使其得到開發(fā)人員的青睞。
1 SVPWM原理
在傳統(tǒng)的三相橋式驅(qū)動(dòng)電路中,MOS管的開關(guān)狀態(tài)一共有8種組合。如果將這幾種開關(guān)方式加到三個(gè)相差120°的繞組上,則會(huì)產(chǎn)生8個(gè)電壓矢量。這8個(gè)電壓矢量被稱為基本空間電壓矢量,如圖1所示。為了能夠得到一個(gè)圓形旋轉(zhuǎn)磁場(chǎng),SVPWM可以通過(guò)控制8個(gè)基本空間電壓矢量的作用時(shí)間,來(lái)合成每個(gè)扇區(qū)內(nèi)的任意電壓矢量。
2 系統(tǒng)設(shè)計(jì)方案
2.1 控制芯片
采用STMicroelectronics公司的STM32F103VET6作為其控制芯片,其內(nèi)核為ARM公司Cortex—M3,最高時(shí)鐘頻率可達(dá)72 MHz,包括512K片內(nèi)FLASH、64K片內(nèi)RAM、ADC、SPI、CAN、FSMC等豐富的內(nèi)部資源。STM32F103VET6內(nèi)部包含8個(gè)定時(shí)器,其中有2個(gè)高級(jí)定時(shí)器,所有的定時(shí)器都包含一個(gè)16位自動(dòng)裝載寄存器。高級(jí)定時(shí)器支持嵌入死區(qū)時(shí)間的互補(bǔ)PWM,而且支持剎車信號(hào)的輸入,所以非常適合應(yīng)用在變頻器、電機(jī)控制器等場(chǎng)合。
2.2 定時(shí)器工作模式
根據(jù)SVPWM的快速算法可以得到各個(gè)基本空間電壓矢量的作用時(shí)間和輸出順序。知道輸出順序后,就可以確定高級(jí)定時(shí)器的工作模式。由于SVPWM的輸出波形是很對(duì)稱的,所以選用TIM1的中央對(duì)齊模式:
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_CenterAlignedl;
此模式下,計(jì)數(shù)器從0開始計(jì)數(shù)到自動(dòng)加載值減1,同時(shí)產(chǎn)生一個(gè)計(jì)數(shù)器溢出事件。然后向下計(jì)數(shù)到1,并且產(chǎn)生一個(gè)計(jì)數(shù)器下溢事件,再?gòu)?開始重新計(jì)數(shù)。
2.3 定時(shí)器計(jì)數(shù)周期
為了提高定時(shí)器的分辨率,直接將72 MHz作為定時(shí)器的計(jì)數(shù)時(shí)鐘,沒有任何預(yù)分頻。假設(shè)SVPWM的調(diào)制頻率為frq,則可以計(jì)算時(shí)間基的計(jì)數(shù)值tpwm:
TIM_CLOCK是定時(shí)器的計(jì)數(shù)頻率,本系統(tǒng)為72 MHz。如果調(diào)制頻率設(shè)為20 kHz,則計(jì)數(shù)器的值則為3 600。
51單片機(jī)相關(guān)文章:51單片機(jī)教程
上拉電阻相關(guān)文章:上拉電阻原理 矢量控制相關(guān)文章:矢量控制原理
評(píng)論