Aucune description

zhuts 88ca598cfa 1、提交工程 il y a 15 heures
Keil_Project 88ca598cfa 1、提交工程 il y a 15 heures
Libraries 88ca598cfa 1、提交工程 il y a 15 heures
datasheet 88ca598cfa 1、提交工程 il y a 15 heures
motor 88ca598cfa 1、提交工程 il y a 15 heures
user 88ca598cfa 1、提交工程 il y a 15 heures
.gitignore 88ca598cfa 1、提交工程 il y a 15 heures
keilkill.bat 88ca598cfa 1、提交工程 il y a 15 heures
readme.md 88ca598cfa 1、提交工程 il y a 15 heures

readme.md


FOC无刷电机控制例程

一、项目概述

本仓库是一个从零开始的永磁同步电机(PMSM/BLDC)FOC(磁场定向控制)开发例程,旨在实现一套完整、可移植的FOC控制系统。代码结构清晰,分阶段实现各功能模块,适合学习和实际项目参考。


二、工程演进路线

本工程采用分步验证、逐步集成的开发策略,按以下路线推进:

第一阶段:基础闭环控制

电流闭环 → 霍尔角度闭环 → 速度闭环
阶段 闭环类型 依赖传感器 目标
1.1 电流闭环 ADC三相采样 实现IQ/ID电流的稳定控制
1.2 角度闭环 霍尔传感器 获取转子角度,完成Park变换
1.3 速度闭环 霍尔+电流 实现速度-电流双闭环控制

第二阶段:高精度编码器控制

编码器角度闭环 → 编码器速度闭环 → 编码器位置闭环
阶段 闭环类型 依赖传感器 目标
2.1 角度闭环 磁编码器/光电编码器 高精度角度反馈
2.2 速度闭环 编码器角度微分 高精度速度控制
2.3 位置闭环 编码器积分+位置环 伺服级位置控制

第三阶段:无感控制

无感观测器引入
阶段 技术方案 目标
3.1 滑模观测器(SMO)等 中高速无感运行
3.2 高频注入(HFI) 零速/低速无感运行(扩展目标)

三、FOC控制原理

3.1 核心思想

FOC控制的核心思想是:通过坐标变换,将三相交流电机的非线性、强耦合模型,转化为直流电机的线性、解耦模型进行控制

具体实现路径:

  • Clark变换:将三相静止坐标系(Ia, Ib, Ic)变换到两相静止坐标系(Iα, Iβ)
  • Park变换:将两相静止坐标系(Iα, Iβ)变换到两相旋转坐标系(Iq, Id)

变换后的效果:

  • Iq(转矩电流):与转子磁场垂直,负责产生扭矩
  • Id(励磁电流):与转子磁场平行,负责调节磁场(通常控制为0)

由于变换后得到的是直流分量,非常适合用PID控制器进行调节。本工程采用绝对式PID(即位置式PID),直接输出控制量,无累积误差风险。

3.2 逆变器驱动:SVPWM

变换后的Iq/Id指令通过反Park变换反Clark变换,重新生成三相电压指令。这些指令通过SVPWM(空间矢量脉宽调制)算法,转化为六路PWM波形驱动三相逆变器。

SVPWM的优势

  • 母线电压利用率高(比SPWM高约15%)
  • 谐波失真小,电流波形更正弦
  • 理论上可生成任意方向、任意幅值的电压矢量(分辨率受PWM精度限制)

发波方式:本工程采用七段式SVPWM,相比五段式,虽然开关次数略多,但电流波形更平滑,谐波性能更好。


四、电流采样关键设计

4.1 采样方案

三相电流采样采用三电阻方案(根据硬件配置),通过ADC采集注入组实现。

4.2 采样时机

关键设计:采样点选在PWM周期的中间时刻

中心对齐PWM波形(互补驱动):

上桥原始PWM(模式1): 高电平 ┌─────┐          ┌─────┐
                          │     │          │     │
                          ┘     └──────────┘     └

下桥互补PWM:                     ┌──────────┐
                                │          │
                          ┘─────┘          └─────┘    
                                      ↑
                                采样点(中间时刻)

为什么在中间时刻采样?

  • 此时下桥NMOS处于导通状态(互补PWM为高电平)
  • 相电流稳定,无开关噪声干扰
  • 采样值最能代表该PWM周期内的平均电流

NMOS导通逻辑:NMOS为高电平导通,下桥互补PWM的中间高电平区间恰好对应下桥导通窗口。


五、核心难点:实时电角度的获取

这是FOC控制中最关键、也最容易出问题的环节。

5.1 为什么电角度如此重要?

FOC的所有坐标变换(Park/反Park)都依赖电角度θ。角度不准会导致:

问题 后果
角度偏差 Iq/Id无法正确解耦,转矩脉动增大
角度滞后 电流相位滞后,效率下降
角度跳变 电流突变,可能触发过流保护
角度丢失 电机失步,无法继续运转

5.2 不同阶段的角度获取方式

阶段 角度来源 精度 难点
霍尔角度闭环 霍尔传感器(60°分辨率) 需要插值算法平滑角度
编码器角度闭环 磁编码器/光电编码器 需要初始位置标定
无感观测器 滑模观测器(SMO)估算 低速区失效,需高频注入辅助

5.3 角度的实时性要求

在一个FOC控制周期内(通常为PWM周期,如10kHz = 100μs),需要完成:

  1. 读取当前角度
  2. 执行电流采样
  3. 完成Clark/Park变换
  4. 执行PID计算
  5. 完成反Park/反Clark变换
  6. 更新SVPWM占空比

其中角度获取不能成为瓶颈。任何延迟都会导致控制滞后,影响系统稳定性。

5.4 角度处理的常见问题与对策

问题 对策
角度跳变(如霍尔60°步进) 采用低通滤波或角度预测插值
角度量化噪声(低分辨率编码器) 采用滑动平均或卡尔曼滤波
角度微分求速度时的噪声放大 使用带限幅的差分或跟踪微分器
编码器零点偏移 上电时执行角度校准流程

六、后续优化方向

  • [ ]