搜索
bottom↓
回复: 15
打印 上一主题 下一主题

求推荐一个可以实时控制的步进控制卡或者是固件

[复制链接]

出0入309汤圆

跳转到指定楼层
1
发表于 2022-11-14 14:27:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 iamseer 于 2022-11-14 14:28 编辑

我现在有这样一个需求,我希望能够实时控制步进电机来画图(2轴),但是希望能够在步进电机移动到一半时发指令改变移动的目标位置。简单来说,就是想要指哪步进电机移动到哪。
我看主流的步进控制卡都是给3D打印机用的。我仔细研究过Marlin的手册,发现这种用Gcode控制的方式实现不了这个目的。要么一点点小步移动,中间会不停的加减速,要么发指令强制停止,还是要停下来再重新加速。
我希望能在改变移动的目标位置时控制器能重新计算加减速,以能够平稳移动到新位置。
没有量产需求,能买块卡解决问题就很好,只是电机比较大,希望电流能大一些。另外如果是开源固件自己配步进驱动器也可以。
希望有经验的坛友能推荐一下,谢谢。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

2
发表于 2022-11-14 16:37:54 | 只看该作者
PC ---- 控制卡 ---- 步进驱动 ---- 电机          数据流是这样吗

出0入4汤圆

3
发表于 2022-11-14 16:51:51 | 只看该作者
雷赛的Ethercat主站总线控制的板卡可以实现,不过步进电机驱动器要使用Ethercat从站的驱动器。像DMC-E3032这款。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

4
发表于 2022-11-14 20:54:08 | 只看该作者
只要画圆,用单片机写个积分器很难吗

出0入0汤圆

5
发表于 2022-11-14 20:55:37 | 只看该作者
thepresent 发表于 2022-11-14 16:51
雷赛的Ethercat主站总线控制的板卡可以实现,不过步进电机驱动器要使用Ethercat从站的驱动器。像DMC-E3032 ...
(引用自3楼)

说实话,比较不喜欢这种梯形加速度,S三次加速才好

出0入4汤圆

6
发表于 2022-11-14 21:08:54 来自手机 | 只看该作者
colinzhao 发表于 2022-11-14 20:55
说实话,比较不喜欢这种梯形加速度,S三次加速才好
(引用自5楼)

手册中说可以用S曲线加减速。

出0入309汤圆

7
 楼主| 发表于 2022-11-15 11:13:22 | 只看该作者
colinzhao 发表于 2022-11-14 20:54
只要画圆,用单片机写个积分器很难吗
(引用自4楼)

是要画图不是画圆。

出0入0汤圆

8
发表于 2022-11-15 11:38:33 | 只看该作者
把需求明确一点        我可以给你测试验证一下

出0入309汤圆

9
 楼主| 发表于 2022-11-15 11:39:02 | 只看该作者
thepresent 发表于 2022-11-14 16:51
雷赛的Ethercat主站总线控制的板卡可以实现,不过步进电机驱动器要使用Ethercat从站的驱动器。像DMC-E3032 ...
(引用自3楼)

非常感谢提供信息。我用你截图里的关键字搜了一下,似乎trinamic家带 Motion Control 的芯片全都可以。能用全集成的驱动芯片用SPI直推步进电机,也有转换芯片能把SPI换成DIR/STEP信号。这样接树莓派之类就连单片机都省了。

另外我找到AccelStepper库支持这种功能,但是通讯部分没有要自己写。

出0入309汤圆

10
 楼主| 发表于 2022-11-15 11:46:31 | 只看该作者
leijiayou 发表于 2022-11-15 11:38
把需求明确一点        我可以给你测试验证一下
(引用自8楼)

举这个例子:
现在两轴位置在0,0。我发个指令让他跑到100,100。步进开始往目标位置跑。
步进还没跑到100,100,我再发个指令让他跑到100,0。我理想情况应该是驱动器重新计算加速度并改变方向往100,0跑。不要先跑到100,100再跑100,0,也不要急停下来再跑。

大概是trinamic里这种功能。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出615入1076汤圆

11
发表于 2022-11-15 13:28:50 来自手机 | 只看该作者
本帖最后由 dukelec 于 2022-11-15 14:49 编辑

我写的这个默认就是支持实时修改位置、速度等参数的模式:
https://github.com/dukelec/stepper_motor_controller

出0入0汤圆

12
发表于 2022-11-15 13:59:02 | 只看该作者
iamseer 发表于 2022-11-15 11:13
是要画图不是画圆。
(引用自7楼)

sorry,草率了

出0入0汤圆

13
发表于 2022-11-16 09:29:03 | 只看该作者
iamseer 发表于 2022-11-15 11:46
举这个例子:
现在两轴位置在0,0。我发个指令让他跑到100,100。步进开始往目标位置跑。
步进还没跑到100, ...
(引用自10楼)

简单测试了下           中途改变目标位置

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

14
发表于 2022-11-16 10:21:41 来自手机 | 只看该作者
iamseer 发表于 2022-11-15 11:46
举这个例子:
现在两轴位置在0,0。我发个指令让他跑到100,100。步进开始往目标位置跑。
步进还没跑到100, ...

(引用自10楼)

要改变方向的话不停止,怎么走?从0到100的过程中实时把目标位置改成200的话,可以更新参数不用停顿。但是从0走到100的过程中突然要返回0,如果电机速度不降到零,直接切换方向会不会失步?

出0入4汤圆

15
发表于 2022-11-16 10:37:44 | 只看该作者
thepresent 发表于 2022-11-16 10:21
要改变方向的话不停止,怎么走?从0到100的过程中实时把目标位置改成200的话,可以更新参数不用停顿。但 ...
(引用自14楼)

你要求突然返0,从接收到指令开始,它肯定还要向前过冲,速度降下来,才会换向。不可能原地返回的。

出0入309汤圆

16
 楼主| 发表于 2022-11-16 10:43:05 | 只看该作者
thepresent 发表于 2022-11-16 10:21
要改变方向的话不停止,怎么走?从0到100的过程中实时把目标位置改成200的话,可以更新参数不用停顿。但 ...
(引用自14楼)

不好意思可能没说清楚。如果是marlin或者是grbl这类控制卡,要么等到上一条指令执行完,要么得发急停指令打断,彻底停下来再走。这样的话就不太好。

您提到:“从0到100的过程中实时把目标位置改成200的话,可以更新参数不用停顿”,这就是我需要的功能。我看到常见的控制卡固件都不支持。至于要求反向时过充以及速度降到零再反向,这些当然无可避免。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 04:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表