2019-07-15 18:54发布
ElecFans王岑 发表于 2017-4-18 17:33 你可以把你写的不合适的代码上传上来给其他工程师看一下,好让别人找到你的问题出在哪。
jijuxie 发表于 2017-4-26 11:23 AD采样电路,根据AD值计算PWM时间
最多设置5个标签!
__interrupt void adc_isr(void)
{
Vi[ii] =(((float)AdcRegs.ADCRESULT0)*3/65520);
if(ii == 10)
{
ii = 0;
Vaverage=0;
for(jj=0;jj<10;jj++)
{
Vaverage=Vaverage+Vi[jj];//求出直流偏置量
}
Vaverage=(Vaverage/10);
ek=Uinput-Vaverage; //PI调节
uk=uk1+kp1*(ek-ek1)+ki1*ek;
ek1=ek;
if(uk>=300)uk=300;
if(uk<=0)uk=0;
uk1=uk;
D1=uk;
//EPwm4Regs.CMPA.half.CMPA=D1;//逆变桥是低有效,D的值越大,
}
ii++;
// Reinitialize for next ADC sequence
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; // Clear INT SEQ1 bit
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE
return;
}
这是adc的中断函数处
kk=ii=0;
Uinput=8;
kp1=0.1;ki1=0.3;
kp2=0.1;ki2=0.3;
ek=ek1=0;
uk=0;
uk1=250;
Iinput=0.5;
这是参数
但是我不想用pi控制
有没有什么方法能把电压和占空比联系起来的
这个有想过,但是不知道怎么把这个值跟pwm的时间,频率或者占空比联系起来
一周热门 更多>