LAOXU 发表于 2024-11-7 16:06:41

网老四 发表于 2024-11-7 14:38
STC单片机这么便宜,可以考虑下多处理器方案,任务分配下去,各个通道自主运行,主芯片做总体协调 ...

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

网老四 发表于 2024-11-8 10:44:37

LAOXU 发表于 2024-11-7 16:06
多处理器方案,本质上相当于类似CAN总线驱动,主MPU负责将实时驱动数据,通过CAN总线。输出分配到各个从M ...

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

LAOXU 发表于 2024-11-8 11:36:09

在同等频率下,CAN速度不会超出板级MCU通讯速度(板级灵活,可用1~N路总线同时进行通讯),
CAN主要优点在于便于扩展多个主从配置,其强制性的高低电平门阀过滤,可使得通讯距离超长,同时可靠性也极大的提高。

LAOXU 发表于 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才行。

xiangzichen 发表于 2024-11-8 16:25:24

LAOXU 发表于 2024-11-7 16:06
多处理器方案,本质上相当于类似CAN总线驱动,主MPU负责将实时驱动数据,通过CAN总线。输出分配到各个从M ...

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

zxcv1973 发表于 2024-11-8 17:08:03

xiangzichen 发表于 2024-11-8 16:25
有个不明白的地方,CAN总线的驱动器插补是怎么做的,有同步信号还是别的啥的? ...

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

LAOXU 发表于 2024-11-8 17:44:05

xiangzichen 发表于 2024-11-8 16:25
有个不明白的地方,CAN总线的驱动器插补是怎么做的,有同步信号还是别的啥的? ...

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

LAOXU 发表于 2024-11-8 18:05:17

无论哪种传输方式,最后都要转换成脉冲(驱动步进电机),或者直流电压(驱动直流伺服电机或直刷电机),或者交流电压(驱动伺服电机或无刷电机)。

LAOXU 发表于 2024-11-8 18:16:23

CAN通讯,最常用的运动命令,是G命令,
例如:G01 X5.430 Y1.234 F100
解释:X轴目标位置5.432,Y轴目标位置1.234,运行速度100。

xiangzichen 发表于 2024-11-8 20:59:12

zxcv1973 发表于 2024-11-8 17:08
CANopen伺服驱动器有插补模式,协议里有同步命令,具体怎么实现没做过,不过感觉插补的话要精度高还得是 ...

嗯,我也是觉得奇怪,不知道怎么同步,一个cpu算,插补绝对是没有问题的,但多个协同,没有同步信号感觉好难,呵呵
页: 1 2 [3] 4
查看完整版本: Ai8051U,做个开源运动控制器(PLC),方案讨论