发布于 2005-03-31 16:42:15
0楼
问题都没讲清楚:只讲了反馈信号为数字量的,那么经过PID运算的输出是用模拟的还是也为数字量的?
其实对于反馈信号为数字量的并不难处理,假设您这两个反馈的数字信号为I0.0和I0.1,那么用中断处理。每一次I0.0上升沿VW0自加一,每一次i0.1上升沿VW2自加一。 然后取一个定时中断程序INT0,在这个中断程序里判断VW0/VW2的值是多少,然后把这两个寄存器清零为下一次中断做准备。并通过一个自己定义的关系使这个值转化为工程值(0-1之间),这个并不难吧? 接下来就可以把这个0-1之间的值当做模拟输入来做PID调节了。
做完PID调节后的输出也是工程值(0-1之间),若您的执行机构为模拟量的,则正好。若也是数字量的,那么用同样的方法把这个工程量转PWM(控制通断比)方式执行。
I can do it