步进电机调试

H11新项目调试,马达不转动,逻辑分析仪抓数据发现时序正常,nsleep也正常。

查看电路图,发现PRN_POWER引脚为SPI1_MISO引脚。
在这里插入图片描述
输出引脚配置寄存器的值发现,引脚被配置成了SPI_MISO功能。
在这里插入图片描述
查看SPI配置发现,在初始化SPI引脚时,会将GPIO16配置为SPI_MISO,红框为修改后添加的。
在这里插入图片描述
取消配置后,PRN_POWER可以正常输出,马达也可以正常转动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卓立汉光步进电机控制器SC300的控制程序 sc300help_ch.chm为控制器附带应用软件之帮助,内含通讯协议与OCX控件调用说明。 Sc300编程控件文件夹内为进行二次开发所需要的文件及说明。 Sample为在Visual Basic中使用OCX控件进行开发的示例程序。 LabView为在LabView中使用OCX控件进行开发的示例程序。 Sample_VC在VC中使用OCX控件进行开发的示例程序 SC300系列位移台控制箱使用说明书.pdf为控制箱说明书,包括控制器使用及通讯协议,注意事项等。 setup2.2.2SC300_20121108为标准控制软件。安装完毕后如果在WIN7或WIN8系统下运行程序,需要点击右键选择兼容模式再运行。 控件调用和安装方法: 1、如果电脑已经安装配套的控制软件,可以打开示例直接运行,直接调用OCX控件中函数。 2、如果电脑没有安装配套的控制软件,就需要将OCX文件夹中的.lic和.ocx文件放在指定的路径下。 32位操作系统放在C:\WINDOWS\system32,64位操作系统放在C:\WINDOWS\SysWOW64。 同时需要注册一下,在开始运行里输入regsvr32 C:\WINDOWS\system32\ZOLIXSC300.ocx(32位), regsvr32 C:\WINDOWS\SysWOW64\ZOLIXSC300.ocx(64位),点击确定提示成功后即可调用。 如果出现提示dllregisterserver调用失败,可在程序 - 附件 - 命令提示符,在”命令提示符“上点击鼠标右键,选择”以管理员身份运行“命令, 这个时候将打开Dos命令窗口,然后按正常写法输入上述语句,就能够注册成功了。 如果已成功注册但调用不了,可尝试反注册一下:regsvr32 /u C:\WINDOWS\system32\ZOLIXSC300.ocx(32位),regsvr32 /u C:\WINDOWS\SysWOW64\ZOLIXSC300.ocx(64位)。 然后重新注册即可。 3、如果需要重新建立新的工程,按照上述1或2完成之后, VC环境下: Project-Add to Project-Components and Controls Gallery-Registered ActiveX Controls-ZolixSC300.lnk 此路径下插入即可,此时出现OCX图标,拖入即可调用。 labview环境下: 工具-导入-ActiveX控件至选板-ZolixSC300 Control 点击确定即出现图标,拖入即可调用。 4、在64位操作系统下注册控件,如果出现“对dllregisterserver的调用失败,错误代码为0x80040200”,可以以管理员身份运行:所有程序-附件-命令提示符,再输入注册指令即可。
步进电机调试的基本方法和原则如下: 1. 确定电机型号和驱动器型号:在选择步进电机和驱动器时,需要考虑电机的转速、扭矩、电压等参数,以及驱动器的最大电流、细分数等参数。 2. 连接电机和驱动器:将步进电机连接到驱动器的相应接口上,并根据电机和驱动器的连接方式进行正确的接线。 3. 驱动器参数设置:根据电机和驱动器的参数手册,设置驱动器的细分数、电流大小、加减速度等参数。 4. 进行运动控制:编写相应的程序,使用控制器对电机进行运动控制,包括正转、反转、停止、加速、减速等操作。 5. 调整运动参数:根据实际情况,调整电机的运动参数,包括加减速度、最大速度、步距角等参数。 以下是一个具体的步进电机调试案例: 假设我们要调试一台步进电机,它的型号是17HS4401,驱动器型号是DM542T。首先,我们需要将电机按照正确的方式接到驱动器上,然后根据电机和驱动器的参数手册,设置驱动器的细分数、电流大小、加减速度等参数。例如,我们可以将细分数设置为8,电流大小设置为1.5A,加减速度设置为500mm/s^2。 接下来,我们编写一个程序,使用控制器对电机进行运动控制。我们可以让电机顺时针旋转1圈,然后逆时针旋转1圈,并在每个方向上停留1秒钟。代码如下: ``` #include <Stepper.h> const int stepsPerRevolution = 200; Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11); void setup() { myStepper.setSpeed(300); } void loop() { myStepper.step(stepsPerRevolution); delay(1000); myStepper.step(-stepsPerRevolution); delay(1000); } ``` 最后,我们可以根据实际情况,调整电机的运动参数,例如,增加加减速度或者最大速度,或者改变步距角等。通过不断调试,我们可以使步进电机运转更加稳定和精确。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值