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. 对硬件要求高: 矢量控制对控制器硬件性能要求较高,需要更多的计算资源来执行复杂的控制算法。

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

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

cpp 复制代码
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();
	}
}

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

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

cpp 复制代码
//霍尔方式
#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 
相关推荐
stm32发烧友15 小时前
基于STM32的智能家居安防系统设计
stm32·嵌入式硬件·智能家居
LightningJie15 小时前
STM32(hal库)中的定时器从模式TIM_SlaveConfigTypeDef结构体中的含义,以及可选参数的含义都是什么意思
stm32·单片机·嵌入式硬件
小齿轮lsl16 小时前
无桥Boost-PFC 双闭环控制MATLAB仿真
单片机·嵌入式硬件·matlab·电力电子·电源硬件·pfc
Matlab程序猿小助手18 小时前
【MATLAB源码-第213期】基于matlab的16QAM调制解调系统软硬判决对比仿真,输出误码率曲线对比图。
开发语言·嵌入式硬件·算法·matlab·机器人
鱼与仙人掌19 小时前
STM32:ADC
stm32·单片机·嵌入式硬件
yangpipi-20 小时前
Linux系统程序设计--2. 文件I/O
linux·stm32·单片机
沐欣工作室_lvyiyi1 天前
汽车牌照识别系统的设计与仿真(论文+源码)
人工智能·单片机·fpga开发·汽车·单片机毕业设计·matlab车牌识别
努力的里1 天前
【STM32开发】-FreeRTOS开发入手学习
stm32·学习·freertos·rtos
wenchm1 天前
细说STM32单片机USART中断收发RTC实时时间并改善其鲁棒性的另一种方法
stm32·单片机·实时音视频
雷打不动的晴天1 天前
关于PCB供电保护的问题
嵌入式硬件