VESC无感非线性磁链观测器+PLL(源码+参考文献+仿真模型) ①源码:VESC的无感非线性观测器代码,并做了简单的调试,可以做到0速启动。 代码注释非常详细,快速入门 ②参考文献(英文+翻译):为VESC非线性观测器的论文出处 ③对应的simulinK仿真 大名鼎鼎的VESC里面的观测器。 对学习非线性观磁链测器有很大帮助 图一:为观测位置角度与真实角度波形。 1、《bldc-dev_fw_5_02》为VESC的官方源代码,里面使用了非线性观测器,但是工程很大,功能太多,很难学习,并且使用了操作系统,很难自己使用。 2、《08_ARM_PMSM_磁链观测器》为STM32F405407平台的代码,原本采用VF启动+smo方案。 在该代码框架上,我移植了VESC的无感非线性观测器代码,并做了简单的调试,基本可以0速启动,但带载能力不行,可能还需要进一步调参。 3、《本杰明位置速度观测器》为VESC非线性观测器的论文出处。 4、《无感算法》为我翻译的,英语水平较差,见谅,但原理都解释的很清楚了。

在电机控制领域,大名鼎鼎的 VESC 里面的观测器一直是众多爱好者和工程师研究的对象,对学习非线性观磁链测器有着极大的帮助。今天就来详细聊聊 VESC 无感非线性磁链观测器 + PLL 相关的源码、参考文献以及仿真模型。

一、源码剖析

我在探索过程中发现,《bldc - devfw5_02》作为 VESC 的官方源代码,其中运用了非线性观测器。然而,这个工程体量庞大,功能繁杂,还使用了操作系统,对于初学者来说自行上手学习难度颇高。

而我基于《08ARMPMSM_磁链观测器》这个原本采用 VF 启动 + smo 方案的 STM32F405407 平台代码框架,移植了 VESC 的无感非线性观测器代码,并进行了简单调试。目前已能实现 0 速启动,不过带载能力还有待加强,后续可能还需进一步调参优化。

下面来看部分关键代码(以简单示意为例,实际代码会更复杂且依赖硬件平台):

// 定义一些参数
float flux_est_x = 0;
float flux_est_y = 0;
float alpha = 0.1; // 可调节参数

// 磁链观测器核心算法
void flux_estimator(float voltage_alpha, float voltage_beta, float current_alpha, float current_beta) {
    // 根据电压模型估计磁链
    flux_est_x = flux_est_x + alpha * (voltage_alpha - R * current_alpha);
    flux_est_y = flux_est_y + alpha * (voltage_beta - R * current_beta);
}

这段代码就是磁链观测器的一个简单实现部分。这里通过不断迭代更新估计的磁链值 fluxestxfluxestyalpha 这个参数在这里起到了类似学习率的作用,控制着磁链估计值的更新速度。voltagealphavoltagebeta 是电机电压在 $\alpha - \beta$ 坐标系下的分量,currentalphacurrentbeta 则是电流在 $\alpha - \beta$ 坐标系下的分量,R 是电机绕组电阻。通过这样的计算,我们能够不断逼近真实的磁链值。

VESC无感非线性磁链观测器+PLL(源码+参考文献+仿真模型) ①源码:VESC的无感非线性观测器代码,并做了简单的调试,可以做到0速启动。 代码注释非常详细,快速入门 ②参考文献(英文+翻译):为VESC非线性观测器的论文出处 ③对应的simulinK仿真 大名鼎鼎的VESC里面的观测器。 对学习非线性观磁链测器有很大帮助 图一:为观测位置角度与真实角度波形。 1、《bldc-dev_fw_5_02》为VESC的官方源代码,里面使用了非线性观测器,但是工程很大,功能太多,很难学习,并且使用了操作系统,很难自己使用。 2、《08_ARM_PMSM_磁链观测器》为STM32F405407平台的代码,原本采用VF启动+smo方案。 在该代码框架上,我移植了VESC的无感非线性观测器代码,并做了简单的调试,基本可以0速启动,但带载能力不行,可能还需要进一步调参。 3、《本杰明位置速度观测器》为VESC非线性观测器的论文出处。 4、《无感算法》为我翻译的,英语水平较差,见谅,但原理都解释的很清楚了。

代码注释十分详细,对于想要快速入门的朋友来说非常友好,能够迅速理解每一步的作用。

二、参考文献

在研究 VESC 非线性观测器的过程中,参考文献是不可或缺的指引。

英文文献

《本杰明位置速度观测器》就是 VESC 非线性观测器的论文出处。这篇论文详细阐述了该观测器的理论基础、设计思路以及相关算法推导,为深入理解 VESC 非线性观测器提供了核心理论依据。

翻译文献

我还翻译了一篇《无感算法》。虽然我英语水平有限,但尽力将其中原理解释清楚了。这篇翻译文献从更通俗易懂的角度,对无感算法相关内容进行解读,对于那些不太擅长阅读英文文献的朋友来说,是一个很好的辅助资料。它可以帮助我们快速抓住无感算法的核心要点,结合英文原文,能更全面地理解整个观测器的设计与运行逻辑。

三、对应的 Simulink 仿真

通过 Simulink 仿真,我们可以直观地验证 VESC 无感非线性磁链观测器的性能。其中图一展示了观测位置角度与真实角度波形。从波形中我们能清晰地看到观测器估计的角度与真实角度之间的偏差情况,从而评估观测器的准确性。

在搭建仿真模型时,需要根据电机的数学模型以及 VESC 观测器的算法来构建各个模块。例如,电机模块需要设置电机的参数,如电阻、电感、极对数等;观测器模块则依据我们前面提到的算法代码来实现其功能。通过设置不同的工况,如不同的转速、负载等,可以全面测试观测器在各种情况下的性能表现。

综上所述,无论是源码、参考文献还是仿真模型,对于深入学习和研究 VESC 无感非线性磁链观测器 + PLL 都至关重要。源码让我们从实践层面理解算法的实现,参考文献提供理论支撑,而仿真模型则是验证和优化算法的有力工具。希望通过我的分享,能让更多朋友在这个领域有所收获,一起探索电机控制的奇妙世界。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐