问题背景:
英飞凌官网有提供基于XMC1302的步进电机的demo,但是客户根据官网提供的文档介绍,不知道如何来使得步进电机正常运行。所以我们特意整理了该文档,详细介绍下步进电机例程的完整操作流程。
环境搭建:
1. 硬件环境
1) KIT_XMC1300_IFX9201
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1300_ifx9201/
2) KIT_XMC47_RELAX_5V_AD_V1
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc47_relax_5v_ad_v1/
3)步进电机
4)PC机一台
5) MiniUSB线一根
2. 软件环境
1)DAVE 4.4.2或更高版本
(从英飞凌官网下载,下载链接:https://softwaretools.infineon.com/tools/com.ifx.tb.tool.daveide?_ga=2.218624848.837896391.169560901...)
2) Arduino IDE 1.8.1-windows
https://www.arduino.cc/en/software/OldSoftwareReleases
按照下图方式来进行连接,这里的步进电机需要外部电源提供24V的供电,而控制器的5V供电,可以由KIT_XMC47_RELAX_5V_AD_V1来提供。(找元器件现货上唯样商城)
3. demo工程下载路径
1)XMC工程
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc1300_ifx9201/
2)Arduino程序包
https://github.com/Infineon/Stepper-Motor-Shield-IFX9201-XMC1300
该程序包含configureStepperMotor和testStepperMotor两个主程序。
备注:该步进电机的例程,可以通过Arduino的板子来控制XMC的控制板,从而来控制步进电机进行运行。所以,在运行电机前,KIT_XMC1300_IFX9201的板子要插到KIT_XMC47_RELAX_5V_AD_V1板子上。同时,使用两根导线来连接下图所示的TX RX管脚。
运行步骤
1 Arduino相关配置设置
1)打开Arduino IDE,点击”preferences”
2)复制以下链接到下图红色标记位置
https://github.com/Infineon/XMC-for-Arduino/releases/latest/download/package_infineon_index.json
3)依次点击Tools > Board > Boards Manager,在boards manager中搜索XMC,选择下图所示的board文件进行安装。
4)点击点击Tools > Board >XMC4700 Relax Kit
2 通过Arduino程序包来控制步进电机
1) 安装库, 依次点击Sketch > Include Library > Add .ZIP Library...
选择刚从github上下载的Arduino的程序包
2) 加载 configureStepperMotor程序, 依次点击File > Open
选择configureStepperMotor
3)点击红色标记的”verify”按钮,进行工程编译。
4)点击红色标记的”upload”,完成对配置设置
5)加载testStepperMotor程序, 依次点击File > Open
选择testStepperMotor
6)点击红色标记的”verify”按钮,进行工程编译。
7)点击红色标记的”upload”,开始对步进电机的测试。可以观察到步进电机按照程序的步骤,进行运动。
8)通过修改下面黄色标记的部分,来修改步进电机的转速。
备注:步进电机的转动实际上都是根据驱动器和电机相互匹配的,例如电机转动步进角所需电流大小,驱动器在接收脉冲间隔时是否可以满足该电流以及步进换向的速度。如果脉冲过高导致驱动板切换AB相电流速度过快,对应的步进电机无法做到转动,那么就叫丢步了,表现上可能就是不转或者速度降低。
如果转速是10 转/秒,也就是600转/分钟,控制脉冲频率是4KHz,那么该电机的步数就是400步/圈,那么步距角就是0.9°。
审核编辑 黄宇