28335的中断函数里面如何用输入电压控制pwm占空比
你可以把你写的不合适的代码上传上来给其他工程师看一下,好让别人找到你的问题出在哪。
__interrupt void adc_isr(void)
{
Vi[ii] =(((float)AdcRegs.ADCRESULT0)*3/65520);
if(ii == 10)
{
ii = 0;
Vaverage=0;
for(jj=0;jj =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控制
有没有什么方法能把电压和占空比联系起来的
AD采样电路,根据AD值计算PWM时间
这个有想过,但是不知道怎么把这个值跟pwm的时间,频率或者占空比联系起来