【电机控制】FOC算法验证步骤

【电机控制】FOC算法验证步骤
请添加图片描述



前言

【电机控制】直流有刷电机、无刷电机汇总——持续更新
使用工具:
1.示波器:PICO7


提示:以下是本篇文章正文内容,下面案例可供参考

一、PWM——不接电机

载波频率12.5K

#define  PWM_Fre            12.5

#define  PWM_Perload        72000/(uint32_t)(PWM_Fre*2) //2880

分别让寄存器上桥发波50%,25%,0%,下桥互补输出,50%,75%,100%

	 CMPA = 1440;	//(0.5+1)*2880/2
	 CMPB = 720;	
	 CMPC = 0;

将寄存器的值串口打印至上位机
在这里插入图片描述
同时在仿真器显示
在这里插入图片描述

采样点,控制芯片引脚输出至预驱芯片引脚,本次实验采的是驱动器引脚,直接采集控制芯片引脚也可以
在这里插入图片描述

1、PWMA-H-50%

在这里插入图片描述

2、PWMB-H-25%

在这里插入图片描述

3、PWMC-H-0%

在这里插入图片描述

4、PWMA-L-50%

在这里插入图片描述

5、PWMB-L-75%

在这里插入图片描述

6、PWMC-L-100%

在这里插入图片描述

二、ADC——不接电机

1.电流零点稳定性、ADC读取的OFFSET

串口打印出AD采样寄存器的值,看是否稳定

 printf("%.4d,%.4d,%.4d\n", ADC_GetInjectedConversionValue(ADC1, ADC_InjectedChannel_1),ADC_GetInjectedConversionValue(ADC1, ADC_InjectedChannel_2),ADC_GetInjectedConversionValue(ADC1, ADC_InjectedChannel_3));	
				

打印结果
在这里插入图片描述
U相V相约有450个ADC值,W相约有1500个ADC值OFFSET

2.电流钳准备

直流稳压电源输出0.6A
请添加图片描述
电流钳抓到0.6A左右
在这里插入图片描述

3.运放电路分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.电路OFFSET

程序上读取offset值的时候是在初始化阶段,电机处于停止状态,此时的相电流等于0。
(VM_IA -V6)/R28=(V6-VGND)/R36
VM_IA=3×V6
V5=VA×R42/(R41+R42)+VREF×R41/(R41+R42)=0.91VA+0.159
由虚短可得,V5=V6
VM_IA=2.73VA+0.477<=3.3V
下桥几乎没有电流通过时,不带电机测试时,可以测得为0.48V

2.AOP

AOP=Vout/Vin=VM_IA/VA=2.73

3.采样电路的采样值范围

2.73VA+0.477<=3.3V
VA<=1.03V,Rshout=0.05Ω
IA=VA/Rshout<=20.6A
相电流最大采集20A

4.相电流与ADC采样值的关系

我们需要计算相电流与ADC采样值的关系,也就是说,通过ADC采样的值,经过数学公式计算,可以计算出来当前相电流为多少,再根据相电流进行FOC变换

IA=7.3×VM_IA-3.5=7.3×VM_IA×3.3/4096-3.5-offset
此时VM_IA为ADC采样值,通过单片机引脚接入

电流=(ADC原始值/4096∗3.3-offset)/采样电阻阻值/运放放大倍数

4.电流极性判断——接电机

	 CMPA = 1440;	//50%
	 CMPB = 288;	//10%
	 CMPC = 288;	//10%

三、参考文献

运放-同相放大与反相放大
foc学习笔记3——电流环
关于FOC相电流采样电路参数的分析
FOC(电机矢量控制)调试记录

总结

本文仅仅简单介绍了【电机控制】FOC算法验证步骤,评论区欢迎讨论。

相关推荐

  1. STM32 FOC算法调节电机

    2024-06-10 06:14:01       42 阅读
  2. 摇杆控制电机

    2024-06-10 06:14:01       20 阅读
  3. 电机控制原理

    2024-06-10 06:14:01       15 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-10 06:14:01       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-10 06:14:01       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-10 06:14:01       4 阅读
  4. Python语言-面向对象

    2024-06-10 06:14:01       7 阅读

热门阅读

  1. 209. 长度最小的子数组

    2024-06-10 06:14:01       15 阅读
  2. 主从式光伏并网发电系统体系结构

    2024-06-10 06:14:01       14 阅读
  3. ICESat-2 ATL08 数据批量读取

    2024-06-10 06:14:01       24 阅读
  4. 发布自己的 npm 插件包:步骤与最佳实践

    2024-06-10 06:14:01       21 阅读
  5. spdlog源码解析

    2024-06-10 06:14:01       15 阅读
  6. Spring Boot集成thymeleaf快速入门demo

    2024-06-10 06:14:01       18 阅读
  7. 排查服务器cpu运行过高

    2024-06-10 06:14:01       12 阅读
  8. go语言切片去重的3种方式总结

    2024-06-10 06:14:01       12 阅读