|
本次测评基于STM32的Nucleo-G431RB开发板和X-NUCLEO-IHM16M1扩展板组成的电机驱动套件,驱动DengFOC配套的2208无刷云台电机。因为商家提供的参数只有极对数、最大电压、相电阻、相电感和一些机械外形参数,没有提供诸如反电势常数、转动惯量等参数,在使用MCSDK时随意填入会导致最后的算法不够准确。其实MCSDK提供了完整的电机参数识别工具Profiler,内置在Motor Pilot中,可以较为精准地识别出直流无刷电机或者永磁同步电机的各项重要参数。 打开Profiler要启动Profiler,需要先打开ST Motor Pilot。如果启动后不是下面这个界面,需要点击GUI->Reset GUI to Default重置为默认界面,再点击第二个选项 Launch Profiler 启动 Profiler上位机。 启动上位机后为如下界面: 当然,板卡需要运行特定的Profiler固件,才可以用于电机参数的测试和识别。当板卡运行普通的MCSDK固件时,Profiler连接后会报出如下错误,提示固件有错,使用的不是Profiler的固件,需要使用MC Workbench生成一个Profiler 固件才能使用。具体方法在下面介绍: MC Workbench生成Profiler固件具体步骤开发板Profiler固件生成工程配置的前置条件和普通应用基本一致,只需要匹配控制板和驱动板,电机参数不需要重点关注,只需要填个大概;Profiler可以测算出具体的电机参数。 1.首先打开MotorControl Workbench软件,软件界面如下图所示。可以通过右上角切换中英文,软件每次打开都默认使用英文。点击左上角的New Project 新建新项目。 2.点击中间的Board选择开发板套件(如果有配套电机,也可以直接选择左边的PACK选择IHM03完整的开发套件),分别查找得到IHM16M1和G431两块板子,选中并点击OK。 NUCLEO-G431RB开发板和X-NUCLEO_IHM16M1扩展板
添加完主控板和驱动板之后的界面应如下图所示: 5.创建后首先检查引脚配置是否正确:
点击右方菜单的Pin Usage & Hw Changes,查看当前的引脚分配。 下面是G431-IHM引脚分配表。 重点检查下面这几个可能需要修改的引脚,上一篇文章也有提及:
6.在Application Configuration 中勾选 Motor Profiler,确保生成的是Profiler固件无误。 2.生成代码和编译下载保存一下,并点击Generate the Project生成工程文件夹和代码,工具链可以按照个人习惯选择CubeIDE、Keil等等开发环境,界面设计还是很简明易懂的。
代码生成后需要打开工程文件去编译下载;
MC Workbench生成工程的文件结构和CubeMX生成的是高度相似的,我用的是CubeIDE v2.0.0,找到项目文件的路径如下图所示,与.stwb6文件同名文件夹->STM32CubeIDE->.cproject文件,即可打开CubeIDE的项目文件。将G431开发板的MicroUSB口连接到电脑,在CubeIDE中进行编译并下载。 3.连接Pilot Motor Profiler 上位机按照最开始介绍的,打开Pilot并切换到Profiler的GUI界面,即可打开Profiler电机测算界面。点击Connect之后可以清楚看到,之前的Firmware Error 错误消失了,说明我们的固件没有问题。
同时,如果不清楚具体极对数的话, Profiler 工具提供了极对数的检测功能,需要有人的操作和参与:软件会驱动开发板向电机注入电流较小的微弱励磁,此时用户需手动旋转电机轴一圈 ,感受并计数磁阻变化产生的明显跳动次数,最后将计数值手动填入对应参数栏即可完成设定。
连接电机驱动板到合适的电源,点击左侧的Start profile启动测试程序,测试过程电机电流将逐渐增大、运行、刹车,直到进度条达到100%,电机的运转如下面视频所示。测算时需要固定好电机在相对平整的台面上,否则测出来的数据可能会有比较大的误差。
测算完毕后电机的各项参数会展示在下图中,包括相电阻、相电感、母线电压、最大电流(自己填的)、反电势常数等电学参数,以及摩擦、转动惯量、最大速度等机械参数: 测算后的数据可以点击Save保存为电机模型,后续应用中可以直接调用该模型使用。 |
微信公众号
手机版