我很难让 PID 反馈和定位同时运行。
我计算 RPM 的想法是:
- 使用中断启动定时器并计数编码器脉冲。
- 使用一些简单的数学转换为 RPM。
- 重置使用的变量并重新开始。
我可以计算 RPM,但我只能在计算后调用我的 PID 控制器(但我想等待多长时间才能获得良好的分辨率。)这会导致代码非常混乱。有没有更简单的方法或我缺少的东西?
关于我的应用程序的信息: 我正在使用直流电机/双磁编码器对 Atmel ATmega328P 进行编程,每转约 600 个脉冲(在减速机之后)。我想调用 GoToTarget(#) 并让电机在更新 PID 参数时转到该位置。此外,它必须是双向的。