void main(void)
{
//各类初始化;
while(1)
{
adc = Get_ADC10bitResult(1); //读取霍尔传感器值
adc = adc/2; //10位ADC,因4V的ADC值为800,转换成实际电流值
if(set_current > adc) //如果设定值大于反馈值?
{
fb++;if(fb>1000)fb=1023;WriteTLC5615(fb);//增加占空比,最高加到5V
}
if(set_current < adc) //如果设定值小于反馈值?
{
fb--;if(fb<200)fb=200;WriteTLC5615(fb);//增小占空比,最低减到1V
}
}
}
/*整流控制过程如上可实现,但有以下不足,
当设置值与反馈值相差较大时,占空比是逐个增加或减小,
反映时间太慢(>100ms),,,现需要加入PID控制,
当设置值与反馈值相差较大时,大幅度增加或增小占空比,
当设置值与反馈逐渐接近时,再小幅度整占空比,
那样速度会快很多,请问如何实现(<1ms)?
如有方案可私聊我,如果问题解决,必定红包重谢*/
一周热门 更多>