3057|0

24

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【ST电机评测】任务二 -- 观测FOC控制变量 [复制链接]

1. 目标
这次要运行电机,并观察FOC控制的几个关键变量:Ia、Ib、Ic、Ialpha、Ibeta、Id、Iq、以及电压Vd、Vq。
2. 工具
要在运行时测试获取这些变量,可以在IDE的debug模式下进行,在中断中埋下断点,然后查看获取到的变量值,已经寄存器值。但对电机类的程序,ST不建议这么做,因为中断时,如果是大电流,会对电机造成烧毁。
ST提供了运行时直接查看程序变量的工具软件--STMStudio。其可以分析固件,提取所以的变量,然后在运行时,连接到程序,读取变量值。这就可以用来完成此次试验。
3. 相关的source-code
数据结构定义部分如下:

/**

  • home.php?mod=space&uid=159083 Two components stator current type definition

    */

typedef struct

{

int16_t qI_Component1;

int16_t qI_Component2;

} Curr_Components;

/**

  • @brief Two components stator voltage type definition

    */

typedef struct

{

int16_t qV_Component1;

int16_t qV_Component2;

} Volt_Components;

//......

/**

  • @brief FOC variables structure

    */

typedef struct

{

Curr_Components Iab; /!< Stator current on stator reference frame abc /

Curr_Components Ialphabeta; /*!< Stator current on stator reference frame

                                alfa-beta*/

Curr_Components IqdHF; /*!< Stator current on stator reference frame

                                alfa-beta*/                                     

Curr_Components Iqd; /!< Stator current on rotor reference frame qd /

Curr_Components Iqdref; /!< Stator current on rotor reference frame qd /

int16_t UserIdref; /!< User value for the Idref stator current /

Volt_Components Vqd; /!< Phase voltage on rotor reference frame qd /

Volt_Components Valphabeta; /*!< Phase voltage on stator reference frame

                               alpha-beta*/

int16_t hTeref; /!< Reference torque /

int16_t hElAngle; /*!< Electrical angle used for reference frame

                                transformation  */

uint16_t hCodeError; /!< error message /

CurrRefSource_t bDriveInput; /*!< It specifies whether the current reference

                                source must be INTERNAL or EXTERNAL*/

} FOCVars_t, *pFOCVars_t;

程序中全局变量定义:
从代码可以知道,Ia、Ib、Ic变量从Iab成员取得,Ialpha、Ibeta从Ialphabeta获取。Id、Iq从Iqd中得到。Vd、Vq从Vqd中取得。
但是Iab中只要Ia和Ib,Ic并没有直接值,这里可以通过[Ia+Ib+Ic = 0]; 可知Ic=-Ia-Ib。
4. 启动电机
工作在FOC模式下,启动电机,可以使用Potentiometer的电机程序来进行。
5. 启动STMStudio
打开STMStudio,加载固件程序,选择import变量后,选择FOCVars加入。然后就可以把这些变量在各种point-view中显示了。
如图:
6. MC-workbench中监测变量
在MC-workbench中,也可以显示一些变量,如:
此帖出自stm32/stm8论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表