99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

Jallin
認(rèn)證:VIP會員
作者動態(tài)
精華-電力電子實戰(zhàn)之PLL鎖相環(huán)的仿真和C代碼演示
2021-04-26 20:10
PID在頻域的表現(xiàn)形式
2021-04-18 12:22
ccs低版本打開高版本的工程問題
2021-02-20 21:23
基于simulink的buck仿真和simulink的掃頻儀的使用,設(shè)計環(huán)路時極其方便
2021-02-20 21:21
基于simulink的s-function的PWM生成
2021-02-20 21:19

三相鎖相環(huán)仿真及其代碼驗證(附C語言源碼)

原理

眾所周知,三相電的鎖相環(huán)只需要進行Clark變換和Park變換得到dq分量,進行PI運算就可以輕松的完成鎖相,這里就不簡述Clark變換和Park變換了,網(wǎng)上一搜一大把資料,在此僅簡單闡述。

鎖相環(huán)的原理:

鎖相環(huán)就是講ABC三相通過clark變換和Park變換轉(zhuǎn)換成dq分量,通過dq來進行鎖相,鎖相環(huán)框圖如下:

clark變換:將abc 變換到 靜止 的αβ 坐標(biāo)系下。

設(shè)ABC三相電壓為:

通過U=x+ac+a^c變換合成矢量為

如圖所示,將它們投影到αβ軸上,有Clark transformation 3s−2s(僅考慮三相三線制情形,零序分量被忽略,詳細(xì)推導(dǎo)可參考陳伯時《電力拖動自動控制系統(tǒng)-運動控制系統(tǒng)》第三版 P263)。

Park變換:將abc 變換到 旋轉(zhuǎn) 的 dq 坐標(biāo)系下

clark變換到park變換

變換矩陣為

仿真

源碼

主要代碼如下:


//
// Included Files
//
#include <math.h>
#include "Interrupt.h"

/* ABC電壓值變量定義  */
FLOAT32 g_f32Ua;
FLOAT32 g_f32Ub;
FLOAT32 g_f32Uc;

typedef struct STRUCT_SPLL
{
    /* input data */
    FLOAT32 g_f32VoltD;
    FLOAT32 g_f32VoltQ;
    FLOAT32 g_f32Theta;
    /* output data */
    FLOAT32 g_f32SinWT;
    FLOAT32 g_f32CosWT;
    /* parameter */
    FLOAT32 g_f32VoltAlpha;
    FLOAT32 g_f32VoltBeta;
    PI_CONTROL_STRUCT PllLoop;
}ST_SPLL;
/* 鎖相環(huán)PI控制    */
#define PLL_MAX_OUT     2000
#define PLL_MIN_OUT    -2000

#define PLL_KP          48.0 * 2.0//12       // 0.3
#define PLL_KI          0.1 * 2.0//0.04    // 0.001




ST_SPLL g_stSpll = {0};

UINT16 g_u16VoltageIndex = 0;
UINT16 g_u16SendFlag = 0;
FLOAT32 g_f32VoltageSample[3] = {0};

void ISR_APP_ThreePhaseSPLL(ST_SPLL *t_spll, const FLOAT32 *VABC, UINT32 Ts);

//中斷頻率50k
#pragma CODE_SECTION(ISR_InterruptTask, ".TI.ramfunc");
__interrupt void ISR_InterruptTask(void)
{

	g_u16VoltageIndex++;
	if(g_u16VoltageIndex > 1000)
		g_u16VoltageIndex = 0;
	g_f32VoltageSample[0] = sinf(2 * M_PI * 100 / 1000 * g_u16VoltageIndex);//模擬輸出A相電壓,可由adc采樣值替換
	g_f32VoltageSample[1] = sinf(2 * M_PI * 100 / 1000 * g_u16VoltageIndex - 2*M_PI/3.0f);//模擬輸出B相電壓
	g_f32VoltageSample[2] = sinf(2 * M_PI * 100 / 1000 * g_u16VoltageIndex + 2*M_PI/3.0f);//模擬輸出C相電壓

	g_f32Ua = g_f32VoltageSample[0];
	g_f32Ub = g_f32VoltageSample[1];
	g_f32Uc = g_f32VoltageSample[2];
	ISR_APP_ThreePhaseSPLL(&g_stSpll, g_f32VoltageSample, 1000);//鎖相環(huán)函數(shù)

}


void APP_InitSpll(ST_SPLL *t_spll)
{
    t_spll->g_f32VoltD = 0;
    t_spll->g_f32VoltQ = 0;
    t_spll->g_f32Theta = 0;
    /* output data */
    t_spll->g_f32SinWT = 0;
    t_spll->g_f32CosWT = 0;
    /* parameter */
    t_spll->g_f32VoltAlpha = 0;
    t_spll->g_f32VoltBeta = 0;

    t_spll->PllLoop.m_u16CtrFlg = INCREMENTAL_CONTROL;		/* 增量式PI控制標(biāo)志  */

    t_spll->PllLoop.m_f32Ref = 0;							/* 給定                       */
    t_spll->PllLoop.m_f32Fed = 0;               			/* 反饋                       */

    t_spll->PllLoop.m_f32Err = 0;               			/* 誤差                       */
    t_spll->PllLoop.m_f32ErrPre = 0;            			/* 前拍誤差                */

    t_spll->PllLoop.m_f32Kp = PLL_KP;                		/* 比例參數(shù)                 */
    t_spll->PllLoop.m_f32Ki = PLL_KI;                		/* 積分參數(shù)                 */

    t_spll->PllLoop.m_f32Acc = 0;               			/* 積分累加               */
    t_spll->PllLoop.m_f32LoopOut = 0;           			/* 輸出                       */
    t_spll->PllLoop.m_f32KiMaxACC = PLL_MAX_OUT;          	/* 積分累加最大限幅  */
    t_spll->PllLoop.m_f32KiMinACC = PLL_MIN_OUT;          	/* 積分累加最小限幅  */
    t_spll->PllLoop.m_f32MaxOutput = PLL_MAX_OUT;         	/* 輸出最大限幅           */
    t_spll->PllLoop.m_f32MinOutput = PLL_MIN_OUT;         	/* 輸出最小限幅           */
}
#pragma CODE_SECTION(ISR_APP_ABC2ab, ".TI.ramfunc");
void ISR_APP_ThreePhaseSPLL(ST_SPLL *t_spll, const FLOAT32 *VABC, UINT32 Ts)
{

    FLOAT32 t_f32TempValue = 0;
    t_spll->g_f32VoltAlpha = 0.6666667f * (VABC[0]-(0.5f*VABC[1])-(0.5*VABC[2]));//Clark變換
    t_spll->g_f32VoltBeta = 0.6666667f*(((sqrtf(3)/2)*VABC[1])-((sqrtf(3)/2)*VABC[2]));

    #if 0                       //開環(huán)
    theta = 2 * M_PI * 50;
    #endif
	
	//Park變換
    t_spll->g_f32VoltD = t_spll->g_f32CosWT * t_spll->g_f32VoltAlpha + t_spll->g_f32SinWT * t_spll->g_f32VoltBeta;
    t_spll->g_f32VoltQ = -t_spll->g_f32SinWT * t_spll->g_f32VoltAlpha + t_spll->g_f32CosWT * t_spll->g_f32VoltBeta;
	
	//鎖相環(huán)環(huán)路計算
    t_spll->PllLoop.m_f32Ref = t_spll->g_f32VoltD;//0;
    t_spll->PllLoop.m_f32Fed = 0;//t_spll->g_f32VoltD;
    
    t_spll->PllLoop.m_f32Err = t_spll->PllLoop.m_f32Ref - t_spll->PllLoop.m_f32Fed;

    t_f32TempValue = t_spll->PllLoop.m_f32Ki * t_spll->PllLoop.m_f32Err;                              /* 積分計算  */
    t_f32TempValue += t_spll->PllLoop.m_f32Kp * (t_spll->PllLoop.m_f32Err - t_spll->PllLoop.m_f32ErrPre);          /* 比例計算  */
    t_spll->PllLoop.m_f32LoopOut += t_f32TempValue;/* 增量運算  */

    t_spll->PllLoop.m_f32ErrPre = t_spll->PllLoop.m_f32Err;

    if (t_spll->PllLoop.m_f32LoopOut > t_spll->PllLoop.m_f32MaxOutput)                                    /* 輸出限幅   */
    {
        t_spll->PllLoop.m_f32LoopOut = t_spll->PllLoop.m_f32MaxOutput;
    }

    if (t_spll->PllLoop.m_f32LoopOut < t_spll->PllLoop.m_f32MinOutput)
    {
        t_spll->PllLoop.m_f32LoopOut = t_spll->PllLoop.m_f32MinOutput;
    }


    t_spll->g_f32Theta += (t_spll->PllLoop.m_f32LoopOut / Ts);//環(huán)路輸出即為w,需要t積分

    if(t_spll->g_f32Theta > (2 * M_PI))
    {
        t_spll->g_f32Theta = t_spll->g_f32Theta - (2 * M_PI);
    }
    if(t_spll->g_f32Theta < 0)
    {
        t_spll->g_f32Theta = t_spll->g_f32Theta + (2 * M_PI);
    }
    t_spll->g_f32SinWT = sinf(t_spll->g_f32Theta);
    t_spll->g_f32CosWT = cosf(t_spll->g_f32Theta);
}

//
// End of File
//



聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
本篇所含全部資料,點擊此處留下郵箱我會發(fā)給你
資料明細(xì):三相鎖相環(huán)仿真
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 11
收藏 19
關(guān)注 136
成為作者 賺取收益
全部留言
0/200
  • dy-jX7JhQQl 7小時前
    老師,能不能發(fā)我一下資料,謝謝! 18****@****.com
    回復(fù) 1條回復(fù)
  • 杜伯 2星期前
    老師,能不能發(fā)我一下資料,謝謝! 32****@****.com
    回復(fù) 1條回復(fù)
  • 杜伯 2星期前
    老師,能不能發(fā)我一下資料,謝謝!3261979331@qq.com
    回復(fù)
  • sdll825 3星期前
    老師,能不能發(fā)我一下資料,謝謝! sd****@****.com
    回復(fù) 1條回復(fù)
  • sdll825 06-07 16:55
    老師,能不能發(fā)我一下資料,謝謝! sd****@****.com
    回復(fù) 1條回復(fù)
  • dy-NruCgTu3 05-23 16:03
    老師,能不能發(fā)我一下資料,謝謝! 30****@****.com
    回復(fù) 1條回復(fù)
  • ruqihua 03-17 19:55
    老師,能不能發(fā)我一下資料,謝謝! ru****@****.com
    回復(fù) 1條回復(fù)
  • anono 2024-11-11 13:51
    老師,能不能發(fā)我一下資料,謝謝! 10****@****.com
    回復(fù) 1條回復(fù)
  • 追求更完美 2024-11-04 14:17
    老師,能不能發(fā)我一下資料,謝謝! xu****@****.com
    回復(fù) 1條回復(fù)
  • dy-TmBnQF1w 2024-10-29 07:17
    老師,能不能發(fā)我一下資料,謝謝! my****@****.com
    回復(fù) 1條回復(fù)
  • dy-TmBnQF1w 2024-10-29 07:17
    老師,能不能發(fā)我一下資料,謝謝! my****@****.com
    回復(fù) 1條回復(fù)
  • dy-NKAmU4c6 2024-09-29 17:00
    老師,能不能發(fā)我一下資料,謝謝! 21****@****.com
    回復(fù) 1條回復(fù)
  • KEOU 2024-09-05 14:03
    老師,能不能發(fā)我一下資料,謝謝! 16****@****.com
    回復(fù) 1條回復(fù)
  • EchoDue 2024-09-03 14:01
    老師,能不能發(fā)我一下資料,謝謝! ke****@****.com
    回復(fù) 1條回復(fù)
  • KEOU 2024-08-22 15:56
    老師,能不能發(fā)我一下資料,謝謝! 16****@****.com
    回復(fù) 1條回復(fù)
  • shelter 2024-08-20 11:36
    老師您好,可以發(fā)一下中斷頭文件看一下嗎?謝謝!chenx9802@163.com
    回復(fù)
  • shelter 2024-08-19 14:27
    老師,能不能發(fā)我一下資料,謝謝! ch****@****.com
    回復(fù) 1條回復(fù)
  • jyxu053 2024-08-17 18:03
    老師,能不能發(fā)我一下資料,謝謝你!xu_jin_you@163.com
    回復(fù)
  • dy-vfPLaJKb 2024-08-09 16:18
    老師,能不能發(fā)我一下資料,謝謝! 27****@****.com
    回復(fù) 1條回復(fù)
  • hlingwang 2024-08-09 13:56
    老師,能不能發(fā)我一下資料,謝謝! 29****@****.com
    回復(fù) 1條回復(fù)
主站蜘蛛池模板: 日本伦理在线视频 | 好爽快点深一点好大 | 久做在线视频免费观看 | 亚洲第一成网站 | 欧美国产日韩在线 | 狠狠色狠狠色很很综合很久久 | 91九色国产ts另类人妖 | 久久99久久99精品免视看看 | 九九热线视频只有这里最精品 | 亚洲午夜无码久久yy6080 | 亚洲韩国精品无码一区二区三区 | 网站久久久 | 中文字幕一区视频 | 亚洲欭美日韩颜射在线二 | 免费黄网在线 | a级片黄 | 欧美97| 不卡一二三区 | 色翁荡熄又大又硬又粗又视频图片 | 私人黄色影院 | 伊人久久综合色 | 国产成人无精品久久久 | 在线看av网址 | 日韩午夜视频免费 | 国产一区二区在线91 | 英语老师解开裙子坐我腿中间 | 一体道色综合手机久久 | 91亚洲一区精品 | 九九99无码精品视频在线观看 | 美女扒开腿让男人桶爽网站 | 国内精品久久久人妻中文字幕 | 色九九九九九 | 国产高潮A片一区二区 | 日韩视频中文字幕视频一区 | 国产剧情乱偷 | 国产综合精品一区二区 | 天天摸日日添狠狠添婷婷 | 成人亚洲免费视频 | 国产又色又爽又黄又免费软件 | 日本aaaaa级毛片片 | av观看免费|