找回密码
 立即注册
楼主: sky999

请教下,同时控制3个伺服电机XYZ轴

[复制链接]

46

主题

108

回帖

604

积分

高级会员

积分
604
发表于 2023-2-6 17:10:41 | 显示全部楼层
梁*** 发表于 2023-2-6 13:48
算法处理很关键,算法不同,耗时会差别很大。
电机的细分(伺服电机也可能叫传输比、齿轮系数等等),与 ...

如果3个都有S型曲线加减速也可以吗?可不可以有个举例程序,谢谢,因为困扰4年多了,不知道怎么写这种不干扰的程序

点评

可以的,我没有现成的程序。每个处理模块都是独立运行的,怎么会干涉? 我以前要求不高的就用线性加减速,只是算法不同,最多做过6个电机独立运行(可以任意组合联动)。  详情 回复 发表于 2023-2-6 18:14
  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2023-2-6 18:14:26 | 显示全部楼层
sky*** 发表于 2023-2-6 17:10
如果3个都有S型曲线加减速也可以吗?可不可以有个举例程序,谢谢,因为困扰4年多了,不知道怎么写这种不 ...

可以的,我没有现成的程序。每个处理模块都是独立运行的,怎么会干涉?
我以前要求不高的就用线性加减速,只是算法不同,最多做过6个电机独立运行(可以任意组合联动)。
  • 打卡等级:以坛为家I
  • 打卡总天数:398
  • 最近打卡:2025-05-03 12:55:14

6

主题

101

回帖

419

积分

中级会员

积分
419
发表于 2023-2-7 10:57:05 | 显示全部楼层
这个要是有个案例就好了,控制步进和伺服的应用场合挺多的.建议大神直接上个案例。:lol
  • 打卡等级:偶尔看看I
  • 打卡总天数:14
  • 最近打卡:2025-04-24 10:49:05

6

主题

8

回帖

184

积分

注册会员

积分
184
发表于 2023-4-3 19:15:07 | 显示全部楼层
我开发过一款带3轴的 ,频率范围300Hz~200KHz,带线性加减速,带Modbus控制,具有绝对定位DDRVA、速度控制PLSV、回原点DZRN功能,原理如下:用3个定时器进中断作为脉冲发送及计数(中断内代码越少越好),用1个1ms定时中断对3个轴进行加减速控制,剩下1个定时器做4个串口的波特率;经逻辑分析仪测试,脉冲数量精准不漏,加减速时间精准。原点及限位是用IO中断进行处理的
知识改变命运,技能成就梦想!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:485
  • 最近打卡:2025-05-03 08:49:35
已绑定手机

23

主题

589

回帖

2817

积分

金牌会员

积分
2817
发表于 2023-4-4 09:43:09 | 显示全部楼层
顶起来,我也有这种需求,希望能有解决方法,实例程序最好了!无论如何,都感谢实例提供者!!
不停地学习
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2024-10-28 22:08:37

2

主题

4

回帖

38

积分

新手上路

积分
38
发表于 2024-1-28 18:43:35 | 显示全部楼层
梁*** 发表于 2022-12-20 11:00
伺服电机你是指发方波脉冲信号吧?
方案1:使用STC8H系列、STC32G12K128系列,使用3路PWM工作于高速脉冲输 ...

STC32G 只有PWMA与PWMB 两组 可以设置周期   当需要多路脉冲不同周期同时运行时应该是怎么设置

点评

PWMA、PWMB使用软件定时器发出脉冲,一共8路,了可以驱动8个电机,相互独立互不干扰。  详情 回复 发表于 2024-1-28 19:59
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:51
  • 最近打卡:2025-05-02 10:07:51

73

主题

5883

回帖

1万

积分

超级版主

积分
12081
发表于 2024-1-28 19:59:14 | 显示全部楼层
xdh*** 发表于 2024-1-28 18:43
STC32G 只有PWMA与PWMB 两组 可以设置周期   当需要多路脉冲不同周期同时运行时应该是怎么设置 ...

PWMA、PWMB使用 PWM定时器程序设置后自动发出脉冲,一共8路,可以驱动8个电机,相互独立互不干扰。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:338
  • 最近打卡:2025-04-25 16:31:21
已绑定手机

14

主题

600

回帖

2199

积分

荣誉版主

积分
2199
发表于 2024-3-5 14:28:01 | 显示全部楼层
这种最好的方法就是用定时器中断,几路电机配合时,脉冲最多的作为主,其他做插补运算,这样升降速脉冲个数都可以精确控制.
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:372
  • 最近打卡:2025-05-01 10:53:48

12

主题

125

回帖

1685

积分

金牌会员

积分
1685
发表于 2024-3-6 17:15:00 | 显示全部楼层
xiangz*** 发表于 2024-3-5 14:28
这种最好的方法就是用定时器中断,几路电机配合时,脉冲最多的作为主,其他做插补运算,这样升降速脉冲个数都可 ...

说的很对,实际上这个3轴控制问题可以分为几个部分,其他解算和插补就不讨论了,就说最后的发出脉冲让步进执行这段,要考虑很多问题,可行的解决方法就是以3轴中最多脉冲的那个轴,以设定最高的速度来计算周期,更新到有最高中断的时间定时器,其他2轴则在这个周期内根据脉冲个数重新装载PWM周期及计数脉冲个数,才能使3轴正确的运行,也就是说必须使用STC8G系列的那个步进专用MCU作3轴步进的输出控制,最好再来一块高性能的做解算,插补,加减速计算,通过通讯来连接
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:338
  • 最近打卡:2025-04-25 16:31:21
已绑定手机

14

主题

600

回帖

2199

积分

荣誉版主

积分
2199
发表于 2024-3-6 17:31:29 | 显示全部楼层
lzz*** 发表于 2024-3-6 17:15
说的很对,实际上这个3轴控制问题可以分为几个部分,其他解算和插补就不讨论了,就说最后的发出脉冲让步 ...

嗯,我就做微型数控的,算法都是用定时器,GD32F103的六轴可以差不多跑到200K,最快的那个轴,其他根据插补去计算,用STC也做了一款两轴的,33m的频率,两轴插补可以到100K,当然,我都说的是直线插补.
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:05 , Processed in 0.198019 second(s), 123 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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