ST的FOC库 2.0学习 无感矢量控制

         ST的FOC库 2.0学习

1 无感矢量闭环控制

1.1 主要程序讲解

1.1.1 MC_type.h

   定义了电机控制算法层的所有变量结构体。
  Curr_Components 电流值结构体
  Volt_Components 电压值结构体
  Trig_Components 三角函数结构体
  StateObserver_Const 观测器用常数,初始化时被赋值
  StateObserver_GainsUpdate 观测器的增益更新
  MTPA_Const MTPA常数
  PID_Struct_t PID参数结构体
  SystStatus_t 系统状态结构体,空闲、初始化、启动、运行、停止、刹车、等待和错误 8 种状态
  BusV_t 母线电压状态,有无错误、过压和欠压 3 种状态。

1.1.2 MC_const.h

    提供了由所有模块共用的常数。sqrt(3)相关,状态宏定义相关,三角函数数据表。

1.1.3 MC_Control_Param.h

    该文件定义了硬件控制参数,包含功率器件参数、电流调节参数、电源板保护阈值、速度循环采样时间、转速PID控制器初始化值、正交电流PID控制器初始化值、根据机械速度线性变化的PID常数。
  主要的参数就是PWM频率、死区时间、电流采样频率、PID参数等等。

1.1.4 MC_encoder_param.h

    通过编码器获取速度和位置的参数设置,例如编码器线数、底层定时器、速度范围等宏定义参数。
在这里插入图片描述

1.1.5 MC_hall_prm.h

    霍尔传感器参数设置代码,使用霍尔传感器获取转子位置和速度。

1.1.6 MC_State_Observer_Interface.c

    该文件就是实现PMSM B-EMF的状态观测器,从而识别转子的速度和位置。但是很不幸的是,观测器的源码是不开源的,只能通过调用函数得到转子角都和速度信息。
    那么假如你有一定的电机控制基础,想要学习不用的电机控制算法,那么这套算法的参考价值就有限了。如果你是要学习使用ST的算法来做项目做产品的话,需要将所有.h和.c文件都了解清楚。
    通过网上一些资料说的是使用的反电势的滑动模型观测器。值得学习的是观测器获取的速度来测试可靠性,这个功能也是不开源的,猜测是包含堵转、观测器故障等保护。重点还是转子速度和角度的获取函数
在这里插入图片描述

1.2 三段式启动

    一般的三段式启动都是 对齐定位开环拖动闭环控制。

1.2.1 对齐

    对齐理解起来就简单一些,就是在开机时不知道转子的位置,这个时候在进行PARK变换时,角度设为对齐的角度,得到Id和Iq,这个时候通过电流环PID,输出力矩大小,转子就被控制到设定的对齐角度上。

1.2.2 开环拖动

    开环拖动可以理解为,让设置的转子角度变化速率随一定加速度变化。加速可以划分为三类:换相信号频率不变,逐步增大电压使电机加速,称为恒频升压法。保持电压不变,逐渐增高换相信号的频率,使电机逐步加速,称为恒压升频法。在逐步增大电压的同时,增高换相的频率,称为升频升压法。
    然后当电机转速增加到一定阈值后,反电势可以很容易检测时,切入闭环控制。

1.2.3 闭环控制

    闭环控制就是核心,重点就是观测器,实时观测出转子的角度和速度。

  • 2
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值