同步许多微控制器

时间:2017-09-23 13:39:22

标签: microcontroller rs485 synchronisation

在我的项目中,我将使用modbus协议进行串行通信。有超过320个奴隶在2组中分别分开(见图)。每16个从设备由相同的电源供电,并与其他电源隔离(主设备将与所有从设备隔离)。 i attached a pic to make it clear 我的第一个问题是这个设计是否存在问题?

其次,我希望通过从主微控制器获得的10ms周期脉冲来同步所有从器件。如何实现稳健的同步(什么类型的总线,单个或差分信号,在哪里隔离)?

这是另一种选择: see picture

1 个答案:

答案 0 :(得分:0)

这里可能出现很多问题。对于初学者来说,你需要花费很多时间来轮询你的每一个奴隶。您的隔离器很容易将超过2us的延迟引入同步信号。

你能简单地告诉我们你要特意做什么,例如。同步运动控制?工业解决方案中还有其他替代方案。

工业系统中使用的大多数同步运动控制用于代替机械凸轮和偏心齿轮,因此通常被称为“电子凸轮”和#34;在这个领域里。这是我上一份工作中遇到的技巧列表

  1. 输出多个脉冲序列的PLC,每个脉冲序列指定一个单独的伺服/步进电机驱动器。 PLC必须存储所有运动曲线并进行所有插补,因此可以使用相对简单的驱动器。但是每个执行器都需要它自己的脉冲序列线,而且你的系统中只有太多。
  2. 电机驱动器存储运动曲线&进行插值,并通过外部脉冲序列提前/反转运动。这是Delta Automation ASDA和Schneider Electric Lexium 23型工业伺服驱动器中使用的技术。运动曲线要么预先烧入驱动器的EEPROM,要么通过MODBUS写入。这与你想要做的非常接近,但这里的不同之处在于外部同步脉冲序列是在单独的电线上。
  3. 实时以太网。目标位置以特定间隔周期性地写入每个驱动器。这可以以100Mbps非常快速地完成。至于写入不同驱动器时发生的延迟,有一种内置机制可以测量每个驱动器的延迟,然后相应地进行相应的补偿。很酷吗?我见过的,但从未真正使用过的是Beckhoff的EtherCAT。
  4. 我过去主要使用方法2,从那些经验中你可能不需要那么严格。以下是我的建议。

    1. 如果您的同步信号延迟一点,如果您的机制没有碰撞的风险,如果时间稍微关闭,那将是完全没问题的。但是不能容忍丢失的脉冲,因为其中一个执行器将是异相的。别忘了你的同步&通信电缆质量,如果可能,屏蔽双绞线,并正确连接。
    2. 如果通信线路不太长,则不需要隔离器。我使用的线路长达8米,无需隔离器或中继器。相反,我更担心RS485总线上的支线(分支)连接数量。如果可能的话,直接将所有东西连接到2辆主要巴士上。
    3. 如果这是一个生产系统,可能会出现问题。当系统以同步运动模式运行时,由于通信线路现在已被占用,因此无法监控执行器。这在现实世界的应用程序中是不可接受的,但如果这只是概念设计的证明,那就去吧。