高创伺服电机飞车问题

高创伺服电机飞车问题

高创伺服电机飞车问题

兜兜转转又回到了伺服电机上,此次遇到的伺服电机飞车问题困扰了我有好长一段时间。在飞车发生时,除了电机飞速转动使设备抖动带来的物理冲击,也有身边其他人你一言我一语的情绪冲击。希望这个办法可以解决你的飞车问题。

一、简介

单片机通过CAN与伺服电机驱动器建立通信,用的CANOPEN协议。当设备上电后,伺服驱动器上一直闪“8”。用单片机给驱动器发送复位指令(让伺服电机找到觉得零点)后,伺服电机会偶尔出现飞车事故。飞车仅发生在设备上完电后,第一次用单片机给伺服驱动器发复位指令的时候,如果第一次没有飞车,后再发是不会发送飞车的。

二、硬件

stm32f103zet6 + CAN芯片(TJA 1050)系统板

高创伺服驱动器+伺服电机

三、问题原因

让伺服电机进行复位运动的指令是按照手册CDHD_EtherCAT_CANopen_fw上Homing 模式的例子写的,让我们先看一下这个例子:

因为用到CANopen协议,涉及SDO和PDO的内容,说实话SDO还能看懂,PDO是真没看懂。我们不看指令,就看指令上面的注释。可以看到,在进行复位运动时,会先让驱动器进行使能(Enable power stage with R_PDO1那),然后再进行后面的复位动作。

然后在驱动器的另一个手册上有些,当驱动器上数码管的字符闪烁时,说明有报警,字符后面的点不亮时,说明驱动器没有使能;点常亮时,说明驱动器使能。还有一句话:当字符闪烁时给驱动器使能,可能使电机运动。

所以刚开始一度以为要先清除报警,才可以给驱动器使能。后来发现也不是,而是在上面的Homing 模式中,其实包含两部分动作:驱动器使能和复位运动。在驱动器使能的过程中,是不能马上给驱动器又发送电机运动的指令的,这才是导致我们这个电机飞车的罪魁祸首! 后面电机厂商的技术人员也验证了这一点。

设备上完点后,驱动器数码管上的字符闪烁,小数点未亮,说明此时驱动器未使能。所以此时如果按照Homing 模式的例子给驱动器发指令,驱动器在使能过程中,马上又收到了让伺服电机动的指令,这时大概率会发生飞车。但是如果在驱动器数码管的小数点亮时,即驱动器使能的时候,按照Homing 模式的例子给驱动器发指令,伺服电机是不会跑飞的。

四、解决办法

在设备上完电后,伺服驱动器处于未使能状态,先给伺服驱动器使能。在使能的过程中,不要给驱动器发任何让电机运动的指令,时间大概要6、7s。在伺服驱动器使能完成之后,再按Homing 模式的例子给驱动器发指令,伺服电机是不会跑飞的。

🎈 相关推荐

氩弧焊与电焊:工艺对决及其利弊探析
bat365手机版官网

氩弧焊与电焊:工艺对决及其利弊探析

📅 11-08 👀 1784
天喜桃花是什么意思
365官方登录入口

天喜桃花是什么意思

📅 09-04 👀 2931
韩语å�£è¯­é›¶åŸºç¡€å­¦ä¹ 指å�—:轻æ�¾å¼€å�£è¯´éŸ©è¯­
bt365最新网址

韩语å�£è¯­é›¶åŸºç¡€å­¦ä¹ 指å�—:轻æ�¾å¼€å�£è¯´éŸ©è¯­

📅 07-14 👀 5720