前言
本章節(jié)采用恒壓頻比的開(kāi)環(huán)控制方法驅(qū)動(dòng)永磁同步電機(jī)的轉(zhuǎn)動(dòng),首先分析恒壓頻比的控制原理,然后在Matlab/Simulink中進(jìn)行永磁同步電機(jī)恒壓頻比開(kāi)環(huán)控制系統(tǒng)的仿真分析,最后將Simulink中的恒壓頻比控制算法生成代碼加載到實(shí)際工程中進(jìn)行工程實(shí)現(xiàn)。
一、 恒壓頻比(V/F)控制原理
永磁同步電機(jī)恒壓頻比控制方法與異步電機(jī)恒壓頻比控制方法相似,也是控制電機(jī)輸入電壓與頻率同時(shí)變化,從而使氣隙磁通保持恒定。該控制方法沒(méi)有電機(jī)電流、電壓、位置等物理量的反饋,動(dòng)態(tài)性能較差,在給定目標(biāo)轉(zhuǎn)速發(fā)生變化或者負(fù)載突變的情況下容易產(chǎn)生失步和震蕩的問(wèn)題,但該控制方法勝在簡(jiǎn)單,多適用于對(duì)轉(zhuǎn)速精度要求不高的場(chǎng)合。
永磁同步電機(jī)恒壓頻比開(kāi)環(huán)控制系統(tǒng)Matlab/Simulink仿真框圖如下:
二、永磁同步電機(jī)恒壓頻比開(kāi)環(huán)控制系統(tǒng)Matlab/Simulink仿真分析
2.1.仿真電路分析
2.1.1.恒壓頻比控制算法
恒壓頻比控制算法:永磁同步電機(jī)轉(zhuǎn)速與頻率的換算關(guān)系如下所示:
首先,將設(shè)定的電機(jī)目標(biāo)轉(zhuǎn)速通過(guò)上式換算為頻率,由于該開(kāi)環(huán)控制系統(tǒng)沒(méi)有自動(dòng)限制啟動(dòng)電流的作用,因此加入了一個(gè)斜坡函數(shù)使頻率有一個(gè)平緩的變化過(guò)程。例如仿真中設(shè)定的目標(biāo)轉(zhuǎn)速為1200r/min,換算為頻率的過(guò)程如下圖所示:
然后,由恒壓頻比V/F控制算法特性(下圖所示),使輸入電壓與頻率同步變化,從而保持氣隙磁通恒定。低頻時(shí)Us和Eg都較小,定子電阻和漏感壓降所占分量比較顯著,不能再忽略,此時(shí)人為的把定子電壓抬高一些,近似的補(bǔ)償定子阻抗壓降,如下圖b線(xiàn)所示:
由上圖可知輸入電壓與頻率的關(guān)系為(帶低頻補(bǔ)償?shù)腷線(xiàn),已知(0,U0)(f1N,UsN)):
將頻率通過(guò)上式換算為電壓,由電機(jī)的額定轉(zhuǎn)速計(jì)算出額定頻率f1N(永磁同步電機(jī)轉(zhuǎn)速與頻率的關(guān)系)。永磁同步電機(jī)的恒壓頻比控制為基頻以下調(diào)速,系統(tǒng)最高頻率不能超過(guò)額定頻率f1N,例如仿真中所選永磁同步電機(jī)的額定轉(zhuǎn)速為12540r/min,計(jì)算出額定頻率f1N為1463Hz,為系統(tǒng)最高設(shè)定頻率。
目標(biāo)轉(zhuǎn)速設(shè)置為1200r/min,將轉(zhuǎn)速換算為頻率,再由頻率的變化得到輸入電壓的變化,如下圖所示:
此處作了一個(gè)歸一化處理,將電壓的變化除以電機(jī)額定電壓,使輸出電壓的范圍落在[0,1]區(qū)間內(nèi)。
將頻率轉(zhuǎn)換為角速度,再對(duì)角速度求積分獲得當(dāng)前的角度,如下圖所示:
此時(shí)已獲得輸入電壓的幅值Um與相角wt,再通過(guò)下式將幅值與相角的電壓表示轉(zhuǎn)化為兩相αβ坐標(biāo)系下的電壓表示:
αβ坐標(biāo)系下的電壓表示為:
接著采用反Clark變換,得到最終輸入到電機(jī)的三相電壓:
2.1.2.輸出處理
對(duì)恒壓頻比控制算法的輸出電壓做處理,使其落在[0,1]的范圍內(nèi):
2.1.3.主電路
主電路包括逆變電路與永磁同步電機(jī),逆變電路如下圖所示,采用Average-Value Inverter模塊直接生成三相正弦電壓,下圖為目標(biāo)轉(zhuǎn)速1200r/min下輸入到電機(jī)的電壓波形。
永磁同步電機(jī)采用BR2804-1700電機(jī)(電機(jī)的參數(shù)用ST Motor Proflier測(cè)得),參數(shù)如下:
2.2.仿真結(jié)果分析
2.2.1.設(shè)定目標(biāo)轉(zhuǎn)速為1200r/min
目標(biāo)轉(zhuǎn)速與實(shí)際轉(zhuǎn)速的波形曲線(xiàn):
穩(wěn)態(tài)時(shí),目標(biāo)轉(zhuǎn)速與實(shí)際轉(zhuǎn)速的誤差:
穩(wěn)態(tài)時(shí),電機(jī)定子電流:
電機(jī)轉(zhuǎn)子位置:
dq坐標(biāo)系下的定子電流值:
電磁轉(zhuǎn)矩:
2.2.1.設(shè)定目標(biāo)轉(zhuǎn)速為變化值
目標(biāo)轉(zhuǎn)速:
目標(biāo)轉(zhuǎn)速與實(shí)際轉(zhuǎn)速:
從圖中可以看出電機(jī)加減速有一段斜坡時(shí)間,電機(jī)加減速的快慢由恒壓頻比控制算法中由轉(zhuǎn)速換算為頻率時(shí)所設(shè)置的斜坡函數(shù)斜率有關(guān)。
三、永磁同步電機(jī)恒壓頻比開(kāi)環(huán)控制系統(tǒng)代碼生成及工程實(shí)現(xiàn)
3.1.功能需求
實(shí)現(xiàn)永磁同步電機(jī)的恒壓頻比控制,可通過(guò)按鍵調(diào)節(jié)永磁同步電機(jī)的轉(zhuǎn)速。
3.2.硬件設(shè)計(jì)
控制板:STM32F302R8
驅(qū)動(dòng)板:X-NUCLEO-IHM07M1
永磁同步電機(jī):BR2804-1700
3.3.軟件設(shè)計(jì)
3.3.1.STM32CubeMX底層配置
1、RCC設(shè)置外接HSE(Crystal/Ceramic Resonator),時(shí)鐘設(shè)置為72MHz
2、PC10、PC11、PC12設(shè)置為推挽輸出、無(wú)上下拉電阻、高速,初始化狀態(tài)設(shè)為0; PB13設(shè)置為推挽輸出,下拉電阻、高速,初始化狀態(tài)為0; PC13設(shè)置為輸入,無(wú)上下拉電阻。
3、設(shè)置TIM1時(shí)鐘源為內(nèi)部時(shí)鐘,TIM1_CH1(PA8)設(shè)置為PWM輸出,TIM1_CH2(PA9)設(shè)置為PWM輸出,TIM1_CH3(PA10)設(shè)置為PWM輸出;TIM1預(yù)分頻值設(shè)置為3-1,計(jì)數(shù)模式選為中央計(jì)數(shù)模式1,ARR設(shè)計(jì)為1200-1(1/(1/(72000000/3))*1200=20KHz),內(nèi)部時(shí)鐘無(wú)分頻;使能TIM1更新中斷,中斷優(yōu)先級(jí)設(shè)置為(1,0)
4、USART2設(shè)置為異步,115200波特率,8位數(shù)據(jù)位,無(wú)奇偶校驗(yàn)位,1位停止位
5、Project Manager->工程名+IDE配置,Code Generator配置,生成工程代碼
3.3.2.應(yīng)用層與底層的接口開(kāi)發(fā)
Speed_Ref用于設(shè)定目標(biāo)轉(zhuǎn)速;Duty[3]用于接收恒壓頻比控制算法生成的三相電壓,該三相電壓作為調(diào)制波,TIM1計(jì)數(shù)器(中央計(jì)數(shù)模式)作為載波,頻率20KHz與Simulink仿真設(shè)計(jì)一致。調(diào)制波與載波進(jìn)行調(diào)制生成PWM,控制三相逆變電路的驅(qū)動(dòng)輸出,此處采用SPWM控制方法進(jìn)行控制;Vmin用于設(shè)定恒壓頻比控制算法中的補(bǔ)償電壓值U0。
3.3.3.Matlab/Simulink恒壓頻比控制算法代碼生成
3.3.4.應(yīng)用層與底層的代碼集成
在主函數(shù)中調(diào)用:PMSM_VF_initialize()初始化函數(shù)。
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
/* USER CODE BEGIN 1 */
uint8_t count=0;
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_TIM1_Init();
MX_USART2_UART_Init();
/* USER CODE BEGIN 2 */
PMSM_VF_initialize(); //Simulink初始化函數(shù)
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
if(Key_Scany(KEY_GPIO_Port,KEY_Pin)==1)
{
HAL_GPIO_WritePin(GPIOC, EN1_Pin|EN2_Pin|EN3_Pin, GPIO_PIN_SET); //使能三相橋臂
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1); //使能三路PWM
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
__HAL_TIM_ENABLE_IT(&htim1,TIM_IT_UPDATE); //使能TIM1更新中斷
__HAL_TIM_CLEAR_FLAG(&htim1,TIM_IT_UPDATE);
Speed_Ref+=500;
if(Speed_Ref>=12000)
Speed_Ref=12000;
}
HAL_Delay(1);
count++;
if(count%50==0)
{
count=0;
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); //程序運(yùn)行指示燈
}
}
/* USER CODE END 3 */
}
在TIM1更新中斷函數(shù)中調(diào)用:PMSM_VF_step(Speed_Ref, Duty)函數(shù),實(shí)現(xiàn)恒壓頻比控制算法。
/* USER CODE BEGIN 1 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
//Simulink函數(shù) 20KHz V/F控制
PMSM_VF_step(Speed_Ref, Duty);
for(int i=0;i<3;i++)
{
Duty[i]=(1-Duty[i])*htim1.Init.Period;
}
TIM1->CCR1=Duty[0]; //進(jìn)行SPWM控制
TIM1->CCR2=Duty[1];
TIM1->CCR3=Duty[2];
}
/* USER CODE END 1 */
3.4.仿真驗(yàn)證
編譯下載到開(kāi)發(fā)板觀(guān)察實(shí)驗(yàn)現(xiàn)象
總結(jié)
本章節(jié)采用恒壓頻比的開(kāi)環(huán)控制方法驅(qū)動(dòng)永磁同步電機(jī)的轉(zhuǎn)動(dòng),分析了恒壓頻比的控制原理,然后在Matlab/Simulink中進(jìn)行了永磁同步電機(jī)恒壓頻比開(kāi)環(huán)控制系統(tǒng)的仿真分析,最后將Simulink中的恒壓頻比控制算法生成代碼加載到實(shí)際工程中進(jìn)行了工程實(shí)現(xiàn),為后續(xù)章節(jié)的分析奠定基礎(chǔ)。
-
matlab
+關(guān)注
關(guān)注
188文章
2996瀏覽量
233200 -
永磁同步電機(jī)
+關(guān)注
關(guān)注
28文章
876瀏覽量
50330 -
軟件
+關(guān)注
關(guān)注
69文章
5118瀏覽量
88927 -
Simulink
+關(guān)注
關(guān)注
22文章
539瀏覽量
63626 -
開(kāi)環(huán)控制系統(tǒng)
+關(guān)注
關(guān)注
1文章
11瀏覽量
5296
發(fā)布評(píng)論請(qǐng)先 登錄
在Matlab/Simulink中進(jìn)行永磁同步電機(jī)流頻比I/F控制系統(tǒng)的仿真分析

太實(shí)用!永磁同步電機(jī)控制方案及MATLAB仿真模型大全
永磁同步電機(jī)控制原理分析及MATLAB仿真應(yīng)用
永磁同步電機(jī)直接轉(zhuǎn)矩控制系統(tǒng)中的MATLAB/Simulink建模方法
Simulink永磁同步電機(jī)控制仿真系列
永磁同步電機(jī)控制原理及MATLAB仿真
Ansys Simplorer和Matlab/Simulink聯(lián)合仿真來(lái)實(shí)現(xiàn)永磁同步電機(jī)的矢量控制
永磁同步電機(jī)控制系統(tǒng)設(shè)計(jì)

基于Matlab-Simulink的永磁同步電機(jī)(PMSM)矢量控制仿真
永磁同步電機(jī)控制系統(tǒng)的模型建立和仿真資料說(shuō)明

永磁同步電機(jī)控制筆記:中點(diǎn)平移法svpwm實(shí)現(xiàn)分析

永磁同步電機(jī)最小損耗控制Simulink仿真

永磁同步電機(jī)恒壓頻比開(kāi)環(huán)控制系統(tǒng)Matlab/Simulink仿真分析(二)

永磁同步電機(jī)FOC控制的基本原理及Matlab/Simulink仿真分析

永磁同步電機(jī)流頻比I/F控制原理及Matlab/Simulink仿真分析

評(píng)論