在我的爱好项目中,我开始将经典的中断驱动软件重写为带有 RTOS 的新软件。我正在使用带有 FreeRTOS 的 STM32,但这并不重要,因为我的问题通常与如何使用 RTOS 实现快速 PI 的问题有关。
思路:把电流(转矩)控制器放到一个中断中(例如:放到用于PWM的定时器的中断),然后把位置控制器放到一个线程中,或者放到一个sw定时器中。
想法将当前控制器置于线程中,女巫等待基于定时器中断的信号,在该信号将被引发。
当前控制器应该很快,所以我不能放入一个 sw 定时器,但是我读到的关于 RTOS 的文档说我应该在使用 RTOS 时将最少的代码放入中断处理函数中,而 PI 控制器不是我认为的那样。这就是为什么 1. 想法似乎有问题的原因。
但是,如果我将快速电流控制器放入一个信号比 systick 快得多的线程中,它是否能够处理它?这是一个可怕的想法吗?
所以确切的问题是:当所需频率远高于系统频率时,我应该如何使用 RTOS 实现快速 PI 控制器?
谢谢您的帮助!