6、foc控制——IF控制

1、IF控制的定义

通常指电流频率控制;其中电流I调节电机的转矩输出,频率F则用于改变电机转速;

IF控制属于电流闭环,速度开环控制;

给定参考电流,参考速度,并将参考速度转换为对应频率的电角度;

2、IF启动

电流斜率Islope等于最终电流减去初始电流,除以时间(分子乘以1000是因为把分子秒转换为分母毫秒)

参考电流等于初始电流加上电流变化率的积分;

速度斜率也就是加速度等于最终速度除以时间;

参考速度等于加速度的积分;

3、初始定位

初始定位:上电后将转子N极(d轴),与A相绕组轴线对齐或固定夹角;

原因:上电后初始转子位置即d轴是随机的;

初始定位实现的两种方式

4、转矩控制

在转矩控制中,根据当前的控制状态作出不同的处理,比如对齐状态和IF运行状态,默认状态;

根据相应的处理输出相应的参考电流和参考速度;

在对齐状态下,通过对齐斜坡子系统输出系统对齐状态下的参考电流和参考速度;

在IF运行状态下,通过IF斜坡子系统输出系统在IF运行状态下的参考电流和参考速度;

在其他状态下,输出参考电流和参考速度为0;

5、生成电角度

将参考速度转化为电角度输出

通过模拟编码器来生成电角度,电角度的模拟分为两部分

首先将参考速度转化为编码器的脉冲计数器,然后将编码器的脉冲计数转化为电角度输出;

将参考速度转化为电角度的具体实现如下

将参考速度转化为模拟编码器计数值

将计数值转化为电角度

6、工程建模

6.1采样时间

整个系统分为中频任务和高频任务

绿色为中频任务,红色为高频任务

6.2参数配置

6.3仿真波形

7、代码生成

8、cubeMX生成嵌入式代码框架

使用高级定时器1的1-3通道生成驱动电机的pwm发波,4通道为触发ADC采样的时钟源;

生成嵌入式代码框架

8.1adc与pwm时序

9、模型代码与嵌入式代码集成

在嵌入式代码框架工程中,新建一个文件夹,把simulink生成的代码复制到该文件中

simulink生成的代码有4个主要函数,系统的初始化与终止,中频任务函数,高频任务函数;

在systick中断函数调用中频任务及控制状态的切换,相关的保护函数;在adc中断函数调用获取相电流及Foc控制函数,高频任务在FOC控制函数中;

10、IF控制顶层模型

主要进行参数的输入与输出

11、IF控制器详解

建模框架图里,上半部分是对电流建模的实现,下半部分是对速度建模的实现;

相关推荐
我在人间贩卖青春1 小时前
SysTick 定时器
单片机·嵌入式硬件·滴答定时器·systick
llilian_161 小时前
IRIG-B码产生器立足用户痛点,提供精准授时解决方案
大数据·数据库·功能测试·单片机·嵌入式硬件·测试工具
busideyang8 小时前
为什么推挽输出不能接收串口数据,而准双向口可以?
c语言·stm32·单片机·嵌入式硬件·嵌入式
智者知已应修善业8 小时前
【proteus中lm339电压滞回比较器达到三角波转换成方波】2023-4-13
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
济6178 小时前
STM32定时器进阶:从模式控制器完全指南,一文学会TRGI/TRGO---STM32 HAL库专栏
stm32·单片机·嵌入式·stm32hal库编程
551只玄猫8 小时前
新编大学德语1第三版笔记 第5课Essen und Trinken
笔记·学习笔记·德语·外语·德语a1·自学德语·新编大学德语
鲨辣椒100869 小时前
单片机在线演绎《当幸福来敲门》------ 中断机制
单片机·嵌入式硬件
不只会拍照的程序猿10 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
小白学电子_11 小时前
proteus仿真51单片机通过定时器控制红绿灯
嵌入式硬件·51单片机·proteus
鲨辣椒1008612 小时前
51单片机初相识
单片机·嵌入式硬件·51单片机