刘工您好:最近遇到一个要求控制四轴机械手高速精确运动的项目,想让刘工帮我看下这样的控制方案是否可行:
控制方案如下:
机械结构就是一个类似于龙门结构由升降、水平、左右、旋转四轴构成,要求四轴联动、考虑到b140外部IO的资源有限,我考虑以stm32单片机+b140控制卡的方式实现,以单片机作为主控板接收上位机的指令,将电机运动程序写在控制卡,单片机和控制卡通过串口通讯,从而实现控制要求,每次由单片机接收上位机指令,再经由另外一个串口给控制卡发送执行指令,控制卡执行完了又返回单片机ok信号,控制卡和单片机通过串口信息交互,但是不频繁
现麻烦刘工指导以下几个问题:1、我的这样的控制方案是否可行,有没有原则上的弊端
2、因为我的设备要求高速而且定位要精准(位置误差不超过1mm)所以想问下这类四轴联动的控制galil指令集的哪些指令可能会用到,在保证四轴伺服电机速度和位置精度的前提下控制卡的程序代码应该怎么写,因为像之前基本之用到过AC DC SP PR BG AM这类指令,类似这种高速下的定位,有点不知道应该从哪下手
3、还有一个最重要的问题就是,单片机与GALIL的串口通讯问提,B140要求是硬握手,我现在把DMC-B140 一侧将接口内的 7、 8 脚短接,不使用硬握手,相当于我单片机和卡直接了rxd txd gnd 三线,但是单片机给卡发送执行指令,卡一直没有反应。用串口调试助手发送的指令是没有问题的
过几天就要采购贵公司十几套控制卡,因此急需了解清楚。麻烦刘工百忙之中可以给我解答,万分感谢,
1、我的这样的控制方案是否可行,有没有原则上的弊端
没有原则问题
2、因为我的设备要求高速而且定位要精准(位置误差不超过1mm)所以想问下这类四轴联动的控制galil指令集的哪些指令可能会用到,在保证四轴伺服电机速度和位置精度的前提下控制卡的程序代码应该怎么写,因为像之前基本之用到过AC DC SP PR BG AM这类指令,类似这种高速下的定位,有点不知道应该从哪下手
运动上也就是这样的指令了啊。涉及到龙门,应该还会用到GA、GR指令,世纪的设备总是要有回零动作的,这应该会涉及到FI、FE、HM指令。而多轴的联动,有运动的空间轨迹要求么?是不是需要插补?
定位精度这个事情,一般来说,与控制卡没有什么关系,这是个机械问题。或者在机械部分明确了之后(比如有什么位置反馈校准的措施),控制上在考虑如何应用上这些措施的效果。
3、还有一个最重要的问题就是,单片机与GALIL的串口通讯问提,B140要求是硬握手,我现在把DMC-B140 一侧将接口内的 7、 8 脚短接,不使用硬握手,相当于我单片机和卡直接了rxd txd gnd 三线,但是单片机给卡发送执行指令,卡一直没有反应。用串口调试助手发送的指令是没有问题的
常见的因素是单片机发指令时,没有在指令后发送回车字符,控制卡是在收到回车字符时才执行指令的。
回复内容:
对: leibin123456 回复内容:对: 刘岩利 1、我的这样的控制方案是否可... 内容的回复!
回复内容:
对: 刘岩利 看了下图片,您确认单片机开发板上引出的这几根线能和串口... 内容的回复!
首先,我的串口肯定是好的,因为单片机我用相同的方式通过usb转串口的线是可以在电脑上的串口调试助手正确接收58 51 23 58 0D(XQ #X)这个指令的,而我用串口调式助手给控制卡发58 51 23 58 0D也是可以使控制卡执行指令的,这就说明我的单片机串口是发了58 51 23 58 0D的,而且58 51 23 58 0D也可以使卡运动,现在的问题就是一旦把单片机和控制卡直接接线就无法执行
所以我怀疑:1、是不是单片机与卡的接线问题,我现在的接线是单片机的RXD接卡的TXD,单片机的TXD接卡的RXD,GND接GND,然后控制卡的7\8RTS CTS短接
2、单片机串口的电压是3.3v 控制卡的串口电压是5.7V我怀疑是不是因为电压不一样