当前位置:首页 > 测试测量 > 测试测量
[导读] 从题目上看,这篇文章涉及了LabVIEW的编程、32路舵机控制板的使用和多自由度机械臂的动作演示,应该还有蓝牙通讯,后面三部分内容,在前面的文章中讲述过,文章题目《32路舵机控制板与多自由度机械臂》

从题目上看,这篇文章涉及了LabVIEW的编程、32路舵机控制板的使用和多自由度机械臂的动作演示,应该还有蓝牙通讯,后面三部分内容,在前面的文章中讲述过,文章题目《32路舵机控制板与多自由度机械臂》,网址:http://www.eefocus.com/zhang700309/blog/12-09/286479_a1c80.html。这篇文章主要讲LabVIEW如何编程来与舵机控制板串口通信,并进而控制机械臂上的各个舵机。

32路舵机控制板由国内公司DFRobot出品,上一篇文章讲述了如何用控制板自带的舵机控制软件,来设置舵机动作的方法,这篇文章希望用LabVIEW程序来代替厂家的舵机控制软件一部分功能,来做一个为这个实验项目量身定做的人机界面。

实验视频:

点击网址,全屏看视频,

http://www.tudou.com/v/anpCVbq0ZDI/&rpid=96368873&resourceId=96368873_04_05_99/v.swf。

多自由度机械臂的6个舵机分别控制爪子抓放、腕部旋转、腕部上下、肘部上下、臂部上下和臂部旋转,这些部位的舵机按照从爪子到塔台的顺序,分别通过控制线接到舵机控制板的通道上,通道编号为3、4、5、13、14、15,如下图所示。

6自由度机械臂:(所有图片,双击都可以放大观看!)

32路舵机控制板:

多自由度机械臂上的6个舵机都支持180度转角,舵机的转动角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM信号的周期固定为20ms(50Hz),脉宽在500us到2500us之间,脉宽和舵机的转角0°~180°相对应。

从人机对话前面板入手,开始讲解LabVIEW编程,看看下图LabVIEW前面板中,有六个滑动杆控件,用鼠标移动游标,在行程范围从500到2500的滑动杆上移动,就可以分别控制机械臂上的六个舵机转动角度。

六个滑动杆的当前值会立即反馈到后台程序,即LabVIEW框图程序,这个程序会把这些数据组合成一行字符串命令,并通过串口,下达给32路舵机控制板,进而控制机械臂上的舵机。所以这次LabVIEW编程有两个要点:1、如何编写LabVIEW串口通信程序,让舵机控制板接受到上位机下达的字符串命令;2、如何把数据类型为整数的六个舵机PWM脉宽数据组合成字符串,而且这个字符串必须符合控制板对字符串命令的格式要求。

框图程序:(所有图片,双击都可以放大观看!)

上图的图形化编程设计是采用NI_VISA串口Serial函数来访问和控制串口的。VISA中的Serial函数库里包含VISA 配置串口、VISA 写入、VISA 读取、VISA 关闭等子函数。这些子函数的提取路径是:函数库→仪器I/O→串口,本设计用到的三个VISA串口子函数是:VISA串口配置函数VISA Configure Serial Port、VISA写入函数VISA Write、和VISA 关闭函数VISA Close。它们的图标见下图所示:

VISA串口配置函数的作用是完成串口参数的初始化设置,包括了串口资源名称,波特率,奇偶校验、数据比特、是否启用终止符等,上图中该函数连接了两个输入变量,变量名为“请选择串口名”和“波特率”,它们分别连在串口资源名称和波特率参数端子上,变量值是在前面板上相应控件来设定的,其它输入参数采用默认值。图中VISA串口配置函数有两个输出端子,图标上面的输出端子输出的是串口资源名称,下面的输出端子输出的是错误码,输出端子向下游函数传递信息。
VISA写入函数有三个输入端子,上面一个输入端子是前面VISA串口配置函数传递的串口资源名称,下面的输入端子是传递的错误码,意思是若前面的函数出错了,会往这里输入一个错误码,然后继续往下面传递,有错误码出现时程序是不会工作的。中间的输入端子是写入缓冲区入口,写入缓冲区支持的数据格式是字符串。

VISA关闭函数VISA Close的作用是当程序停止之前,必须要把使用的串口设备关闭,若不关闭,其他程序就不能使用该设备。

了解了LabVIEW的串口通信函数,下面的问题是如何把六个整数数据组合成字符串,而且这个字符串必须符合格式要求,然后把它送到VISA写入函数的写入缓冲区。

DF-USBSSC32控制板说明书网址:http://wiki.dfrobot.com.cn/index.php?title=USB%E7%89%8832%E8%B7%AF%E8%88%B5%E6%9C%BA%E6%8E%A7%E5%88%B6%E6%9D%BF(SKU:DRI0005)

,看看里面的说明书,多舵机字符串命令的格式是如何解释的。

说明书文摘:

舵机群运动实例:#5 P1600 #10 P750 T2500

通道5移动到1600us位置,通道10移动到750us的位置,2个都同时在2500us内完成,这个命令能协调多个舵机的速度。

机械臂上有六个舵机,它们的控制线接到舵机控制板的控制通道为3、4、5、13、14、15,不考虑移动速度,如果所有舵机都转动到90度位置,那么这个字符串命令应该如何写?答案是:

#3 P1500 #4 P1500#5 P1500 #13 P1500#14 P1500 #15 P1500,字母P后面的整数数据是6个舵机通道的舵机PWM脉宽值,我用到了“格式化写入字符串”命令,该命令有一个“格式化字符”输入端,我对应地写入格式字符串为#3 P%d #4 P%d#5 P%d#13 P%d#14 P%d#15 P%d,%d意思是带符号整数数据,这个函数左侧的六个输入端输入的数据就是格式字符串的六个%d所对应的实时舵机脉宽值,舵机脉宽值通过前面板的六个滑动杆上的游标来设置。

由于舵机安装的方位不同,所以程序中“3000-滑动杆当前值”算式的意思是让滑动杆游标的移动方向与舵机转动方向调整为一致,比如希望滑动杆游标左移,希望舵机顺时针旋转,如果发现实际情况是舵机逆时针旋转,就要用到这个算式。

再看看LabVIEW框图程序中,与生成字符串命令相关的部分,我把它们单独截屏下来了。

按照DF-USBSSC32控制板说明书上所述,在这个字符串命令后面要加入是回车符,我通过“连接字符串”函数,来实现回车符的加入。如上图所示。

框图程序中,VISA配置串口函数下方的程序是:1、串口波特率设定为115200b/s;2、控制各舵机转角的滑动杆初值都设置为1500us,即舵机角度设置为90度,使程序开始运行时,机械臂到达工作初始位置,我在机械臂上安装舵机时,事先把所有舵机的转角都调整为90度,才把它们安装上去。

通过以上编程,符合格式要求的字符串命令就这样一步步生成了,把这个字符串往VISA写入函数“一送”,就OK了,通过串口写到了下位机DF-USBSSC32控制板中,控制板不需要编写一行程序,它会自动理解下达的命令,同时响应前面板上滑动杆控件的游标移动,并驱使各舵机转动角度,让机械臂完成鼠标操纵者所希望达到的各种动作。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

NI提供的软件包经济省时,不仅帮助开发人员节省时间,还为创客提供了新的机遇

关键字: LabVIEW 自动化测试系统

强大的图形化编程工具使整个测试和测量过程的各个方面实现可视化

关键字: LabVIEW 图形化编程工具

摘要:对于每一型新机试飞,或者是重大的研究性试飞和验证试飞,都必须实施遥测监控。现基于TTS(TextToSpeech)语音合成技术,结合飞行试验遥测监控系统的不足,利用TTS引擎在LabVIEW开发环境下设计并实现了遥...

关键字: 飞行试验遥测监控系统 TTS LabVIEW

在科研以及应用软件领域,LabVIEW和MATLAB作为比较常用的2款工具,相信很多人都用过吧。简单的概括一下,LabVIEW侧重测试测量和数据采集,MATLAB侧重科学计算和数据分析。

关键字: LabVIEW matlab 混合编程

摘要:利用单片机和虚拟仪器LabVIEW在PC端设计了温湿度测量及控制系统,用于温湿度数据监测。该系统上位机为PC端监控界面,下位机为单片机,单片机采集温湿度数据,并将采集到的数据通过串口发送给监控界面进行监测和管理。该...

关键字: DHT11 LabVIEW 单片机

摘要:当前闭环步进电机在自动化设备中的应用越来越广泛,故为了进一步满足闭环步进电机的应用需求,采用LabVIEW上位机+运动控制卡+驱动器模块的控制方案进行了多轴运动系统的设计,通过设计的上位机软件实现闭环步进电机的实时...

关键字: 闭环步进电机 精度测试 LabVIEW

摘要:为满足某扭矩检测试验标准要求,基于LabView设计开发了一款扭矩检测装置,该装置能检测某类零部件的断裂力矩,满足试验标准要求,其他零部件的扭矩也可在该装置上检测。类似的扭矩装置可参考该装置进行设计。

关键字: 伺服电机 LabVIEW PLC

在下述的内容中,小编将会对LabVIEW的相关消息予以报道,如果LabVIEW是您想要了解的焦点之一,不妨和小编共同阅读这篇文章哦。

关键字: LabVIEW 测试测量 NI

一直以来,LABVIEW都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来LABVIEW的相关介绍,详细内容请看下文。

关键字: LabVIEW 测试测量 测试仪器

摘 要 :为了实现对患者的远程诊断或监测,设计了相应的硬件模块采集心电、心率、脉搏、血氧饱和度和体温等生理信号,采集到的用户生理参数通过 WiFi 传输至上位机。上位机采用 LabVIEW 实现对用户生理参数的处理与显示...

关键字: 无线传输 生理参数监测 LabVIEW QRS 波形检测 微信小程序 单片机
关闭
关闭