首页/文章/ 详情

使用PyCharm与RS485串口控制步进电机正反转动

2月前浏览398

前文《使用USB转RS485+Stepper Suite控制步进电机转动》中使用的上位机软件为鸣志的Stepper Suite。在本文中,使用Python程序代替上位机软件,使用PyCharm运行Python程序,通过交互式输入加减速、转速、时间等参数,控制步进电机正反转。本例所用硬件及连接形式同前一篇《使用USB转RS485+Stepper Suite控制步进电机转动》。

准备工作:

1、下载《Modbus用户手册》;

2、了解Modbus RTU配置;

3、了解Modbus SCL指令;

4、了解Modbus寄存器的地址及值。

Part-1 步进电机控制系统组成

借用前文的图。系统硬件组成包括:AC电源(220V)、计算机、步进电机(42H247-1684A)、USB转RS485串口、AC转DC电源、驱动器。每个硬件的接口、编号见图中端口名称。

上图中各硬件端口间的连线如下ibd图所示。

 Part-2 认识常用SCL命令、寄存器地址及其值

Host-Command-Reference-MOONS》手册中,可以查看SCL命令,部分命令如下图所示。

鸣志STF系列驱动器的Modbus寄存器表如下图所示,注意下图中描述一列括号内为SCL命令名,与上图表格中命令一致。

寄存器地址转换为16进制的方法如下图所示。注意下图中,速度、加速度在寄存器内设定的单位。

电机转速要设为10rps,则寄存器参数要设置为2400,即10×240=2400。

电机加减速要设为5rps/s,则寄存器参数要设置为30,即5×6=30。

Part 3 Python程序

只需1个Python文件即可,使用PyCharm运行,交互式输入加速度、减速度、速度、时间,步进电机即可按照输入参数转动。

下图为程序头部。

注意:

16行端口号可查询计算机设备管理器。Win+X,设备管理器,端口(COM 和 LPT)下查看USBRS485对应的串口号。

18行,设置波特率,与驱动器保持一致。

25~31行,常用寄存器地址。

下图定义电机的使能、失能方法。

下图定义加速、减速、速度设置方法。

★★★特别提醒★★★:第89行,有符号数据转为无符号16进制数字,实现电机正转、反转。

下图定义电机启动点动、停止点动的方法,以及读取状态。

下图定义主方法,电机使能、读取状态、设置运动参数、启动、连续运动制定时间、停止运动、电机失能、关闭通信客户端。

运行程序,输入加速度(rps/s)、减速度(rps/s)、速度(rps)、时间(s)逗号隔开,回车,电机转动。若输入任意字符串(小于7个字符),回车退出。

来源:AbaPY
电源python通信电机控制SCL
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-06-23
最近编辑:2月前
KongXH
博士 专注于有限元分析领域,联合创作...
获赞 55粉丝 119文章 100课程 1
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈