请教刘工单片机与galil卡串口通讯问题 点击:1935 | 回复:8



leibin123456

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 29回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2015年7月13日
发表于:2016-12-21 19:16:18
楼主

刘工您好:最近遇到一个要求控制四轴机械手高速精确运动的项目,想让刘工帮我看下这样的控制方案是否可行:

控制方案如下:

机械结构就是一个类似于龙门结构由升降、水平、左右、旋转四轴构成,要求四轴联动、考虑到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 三线,但是单片机给卡发送执行指令,卡一直没有反应。用串口调试助手发送的指令是没有问题的

过几天就要采购贵公司十几套控制卡,因此急需了解清楚。麻烦刘工百忙之中可以给我解答,万分感谢,

正在下载,请等待……
下载附件需0积分!




leibin123456

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 29回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2015年7月13日
发表于:2016-12-21 19:19:08
1楼

单片机和控制卡接线方式如下

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-22 10:33:39
2楼

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 三线,但是单片机给卡发送执行指令,卡一直没有反应。用串口调试助手发送的指令是没有问题的
常见的因素是单片机发指令时,没有在指令后发送回车字符,控制卡是在收到回车字符时才执行指令的。

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-22 10:40:03
3楼

看了下图片,您确认单片机开发板上引出的这几根线能和串口通讯?用PC上的串口试过没有?您这个开发板我不熟(其实别的也不熟),但是大多数开发板上这样这界从排针上引出来的信号,是不能驱动/接收普通的RS232接口的,甚至您的单片机有可能已经烧了一个接口了。

leibin123456

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 29回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2015年7月13日
发表于:2016-12-22 12:02:01
4楼


回复内容:

对: 刘岩利 1、我的这样的控制方案是否可行,有没有原则上的弊端没有... 内容的回复!

谢谢刘工的解答,空间轨迹要求应该没有,但是有直线插补要求

leibin123456

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 29回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2015年7月13日
发表于:2016-12-22 12:10:50
5楼


回复内容:

对: 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我怀疑是不是因为电压不一样

leibin123456

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 29回
  • 年度积分:0
  • 历史总积分:38
  • 注册:2015年7月13日
发表于:2016-12-22 12:12:55
6楼


回复内容:

对: leibin123456 回复内容:对: leibin123456  回复内容:... 内容的回复!

不知道刘工有什么好的建议解决没有,这个问题困扰我几天了,谢谢刘工了

刘岩利

  • [版主]
  • 精华:2帖
  • 求助:0帖
  • 帖子:17帖 | 8240回
  • 年度积分:397
  • 历史总积分:28760
  • 注册:2005年3月09日
发表于:2016-12-22 14:57:53
7楼

2、单片机串口的电压是3.3v 控制卡的串口电压是5.7V我怀疑是不是因为电压不一样

这个,……,您先找本《串行端口通讯》或者类似《微机接口技术》之类的书看看,看明白了 RS232 接口的硬件规格吧。一般这类书里,都会先告诉你,电压低于-3V的状态为逻辑1,电压高于3V的状态为逻辑0,这与3.3V或5V的TT论点平定义是完全不一样的,在TTL信号和RS232信号的电平转换芯片至少有几十种。

koudior

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:62
  • 注册:2019年9月25日
发表于:2019-09-25 10:49:22
8楼

支持,顶!!!!


热门招聘
相关主题

官方公众号

智造工程师