【电机控制】PMSM无感FOC控制(九)无感启动

2024-01-24 04:20

本文主要是介绍【电机控制】PMSM无感FOC控制(九)无感启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

0. 前言

        终于到了FOC无感入门的最后被一个章节了,无感foc的启动其实很好理解,分为三个阶段:转子定位、I/F强拖、电流转速双闭环。


1. 无感foc启动

(1)转子定位阶段:

        首先将q轴电流设定一个能将转子拖动的值Iq_force,Id给0,角度给0,进行反park变换和SVPWM,产生一个固定的磁场将转子拖动到初始位置,然后切换到I/F强拖阶段

(2)I/F强拖阶段:

        由于电机处于低速时,产生的反电动势比较小,通过滑模观测器观测到的角度和转速并不准确,所以要通过强拖将电机转速拉升到一定值后,再切换到滑模观测器观测的角度去进行控制。

        在强拖阶段我们其实并不关心转子的实际位置到底处于哪里,我们只需要人为给定一个不断增加的转子角度θ_force,由于q轴电流一直都是Iq_force大小,而角度开始变化了,因此产生的磁场开始旋转了,带动着电机转动。

        当磁场旋转的速度达到一定的值了之后,这时电机的转速也跟着上来了,此时滑模观测器观测到的角度和转速就比较准确了,可以进行速度开环切速度闭环了。

        这里有两个需要注意的点:1.转子定位阶段和I/F强拖阶段电流都是闭环的,I/F强拖阶段的转速是开环的;2.强拖时要注意控制磁场旋转的速度慢慢增加,否则可能会出现强拖失败的情况。

(3)转速开环切闭环阶段

        这个阶段是整个启动过程中最重要的阶段,由于I/F强拖时使用的角度是人为给定的θ_force,而滑模观测器观察到的转子的角度是θ_smo,这两个坐标系存在一个角度差Δθ,如下图所示:

        图中d*q*坐标系是强拖时人为给定的旋转坐标系,而dq是转子实际的旋转坐标系。我们在从原来的强拖角度切换到滑模观测器观测到的实际角度的时候,需要将原来d*q*坐标系下的Iq_force等效变换过来,只有这样转矩才不会突变,如下图所示:

        最后再将d轴电流慢慢降为0,这就是无感foc启动的整个过程,整个流程图如下图所示:


2. 总结

        无感foc入门到这里就结束了,后面安排是先搭建好模型,然后开始码代码,封一些foc的算法库,这些做完之后再开始给大家分享新的文章,计划会讲讲电流前馈补偿、积分抗饱和、弱磁控制、MTPA,可能还会开两个系列分别讲讲BLDC的有感/无感六步方波控制、步进电机的细分控制吧。

这篇关于【电机控制】PMSM无感FOC控制(九)无感启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

Python异步编程中asyncio.gather的并发控制详解

《Python异步编程中asyncio.gather的并发控制详解》在Python异步编程生态中,asyncio.gather是并发任务调度的核心工具,本文将通过实际场景和代码示例,展示如何结合信号量... 目录一、asyncio.gather的原始行为解析二、信号量控制法:给并发装上"节流阀"三、进阶控制

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用