由于本人水平有限且我是干软件的,对硬件不是很熟悉,且本文的内容从网络中学习并整理而来,如有写得不对的地方往指正,由于穷,没有硬件,就用仿真软件代替了,剩下的就脑补吧,本文也就当个学习记录
本文使用到的软件都是正运动官方的软件,有:
1 仿真软件RTSys,使用教程参考上一篇博文:https://blog.csdn.net/zxy13826134783/article/details/160089842?spm=1001.2014.3001.5501
2 ZDevelop3.10.10
3 板卡的版本ECI2828-V2(本人没硬件,只是用它的资料说明一下)
https://www.zmotion.com.cn/pro_list_16.html
就如图的这个:

以我目前水平理解板卡的最简单连接图,如下:

板卡连接驱动器,然后驱动器连接步进电机,当然驱动器也有很多种,电机也有很多种,随便打开固高、雷赛的官网就能找到对应的产品,我在学习中自己问自己的问题(可能比较小白)如下:
1 为啥需要连接驱动器,板卡为啥不能直接连步进电机
答:首先得了解驱动器的作用是什么,首先得了解步进电机,驱动器,板卡这三者的关系:
- 步进电机:只会转,但自己不会算角度、不会调速
- 步进驱动器:给电机供电、放大电流,负责 "出力"
- 控制板卡:发指令,负责 "动脑"
2 我能不能通过C#给步进驱动器发脉冲而绕过板卡,或者把板卡替换为单片机
答:不能,下面是AI的回答
-
普通电脑 + 纯 C# 直接发脉冲给驱动器 → 绝对不行!
-
C# + 单片机(代替板卡)→ 完全可以!而且是低成本成熟方案!
为什么 C# 不能直接发脉冲?
Windows 不是实时系统,C# 跑在非实时环境:
-
软件发脉冲精度极差(毫秒级抖动)
-
步进电机需要微秒级精准脉冲
-
一抖动就丢步、抖、啸叫、撞机
所以:C# 可以做大脑,但不能做脉冲发生器!
3 脉冲相关作用
通过C#告诉ECI2828 板卡要发多少脉冲,就是用硬件电路产生稳定、精准的脉冲信号,发给驱动器
脉冲,就是一个 "通 - 断" 的电信号跳变。 比如:高电平 → 低电平 → 高电平,这一个完整的变化,就是1 个脉冲。你可以把它想象成:给电机发了一个 "走一小步" 的命令

这玩意在通信领域有一个专业术语:方波
下面介绍限位开关:
1 有什么用?
就是怕步进电机的滑块,滑动超出了可滑动的范围而导致撞机,如:

超出可滑动的范围就会撞机,像我们公司的产品发药机,补药臂也是通过步进电机来控制的
2 限位开关放在那个位置?正限位、负限位及原点是啥?

假如坐标的值从右到左,X轴的坐标越来越大
负限位:滑块能滑到最右边的位置
原点:定义的原点0值
正限位:滑块能滑动到最左边的位置
然后呢,我们在正限位,原点、负限位各放一个限位开关,如上图,限位开关发射激光或啥光线之类的,滑块滑到这里就会挡住激光,然后信号线产生一个高电平,这个信号线接入到板卡的输入IO口,这样板卡就能知道滑块是否已经到了那个限位的位置从而决定是否继续发脉冲
3 找到ECI2828-V2的产品手册:
https://www.zmotion.com.cn/pro_info_205.html


找到硬件安装的章节:板卡IN0接到负限位的限位开关的信号线,IN1接到原点的限位开关的信号线,IN2接到正限位的限位开关的信号线
4 软件配置
4.1 打开RTSys,使用方法参考文章前面给出的链接
4.2 打开ZDevelop,选择控制器,连接


输入ip,点击连接
接着在视图菜单,点击"轴参数"

配置如下:

然后保存

好了,本文的内容到此结束