L6470步进电机驱动

2019-12-13 18:20发布

my12.JPG (172.84 KB, 下载次数: 1) 下载附件 2014-1-4 23:22 上传 ,这里的速度是什么意思,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
53条回答
xuande
2019-12-19 11:26
本帖最后由 xuande 于 2014-1-23 13:58 编辑

假设2个电机,1号和2号。链式控制,1号离CPU最远。
目的:给电机1发命令c1,x1,y1,z1;给2号发c2,x2,y2,z2。c表示命令字,x、y、z是三个字节跟随数据。

操作如下:cs低 -> c1 -> c2 -> cs高; cs低 -> x1 -> x2 -> cs高; cs低 -> y1 -> y2 -> cs高;cs低 -> z1 -> z2 -> cs高;结束。

如果跟随数据是两字节,就不需要z1、z2的过程;如果是单字节,那么y、z都不需要。如果没有跟随数据,x、y、z都不需要了。

如果两条命令长度不一样,时序按最长的命令走;多余的位置填数字0,是空操作指令,电机没有任何行为。

所以,可以把子程序按4字节来设计,形式就简化了。

如果是三个电机,那么:cs低 -> c1 -> c2 -> c3 -> cs高; cs低 -> x1 -> x2 -> x3 -> cs高; cs低 -> y1 -> y2 -> y3 -> cs高;cs低 -> z1 -> z2 -> z3 -> cs高;结束。

发送的同时,就要接收;麻烦在于对不同长度、不同内容的命令,在哪里截取有效接收数据。试试就出来了。




一周热门 更多>