我将从头开始构建自己的四轴飞行器。但是,我在了解如何控制四轴飞行器而不知道BLDC电动机的当前rpm时遇到问题。根据我的理解,在数学模型中需要推力来计算推力等,这将用于调节。

我所看到的电调具有两根线,将它们连接到飞行控制器。第一个是GND,第二个是信号线,用于发送PWM信号-没有有关电动机速度的信息。还有IMU单元,它提供有关整个飞机加速度的信息,但也没有有关电动机速度的信息。

如果有人可以详细解释它,我将不胜感激。

评论

有两个广泛的主题,所以我认为可能有两个问题。一个关于设计阶段(特别是推力估计和数学模型生成),另一个关于控制该车辆,特别参考推力信息。这两个都是我认为值得讨论的有效问题。

要设计控制器,您不一定需要rpm信息。包括必要的动力学特性(二阶?)的线性模型足以设计,验证和编码您的控制器。如果您不希望采用工程师的方式,也可以尝试通过反复试验来调整控制器。

#1 楼

有两件事,首先是控制器实际上并不关心“真实”值是什么。一切都是相对的,如果控制器发现它正在下沉,它将增加推力,直到不下沉为止。如果它向左倾斜太远,它将减小右推力,并增大左推力。 (如果您想设计自己的控制器,这是一个很好的资源)

另一件事是,我们通常假设来自电动机,ESC和prop组合的推力响应是瞬时的,因此在理想情况下,我们告诉电机将立即从5%的速度更改为100%的速度,但是在现实世界中,通常将某些延迟建模为特定频率下正弦波输入与其输出之间的差异。这称为相位和增益裕度。

#2 楼

你是对的。您应该知道螺旋桨的转速才能建立四轴飞行器的数学模型,如果您已经拥有无刷直流电动机的数学模型,则可以根据发送给电动机的PWM信号(以及其他因素,具体取决于该模型有多少准确)。这个复杂的模型对于模拟很有用,但没有必要在真实环境中控制系统。

如前所述,要真正控制系统,控制器不需要螺旋桨的rpm值,但是仅信任的价值。您只能基于IMU给出的值来使用PID控制器。

对于更复杂的控制器,您可能需要信任和PWM信号之间的近似关系,但我认为不存在任何控制器依靠螺旋桨的转速,将浪费计算资源。