主题中讨论的其他部件:UCD3138, controlSUITE, C2000WARE
大家好!
我想在TMS320上更改模拟PWM UC... 我有一个降压转换器,它需要调节输出电流(而不是电压!),因此输出电容器几乎不存在。 I`m将 LEM用作传感器。 例如,有500 Hz的负载频率(可在0至5 KHz之间更改) 换向短路,R=5欧姆。
之前有一个模拟调节器,速度更快。 电流过冲的幅度至少在3倍内小于 。 我`m尝试某种方式来提高TMS320速度。 在适用于ucd3138的SLUA708中,有一个2.2 “PI控制器的固件实施”,似乎有 机会根据错误更改增益。 F_PWM=50kHz (T=20us)。 我写了一些粗码来尝试
中断void CPU_timer2_ISR(void)-自周期开始以来的5 us每个周期:
diff = ADC_Vout1 - Vout_Ref_wInj;
IF (diff > 90万)//约1 A量级
{//
CpuTimer2.InterruptCount++;
Pgain = 4000;
Igain = 1;
CpuTimer2Regs.tcr.bit.tie = 0;//stop timer2
IF (CpuTimer2.InterruptCount > 5 && flag_top == 0)//新增益在短时间内不应超过5次
{
Pgain = 2500;//
增益= 80;
CpuTimer2.InterruptCount = 0;
Flag_Trip = 1;
}
}
如果(diff <= 90万)//如果误差小于1 A,则使用小增益
{
Flag_Trip = 0;
Pgain = 2500;
增益= 80;
CpuTimer2.InterruptCount = 0;
}
这比仅仅2500或4000的情况更糟,因为 振荡。 您n`t:为什么从 一开始就不使用Pgain = 4000! 我`ll也有振荡。 有这样一种依赖性:大增益-振荡和不稳定的系统,小增益-大过冲。 这是通常和合乎逻辑的。
有人能n`t一些工作源代码片段(我无法找到ucd3138 PWR026 PFC EVM 源代码)吗? TMS320的这种方法是否有任何意义? 有人会为这种负载模式提供某种方法吗? `s不可能得到与模拟控制器相同的结果,但 我想 尽可能接近它。
非常感谢您的帮助!