sky999
发表于 2023-2-6 17:10:41
梁工 发表于 2023-2-6 13:48
算法处理很关键,算法不同,耗时会差别很大。
电机的细分(伺服电机也可能叫传输比、齿轮系数等等),与 ...
如果3个都有S型曲线加减速也可以吗?可不可以有个举例程序,谢谢,因为困扰4年多了,不知道怎么写这种不干扰的程序
梁工
发表于 2023-2-6 18:14:26
sky999 发表于 2023-2-6 17:10
如果3个都有S型曲线加减速也可以吗?可不可以有个举例程序,谢谢,因为困扰4年多了,不知道怎么写这种不 ...
可以的,我没有现成的程序。每个处理模块都是独立运行的,怎么会干涉?
我以前要求不高的就用线性加减速,只是算法不同,最多做过6个电机独立运行(可以任意组合联动)。
manzunzu
发表于 2023-2-7 10:57:05
这个要是有个案例就好了,控制步进和伺服的应用场合挺多的.建议大神直接上个案例。:lol
29aH
发表于 2023-4-3 19:15:07
我开发过一款带3轴的 ,频率范围300Hz~200KHz,带线性加减速,带Modbus控制,具有绝对定位DDRVA、速度控制PLSV、回原点DZRN功能,原理如下:用3个定时器进中断作为脉冲发送及计数(中断内代码越少越好),用1个1ms定时中断对3个轴进行加减速控制,剩下1个定时器做4个串口的波特率;经逻辑分析仪测试,脉冲数量精准不漏,加减速时间精准。原点及限位是用IO中断进行处理的
WHX
发表于 2023-4-4 09:43:09
顶起来,我也有这种需求,希望能有解决方法,实例程序最好了!无论如何,都感谢实例提供者!!
xdhzmy
发表于 2024-1-28 18:43:35
梁工 发表于 2022-12-20 11:00
伺服电机你是指发方波脉冲信号吧?
方案1:使用STC8H系列、STC32G12K128系列,使用3路PWM工作于高速脉冲输 ...
STC32G 只有PWMA与PWMB 两组 可以设置周期 当需要多路脉冲不同周期同时运行时应该是怎么设置
梁工
发表于 2024-1-28 19:59:14
xdhzmy 发表于 2024-1-28 18:43
STC32G 只有PWMA与PWMB 两组 可以设置周期 当需要多路脉冲不同周期同时运行时应该是怎么设置 ...
PWMA、PWMB使用 PWM定时器程序设置后自动发出脉冲,一共8路,可以驱动8个电机,相互独立互不干扰。
xiangzichen
发表于 2024-3-5 14:28:01
这种最好的方法就是用定时器中断,几路电机配合时,脉冲最多的作为主,其他做插补运算,这样升降速脉冲个数都可以精确控制.
lzzasd
发表于 2024-3-6 17:15:00
xiangzichen 发表于 2024-3-5 14:28
这种最好的方法就是用定时器中断,几路电机配合时,脉冲最多的作为主,其他做插补运算,这样升降速脉冲个数都可 ...
说的很对,实际上这个3轴控制问题可以分为几个部分,其他解算和插补就不讨论了,就说最后的发出脉冲让步进执行这段,要考虑很多问题,可行的解决方法就是以3轴中最多脉冲的那个轴,以设定最高的速度来计算周期,更新到有最高中断的时间定时器,其他2轴则在这个周期内根据脉冲个数重新装载PWM周期及计数脉冲个数,才能使3轴正确的运行,也就是说必须使用STC8G系列的那个步进专用MCU作3轴步进的输出控制,最好再来一块高性能的做解算,插补,加减速计算,通过通讯来连接
xiangzichen
发表于 2024-3-6 17:31:29
lzzasd 发表于 2024-3-6 17:15
说的很对,实际上这个3轴控制问题可以分为几个部分,其他解算和插补就不讨论了,就说最后的发出脉冲让步 ...
嗯,我就做微型数控的,算法都是用定时器,GD32F103的六轴可以差不多跑到200K,最快的那个轴,其他根据插补去计算,用STC也做了一款两轴的,33m的频率,两轴插补可以到100K,当然,我都说的是直线插补.