2019-12-13 18:20发布
xuande 发表于 2014-1-6 22:50 就是SPI串联控制的材料,GRANT回复的。
xuande 发表于 2014-1-22 21:53 1、先成功单个电机,然后再调试两个电机;会两个,更多自然就会了。 2、检查链式硬件连接 3、找一条最简单 ...
123.jpg (98.17 KB, 下载次数: 0)
下载附件
2014-1-22 22:02 上传
xuande 发表于 2014-1-23 13:54 假设2个电机,1号和2号。链式控制,1号离CPU最远。 目的:给电机1发命令c1,x1,y1,z1;给2号发c2,x2,y2 ...
最多设置5个标签!
你好,菊链的方式怎么用的,我的没成功,谢谢
123.jpg (98.17 KB, 下载次数: 0)
下载附件
2014-1-22 22:02 上传
我的是这样设置的,现在n不管为几,只有第一个电机转,我怀疑是数据没传输,非常谢谢!
byte是什么数据?怎么可能同样的字节发n遍?不懂。
貌似时序是对的,但命令字不对头
ps:明白了,这是n个电机用同样的命令和参数。
假设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高;结束。
发送的同时,就要接收;麻烦在于对不同长度、不同内容的命令,在哪里截取有效接收数据。试试就出来了。
非常感谢,我下午按这种命令格式试了下,两个电机没问题,但是三个电机,有时候正常,有时候不正常。还想请教下,那个BUSY和FLAG引脚都是直接接一起么
一周热门 更多>