91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

關(guān)于純正正弦波的算法,有請(qǐng)鐘工,老壽先生進(jìn)來以及各位大俠高手來討論

關(guān)于正弦波的修正算法,你們都是用什么方法去修正的?還有用SPWM做的話過零點(diǎn)需要注意什么。
全部回復(fù)(6)
正序查看
倒序查看
2010-07-22 23:15
基本上按等面積法。死區(qū)補(bǔ)償可以按過零補(bǔ)償最多波峰或波谷補(bǔ)償最少。
0
回復(fù)
jackcai02
LV.2
3
2010-07-23 09:03
@xzszrs
基本上按等面積法。死區(qū)補(bǔ)償可以按過零補(bǔ)償最多波峰或波谷補(bǔ)償最少。
那如果PI算出來的值是負(fù)的話,怎么轉(zhuǎn)換成給PWM的DUTY,DUTY是個(gè)無符合寄存器呢。
0
回復(fù)
jackcai02
LV.2
4
2010-07-23 11:03
@jackcai02
那如果PI算出來的值是負(fù)的話,怎么轉(zhuǎn)換成給PWM的DUTY,DUTY是個(gè)無符合寄存器呢。
//180~360 degree close loop algorithmn
VoltageError = -SineTable_50Hz[PwmTabIndex] + InverterOutPutVoltageTmp;
         VoltageErrorSum = VoltageErrorSum + Voltage_kCoeffs[1]*VoltageError;
         Temp1 = Voltage_kCoeffs[0]*VoltageError;
         Temp1 = Temp1+VoltageErrorSum;
         if(Temp1 > 32767)
           Temp1 = 32767;
         if(Temp1 < -32767)
           Temp1 = -32767;
         Temp1 = abs(Temp1);
         PWM_Mutiply_Data = ((__builtin_muluu((int)Temp1,(int)INVERTER_PERIOD_VALUE))>>15);
         if(PWM_Mutiply_Data > INVERTER_PERIOD_VALUE)
           PWM_Mutiply_Data = INVERTER_PERIOD_VALUE;
0
回復(fù)
jackcai02
LV.2
5
2010-07-23 11:04
@jackcai02
//180~360degreecloseloopalgorithmnVoltageError=-SineTable_50Hz[PwmTabIndex]+InverterOutPutVoltageTmp;     VoltageErrorSum=VoltageErrorSum+Voltage_kCoeffs[1]*VoltageError;     Temp1=Voltage_kCoeffs[0]*VoltageError;     Temp1=Temp1+VoltageErrorSum;     if(Temp1>32767)      Temp1=32767;     if(Temp1<-32767)      Temp1=-32767;     Temp1=abs(Temp1);     PWM_Mutiply_Data=((__builtin_muluu((int)Temp1,(int)INVERTER_PERIOD_VALUE))>>15);     if(PWM_Mutiply_Data>INVERTER_PERIOD_VALUE)      PWM_Mutiply_Data=INVERTER_PERIOD_VALUE;
//0~180 degree close loop algorithmn 其中在180°,360°的時(shí)候把VoltageErrorSum  = 0

VoltageError = SineTable_50Hz[PwmTabIndex] - InverterOutPutVoltageTmp;
         VoltageErrorSum = VoltageErrorSum + 5*VoltageError;
         Temp1 = 22*VoltageError;
         Temp1 = Temp1 +VoltageErrorSum;
         if(Temp1 > 32767)
           Temp1 = 32767;
         if(Temp1 < -32767)
           Temp1 = -32767;
         Temp1 = abs(Temp1);      
         PWM_Mutiply_Data = ((__builtin_muluu((int)Temp1,(int)INVERTER_PERIOD_VALUE))>>15);
         if(PWM_Mutiply_Data > INVERTER_PERIOD_VALUE)
           PWM_Mutiply_Data = INVERTER_PERIOD_VALUE;  
0
回復(fù)
jackcai02
LV.2
6
2011-09-09 13:51
@jackcai02
//0~180degreecloseloopalgorithmn其中在180°,360°的時(shí)候把VoltageErrorSum =0VoltageError=SineTable_50Hz[PwmTabIndex]-InverterOutPutVoltageTmp;     VoltageErrorSum=VoltageErrorSum+5*VoltageError;     Temp1=22*VoltageError;     Temp1=Temp1+VoltageErrorSum;     if(Temp1>32767)      Temp1=32767;     if(Temp1<-32767)      Temp1=-32767;     Temp1=abs(Temp1);        PWM_Mutiply_Data=((__builtin_muluu((int)Temp1,(int)INVERTER_PERIOD_VALUE))>>15);     if(PWM_Mutiply_Data>INVERTER_PERIOD_VALUE)      PWM_Mutiply_Data=INVERTER_PERIOD_VALUE; 
現(xiàn)在回想起來,這個(gè)問題很簡單,做穩(wěn)壓太簡單了。哈哈。。。
0
回復(fù)
syrobots
LV.2
7
2012-06-27 12:15
@jackcai02
現(xiàn)在回想起來,這個(gè)問題很簡單,做穩(wěn)壓太簡單了。哈哈。。。
jackcai02您好!可不可以向你請(qǐng)您請(qǐng)教?方便留下郵箱或QQ嗎?我的QQ:114513500
0
回復(fù)
發(fā)
主站蜘蛛池模板: 彝良县| 太仓市| 天全县| 大冶市| 保德县| 松溪县| 来宾市| 拉萨市| 曲阜市| 安丘市| 萍乡市| 抚松县| 辛集市| 永仁县| 齐齐哈尔市| 上思县| 金湖县| 白朗县| 班玛县| 洛宁县| 宾阳县| 阿图什市| 明光市| 龙海市| 来安县| 绥化市| 涡阳县| 军事| 会理县| 富宁县| 廉江市| 安吉县| 贵南县| 兴城市| 苍梧县| 湾仔区| 潞西市| 招远市| 营口市| 原平市| 巴中市|