# 过往分享
[【iMOTION2go套件】1. 开箱](https://bbs.eeworld.com.cn/thread-1229533-1-1.html)
[【iMOTION2go套件】2. MCEWizard工具使用+控制脚本分析](https://bbs.eeworld.com.cn/thread-1230537-1-1.html)
# 前言
MCEDesigner是infineon开发的一款专门用于电机标定调试的工具,安装教程在[【iMOTION2go套件】1. 开箱](https://bbs.eeworld.com.cn/thread-1229533-1-1.html) 中已经做了相关描述。
MCEDesigner用户手册在MCEDesiger安装目录下,如下图:
其中,《MCEDesigner User Guide.pdf》是用户手册,详细描述了MCEDesigner的功能;
《MCEDesigner_V2.3.0.1Application Guide.pdf》是应用手册,描述了如何一步一步的设置参数,可以先看这个文档熟悉MCEDesigner工具的使用。
这两个文档本身也是类似的,对应的工具版本不一样而已。
> 本文将按照《MCEDesigner_V2.3.0.1Application Guide.pdf》的步骤对iMOTION2go进行配置。
> 本文描写了如下内容:
> 1. 参数标定以及各个按钮的含义以及使用方式;
> 2. 默认按钮的功能链接关系以及逻辑分析;
> 3. 用户自定义函数的实现;
> 4. 自定义子功能;
> 5. 自定义trace功能。
# 工具介绍
从下图中可以知道MCEWizard和MCEDesigner工具的功能。
MCEWizard就不再细说,上一篇帖子已经详细描述过了。
MCEDeisgner功能:
1. 允许用户读取16位MCE变量寄存器,并读取/写入MCE参数寄存器;
2. 可以显示所有变量寄存器和选择参数寄存器的实际值和计数值。
# 使用MCEDesigner下载脚本以及配置参数
该部分已经在上一篇帖子中描述过了,上一篇帖子中配置好了参数以及生成了脚本之后使用MCEDesigner进行了下载,详情可以参考:
[【iMOTION2go套件】2. MCEWizard工具使用+控制脚本分析](https://bbs.eeworld.com.cn/thread-1230537-1-1.html)
更详细的描述参考《MCEDesigner_V2.3.0.1Application Guide.pdf》Run motor with a new iMOTION2.0 system(1~5),其操作都类似,本文不在赘述。
# 使用VHz开环来检测硬件和电流
从手册中可以知道,这一步很重要,如果电机运行中出现了问题,可以从Iu/Iv/Iw电流波形中监控到。
如果参数不符合预期的话,需要使用MCEWizard来重新调整参数并进行更新。
关于各个参数的具体说明可以在《MCEDesigner User Guide.pdf》9.1 Trace Setup中了详细的描述。
## 双击Iu & Iv_Fast可以设置监控参数。
我这里设置是CH1监控Iv,CH2监控Iu,表示监控v,u接线端的电流。
上图中还要一个滑动条'Trigger Locator', 这个是用来配置在采样触发点之前的的多少数据用于记录到trace buffer中,图中的25%表示,采样触发点之前的256个数据和触发之后的768个数据都会记录到trace buffer(trace buffer一共可以记录1024个采样数据)。
## 双击Begin Trace开始监控Iv以及Iu
每个配置项的参数详细说明:
通过上述设置就可以开始对电机的各个参数进行监控了,可以检验每个数据是否符合预期。
# 更新标定参数
选择Motor1页面,在这个页面可以对参数进行更新。
如下图:
# 导出参数文件
标定完成之后可以导出配置参数重用。
# 添加未定义定存器
如何需要添加.irc文件中没有的寄存器,可以参考《MCEDesigner_V2.3.0.1Application Guide.pdf》Read/Write register definition in MCEDesigner中提供的方法。
由于iMOTION2go的irc文件比较完善,暂时无需我们自己添加寄存器,后期如需添加在做详细描述。
但是有几点是需要特别说明的:
1. 添加的寄存器必须是用户手册中有的;
2. 静态寄存器类型选择"system",如果是动态寄存器,则选择"MCE";
3. 静态寄存器只允许在unlock模式下被访问。
# 默认功能定义
MCUDesigner的4个常用按钮功能关系图如下:
任何系统按钮被选中,则会调用上述图中相关的控制功能进行控制。
以Start按钮举例,如果按下Start按钮,会调用Motor1控制面板下面的Start Motor功能。
其中包括如下几个功能:
## 调用AngleSelect功能
该功能主要是选择转子角度输入,设置值为2,磁通量角。
```
Select rotor angle input
0 -OpenLoop
1 -Hall Sensor
2 -Flux Angle
3 - Hybrid Mode (HAll/Flux)
```
## 调用CtrlModeSelect功能
选择控制模式,设定值为2,速度控制模式。
```
Control mode selection:
0 -Voltage Control Mode
1 -Current Control Mode
2- Speed Control Mode
3- Duty Control Mode
```
## 调用TargetSpeed功能
设置目标速度,这个是变化的,详情可以参考我上一篇帖子的脚本分析。
```
Set the Target Speed.Max speed is represented as 16383
```
## 延时
设置延时时间,单位是ms。
## 执行驱动命令
执行启动或者停止命令,设定值为1,驱动电机动作。
```
Command start/stop operation of motor.
0 - stop drive
1 - start drive
```
# 用户自定义函数
MCEDesigner提供了用户自定义函数的功能。
本例实现一个些Stop Motor的功能。
操作步骤如下:
## 新建Function
## 添加寄存器
1. 右键单击hehungFirstFunction(即新建的function),选择Add Write Register;
3. 双击寄存器Command,设置Real Value to Write为0.
4. 然后在电机转动起来的时候双击hehungFirstFunction,可以观察到电机会暂停。
后续可以根据这个步骤编写更复杂的标定逻辑。
# 用户自定义可重用函数
> 可以用户需要频繁使用一个包含相同寄存器处理的功能,则可以将这些功能放到一个可重用函数中。
可重用函数的定义在Subfunction Library Definition中。
可重用函数的定义方式和用户自定义函数是一样的,区别在于自定义函数是可以被其他函数调用的。
步骤不在赘述,大致流程如下:
1. 右键单击Subfunction Library Definitions,选择Create Subfunction;
2. 输入函数名字;
3. 右键单击新建的函数名,然后选择Add Write Register;
4. 选择寄存器,写入控制值。
# 自定义Trace功能
> 除了默认的trace功能之外,用户还可以自定义trace功能。
## 新建自定义trace
Trace功能在System窗口下定义,右键单击Monitor Definitiaons。
## 输入trace名字
## 配置trace数据
关于这些配置项的说明,已经在上文章节"使用VHz开环来检测硬件和电流"中进行了说明,这里就不在赘述了。
## 运行trace
创建好了之后,双击新建的trace功能就可以开始运行监控功能了,如上文章节"使用VHz开环来检测硬件和电流",不再赘述。
# 故障检测与显示
> 当出现不可屏蔽的故障的时候,MCEDesigner会停止电机并且MCEDesigner会从**Sw-Faults**寄存器中获取故障新信息。
> 错误信息也会显示在底边栏中,移动鼠标到错误信息处就可以显示错误信息。
# 总结
通过学习MCEDesigner,知道了电机控制相关的一些操作流程,并且MCEDesigne软件设计的也很棒,对于寄存器的操作与显示很便捷,用户可以利用该软件对电机的参数进行调整以及对电机进行控制,很便捷。