PID循环中dt的实际滚动是什么以及如何在PID循环中设置dt值。
我读到dt,它说dt是循环时间意味着循环时间(20ms)的循环执行或在中断部分(5s)中调用PID循环。
我们使用PIC24f控制器,并且每5s中断使用定时器和中断部分调用PID循环,这是20ms的执行时间,那么什么是dt以及如何与代码相关以及如何设置dt的值。
答案 0 :(得分:2)
dt
是系统的增量时间项,在系统中看起来像5s。它是对系统测量进行采样,整合,区分和设置调整频率的时间段。
您的dt
应与受控系统中的更改率和调整率兼容。例如,加热器可能使用5s-60s,因为20ms内的温度变化可能是不可检测的,并且每20ms调整输入功率可能是没有意义的,而自平衡机器人可能需要更快速的测量和调整。
我dt
的一个指导原则是,采样时间应该比处理时间常数快5-10倍,这样就可以获得足够的过程样本来检测变化。如果您更频繁地采样,则可能会进入每单位时间变化大小接近传感器精度极限的范围。如果您的采样频率较低,那么系统的变化速度会比控制系统注意到的要快。
dt
的大小也有助于理解积分项kI
和导数项kD
的含义,作为错误类型到输出单位的转换。例如,如果以度为单位测量误差,并且采样时间为5秒,并且输出以千瓦为单位,则PID回路计算的温度变化的单位为degrees/5s
,而kD
为转换千瓦/(度/ 5秒)。类似地,积分累加器的单位为degrees*5s
,kI
项为转换kilowatts/(degree*5*sec)
如果您将采样频率加倍(采样时间减半),则需要调整{{1} }和kI
相应的。