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

Ai8051U,做个开源运动控制器(PLC),方案讨论

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:409
  • 最近打卡:2025-06-17 00:48:11

8

主题

353

回帖

2476

积分

金牌会员

积分
2476
发表于 2024-11-7 14:38:07 | 显示全部楼层
STC单片机这么便宜,可以考虑下多处理器方案,任务分配下去,各个通道自主运行,主芯片做总体协调

点评

多处理器方案,本质上相当于类似CAN总线驱动,主MPU负责将实时驱动数据,通过CAN总线。输出分配到各个从MPU。 从MPU相当于解码器(格式转换器),将驱动数据解析,转换成脉冲输出驱动伺服控制器。 是否感觉有点多余  详情 回复 发表于 2024-11-7 16:06
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5499

积分

荣誉版主

积分
5499
发表于 2024-11-7 16:06:41 | 显示全部楼层
网*** 发表于 2024-11-7 14:38
STC单片机这么便宜,可以考虑下多处理器方案,任务分配下去,各个通道自主运行,主芯片做总体协调 ...

多处理器方案,本质上相当于类似CAN总线驱动,主MPU负责将实时驱动数据,通过CAN总线。输出分配到各个从MPU。
从MPU相当于解码器(格式转换器),将驱动数据解析,转换成脉冲输出驱动伺服控制器。
是否感觉有点多余?从MPU完全可以不用,直接配带CAN总线的伺服电机驱动器即可。

点评

有个不明白的地方,CAN总线的驱动器插补是怎么做的,有同步信号还是别的啥的?  详情 回复 发表于 2024-11-8 16:25
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:409
  • 最近打卡:2025-06-17 00:48:11

8

主题

353

回帖

2476

积分

金牌会员

积分
2476
发表于 2024-11-8 10:44:37 | 显示全部楼层
LAO*** 发表于 2024-11-7 16:06
多处理器方案,本质上相当于类似CAN总线驱动,主MPU负责将实时驱动数据,通过CAN总线。输出分配到各个从M ...

CAN总线速度可不是板级MCU之间通讯和IO速度能比的,对于实时性要求很高的运动控制,并行任务才是最有效的,市场上成品运动控制卡多数也是主控MCU+FPGA/DSP构架.

点评

目前STC的CAN,设计上还存在一点小\问题,数据读写采用和USB一样的间接寻址。 使得普遍使用的DMA,应用不上。结构上又没有像USB那样,数据地址寄存器放在SFR中, 而是放在XFR内,使得地址增减读写数据慢了好多。 总  详情 回复 发表于 2024-11-8 11:54
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5499

积分

荣誉版主

积分
5499
发表于 2024-11-8 11:36:09 | 显示全部楼层
在同等频率下,CAN速度不会超出板级MCU通讯速度(板级灵活,可用1~N路总线同时进行通讯),
CAN主要优点在于便于扩展多个主从配置,其强制性的高低电平门阀过滤,可使得通讯距离超长,同时可靠性也极大的提高。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5499

积分

荣誉版主

积分
5499
发表于 2024-11-8 11:54:09 | 显示全部楼层
网*** 发表于 2024-11-8 10:44
CAN总线速度可不是板级MCU之间通讯和IO速度能比的,对于实时性要求很高的运动控制,并行任务才是最有效的, ...

目前STC的CAN,设计上还存在一点小\问题,数据读写采用和USB一样的间接寻址。
使得普遍使用的DMA,应用不上。结构上又没有像USB那样,数据地址寄存器放在SFR中,
而是放在XFR内,使得地址增减读写数据慢了好多。
总之,单MPU方案,Ai8051U用于单路从模式,比如,CAN转换器,CAN接收转脉冲输出
驱动伺服,或者直接CAN信号接收识别后,驱动马达都行。
如用单MCU主控方案,估计速度跟不上,还要加配FPGA才行。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:349
  • 最近打卡:2025-06-16 21:51:14
已绑定手机

14

主题

600

回帖

2257

积分

荣誉版主

积分
2257
发表于 2024-11-8 16:25:24 | 显示全部楼层
LAO*** 发表于 2024-11-7 16:06
多处理器方案,本质上相当于类似CAN总线驱动,主MPU负责将实时驱动数据,通过CAN总线。输出分配到各个从M ...

有个不明白的地方,CAN总线的驱动器插补是怎么做的,有同步信号还是别的啥的?

点评

CAN总线只负责高速可靠传输数据,具体插值算法则依靠下位机负责,比如计算折合成运行速度,转换成脉冲输出,或者直接驱动电机运转。  详情 回复 发表于 2024-11-8 17:44
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2025-05-16 11:56:09

2

主题

186

回帖

1058

积分

金牌会员

积分
1058
发表于 2024-11-8 17:08:03 | 显示全部楼层
xiangz*** 发表于 2024-11-8 16:25
有个不明白的地方,CAN总线的驱动器插补是怎么做的,有同步信号还是别的啥的? ...

CANopen伺服驱动器有插补模式,协议里有同步命令,具体怎么实现没做过,不过感觉插补的话要精度高还得是脉冲控制,总线控制再怎么着插补也不可能精确到1个脉冲

点评

嗯,我也是觉得奇怪,不知道怎么同步,一个cpu算,插补绝对是没有问题的,但多个协同,没有同步信号感觉好难,呵呵  详情 回复 发表于 2024-11-8 20:59
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5499

积分

荣誉版主

积分
5499
发表于 2024-11-8 17:44:05 | 显示全部楼层
xiangz*** 发表于 2024-11-8 16:25
有个不明白的地方,CAN总线的驱动器插补是怎么做的,有同步信号还是别的啥的? ...

CAN总线只负责高速可靠传输数据,具体插值算法则依靠下位机负责,比如计算折合成运行速度,转换成脉冲输出,或者直接驱动电机运转。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5499

积分

荣誉版主

积分
5499
发表于 2024-11-8 18:05:17 | 显示全部楼层
无论哪种传输方式,最后都要转换成脉冲(驱动步进电机),或者直流电压(驱动直流伺服电机或直刷电机),或者交流电压(驱动伺服电机或无刷电机)。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:312
  • 最近打卡:2025-03-11 13:20:13

54

主题

1327

回帖

5499

积分

荣誉版主

积分
5499
发表于 2024-11-8 18:16:23 | 显示全部楼层
CAN通讯,最常用的运动命令,是G命令,
例如:G01 X5.430 Y1.234 F100
解释:X轴目标位置5.432,Y轴目标位置1.234,运行速度100。

点评

肯定是这样,但X,Y的驱动器能像单机做插补运算那样,完全同步的吗??  详情 回复 发表于 2024-11-8 21:00
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-17 05:39 , Processed in 0.150571 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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