STM32F4 磁链观测器+PLL 无感无刷电机位置驱动

2023-10-25 08:28

本文主要是介绍STM32F4 磁链观测器+PLL 无感无刷电机位置驱动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        在前面几节我们介绍了基于stm32f1的定点运算的滑膜观测器反正切以及stm32f4的浮点运算滑膜+PLL的案例,大家反馈的还挺好,在做售后的过程中有小伙伴咨询了磁链观测器和隆伯格观测器,针对磁链观测器咨询的较多,我们调试了磁链的程序,以及在这一讲我们将为大家简单讲解一下磁链观测器的使用方法。

硬件测试平台依旧使用我们前面用到的滑膜+PLL的 KY_Motor无刷电机驱动板:

       PMSM的FOC控制需要位置信息。在一些应用中,安装位置传感器很麻烦,例如,在一些真空泵中,由于密封性问题,不可能将电机轴伸出电机壳外。在起重机和电梯应用中,电机和逆变器之间的距离很大,传感器信号衰减和噪声干扰很高。在一些家用设备,如冰箱和空调,成本限制阻碍了传感器的使用。

        PMSM无传感器技术大致分为三种类型:反电动势(EMF)、电感和磁链。

        转子磁链观测器利用定子电压、定子电流或转子转速信号观测出转子磁链的相位和幅值。如果转子磁链的相位观测不准,那么定子电流的励磁分量与转矩分量就不能实现完全的解耦,可能会造成系统的振荡甚至不稳定。如果观测出转子磁链的幅值偏大,会使得电机运行在弱磁状态,减小带载能力;如果观测出转子磁链的幅值偏小,会导致过大的励磁电流,使电机的铁心饱和,严重时还会导致绕组过热而烧坏电机。因此决定整个矢量控制系统性能优劣的最为关键环节就是转子磁链观测器。

         电压型磁链观测器方程

从式(2-51)可以发现该观测器具有以下特点:

(1) 该模型与转子电阻无关,且不需要电机转速信息,适合用于无速度传感器矢量控制系统;

(2) 包含一纯积分项,被积项的初始相位与直流偏置都会影响积分结果;

(3) 低速时观测器性能较差。因为低速时给定的定子电压幅值小,电机端电压难以精确获得,定子电阻的阻值在运行过程中又会发生变化,使得被积项产生明显的相对误差。

电流型磁链观测器方程

从(2-53)可以看出磁链观测器具有以下特点:

1、需要实测的电子电流和转速信号,不需要定子电压信号;

2、包含转子时间常数和互感参数,当电机温升和磁路饱和时会对这些参数产生较大影响;

3、不包含纯积分环节,故其观测值是渐进收敛的。

如何用C语言将磁链方程转述出来:

只需要下面四步就可以将磁链和PLL表述出来。

1、void Observer_Par_init(void);//初始化磁链参数

2、Flux_Observer_Angle(float Ialpha,float Ibeta,float Ualpha,float Ubeta);//磁链观测器角度

3、Observer_Flux(PFlux_Obser ptHandle);//磁链观测器实现

4、Flux_Pll_Compute(PFlux_Obser ptHandle);//磁链+PLL计算

磁链初始化需要初始化电机参数,增益以及PI参数,完整函数如下:

void Observer_Par_init(void)
{Flux_Obser.Ls = Motor_Ls;Flux_Obser.Flux = Motor_Flux*Motor_Flux;Flux_Obser.Gain = 1000000.0f; Flux_Obser.Rs = Motor_Rs;Flux_Obser.tPll.Kp=  300.00f; Flux_Obser.tPll.Ki = 100.0f;Flux_Obser.tPll.Speed_coeff = 60.0f/(2.0f*Motor_Pn*PI);//每Ts角度增加Ui电角度 可求速度Flux_Obser.tPll.Kslf = LPF_CutFre(100.0f); //100Hz 截止频率}

磁链观测器角度函数:

void Flux_Observer_Angle(float Ialpha,float Ibeta,float Ualpha,float Ubeta)
{Flux_Obser.I_Alpha = Ialpha;Flux_Obser.I_Beta  = Ibeta;Flux_Obser.U_Alpha = Ualpha;Flux_Obser.U_Beta  = Ubeta;Pll_Compute(&Flux_Obser.tPll,Flux_Obser.Est_Yita_alpha,Flux_Obser.Est_Yita_beta);
}

磁链观测器+PLL计算函数:

void  Flux_Pll_Compute(PFlux_Obser ptHandle)
{float Sin_Value = 0;float Cos_Value = 0;Cos_Value = arm_cos_f32(ptHandle->tPll.Theta);Sin_Value = arm_sin_f32(ptHandle->tPll.Theta);ptHandle->tPll.Err =  ptHandle->Est_Yita_beta  * Cos_Value - \ptHandle->Est_Yita_alpha * Sin_Value;ptHandle->tPll.Interg +=ptHandle->tPll.Err * ptHandle->tPll.Ki;ptHandle->tPll.Ui = ptHandle->tPll.Err * ptHandle->tPll.Kp + ptHandle->tPll.Interg;ptHandle->tPll.Theta += ptHandle->tPll.Ui;ptHandle->tPll.Theta = (ptHandle->tPll.Theta > 2*PI)? ptHandle->tPll.Theta- 2*PI :ptHandle->tPll.Theta;ptHandle->tPll.Theta = (ptHandle->tPll.Theta < 0)? ptHandle->tPll.Theta + 2*PI : ptHandle->tPll.Theta;ptHandle->tPll.SpeedLpf_Rpm = ptHandle->tPll.SpeedLpf_Rpm + ptHandle->tPll.Kslf * (ptHandle->tPll.Speed_Rpm - ptHandle->tPll.SpeedLpf_Rpm);}

        以上就是磁链观测器+PLL在stm32f4平台上实现的全过程,写的比较简单,磁链属于foc控制的进阶教程,相信有foc控制基础的学员,看了这个教程能有一些启发,也能自己写出完整的磁链控制程序,能够更加深入的去实现磁链控制以及无感电机foc控制。

下面是完整的测试视频:

        视频中我们分别对电流波形进行了上位机显示,通过启动波形,电位器调速的波形来形象直观的感受磁链观测器的启动过程,以及带负载的情况。

stm32f4平台 磁链+PLL 无感无刷电机控制实例

这篇关于STM32F4 磁链观测器+PLL 无感无刷电机位置驱动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/281284

相关文章

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

POJ1269 判断2条直线的位置关系

题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。  判断共线:  p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0  来判断,  判断 平行:  p1p

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

Linux Centos 迁移Mysql 数据位置

转自:http://www.tuicool.com/articles/zmqIn2 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysql5.1 yum 安装的 mysql 服务 查看 mysql 的安装路径 执行查询 SQL show variables like

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

驱动(RK3588S)第七课时:单节点设备树

目录 需求一、设备树的概念1、设备树的后缀名:2、设备树的语法格式3、设备树的属性(重要)4、设备树格式举例 二、设备树所用函数1、如何在内核层种获取设备树节点:2、从设备树上获取 gpio 口的属性3、获取节点上的属性只针对于字符串属性的4、函数读取 np 结点中的 propname 属性的值,并将读取到的 u32 类型的值保存在 out_value 指向的内存中,函数的返回值表示读取到的

驱动安装注册表指令

HKCR: HKEY_CLASSES_ROOT HKCU: HKEY_CURRENT_USER HKLM: HKEY_LOCAL_MACHINE HKU: HEKY_USER HER: 相对根键

UMDF驱动安装

VS2013 + WDF8.1,UMDF驱动选择User Mode Driver,不要选User Mode Driver 2.0,否则Win7安装有问题,如图 另外,在驱动安装时不要忘记WUDFUpdate_<主版本号><次版本号>.dll文件,具体文件名在INF中查找。此文件可在WDF的安装目录中找到。注意:在WDF的安装目录中会有3个WUDFUpdate_xxx.dll文件,x86,x6

电脑驱动分类

电脑驱动程序(驱动程序)是操作系统与硬件设备之间的桥梁,用于使操作系统能够识别并与硬件设备进行通信。以下是常见的驱动分类: 1. 设备驱动程序 显示驱动程序:控制显卡和显示器的显示功能,负责图形渲染和屏幕显示。 示例:NVIDIA、AMD 显示驱动程序。打印机驱动程序:允许操作系统与打印机通信,控制打印任务。 示例:HP、Canon 打印机驱动程序。声卡驱动程序:管理音频输入和输出,与声卡硬件