自中科昊芯推出專題闡述HXS320F28034雙電機有感FOC控制系統(tǒng)實現(xiàn)以來,第一期主要分析了雙電機有感FOC控制原理,第二期著重分析了永磁BLDC的霍爾位置開環(huán)控制,第三期著重分析了永磁BLDC的雙閉環(huán)調(diào)速,第四期著重分析了永磁PMSM雙閉環(huán)FOC調(diào)速,本期基于上期的方案做了一個拓展,增加了位置閉環(huán)優(yōu)化,實現(xiàn)永磁電機三閉環(huán)有感伺服控制,并繼續(xù)基于平頭哥半導體有限公司的劍池集成開發(fā)環(huán)境(簡稱“CDK”)V2.12.1版本與HXS320F28034驅(qū)動一體板聯(lián)合開發(fā)。
PMSM三閉環(huán)有感伺服原理如圖1,系統(tǒng)給定位置θ*與差分增量式編碼器計算所得實際角度位置θ相比較,經(jīng)位置PI運算得到給定轉(zhuǎn)速n*,與差分增量式編碼器計算所得實際轉(zhuǎn)速nfbk相比較,經(jīng)速度PI運算得到q軸電流給定值iq*,采用id*=0控制,與霍爾電流采樣得到三相實際電流ia,ib,ic,經(jīng)CLARK與PARK變換所得d軸與q軸電流id,iq進行比較,經(jīng)電流PI輸出調(diào)節(jié)電壓Ud*,Uq*,經(jīng)反PARK變換得到調(diào)節(jié)電壓Uα*,Uβ*,經(jīng)空間矢量脈寬調(diào)制SVPWM輸出三路開關(guān)管切換時間Tcm1,Tcm2,Tcm3,與三路PWM輸出三角載波相比較得到六路調(diào)制脈寬,驅(qū)動控制三相六橋臂MOSFET逆變器通斷,實現(xiàn)三閉環(huán)伺服的位置精確控制。
圖1 PMSM三閉環(huán)有感伺服系統(tǒng)框圖
依照上述原理,設(shè)計HXS320F28034 PMSM三閉環(huán)有感伺服系統(tǒng)如圖2,通過GPIO按鍵控制電機使能與位置給定,轉(zhuǎn)子位置與速度檢測通過QEP模塊實現(xiàn),電流采樣通過ADC模塊實現(xiàn),經(jīng)三閉環(huán)PI調(diào)節(jié)輸出PWM波的導通脈寬,從而實現(xiàn)電機角度位置的精確伺服控制。硬件連接如圖3,圖中的小黑色電路板為差分編碼轉(zhuǎn)換器,讀者可根據(jù)需要自行采購。
圖2 系統(tǒng)硬件原理圖
圖3 系統(tǒng)硬件連接
系統(tǒng)所采用的軟硬件開發(fā)環(huán)境詳見《芯教程丨平頭哥CDK助力中科昊芯HX2000系列芯片之雙電機有感FOC控制系統(tǒng)專題(一)》。
根據(jù)上述分析,基于CDK開發(fā)PMSM三閉環(huán)有感伺服系統(tǒng),代碼包括:PWM、QEP的外設(shè)GPIO引腳配置、三路三相PWM波輸出配置,QEP初始化配置與差分編碼器位置采樣、轉(zhuǎn)速與電角度計算、ADC初始化配置與電流采樣、PMSM斜坡啟動編碼器校正、PI調(diào)節(jié)算法、CLARK、PARK正逆變換、SVPWM算法調(diào)制的EPWM事件觸發(fā)中斷服務(wù)程序,主程序執(zhí)行調(diào)用,其中SVPWM算法調(diào)制的EPWM事件觸發(fā)中斷服務(wù)程序代碼為:
1.voidINTERRUPTepwm1_isr(void)
2.{
3./*出于安全考慮,默認驅(qū)動板上電時封波,按下GPIO7后,電機開始啟動*/
4.if(GpioDataRegs.GPADAT.bit.GPIO7==0)
5.{
6.epwm_flag++;
7.}
8./*判斷啟動脈沖信號是否產(chǎn)生,產(chǎn)生后電機開始啟動*/
9.if(epwm_flag!=0)
10.{
11./*啟動計時*/
12.start_step++;
13./*扇區(qū)讀取:用于獲取確定的轉(zhuǎn)子初始位置與對應(yīng)的SVPWM初始扇區(qū)*/
14.sector_uvw();
15./*斜坡啟動與調(diào)速:200rpm斜坡加速啟動后調(diào)速,300個計數(shù)內(nèi)完成啟動*/
16.if((speed_ref1<300)&&(start_step<=300))
17.{
18./*斜坡啟動*/
19.start_ramp();
20.}
21.else
22.{if((speed_add!=0)||(speed_sub!=0))
23.{
24./*按計數(shù),分配在不同時段實現(xiàn)調(diào)速與轉(zhuǎn)子位置伺服控制*/
25.speed_theta_regulated();
26.if(theta_reg<250000)
27.{/*調(diào)速*/
28.speed_regulated();
29.}
30.else
31.{/*角度調(diào)整*/
32.theta_regulated();
33./*位置閉環(huán)*/
34.servo_loop();
35.}
36.}
37.}
38./*轉(zhuǎn)速閉環(huán)*/
39.speed_loop();
40./*電流閉環(huán)*/
41.current_loop();
42./*給定固定初始角度使電機轉(zhuǎn)過最大反電勢點,讀取校正值=此時脈沖計數(shù)*/
43.theta=theta_open;
44./*根據(jù)差分編碼器的霍爾信號判斷電機反電勢是否處于最大值*/
45.if(theta==NA*_IQ7(PI/3)+_IQ7(PI/6))
46.{
47.iel_int++;
48.}
49./*反電勢最大時,切電角度閉環(huán),使編碼器零位與電機零位對齊,完成啟動*/
50.if(iel_int!=0)
51.{
52./*計算電角度*/
53.theta=freq*_IQ7(2*PI);
54.}
55./*兩相旋轉(zhuǎn)坐標系變換到兩相靜止坐標系*/
56.iPark();
57./*空間矢量旋轉(zhuǎn)變換*/
58.svpwm_motor();
59./*調(diào)制占空比輸出配置*/
60.epwm_compare();
61.}
62./*清除事件中斷的INT全局中斷*/
63.EPwm1Regs.ETCLR.bit.INT=1;
64./*中斷應(yīng)答,鎖定IER的第3組中斷向量*/
65.PieCtrlRegs.PIEACK.all=PIEACK_GROUP3;
66.}
CDK上開發(fā)PMSM三閉環(huán)有感伺服系統(tǒng)控制程序,其編譯結(jié)果為:
編譯通過后,可以開始調(diào)試,其調(diào)試結(jié)果如下:
調(diào)試后,控制PMSM在400rpm~600rpm調(diào)速與調(diào)節(jié)轉(zhuǎn)子位置的效果如下:
關(guān)于中科昊芯
“智由芯生 創(chuàng)享未來”,中科昊芯是數(shù)字信號處理器專業(yè)供應(yīng)商。作為中國科學院科技成果轉(zhuǎn)化企業(yè),瞄準國際前沿芯片設(shè)計技術(shù),依托多年積累的雄厚技術(shù)實力及對產(chǎn)業(yè)鏈的理解,以開放積極的心態(tài),基于開源指令集架構(gòu)RISC-V,打造多個系列數(shù)字信號處理器產(chǎn)品,并構(gòu)建完善的處理器產(chǎn)品生態(tài)系統(tǒng)。產(chǎn)品具有廣闊的市場前景,可廣泛應(yīng)用于工業(yè)控制及電機驅(qū)動、數(shù)字電源、光伏、儲能、新能源汽車、消費電子、白色家電等領(lǐng)域。
-
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6718瀏覽量
111402
發(fā)布評論請先 登錄
相關(guān)推薦
評論