基于LabVIEW的康复医疗机械臂的设计研究论文_高文泉

北京深迈瑞医疗电子技术研究院有限公司 100085

摘要:针对病人的远程治疗以及实时观察的需要,基于 LabVIEW 的康复医疗机械臂以 STC12C5A60S2 单片机和 PCA9685 组成硬件核心,选用舵机作为机械臂的电机,以 LabVIEW 为软件开发平台,通过 VISA 串口实现 LabVIEW与单片机相互通信,以及使用 VISION 对图像进行视频采集,利用 TCP/IP 协议在同一个局域网内操控和观察,同时用 3D 模型机械臂辅助多角度观察机械臂,达到了实时治疗和控制观察的效果。本设计支持在局域网进行视频通信和控制,有手动和自动两种模式可供选择、3D 机械臂模型辅助观察。

关键词:PCA9685; I2C 总线; LabVIEW; TCP/IP; VISION; VISA 串口通信

前言

基于LabVIEW的康复医疗机械臂有控制精确度高、操作灵活简单、远程组网操控等优点,患者可以在家中根据医生的远程设定自行进行康复锻炼; 医生则可以根据不同患者的治疗情况,及时地调整康复方案。该系统的应用,不仅可以提高医生的工作效率,而且极大地方便了广大上肢需要康复治疗病人。

本设计支持多种被动康复训练模式,可以通过服务端界面实现对患者肢关节的手动控制; 也可以储存一些简单的康复训练动作,反复执行这些动作; 在同一局域网间进行康复医疗控制,大大解放了空间和时间的限制; 同时在服务端界面可以观察到与实验机械臂相似的3D 机械臂模型,有助于医疗师多角度的观察机械臂的运作情况; 服务端和客户端之间通过 TCP/IP进行视频通信,有利于医疗师的实时观察,还可拍照记录康复进度,这些信息可在医疗师的服务端上查看。

1.基于LabVIEW的康复医疗机械臂的整体结构

基于LabVIEW的康复医疗机械臂整体结构框图如图1所示,系统由 LabVIEW 上位机,STC12C5A60S2 单片机和PCA9685模块和MPU6050模块组成。服务端通过TCP/IP协议将角度发送到客户端,同时3D模型机械臂也将根据角度运作,客户端通过 VISA串口将角度传到单片机,单片机驱动PCA9685模块控制机械臂按照医师设定的角度范围进行康复医疗,同时客户端将采集到的患者情况用视频传回给服务端。服务端可对患者情况进行图像保存,机械臂的角度范围可自由选择,也可通过模式切换开关将机械臂切换到手动模式,更好的观察患者的病情并设计出更好的医疗方案。

2.基于 LabVIEW 的康复医疗机械臂的硬件设计

2.1 机械结构的选择

医疗机械臂机械结构模型选购于网上,其设计理念来源于 ABB 码垛机器人,原理结构基本相同,运动范围度、扭力大于同级其他机械臂。机架材质选用加厚硬质合金数控加工而成,抗曲性较强。6 个运动关节均采用优质轴承链接,性能优良。机械结构模型后加有主控板固定底座。手臂底座采用优质全钢大轴承固定,底座固定机臂运动不易摇晃,承重性能优良。

2.2 驱动电机的选择

在驱动电机选择上,选用了 MG996R 型号的舵机作为驱动电机,考虑有以下:

第一、MG996R 舵机拥有金属齿轮,耐磨性高。

第二、扭矩大。在 4. 8V 的驱动电压下,扭矩可达 13. 00Kg. cm,足以驱动手臂的重量。

第三、精度高。拥有 1024 个位置等级,可控角度精度可以达到小数点后一位。

2.3 舵机脉冲宽度调制驱动分析

2. 3. 1 脉冲宽度调制技术的定义

脉冲宽度调制 ( Pulse Width Modulation,PWM) ,在脉冲宽度调制中,矩形波的高电平时间跟周期的比例叫占空比,例如 1 秒高电平 1 秒低电平的 PWM 波占空比是50%。

2. 3. 2 舵机PWM信号协议

舵机的伺服系统由可变宽度的脉冲来进行控制,控制线是用来传送脉冲的。脉冲的参数有最小值,最大值和频率。一般而言,舵机的基准信号都是周期为 20ms,宽度为1. 5ms 的 PWM 信号。这个基准信号定义的位置为中间位置。舵机有最大转动角度,中间位置的定义就是从这个位置到最大角度与最小角度的量完全一样。不同舵机的最大转动角度可能不相同,但其中间位置的脉冲宽度是 1. 5ms。如下图3所示:

角度是由来自控制线的持续的脉冲所产生。脉冲宽度的长短决定舵机转动多大角度。例如 1. 5ms 的脉冲会到转动到中间位置。当控制系统发出指令,让舵机移动到某一位置,并让它保持这个角度,因为舵机中存在角度闭环反馈,这时即使外力的影响让舵机的角度产生变化,舵机也会马上回到指定的角度。当控制系统连续的发出脉冲稳定舵机的角度,舵机的角度会一直不变。

当舵机接收到一个小于 1. 5ms 的脉冲,输出轴会以中间位置为标准,逆时针旋转一定角度。接收到的脉冲大于 1. 5ms 情况相反。不同品牌,甚至同一品牌的不同舵机,都会有不同的最大值和最小值。最小脉冲为 0. 5ms,最大脉冲为 2. 5ms。对应角度如下图4 所示:

2.3.3 改进型舵机 PWM 信号协议

以往的舵机的基准信号都是周期 20ms 的 PWM 信号,即频率为 50Hz 的信号,如果宽度从 0. 5ms 从 2. 5ms 变化,那么可控范围为:

2. 5ms /20ms - 0. 5ms /20ms × 100% = 10%

此范围要求控制信号的精度要求比较高,基于此把基准信号的周期调为 10ms 的PWM 信号,那么可控范围为:

2. 5ms /10ms - 0. 5ms /10ms × 100% = 20%

可控范围相比于之前提高了 1 倍,降低了对控制信号的要求,同时不同宽度对应的角度还是不变的,经过实际测验,最小 0. 5ms 的宽度仍对应 0 度,最大 2. 5ms 的宽度仍对应 180 度,改进后的协议明显的降低了对控制信号的要求,同时提高了一定的舵机精度,10ms 基准信号示意图如下图 5 所示:

2.4 系统硬件电路图设计

本系统可以分为控制部分,信号检测部分,电源部分。控制部分包括串口通信模块、PCA9685PWM 发生模块两个基本部分。电源部分主要为 12V 转 5V 模块。下面分别展示以上模块的电路图设计。

2.4.1 CH430 串口模块电路

CH340 串口模块电路的参考于其手册设计的,为了缩小体积以及提高抗电磁干扰,在PCB设计过程中电容以及电阻和芯片封装采用的都是贴片封装。

2.4.2 主控芯片电路

在主控芯片上,最小系统的配置与传统 8051 无差别,晶振采用的是 11. 0592Mhz。在接口方面主要有用于模拟 I2C 接口的 P1. 0 和 P1. 1 口,串口 1 通讯上位机的 P3. 0 与P3. 1 口,另外预留了 3 个 LED 灯口,两个按键口,以及一个蜂鸣器报警口,为后续开发提供接口。出于缩小体积,以及散热的考虑,在 PCB 设计过程中,采用了 LQFP -44G 的贴片封装。

2.4.3 LM2596S - 5. 0 电源模块电路

LM2596S - 5. 0 电源模块是基于德州仪器公司的手册设计的,该模块能将输入的12V 电压转为稳定 5V 电压,在该电路中 47uH 的电感能起到拟制电流突变的作用,能有效拟制舵机堵转时产生的激起电流,同时在输出端添加了一个续流二极管,选用的是IN5824,该型肖特基二极管最大能承受 36V 电压,3A 的电流,非常适合运用于大负载的场合。

3.基于 LabVIEW 的康复医疗机械臂的上位机设计

3.1 TCP / IP 通信设计

在 LabVIEW 中,对 TCP/IP 协议进行了高度的函数集成,使得 LabVIEW 拥有了强大的网络通信功能。LabVIEW 的 TCP/IP 节点函数存在于函数选板中,只需要使用相应的 TCP/IP 节点函数就能实现网络通信。

网络通信通常使用客户机 /服务器模式 ( Client/Server 模式) ,这种模式有多个客户机采集数据,一个服务器充当数据库的角色,客户机通过通信协议将所得数据写入远程服务器数据库。设计者需开发一个客户机程序用以采集数据和数据的远程发布 ( 相当于 “写”的功能) ,以及一个客户端数据的接收程序 ( 相当于 “读” 的功能) ,当“读”“写”程序运行时,DataSocket Server 程序同时监视程序执行状况。设计者着重于开发服务器程序,不存在客户端程序的开发与维护。该方法使得在 PC 之间传输数据就像在同台机器里向文件夹里读写数据一样方便,只需输入对方的 IP 地址即可。

在基于 LabVIEW 的康复医疗机械臂当中,一台电脑发送角度数据作为服务端,另一台电脑驱动机械臂作为客户端,通过局域网实现数据双向转输。

TCP / IP 通信设计可以简单概括为 LabVIEW 点对点的交互式 TCP 间通信。点分别是指服务端和客户端。下面是服务端的程序介绍。如图9,以 “TCP 侦听”— “读取TCP 数据” - “写入 TCP 数据” 为基础,设置好双端口的端口号 2016 和 2017,双端口避免了网络传输出现错误。此处的 IP 地址与端口号 2016 也可自由更改,端口号 2016用于控制角度传输,而端口号 2017 用于客户端将视频传到服务端。

图 9中 “写入 TCP 数据”的输入数据为发送给机械臂的角度的指令,角度的信息放在字符串 2 中,每次发送 6 个舵机的角度。

图10网络视频接收的程序中,使用另一个端口号来进行传输,避免了网络堵塞还有与角度数据互相干扰,同样选取接收 4 个字节避免了服务端占据大量内存而影响其他服务程序进行,同时增加了拍照功能。

接下来是客户端的介绍。图11 以 “打开 TCP 连接”— “读取 TCP 数据” - “写入 TCP 数据”为基础,设置好 IP 地址 172. 19. 122. 21 以及双端口端口号,端口号对应服务端。

3.2 VISION 设计

在构建远程测控系统的过程中,视频采集是一个必不可少的模块。视频采集将使用到 VDM 和 VAS 两大模块。在 TCP 通信的第三阶段,摄像头采集的视频信息将会从客户端通过局域网传递给服务端。在 “函数面板”的 “视觉与运动”中就可以找到所需要的函数,如图 12,图 13 摄像头捕捉图像过程。

3.3 VISA 设计

VISA 串口传输层是测试程序与数据传输总线的中间层,为应用程序和仪器总线的通信建立了通道。VISA 是应用于仪器编程的标准 ABC 应用程序接口,本身不具有仪器编程能力,是调用低层驱动器的高层 API,使用时需要安装 VISA 驱动程序。

VISA 串口编程函数位于程序框图界面的 “函数 - 仪器 I / O - 串口” 常用其中 7 个函数,这里主要用四个,如图 16; “VISA 配置串口”用于选择通信端口、设置比特率、数据位数、校验方式、流控制等; “VISA 写入”将传输缓冲区中的数据写入配置串口时指定的设备或接口; “VISA 读取”在指定的串口接收缓冲区按照指定字节数读取数据;“VISA 关闭”用于关闭串口。

“VISA 写入”是以检查每个角度是否变化为条件,只要发生变化立即触发 “VISA的写入”,而没有发生变化时则不调用串口,达到了实时响应和节约串口资源的作用。而在 “VISA 读取”中将读取的字节每三个为一组放在二维数组。

3.4 医疗机械臂服务端程序设计

当医疗机械臂服务端启动界面的进度条执行完后,界面便会切换到服务端的手动模式界面,如图 15 示。在手动模式界面里可以清楚看到网络端口 ID、6 个舵机角度旋钮、每个舵机的角度、3D 模型、远程视频、速度调节等。

当与客户端建立连接之后,医疗师可先在手动模式下调节机械臂的运作是否正常,每个旋钮对应机械的关节。当检查无误,可拨动最左边的波动按钮,将控制模式改为自动模式,如图16示。

手动模式和自动模式的切换是根据条件结构和属性节点,来使程序进入相应的功能和显示对应的控件,在主要在程序中添加 FOR 循环,通过角度的自动累加和累减实现关节的往返运动,并加入多个条件结构实现机械臂的运动和停止。通过控制 FOR 循环时间来控制角度数据发送速度,达到调速的目的。

图17是3D模型机械臂的程序框图。通过 “调用节点”把机械臂 3D 模型调用至程序中,同时需要设定好各个模型间的从属关系和位置。使用 3D 模型机械臂可辅助医师多角度观察机械臂,更好的让医疗师观察患者当前的情况。

3.5 医疗机械臂客户端程序设计

医疗机械臂客户端跟服务端一样,当客户端的启动界面进度条执行完以后,便会自动切换到客户端的界面,如图 20。在客户端界面里可以清楚看到网络端口 ID、连接的服务器地址输入、串口波特率选择、从服务端接收到的角度缓冲区以及实时视频显示等。

当与服务端建立连接之后,客户端将调用 VISA 和 VISION 工具包,把服务端发送过来的角度通过 VISA 串口写入单片机。

结束语:

随着科技的飞速发展,传统的一对一的康复治疗已经不能满足更为智能化的医疗要求,基于 LabVIEW 的康复医疗机械臂,实现了每个医生可以同时指导多个病人进行康复治疗,具备了网络监视、网络遥控等优点,其局域网通信模式扩大了使用范围,更适合于现代化的

医疗服务行业。

参考文献:

[1]张玉萍,荣见华,付俊庆,冯肖霞.基于 Lab VIEW 的网络通信技术研究 [J].《自动化仪表》,2004,25 ( 4) : 21 - 23.

[2]徐富新,罗明,陈芳,何继善. 基于 Lab VIEW 的远程测控系统视频采集的设计与实现[J].计算机工程与科学,2015,( 5) : 24 - 26.

[3]王会清,程勇.家庭安防系统中的多摄像头视频采集与网络传送 [J]. 武汉工程大学学报,2016,( 7) : 66 - 70.

论文作者:高文泉

论文发表刊物:《科学与技术》2019年第10期

论文发表时间:2019/9/30

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于LabVIEW的康复医疗机械臂的设计研究论文_高文泉
下载Doc文档

猜你喜欢