日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

三角形接法永磁同步电机的FOC+SVPWM控制

發布時間:2024/3/12 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 三角形接法永磁同步电机的FOC+SVPWM控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提和疑惑

前提:
三角形接法的矢量控制和星形不同的是,三角形接法的基本電壓矢量的幅值是星形接法的根號2倍,相位滯后星形接法30度,這很關鍵。相差30度就意味著。星形的的扇區判斷和合成矢量所需要的兩個矢量作用時間也不一樣了,需要重新推導。

后面有給出相關的文檔。

疑惑1:
我不是很懂是怎么相差30度的,好像是三角形接法通過矢量的方式位移變成星形的形式后,其坐標系和星形比較相差了30度。
下面是參考文檔的解釋。

Ualpha和Ubeta對扇區判斷的作用

不管是星形的還是三角形的,都需要用到Vq和Vd的反park變換,得到Ualpha和Ubeta。Vq和Vd是Iq電流環和Id電流環的輸出值。
Ualpha和Ubeta是怎么判斷扇區的:
看下圖,用Uabc映射到Ualpha和Ubeta,經過計算,能得到
Ualpha = Um Cos(θ)
Ubeta = Um sin(θ)

用Ubeta除以Ualpha得到,tan(θ),artan(tan(θ))就等于角度了。

星形的扇區判斷

在看下圖,我們可以列出6個不等式,不等式怎么來:
我們知道,把一個電角度分成6個扇區,每個扇區60度。

那么
tan0< Ubeta/Ualpha<tan60

tan300< Ubeta/Ualpha<tan360
再經過化簡,發現有2個式子經常出現,那就是(√3/2)Ualpha 和 (1/2)Ubeta。這在后面會用到。

這里有個小插曲。
有的文檔是沒有這個1/2的,其實有沒有都不影響判斷。因為,我們的不等式是和0比較的,左右同時乘1/2,不影響結果,只是因為后面的矢量作用時間也會用到這個1/2,在單片機那里的具體表現就是不用再計算一次,浪費運行時間。


再往下看,我們可以假設出3個式子,是假設。
u1= Ubeta
u2= (√3/2)Ualpha-(1/2)Ubeta
u3= -(√3/2)Ualpha-(1/2)Ubeta

若u1>0 則A=1,否則A=0.
若u2>0 則B=1,否則B=0.
若u3>0 則C=1,否則C=0.
再結合上圖對扇區角度的判斷,我們能得到
Ualpha和Ubeta和扇區的關系。
利用關系
N = 4C + 2B +A得到扇區的區號,這些都是網上能找到的解釋,至于為啥是N = 4C + 2B +A,這只是一個簡化的公式,方便單片機計算,你也可以直接按上面的不等式用if語句來判斷。
這里有個小插曲:

Ubeta
(√3/2)Ualpha-(1/2)Ubeta
-(√3/2)Ualpha-(1/2)Ubeta

這三個式子是假設出來的,可以是不一樣的,這里的不一樣是指正負不一樣,這就是為什么看到別人的推導和自己的推導有不一樣的地方,有的假設甚至把矢量作用的計算也考慮進去了。參考TI的簡化代碼。

三角形接法的扇區判斷

這里的扇區判斷是我直接使用了,別人文獻的判斷條件。

用這個判斷條件就就可以了。
圖中我圈主的地方是文獻有寫錯的,應該是B0。
這里有點小疑惑:

根據星形的判斷格式來看,
應該是
tan(330)<Ubeta/Ualpha<tan30
tan(30)<Ubeta/Ualpha<tan90
。。。。
tan(270)<Ubeta/Ualpha<tan330
這里就有問題了。
因為tan90度。是不存在的。是正無窮。

星形和三角形接法的矢量作用時間計算

先通過星形的作用時間推導,知道怎么推之后,然后推導三角形的。
引用:

星形的計算:
扇區1 2 3:

扇區4 5 6:

可以看到扇區456的這張筆記的,最后的那三個表達式,和扇區判斷的聯系了起來。

左上角的那個假設的表達式,是可以變的,這些表達式是根據前面扇區的計算出來的表達式關聯起來的。

然后右下角是假設了tabc是這三個表達式,這是扇區1的,
因為每個扇區都用這三個扇區,只是位置不一樣。

那么每個扇區的Ta Tb Tc怎么來的,
這是因為下面這個圖來的,計算的方式參考扇區1.
每個扇區,3個開關管的作用時長不一樣。

為什么是TX/2。Y/2,
因為我們計算的TX是整個周期的,但是我們單片機賦值只是幅值一半。剩下一般周期的都是硬件自動完成(中心對齊模式)


然后每個扇區的tabc就可以有這樣的規律

TI的代碼就是不一樣的,然后TI還給它優化了。

然后Ta Tb Tc的時長是這樣的

先貼一個TI的代碼

//0.8660254f等于 根號3/2 void Svpwm_Tabc_Class::SVPWM_Cale(uint16_t period) {tmp1= Ubeta; // 相當于二相靜止坐標--到三相靜止變換出Uabctmp2= Ubeta*0.5f + Ualpha*0.8660254f ;tmp3= tmp2 - tmp1; // 三相逆變換和網上公式極性不同,// -Ubeta*0.5f + Ualpha*0.8660254f ;//本方法的SVPWM的扇區判斷不同1--6/對應0--360,均勻分布VecSector=3; // 根據三相電壓符號計算矢量扇區VecSector=( tmp2> 0)?( VecSector-1): VecSector;VecSector=( tmp3> 0)?( VecSector-1): VecSector;VecSector=( tmp1< 0)?(7- VecSector) : VecSector;if( VecSector==1 || VecSector==4) // 根據矢量扇區計算矢量占空比Tabc{Ta= tmp2;Tb= tmp1- tmp3; //1.5ub -Ualpha*0.8660254f ;Tc=-tmp2;}else if( VecSector==2 || VecSector==5){Ta=tmp3+ tmp2;Tb=tmp1;Tc=-tmp1;}else if( VecSector==3 || VecSector==6){Ta= tmp3;Tb=-tmp3;Tc=-(tmp1+ tmp2);}else //異常狀態下的判斷出的扇區 0---7或者其他就執行0電壓矢量{Ta=0;Tb=0;Tc=0;}// Tabc是在浮點數據正負 , 電壓, Ta/Svpwm_Km是標幺值計算,將Tabc計算成-1---1// 將占空比調節為-1---1 ,再講PWM的半周期占空比值提出 (-1---1)*50%+50%=0---100%//調制系數 m=Sqrt(3)*|Ts|/Udc Svpwm_Km_Backw = 3/(Sqrt(3)*Udc)//Svpwm_Km_Backw*(period),按我的理解,這里就是根號3*Ts /Udc ,是各個扇區的兩個矢量合成需要的一個系數。 除以2是因為不能有負數,后面再加了0.5.SVPTa=(int16_t)( Ta*Svpwm_Km_Backw*(period/2))+(period/2); // 計算SVPTb=(int16_t)( Tb*Svpwm_Km_Backw*(period/2))+(period/2);SVPTc=(int16_t)( Tc*Svpwm_Km_Backw*(period/2))+(period/2);//啟動時各砍一半,占空比,然后再慢慢往上加。}

三角形:
我是看了文檔然后根據星形的推導,
然后自己推導了一遍,后面會給出文檔的公式。

由于三角形的比星形是滯后了30度。
所以。6個扇區的分布如下。

計算方式和星形是一樣的。只是角度不一樣
由于是第一個扇區的計算。
下面貼幾張扇區兩個矢量的作用時長。

第一扇區,自己計算得很模糊,我貼一個文檔的計算。
結果是一樣的,我只是把T移到了右邊。

第二扇區:

第三扇區

第四扇區

第五扇區和第六扇區

下圖是每個扇區的兩個作用矢量電壓的作用時間

然后和星形一樣,假設一個表達式
這是文檔的表達式,文檔的表達式和我的相差了一個((根號3)/2)
為什么?
。我也不清楚。。。,可能是這個圖的原因


這是假設文檔的3個表達式。

然后根據上面6張圖推導出來的公式,去套XYZ
得到如下圖:


然后根據每個扇區的3個開關管的作用時長,和星形的比較會發現是一樣的規律。

這里的作用時長和星形的是一樣的,因為扇區的切換方式是一樣的。如下圖

下面貼上三角形的代碼。

void Svpwm_Tabc_Class::Triangle_Sector_Cal(float Ualpha,float Ubeta,uint32_t period) {float Vref1,Vref2,Vref3;float X_Vef,Y_Vef,Z_Vef;float T1,T2;Vref1 = Ualpha;Vref2 = 1.7320508f * Ubeta - Ualpha;Vref3 = -1.7320508f * Ubeta - Ualpha;period = period * 2;VecSector=0;//扇區判斷。if(Vref1>0)VecSector = 1;if(Vref2>0)VecSector = VecSector + 2;if(Vref3>0)VecSector = VecSector + 4;//扇區內兩個矢量作用時長X_Vef = (0.5f * Ualpha/Standard_Work_Voltage_V + 0.8660254f*Ubeta / Standard_Work_Voltage_V)*period;Y_Vef = (0.5f * Ualpha/Standard_Work_Voltage_V - 0.8660254f*Ubeta / Standard_Work_Voltage_V)*period;Z_Vef = ( Ualpha/Standard_Work_Voltage_V )*period;switch(VecSector){case 1:T1 = Y_Vef;T2 = X_Vef;break;case 3:T1 = -Y_Vef;T2 = Z_Vef;break;case 2:T1 = X_Vef;T2 = -Z_Vef;break;case 4:T1 = -Z_Vef;T2 = Y_Vef;break;case 5:T1 = Z_Vef;T2 = -X_Vef;break;case 6:T1 = -X_Vef;T2 = -Y_Vef;break;}if((T1 + T2)>period){T1 = (T1 / (T1 + T2)) * period;T2 = (T2 / (T1 + T2)) * period;}//作用時間Ta = (period - T1 - T2) / 4.0f;Tb = Ta + T1/2.0f;Tc = Tb + T2/2.0f;switch(VecSector){case 1:SVPTa = (uint16_t)Ta;SVPTb = (uint16_t)Tb;SVPTc = (uint16_t)Tc;break;case 3://2SVPTa = (uint16_t)Tb;SVPTb = (uint16_t)Ta;SVPTc = (uint16_t)Tc;break;case 2://3SVPTa = (uint16_t)Tc;SVPTb = (uint16_t)Ta;SVPTc = (uint16_t)Tb;break;case 5://6SVPTa = (uint16_t)Ta;SVPTb = (uint16_t)Tc;SVPTc = (uint16_t)Tb;break;case 6://4SVPTa = (uint16_t)Tc;SVPTb = (uint16_t)Tb;SVPTc = (uint16_t)Ta;break;case 4://5SVPTa = (uint16_t)Tb;SVPTb = (uint16_t)Tc;SVPTc = (uint16_t)Ta;break;default:SVPTa = 0;SVPTb = 0;SVPTc = 0;break;} }

FOC控制所需要的相電流

因為我們用的是電流傳感器,
星形接法的時候感應到的是線電流,因為星形接法的線電流和相電流是一樣的,所以可以直接用來結算FOC的各種電流變換。

但是三角形的接法的線電流和相電流是不一樣的。需要從線電流提取出相電流。
而且經過實驗是不能直接除以根號3的,

那么我也直接運用了文檔的方法。



這里提示一下,經過實驗,發現三角形電流的線序的接法的不用,
公式11就會不同

我們根據上面的公式推導了自己實驗的電機,發現是不一樣的。
代碼如下

//三角形結構電機線電流Ia,Ib,Ic與相電流Iax,Iby,Icz的轉換//1、如A相輸出接B相輸入// Iax = (Ia - Ib) / 3// Iby = (Ib - Ic) / 3// Icz = (Ic - Ia) / 3//2、如A相輸出接C相輸入// Iax = (Ia - Ic) / 3// Iby = (Ib - Ia) / 3// Icz = (Ic - Ib) / 3//使用第2種Large_iThreeCurrent[0] = (float)((fScrCurrent[2] - fScrCurrent[0])/3.0f);Large_iThreeCurrent[1] = (float)((fScrCurrent[0] - fScrCurrent[1])/3.0f);Large_iThreeCurrent[2] = (float)((fScrCurrent[1] - fScrCurrent[2])/3.0f);

到這里,電機就能轉起來了。發現電流并不是很好。這里慢慢優化。
結束!

參考文檔


總結

以上是生活随笔為你收集整理的三角形接法永磁同步电机的FOC+SVPWM控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中日韩在线观看视频 | www.九九热.com| 欧美人与动物xxx | 黄色a一级片 | 亚洲天堂av电影 | www成人在线 | 欧美国产视频 | 国产伦精品一区二区三区高清版禁 | 国内精品免费视频 | 天天视频入口 | 一级片www | 亚洲色图激情小说 | 秋霞毛片少妇激情免费 | 美女让男人捅 | 欧美黑人又粗又大的性格特点 | 国产成人无码精品久久二区三 | 偷拍亚洲视频 | 少妇久久久 | 亚洲男人天堂2022 | www.天堂av.com | 中文字幕视频免费 | 99久久精品国产毛片 | 91色影院 | 亚洲AV无码国产精品 | 91麻豆成人精品国产免费网站 | 校园伸入裙底揉捏1v1h | 久久成人免费视频 | 黑人一区二区三区四区五区 | 久久久久久蜜桃一区二区 | 插女生下面 | 黑帮大佬和我的三百六十五天 | 亚洲欧美日韩电影 | 国产日韩欧美综合在线 | 国产一区二区三区在线观看免费 | 欧美高跟鞋交xxxxxhd | 日日操夜夜撸 | 爱情岛论语亚洲入口 | 成都电影免费大全 | 一级黄色裸体片 | 粉嫩av一区 | 日本一区二区精品视频 | 久久精品无码一区二区三区 | 欧美黄色激情视频 | 亚洲永久网站 | 欧美gv在线| 欧美日本韩国一区二区三区 | aaa日韩 | 91片黄在线观看喷潮 | 黑人玩弄人妻一区二区三区四 | 丰满的女邻居 | 天天插日日干 | 久久影视网 | 激情四射婷婷 | 首尔之春在线看 | 国产少妇一区二区 | 国产精品久久久久久久天堂 | 人人妻人人做人人爽 | 一区二区福利电影 | 久久青娱乐 | 丁香花电影高清在线阅读免费 | 国产欧美一区二区三区沐欲 | 色91视频 | www.88av| 精品视频免费看 | 国产一区不卡在线观看 | 欧美一区二区国产 | 成人免费在线视频网站 | xxxxhd欧美| www.蜜桃av | 人人干天天干 | 欧美高清v | 涩涩视频在线看 | 色姑娘综合网 | 男人天堂2014 | 三级黄色短视频 | 日本va欧美va国产激情 | 久久久不卡 | 欧美一区二区三区日韩 | 综合在线播放 | 夜夜操夜夜骑 | 性生交大片免费看女人按摩 | 国产成人无码精品久久二区三 | 亚洲4438| 亚洲AV午夜福利精品一级无码 | 欧美又大又硬又粗bbbbb | 亚洲成人黄色 | av无码精品一区二区三区宅噜噜 | 伊人中文字幕在线 | 91久久精品一区二区别 | 国产成人精品久久久 | www.超碰在线.com | 免费黄色小视频在线观看 | 成人在线天堂 | 中文字幕免费在线视频 | 极品91尤物被啪到呻吟喷水 | av手机在线免费观看 | 日韩一级一区 | 日日夜夜2017 | 四虎库|