stm32 无刷电机 V/F控制(无刷电机变频控制)以及与foc(矢量控制)的区别

       无刷电机有三种控制方式,方波控制,foc控制以及变频控制,前两章我们讲解了方波和foc的控制方法,今天我们一起来讲一讲什么是无刷电机的变频控制(VF)以及变频控制的优势是什么。

        实验用的硬件还是KY_Motor的无刷电机开发板:无刷电机开发板

 

什么是无刷电机变频控制?

        VF控制是指通过调节电机的电压和频率来实现对电机转速的控制,其中VF分别代表电压(V)和频率(f)。通过电压和频率的比例关系,可以实现电机的平滑启停、调速和定子电流控制。

        V/F控制方式保证了输出电压与运行频率成一定比例,即在大部分转速范围内V/F=常数。V/F控制是为了得到理想的转矩–转速特性,在改变电源频率进行调速的同时,又保证电动机的磁通不变。

无刷电机变频控制的优势是什么?

  1. 高效性: 无刷电机变频控制可以根据实际负载需求调整电机的转速和功率输出,从而实现更高的能量效率。这种精确的控制意味着电机不会消耗多余的能量,从而降低能源消耗和运行成本。

  2. 低噪音: 由于无刷电机变频控制可以平稳地调整电机的转速和运行状态,它可以减少机械振动和噪音的产生。这对于要求低噪音操作的应用,如家用电器和医疗设备,非常重要。

  3. 长寿命: 无刷电机变频控制的精确性可以避免电机长时间运行在高负载或不必要的工作状态下,从而延长电机的寿命。此外,无刷电机的设计通常减少了摩擦和磨损,进一步提高了电机的耐用性。

  4. 精确控制: 无刷电机变频控制可以实现精确的速度和转矩控制,使其在需要高度准确性和稳定性的应用中表现出色。例如,工业自动化中的精密加工和定位任务就需要高度可控的电机。

  5. 快速响应: 无刷电机变频控制系统可以迅速调整电机的输出,实现快速启动、停止和动态响应。这对于需要快速变化工作状态的应用,如机器人技术和电动交通工具,非常重要。

  6. 适应性强: 无刷电机变频控制可以根据不同的工作负载和环境条件自动调整电机的参数和运行状态,从而适应不同的工作场景,提高了系统的稳定性和可靠性。

        从上述的优点我们可以看出,无刷电机变频控制在能效、噪音、寿命、精确性、响应速度和适应性方面的优点使其成为许多领域中理想的电机控制解决方案。

变频控制和矢量控制的优缺点比较

变频控制:

优点:

  1. 简单经济: 无刷电机变频控制通常相对简单,适用于一些对精度要求不太高的应用。它可以提供基本的速度和转矩控制。

  2. 高效节能: 无刷电机变频控制可以根据负载需求调整电机的运行速度,从而实现能耗的节约,特别是在负载变化较大的情况下。

  3. 可靠性较高: 由于控制策略相对简单,无刷电机变频控制系统通常具有较高的可靠性,且易于维护。

缺点:

  1. 精度限制: 无刷电机变频控制在精确控制电机转矩和速度方面的性能有限,不太适合高精度要求的应用。

  2. 低速性能受限: 在低速和低转矩工况下,无刷电机可能存在控制困难,容易出现振荡或不稳定现象。

矢量控制:

优点:

  1. 高精度: 矢量控制通过精确的电流、电压控制,可以实现对电机转矩、速度和位置的高精度控制,适用于要求严格的高精度应用。

  2. 稳定性强: 矢量控制在控制过程中考虑电机的动态特性,能够在不同工况下保持稳定的运行,具有良好的响应性。

  3. 低速高转矩性能优异: 矢量控制在低速和高转矩工况下的性能表现优秀,适用于一些特殊工况,如起重设备。

缺点:

  1. 复杂昂贵: 矢量控制涉及复杂的算法和控制策略,因此相对于无刷电机变频控制而言,实施和维护成本较高。

  2. 对硬件要求高: 矢量控制对控制器硬件性能要求较高,需要更多的计算资源来执行复杂的控制算法。

说了这么多理论的东西,我们来看一下程序如何转换。

主要控制程序就是这个函数。

void Anwerfen(void) 
{
	VvvF_startPare.Voilage_Ref =300;//1500
  StateContr.Duty = VvvF_startPare.Voilage_Ref;
	MOS_Q24PWM(); //固定一相
	Delay_MS(5);
	VvvF_startPare.Freq_T_Ref = 300;
	while(1)
	{
		for(VvvF_startPare.Freq_T_Ref_Count=0;VvvF_startPare.Freq_T_Ref_Count<VvvF_startPare.Freq_T_Ref; VvvF_startPare.Freq_T_Ref_Count++) 
		{
			Delay_US(800);  	//1800
		} 
		VvvF_startPare.Freq_T_Ref-= VvvF_startPare.Freq_T_Ref/15+1;
		VvvF_startPare.Count++;			
		Change_Voltage();
		if(VvvF_startPare.Freq_T_Ref < 25) 
		{ 		
			if(TEST_MANUELL)
			{
				VvvF_startPare.Freq_T_Ref = 25;   //开环强制换向
			}
			else
			{	
				break; 
			}				
		}	
		VvvF_startPare.VvvF_Count++;
		
		if(VvvF_startPare.VvvF_Count == 6)
		{
			VvvF_startPare.VvvF_Count = 0;
		}
		Anwerfen_SW();
	}
}

        程序中随时切换三种模式,

         分别为:开环、速度环和速度环+电流环,通过切换头文件宏定义的方式来选择不同的运行模式。

//霍尔方式
#define  HALL

//无霍尔方式
//#define  HALLLESS

//1:开环;2:速度环;3速度环、电流环;
#define  LOOP                           2

//PWM频率,单位KHZ;
#define  PWM_FREQ                      ((u16) 18) 

//配置目标转矩,增大可提高力矩 
#define  Torque                         0x00FF

//Hallless 滤波长度
#define  FILTER_LONG                    0xFFFF  

//速度PID
#define  Speed_Kp                       0.05 
#define  Speed_Ki                       0.01 
#define  Speed_Kc                       0.01 

//电流PID
#define  Current_Kp                     2 
#define  Current_Ki                     0.2
#define  Current_Kc                     0.01 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/87512.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Eureka 的几种主动下线服务的方式

补充&#xff1a;在启动eureka服务的时候发现控制台有以下的输出 由此猜想可以通过改接口下线服务&#xff0c; 于是尝试了一下。 果然能从注册中心中移除该实例。 1. 直接停掉服务。 默认情况下&#xff0c;如果Eureka Server在90秒没有收到Eureka客户的续约&#xff0c;它…

AMBA总线协议(9)——AHB(七):终章

一、前言 在之前的文章中我们讲述了AHB协议的分割传输机制&#xff0c;它使得从机可以决定一次传输是否继续进行&#xff0c;以防止 传输的执行将占据大量的时钟周期&#xff0c;有效提高了总线的公平性与效率问题&#xff0c;本文中我们将一次性学习完AHB最后的内容&#xff0…

mysql 8.0 窗口函数 之 分布函数 与 sql server (2017以后支持) 分布函数 一样

mysql 分布函数 percent_rank&#xff08;&#xff09; &#xff1a;等级值 百分比cume_dist() &#xff1a;累积分布值 percent_rank&#xff08;&#xff09; 计算方式 (rank-1)/(rows-1)&#xff0c; 其中 rank 的值为使用RANK()函数产生的序号&#xff0c;rows 的值为当前…

测试框架pytest教程(9)跳过测试skip和xfail

skip无条件跳过 使用装饰器 pytest.mark.skip(reason"no way of currently testing this") def test_example(faker):print("nihao")print(faker.words()) 方法内部调用 满足条件时跳过 def test_example():a1if a>0:pytest.skip("unsupported …

单片机的ADC

如何理解ADC。ADC就是将模拟量转换成数字量的过程&#xff0c;就是转换为计算机所能存储的0和1序列&#xff0c;比如将模拟量转换为一个字节&#xff0c;所以这个字节的大小要能反应模拟量的大小&#xff0c;比如一个0-5V的电压测量量&#xff08;外部输入电压最小0V,最大为5V&…

MyBatis动态SQL、模糊查询与结果映射

目录 前言 一、MyBatis动态SQL 1.动态SQL是什么 2.动态SQL的作用 3.常用动态SQL元素 1. where if 元素 2. set if 元素 3. choose when otherwise 元素 4. 自定义 trim 元素 <1>. 自定义 trim 元素改写上面的 where if 语句 <2>. 自定义 trim 元素改…

2023前端求职经历回顾及面试题总结

文章目录 前言一、求职经历二、前端面经1. 投简历的正确打开方式2. 面经及面试题复盘外企面经、面试题大厂面经、面试题面试中的笔试有三种笔试题 给同行的温馨提示我的其他热门文章 前言 2023 年的春节之前&#xff0c;几乎没有公司招人&#xff0c;直到 2023年2月10日 左右&a…

【ARM AMBA AXI 入门 10 - AXI 总线 DATA信号与 STRB 信号之间的关系 】

文章目录 AXI STRB 信号 AXI STRB 信号 AXI总线是ARM公司设计的高性能处理器接口&#xff0c;其中STRB和DATA信号在AXI协议中有特殊的含义和关系。 DATA信号&#xff1a;在AXI中&#xff0c;DATA信号用于在读写操作中传输实际的数据。数据的大小可以根据AXI接口的位宽来变化&…

【深度强化学习】Python:OpenAI Gym-CarRacing 自动驾驶 | 提供项目完整代码 | 车道检测功能 | 路径训练功能 | 车辆控制功能

💭 写在前面:本篇是关于 OpenAI Gym-CarRacing 自动驾驶项目的博客,面向掌握 Python 并有一定的深度强化学习基础的读者。GYM-Box2D CarRacing 是一种在 OpenAI Gym 平台上开发和比较强化学习算法的模拟环境。它是流行的 Box2D 物理引擎的一个版本,经过修改以支持模拟汽车…

线性代数强化第三章

目录 一&#xff0c;关于A伴随&#xff0c;A逆与初等矩阵 二&#xff0c;分块矩阵 三&#xff0c;矩阵方程 ​ 一&#xff0c;关于A伴随&#xff0c;A逆与初等矩阵 如何证明行列式的值不能是0&#xff1b; 此秩为1. 法一&#xff1a; 法二&#xff1a; 不用看是列变换还是行变…

xargs 的用法 在1个文件夹中批量删除文件,这些删除的文件名是另一个文件夹中的文件名。

xargs 的用法 在1个文件夹中批量删除文件&#xff0c;这些删除的文件名是另一个文件夹中的文件名。 1、问题背景 应用场景 1、问题背景 应用场景 在二进制部署docker时&#xff0c;会把docker的所有可执行文件复制到/usr/bin下。 如果说复制过去后&#xff0c;想要反悔&#x…

vue 学习笔记 简单实验

1.代码(html) <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"counter">Counter: {{ counter }} </div> <script> const Counter {data() {return {counter: 5}} } Vue.cr…

【文化课学习笔记】【化学】新教材必修二:化学反应与能量

【化学】必修二&#xff1a;化学反应与能量 注&#xff1a;本文只含有新教材必修二化学反应与能量的部分&#xff0c;未涉及到选必一及后面更难更深的知识点。 化学反应与热能 吸热反应与放热反应 概念及常见的放热/吸热反应 概念&#xff1a; 放热反应&#xff1a;释放热量的化…

如何限制PDF打印?限制清晰度?

想要限制PDF文件的打印功能&#xff0c;想要限制PDF文件打印清晰度&#xff0c;都可以通过设置限制编辑来达到目的。 打开PDF编辑器&#xff0c;找到设置限制编辑的界面&#xff0c;切换到加密状态&#xff0c;然后我们就看到 有印刷许可。勾选【权限密码】输入一个PDF密码&am…

Pandas学习笔记

Pandas数据分析处理库 数据预处理 导入一份泰坦尼克号乘客数据 df.head()展示读取数据&#xff0c;默认读取前5行 df.tail()默认读取后5行 df.head(10)读取前10行DataFrame结构 Pandas工具包的基础结构&#xff0c;二维矩阵结构&#xff0c;行表示数据样本&#xff0c;列表示…

2023年国赛数学建模思路 - 案例:随机森林

文章目录 1 什么是随机森林&#xff1f;2 随机深林构造流程3 随机森林的优缺点3.1 优点3.2 缺点 4 随机深林算法实现 建模资料 ## 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是随机森林&#xff…

司徒理财:8.21黄金空头呈阶梯下移!今日操作策略

黄金走势分析 盘面裸k分析&#xff1a;1小时周期的行情局部于1896附近即下行通道上轨附近录得一系列的K线呈震荡下行并筑圆顶&#xff0c;上轨压制有效&#xff0c;下行通道并未突破&#xff0c;后市建议延续看下行。4小时周期局部录得一系列的纺锤线呈震荡&#xff0c;但行情整…

Pinia基本概念

Pinia基本概念 面试题&#xff1a;Pinia 相比 Vuex 有什么样的优点&#xff1f;为什么现在官方推荐使用 Pinia &#xff1f; Pinia&#xff0c;是一个 Vue 阵营的新的状态管理库&#xff0c;现在 Vue 官方已经推荐使用 Pinia 来代替 Vuex&#xff0c;或者你可以把 Pinia 看作是…

C++设计模式之桥接模式

文章目录 一、桥接模式二、std::error_code与设计模式&#xff08;桥接模式&#xff09;参考 一、桥接模式 在C中&#xff0c;桥接模式通常涉及以下几个角色&#xff1a; 抽象类接口&#xff08;Abstraction&#xff09;&#xff1a;定义抽象部分的接口&#xff0c;并维护一个…

C语言之扫雷游戏实现篇

目录 主函数test.c 菜单函数 选择循环 扫雷游戏实现分析 整体思路 问题1 问题2 问题3 问题4 游戏函数&#xff08;函数调用&#xff09; 创建游戏盘数组mine 创建游戏盘数组show 初始化游戏盘数组InitBoard 展示游戏盘DisplayBoard 游戏盘置雷SetMine 游戏…