CN111481888A - 一种肌力训练动力头控制方法及装置 - Google Patents

一种肌力训练动力头控制方法及装置 Download PDF

Info

Publication number
CN111481888A
CN111481888A CN202010318857.3A CN202010318857A CN111481888A CN 111481888 A CN111481888 A CN 111481888A CN 202010318857 A CN202010318857 A CN 202010318857A CN 111481888 A CN111481888 A CN 111481888A
Authority
CN
China
Prior art keywords
data
mode
rotating speed
reading
analyzed data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010318857.3A
Other languages
English (en)
Inventor
李玉榕
林鑫
***
杜民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN202010318857.3A priority Critical patent/CN111481888A/zh
Publication of CN111481888A publication Critical patent/CN111481888A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H1/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B21/00Exercising apparatus for developing or strengthening the muscles or joints of the body by working against a counterforce, with or without measuring devices
    • A63B21/00178Exercising apparatus for developing or strengthening the muscles or joints of the body by working against a counterforce, with or without measuring devices for active exercising, the apparatus being also usable for passive exercising
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5007Control means thereof computer controlled
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Rehabilitation Therapy (AREA)
  • Pain & Pain Management (AREA)
  • Epidemiology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Rehabilitation Tools (AREA)

Abstract

本发明公开了一种肌力训练动力头控制方法。包括当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据;根据所述解析后数据执行所述解析后数据对应模式功能。本发明还公开了一种肌力训练动力头控制装置。本发明可以根据需求选择合适的训练模式,所采用的训练方案符合临床应用需求,尤其是从临床应用的安全性上改进了等速模式的控制,设计的上位机还具有评估和测试功能。

Description

一种肌力训练动力头控制方法及装置
技术领域
本发明涉及医疗康复领域,特别是涉及一种肌力训练动力头控制方法及装置。
背景技术
肌力是指肌肉收缩力量,是反映人体运动功能的一个重要指标。一些肌肉骨骼***受损的患者通常会导致肌力减弱,肌肉功能障碍,进而影响到肢体的运动功能。而且,随着人口老龄化的出现,越来越多的老年人都会或多或少的出现肢体功能障碍。肌力训练就是运用各种训练模式逐步增强肌肉力量,改善肢体的运动功能。
肌力训练的模式有等速模式、等长模式、等张模式以及被动模式。等速模式是通过装置使得肢体一直保持等速运动。无论测试者的力量多大,其运动的速度一直保持不变。等长模式是通过装置使得肢体关节能够固定在指定位置,无论使用多大的力都不能移动。等张模式是由装置输出一个恒定的阻力矩进行训练。被动模式是由装置带动训练者关节以恒定速度在指定范围内运动。这四种模式中又以等速模式研究最早,使用也最广泛。70年代初美国Cybex公司运用等速运动的原理生产出了世界上第一台等速肌力训练测试仪器,此后世界上许多国家开始了等速技术的应用和研究。经过40多年的发展,目前国外比较有代表品牌有美国的Biodex、德国的Isomed等,都是使用比较广泛的肌力训练装置。
为了推进肌力训练装置的国产化,国内也提出了一些实现肌力训练的控制算法并研制了这种装置。肌力训练装置的核心部位便是动力头,肌力训练的四种模式也是由动力头来完成的,所以研制肌力训练装置的重点也是难点就是动力头的设计与控制。中国专利CN201621105501.7的一种多功能等速肌力康复训练***就设计了一种肌力训练装置,通过将多种训练器固定在一个矩形框架结构的支架内,使得该装置占用的空间比较小。但是也存在一些缺点,首先就是这套装置缺少动力头,没有控制***和反馈装置使得用户只能进行简单的肌力训练。其次,不同部位的训练需要更换不同训练器,使用不方便。中国专利CN201810660563.1的一种等速肌力训练***及其控制方法设计的装置引入了动力头,控制的方法是通过电阻应变片来检测肢体的肌力方向和大小,再传递给控制板,由控制板控制伺服驱动器驱动电机输出和肢体等大反向的作用力来维持等速运动。这种方法虽然可以实现等速训练的目的,但是训练过程中的数据如力矩不能保存,缺少评估的功能。而且,这套装置只能进行等速训练,模式比较单一。中国专利CN201811249597.8的一种具有综合评估功能的多模式康复训练装置及方法同样也加入了动力头,设计了一套低成本多模式的肌力训练装置,并将控制器通过串行总线连接到计算机使得该装置可以显示训练的参数用于后续的评估。该装置的控制策略是通过计算机设置一些训练的参数,再发送到控制器对这些数据进行处理后发送到驱动器,由驱动器控制电机的转动。该装置虽然功能相对比较完善,但是其等速训练模式和等张训练模式的控制方案没有完全符合医学上的训练要求。该专利的等速模式控制方案是让电机一启动便保持恒转速转动,这样就导致不论用户的肢体是否用力,仍然会被装置带动做恒转速运动,这就存在一定的安全问题,不符合实际的临床应用。该专利的等张模式控制方案是检测关节的作用力,如果大于所设定的阻力矩,那么装置开始加速运动,如果此时的速度达到最大速度时以最大速度运行。如果小于所设定的阻力矩,那么就设置电机转速为0,停止运动。而医学上对于等张训练的要求是装置能够输出恒定的阻力矩,也就是说装置在训练的过程中一直是保持恒转矩运动,可见上述专利的控制方法并不符合临床上的等张训练要求。
总结来说,国外的肌力训练设备虽然技术比较成熟,可以进行多模式的训练且具备评估功能,但是造价昂贵不方便普及。而且关于设备的开发技术并没有完全公开,这对肌力训练的研究也会有所限制。国内虽然也提出了一些肌力训练的控制算法,自主研发了一些肌力训练的装置,但是都或多或少的存在一些缺陷,比如模式单一、控制方案不准确等。
发明内容
本发明目的是提供一种肌力训练动力头控制方法及装置,同时基于医学上对于肌力训练模式的要求设计了对应的控制算法,并设计了上位机***可用于训练的评估。主要解决了现有肌力训练装置的模式单一、控制不准确、操作不安全等问题。
根据本发明的第一方面,提供了一种肌力训练动力头控制方法,包括:
当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据;
根据所述解析后数据执行所述解析后数据对应模式功能。
进一步的,“进入串口中断解析所述指令信息中的数据”包括:
读取所述数据,根据所述数据中第一个元素的值确定界面类型;
若所述界面类型为设置界面,读取第二个元素的值确定模式类型,并获取所述模式类型的各标志位预设值,将所述各标志位预设值作为解析后数据;
若所述界面类型为主界面,依次读取从第二个元素开始的数据元素并存储至变量数据中,将所述变量数据作为解析后数据。
进一步的,“根据所述解析后数据执行所述解析后数据对应模式功能”包括:
若所述解析后数据为设置界面解析后数据,读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位;
若所述解析后数据为主界面解析后数据,读取并直接调用所述读取后数据。
进一步的,“读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位”之后还包括:
若所述解析后数据对应模式为等速训练模式,当检测到装置转速大于预设的最大转速值时,将电机转速恒定设置为预设的最大转速值;
若所述解析后数据对应模式为等长训练模式,将驱动器设置为转速模式并将转速设置为0;
若所述解析后数据对应模式为等张训练模式,将驱动器设置为转矩模式,读取力矩值并写入所述驱动器内;
若所述解析后数据对应模式为被动训练模式,将驱动器设置为转速模式,读取转速值并写入所述驱动器内。
根据本发明的第二方面,提供了一种肌力训练动力头控制装置,包括:
获取模块:当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据;
处理模块:根据所述解析后数据执行所述解析后数据对应模式功能。
进一步的,“进入串口中断解析所述指令信息中的数据”包括:
读取模块:读取所述数据,根据所述数据中第一个元素的值确定界面类型;
判断模块:若所述界面类型为设置界面,读取第二个元素的值确定模式类型,并获取所述模式类型的各标志位预设值,将所述各标志位预设值作为解析后数据;
若所述界面类型为主界面,依次读取从第二个元素开始的数据元素并存储至变量数据中,将所述变量数据作为解析后数据。
进一步的,“根据所述解析后数据执行所述解析后数据对应模式功能”包括:
判断模块:若所述解析后数据为设置界面解析后数据,读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位;
若所述解析后数据为主界面解析后数据,读取并直接调用所述读取后数据。
进一步的,“读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位”之后还包括:
判断模块:若所述解析后数据对应模式为等速训练模式,当检测到装置转速大于预设的最大转速值时,将电机转速恒定设置为预设的最大转速值;
若所述解析后数据对应模式为等长训练模式,将驱动器设置为转速模式并将转速设置为0;
若所述解析后数据对应模式为等张训练模式,将驱动器设置为转矩模式,读取力矩值并写入所述驱动器内;
若所述解析后数据对应模式为被动训练模式,将驱动器设置为转速模式,读取转速值并写入所述驱动器内。
本发明的有益效果为:1. 可以根据需求选择合适的训练模式,所采用的训练方案符合临床应用需求,尤其是从临床应用的安全性上改进了等速模式的控制,设计的上位机还具有评估和测试功能。2.构成装置的硬件部件价格适中,因而成本不高,易于广泛普及。
附图说明
图1是根据本发明一实施例的一种肌力训练动力头控制方法的流程图;
图2是根据本发明一实施例的一种肌力训练动力头控制装置的结构图;
图3是根据本发明一实施例的动力头***示意图;
图4是根据本发明一实施例的动力头信号连接图;
图5是根据本发明一实施例的上位机设置界面;
图6是根据本发明一实施例的上位机主界面;
图7是根据本发明一实施例的控制器程序架构图;
图8是根据本发明一实施例的控制器串口中断流程图;
图9是根据本发明一实施例的控制器主函数功能图;
图10是根据本发明一实施例的伺服***基本框图;
图11是根据本发明一实施例的位置模式控制架构图;
图12是根据本发明一实施例的速度模式控制架构图;
图13是根据本发明一实施例的扭矩模式控制架构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了根据本发明一实施例的一种肌力训练动力头控制方法的流程,包括:
S11、当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据。
S12、根据所述解析后数据执行所述解析后数据对应模式功能。
其中,“进入串口中断解析所述指令信息中的数据”包括:
读取所述数据,根据所述数据中第一个元素的值确定界面类型;
若所述界面类型为设置界面,读取第二个元素的值确定模式类型,并获取所述模式类型的各标志位预设值,将所述各标志位预设值作为解析后数据;
若所述界面类型为主界面,依次读取从第二个元素开始的数据元素并存储至变量数据中,将所述变量数据作为解析后数据。
其中,“根据所述解析后数据执行所述解析后数据对应模式功能”包括:
若所述解析后数据为设置界面解析后数据,读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位;
若所述解析后数据为主界面解析后数据,读取并直接调用所述读取后数据。
其中,“读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位”之后还包括:
若所述解析后数据对应模式为等速训练模式,当检测到装置转速大于预设的最大转速值时,将电机转速恒定设置为预设的最大转速值;
若所述解析后数据对应模式为等长训练模式,将驱动器设置为转速模式并将转速设置为0;
若所述解析后数据对应模式为等张训练模式,将驱动器设置为转矩模式,读取力矩值并写入所述驱动器内;
若所述解析后数据对应模式为被动训练模式,将驱动器设置为转速模式,读取转速值并写入所述驱动器内。
本方法的执行主体可以是STM32F407控制器。
本发明的主要控制方案是,以STM32F407为控制器,通过基于JAVA的上位机软件与控制器STM32F407进行通信,实现肌力的训练。动力头***示意图如图3所示,用户通过计算机设置一些训练的参数,然后发送到控制器,控制器对这些参数进行解析处理后,再发送到驱动器,由驱动器控制伺服电机的转动来完成训练。同时,利用角度传感器以及扭矩传感器对伺服电机进行检测,通过控制器对传感器所反馈的数据进行读取,并传到上位机显示。
该***主要组成部分为:计算机、控制器、伺服驱动器、伺服电机、扭矩传感器、角度传感器等。
控制器选用STM32F4系列的芯片,这是ST公司推出的高性能微控制器,不仅有很多的外设接口,而且运行速度也比较快,具有高性能、低成本、低功耗的特点。
电机选用的是电子换相电机,由于该类电机无电刷,不会产生火星或因电刷缘故导致电机使用寿命缩短,而且其采用电子器件来控制定子,性能及可控性较好。
伺服驱动器选用了台达的ASDA-B2,该驱动器有多种模式如转速模式、转矩模式、混合模式等。伺服驱动器的使用不仅使得STM32的负担减少,而且控制更加准确、快速。上位机只需要发送数据传给STM32,STM32经过处理后再输出指令给驱动器就可以实现电机的控制。
扭矩传感器采用的是金属应变片电测技术 ,通过在弹性轴上粘贴应变计组成测量电桥。通电后当弹性轴受扭矩而产生微小变形时,就会导致电桥电阻值变化,再将应变电桥电阻的变化转变为电信号的变化通过放大器放大,从而实现扭矩测量。
角度传感器是选用了ADIS16203,这是ADI公司制造的一种集成的角度测量***,将全部功能均集成于一个紧凑的封装中,利用串行外设接口(SPI)即可方便地访问数据,而且可以访问多个测量结果,使得开发比较方便。
动力头的信号连接图如图4所示,上位机连接到STM32的串口1,伺服驱动器则是连接到STM32的串口2。角度传感器和控制器采用的是SPI通信,这是一种高速全双工的通信方式,芯片的引脚只需要占用四根线且简单易用,所以也被广泛的用于ADC、LCD等设备与MCU之间的通信。扭矩传感器和控制器采用的是CAN通信,这是一种串行通信协议,根据CANH、CANL这两根总线上的电平差异来判断发送和接收数据。控制器和扭矩传感器协议约定好后,扭矩传感器就可以一直采集数据然后传给控制器。
本发明的软件设计可分为两个模块:上位机软件设计以及下位机控制设计。上位机软件设计主要包括组件布局以及参数显示,下位机控制设计主要是基于等速、等长、等张以及被动这四种模式的训练算法以及控制器和上位机、伺服驱动器、传感器的通信算法。上位机软件设计是基于Java的Swing组件,这是一个用于开发Java图形界面应用程序的工具包。它是以抽象窗口工具包(AWT)为基础,包含了构建图形界面的各种组件如窗口、标签、文本框等。Java作为一门面向对象的编程语言,程序的主要组成元素有类、对象以及方法,在面向对象的概念中类就是具有相同属性以及相同行为的一组对象成为类,方法就是类里面的函数。不同的类包含不同的方法,只需要通过调用各种类中的方法就可以实现对应的功能,这也是Java的优点。编程的思路就是将问题按照一定规则划分为多个独立的对象,再通过调用这些对象的方法来解决问题。界面设计的整体思路也同样是如此,而且由于Swing工具包是用Java语言来编写的,所以也一样可以跨平台运行。
Swing工具包主要有两种元素:组件和容器。界面的设计过程是先创建一个容器,然后在容器里面放置组件如按钮、文本框等,通过合理的布局就组成了一个图形界面。设计的上位机界面可分为两个界面:设置界面和主界面。设置界面如图5所示,在设置界面中选择所需要训练的模式、关节以及活动的范围,通过点击对应的按键来完成选择。并定义了一个数组Set[]用来存放数据,并初始化数组第一个元素为1表示这是设置界面的数据。程序的设计过程则是首先调用容器Container类用来创建一个容器,Container类中又有两种类型Window和Panel,这里选择了Window类中比较常用的子类Frame创建一个窗体,这也是整个界面的基础。接下来就是在窗体中添加组件,通过调用Swing工具包里的方法来完成。先将类实例化创建一个对象,比如创建标签JLabel类的对象label,然后引用这个对象的方法就可以对标签进行操作,比如设置字体、颜色、大小等。在设置界面创建三个标签类的对象:模式选择、关节选择、活动范围的设置,用来标注按键的功能。然后就是按键的设计,同样的首先创建按键类JButton的对象button,就可以在窗体中添加按键。然后就是为按键添加功能,创建了按键类的对象只是引入了按键,此时的按键并没有功能,这里就涉及到Java的事件监听机制。事件监听可分为两个部分:事件响应和事件处理。事件响应就是用来识别某个事件源的发生比如鼠标是否点击、按键是否按下,事件处理机制则是在事件相应之后用于执行一些操作。设置界面的按键功能设计为当按下某个按键,则将其对应的参数值保存在事先定义好的数组中。比如模式选择中的四个按键分别对应四种模式,按下被动模式则对应值为1,等长模式对应值为2,等速模式对应值为3,等张模式对应值为4,然后将这个值保存在数组Set[]中。要实现这个功能,首先是定义一个事件***接口的类,接着通过调用方法为事件源注册事件***对象,这样当事件源发生时就会触发事件***对象,由事件***调用相关的方法来处理事件。也就是说将按下按键作为事件源,将数据保存在数组中作为事件处理的内容。通过依次按下模式选择、关节选择以及活动范围设置所对应的按键就完成参数的设置,最后将数组Set[]发送到控制器。
在完成设置界面的参数设置后,要能返回主界面进行下一步参数的设置。所以在设置界面添加了一个按键,并添加了事件监听。程序的原理是通过窗体的切换来完成,当点击返回主界面的按键时,就调用方法将设置界面设置为不显示,同时调用方法将主界面设置为显示。主界面如图6所示,设计的过程与设置界面类似,也是首先创建一个窗体,然后在这个窗体里面添加组件,并定义了一个数组Main[]用来存放主界面的数据,初始化第一个元素为2表示这是主界面的数据。不同的是,主界面的组件更多,比如加入了文本框输入,数据曲线的显示等。在进行训练的过程中,需要给电机一些参数比如正反转的转速、力矩,还要给定训练的组数和次数,所以设计的是通过文本输入来给定这些参数。先创建文本框JTextField类的对象Text,再调用Text的方法就可以实现文本框的添加。此时也只是实现文本的输入,要获取所输入的文本则要调用方法来完成,读取的文本只是字符串,要接着将其转化为整形数,这样才可以保存在数组里。这里同样要添加按键监听来完成数据的保存,这样当输入一些参数如转速时,就可以将转速的值保存在主界面事先定义好的数组中,按顺序依次输入正反转的转速、正反转的力矩以及训练的组数和次数后,最后点击开始按钮将数组Main[]通过串口发送到控制器。至于曲线的显示功能则是在这个窗体中创建一个面板JPanel,然后在这个面板中绘制曲线。面板的作用类似于窗体,不同的是面板可以有多个而且可以放置在窗体里,这样可以更方便的划分区域。曲线的绘制过程首先是读取控制器传输过来的数据比如力矩,由于上位机添加了串口的监听,所以只要控制器有数据传输过来,就会立即接收。接着进行数据的转化,将字符串数据转化为整形数保存在数组中。然后绘制坐标系,再读取数组里的数据并用光滑的曲线连接就完成数据的显示。
下位机控制设计是以控制器为核心,其主要功能是读取传感器的数据、接收处理上位机传过来的指令以及发送指令给伺服驱动器,控制算法的设计则是基于等速、等长、等张以及被动这四种训练模式。
控制器STM32的编程环境是MDK5,由于STM32的寄存器数量很多,为了更方便的进行编程同时提高程序的可读性,所以采用的是固件库开发。 控制器程序的架构图如图7所示,分为三层:用户层User、硬件层HardWare以及底层System。用户层包含主函数等文件,主函数通过调用硬件层的API函数,实现控制算法。硬件层则是一些API函数的集合,这些函数通过调用底层的寄存器操作函数实现一些特定的功能,比如usart1.c中配置了引脚的接口、上位机的通信协议以及串口1的中断函数,和伺服驱动器的通信配置则是由usart2.c来完成,motor.c定义了电机的一些控制指令。底层则是对寄存器的一些操作指令的集合,因为有了硬件层的API函数,所以无需去仔细了解底层的寄存器函数,这样就提高了程序的可读性。
控制器和角度传感器采用的是SPI通信,所以在硬件层里定义一个spi.c用来配置引脚为SPI口、数据长度等参数。控制器和扭矩传感器的can通信,同样也定义一个文件用来配置通信的协议。至于和上位机、伺服驱动器之间采用的是串口通信,所以定义了两个文件分别是usart1.c以及usart2.c。首先使能串口的时钟,再把引脚IO口设置为串口引脚,接着设置一些串口参数如波特率、字长等,再开启串口中断,最后在主函数中调用就可以完成串口的通信。和伺服驱动器的通信则多了数据格式的要求,因为只有特定的数据格式才能被伺服驱动器识别并用于控制电机。
伺服驱动器ASDA-B2可支持Modbus协议,这个协议有两种工作模式:ASCII模式和RTU模式。两种模式的数据格式不一样,ASCII模式传送一个字节的数据要转化为2个ASCII码,比RTU数据量多,但是对数据格式的表达更加直观、清楚,为了提高程序的可读性,所以就采用了ASCII模式。根据伺服驱动器ASDA-B2在ASCII模式下的ModBus协议的数据格式,在motor.c中就定义了长度为27位的发送数组Send[27]。假设要向1号站写入两笔数据,则Send[0]为字符':',这是伺服驱动器定义的起始字符。 Send[1]和Send[2]用来存放通信的地址,因为和一号站台通信那Send[1]为'0',Send[2]为'1'。Send[3]和Send[4]用来存放命令码,因为要写入寄存器,那么Send[3]为'1',Send[4]为'0'。如果是要读取寄存器的数据,则那Send[3]为'0',Send[4]为'3'。Send[5]到Send[8]则用来存放数据的起始地址,Send[9]到Send[12]用来表示数据的数目,Send[13]和Send[14]表示数据的字节数,Send[15]到Send[18]表示写入数据的起始地址,Send[19]到Send[22]表示写入数据的下一个地址,Send[23]和Send[24]用来存放LRC校验码,LRC校验的原理是将所有字节相加,舍去进位,然后取2的补码。这个算法的程序就分别将高位和低位求和,再将高位和乘以16加上低位和就是总和,然后总和除256取余数,最后用256减去这个余数即为所求的校验码。最后是结束符回车0X0D和换行0D0A,存放在Send[25]和Send[26]中。
控制器按照约定的数据格式对数组Send写入数据,比如要启动电机,那么设置数组Send[27]为:“0110040E00020400070000D0”。如果要设置电机转动速度为100r/min, 那么设置数组Send[27]为:“0110011200020403E80000EB”。接着通过串口发送到伺服驱动器,驱动器对数据进行解析后控制电机转动。
控制器STM32的串口中断流程图如图8所示,首先进行程序的初始化包括通信协议、引脚配置等,接着进入循环一直等待上位机指令的到来。接收到上位机指令后,就进入串口中断对数据进行解析处理。在串口中断中先定义了模式标志位、关节标志位以及活动范围的标志位,这些标志位用于表示上位机设置界面传输的信息。这样主函数中只需要判断标志位就可以解析上位机的指令,减少了主函数的运行时间,提高程序的实时性。串口中断解析的过程是先根据上位机约定好的协议来区分是主界面的数据还是设置界面的数据,如果第一个元素是1那么就表示是设置界面的数据,就将这组数据保存在数组1中。接着读取第二个元素,值为1就表示被动模式,值为2表示等长模式,值为3表示等速模式,值为4表示等张模式,然后就设置模式标志位为对应的值就完成了训练模式的解析,接下来依次读取这组数据并设置关节标志位以及活动范围标志位,就完成了设置界面的数据解析。如果第一个元素是2那么就表示是主界面的数据,就将这组数据保存在数组2中,同样的依次读取这组数据元素将转速、力矩以及训练的组数还有次数保存在定义的变量中,然后在主函数中调用这些变量就实现上位机主界面的数据到控制器的传输。
在串口中断里对数据解析完毕后,返回主函数循环,主函数的功能如图9所示,先利用Switch语句判断模式标志位的值,然后就执行对应模式的功能。比如等速训练模式要求装置能够保持恒定的速度转动,这里从安全的角度考虑,实际训练时装置允许受试者加速至但不超过每个方向所选择的最大转动速度,当受试者转动的速度大于所设定的最大转速时,就以最大转速恒速转动。因此,程序中就一直判断电机转动的转速。如果检测到电机的转速大于上位机所设定的转速,就设定驱动器的工作模式为转速模式,并将上位机设定的最大转速值写入驱动器。如果检测到电机的转速小于设定的值,就不控制电机。等长训练模式要求训练装置能固定在指定位置,所以控制器设置驱动器的工作模式为转速模式,并将转速设置为0。等张训练模式要求训练装置能输出恒定的阻力矩,所以控制器设置驱动器的工作模式为转矩模式,并将上位机设定的力矩值写入驱动器。被动训练模式要求训练装置能以恒定速度在指定范围内运动,所以控制器设置驱动器的工作模式为转速模式,将上位机设定的转速值写入驱动器。同时在主函数中一直循环判断,如果电机转动到起点或者终点就改变转向并记录下转动的次数和组数。
控制器的指令传输到伺服驱动器后,伺服驱动器会对这些指令进行解析。伺服驱动器和伺服电机组成了一个伺服***,伺服***的框图如图10所示。该驱动器的三种工作模式:位置模式、速度模式以及扭矩模式本质上分别对应伺服***的位置环、速度环以及电流环,因此可以通过给伺服驱动器发送指令选择工作模式来实现对电机的控制。
位置模式通过外部输入的脉冲频率确定转动的速度大小,脉冲的个数确定转动的角度。控制架构如图11所示,位置环处于最外环,包含了速度环以及电流环。接收到的脉冲经过位置命令处理单元后与反馈的指令做比较,差值作为输入给位置控制器,位置控制器的输出作为速度回路的输入,接着再经过电流回路最终输出合适的电流给电机。
速度模式,采用速度闭环控制使得转速恒定。速度模式的控制架构如图12所示,控制器传输过来的命令经过命令处理单元后与反馈的速度进行比较,差值作为输入传给速度控制单元,这个单元采用PI控制用来管理驱动器的增益参数,实时计算出供给电机的电流,再经过电流回路输出给电机。
扭矩模式采用电流闭环控制使得电机的输出转矩恒定,控制架构图如图13所示,控制器传输的命令经过扭矩命令处理单元后传给电流控制单元,这个单元管理驱动器的增益参数,实时计算出供给电机的电流。通过电流感测器实现电流的跟踪,完成转矩的闭环控制。
图2示出了根据本发明一实施例的一种肌力训练动力头控制装置的结构,包括:
获取模块21:当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据;
处理模块22:根据所述解析后数据执行所述解析后数据对应模式功能。
其中,“进入串口中断解析所述指令信息中的数据”包括:
读取模块:读取所述数据,根据所述数据中第一个元素的值确定界面类型;
判断模块:若所述界面类型为设置界面,读取第二个元素的值确定模式类型,并获取所述模式类型的各标志位预设值,将所述各标志位预设值作为解析后数据;
若所述界面类型为主界面,依次读取从第二个元素开始的数据元素并存储至变量数据中,将所述变量数据作为解析后数据。
其中,“根据所述解析后数据执行所述解析后数据对应模式功能”包括:
判断模块:若所述解析后数据为设置界面解析后数据,读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位;
若所述解析后数据为主界面解析后数据,读取并直接调用所述读取后数据。
其中,“读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位”之后还包括:
判断模块:若所述解析后数据对应模式为等速训练模式,当检测到装置转速大于预设的最大转速值时,将电机转速恒定设置为预设的最大转速值;
若所述解析后数据对应模式为等长训练模式,将驱动器设置为转速模式并将转速设置为0;
若所述解析后数据对应模式为等张训练模式,将驱动器设置为转矩模式,读取力矩值并写入所述驱动器内;
若所述解析后数据对应模式为被动训练模式,将驱动器设置为转速模式,读取转速值并写入所述驱动器内。
本装置使用时,包括以下步骤:
1)将伺服驱动器通过串口线连接到控制器,并将控制器通过串口线连接到计算机,然后打开电源;2)打开上位机软件,进入设置界面设置训练的模式、关节以及活动范围;3)进入主界面,输入训练过程中电机转动的转速、力矩以及训练的组数和次数;4)点击开始按钮进行训练,同时观察曲线显示区域,如果训练过程中出现问题,马上按下停止按钮查看情况;5)训练完毕就按下停止按钮,断开电源,并将控制器与计算机以及驱动器的接线断开;6)对训练的数据进行分析评估。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其他实施例中所包括的某些特征而不是其他特征,但是不同的实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求的保护的实施例的任意之一都可以以任意的组合方式来使用。
本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换,而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (8)

1.一种肌力训练动力头控制方法,其特征为,包括:
当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据;
根据所述解析后数据执行所述解析后数据对应模式功能。
2.根据权利要求1所述的一种肌力训练动力头控制方法,其特征为,“进入串口中断解析所述指令信息中的数据”包括:
读取所述数据,根据所述数据中第一个元素的值确定界面类型;
若所述界面类型为设置界面,读取第二个元素的值确定模式类型,并获取所述模式类型的各标志位预设值,将所述各标志位预设值作为解析后数据;
若所述界面类型为主界面,依次读取从第二个元素开始的数据元素并存储至变量数据中,将所述变量数据作为解析后数据。
3.根据权利要求1所述的一种肌力训练动力头控制方法,其特征为,“根据所述解析后数据执行所述解析后数据对应模式功能”包括:
若所述解析后数据为设置界面解析后数据,读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位;
若所述解析后数据为主界面解析后数据,读取并直接调用所述读取后数据。
4.根据权利要求3所述的一种肌力训练动力头控制方法,其特征为,“读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位”之后还包括:
若所述解析后数据对应模式为等速训练模式,当检测到装置转速大于预设的最大转速值时,将电机转速恒定设置为预设的最大转速值;
若所述解析后数据对应模式为等长训练模式,将驱动器设置为转速模式并将转速设置为0;
若所述解析后数据对应模式为等张训练模式,将驱动器设置为转矩模式,读取力矩值并写入所述驱动器内;
若所述解析后数据对应模式为被动训练模式,将驱动器设置为转速模式,读取转速值并写入所述驱动器内。
5.一种肌力训练动力头控制装置,其特征为,包括:
获取模块:当获取到上位机发送来的指令信息时,进入串口中断解析所述指令信息中的数据,获得解析后数据;
处理模块:根据所述解析后数据执行所述解析后数据对应模式功能。
6.根据权利要求5所述的一种肌力训练动力头控制装置,其特征为,所述获取模块包括:
读取单元:读取所述数据,根据所述数据中第一个元素的值确定界面类型;
第一判断单元:若所述界面类型为设置界面,读取第二个元素的值确定模式类型,并获取所述模式类型的各标志位预设值,将所述各标志位预设值作为解析后数据;
若所述界面类型为主界面,依次读取从第二个元素开始的数据元素并存储至变量数据中,将所述变量数据作为解析后数据。
7.根据权利要求5所述的一种肌力训练动力头控制装置,其特征为,所述处理模块包括:
第二判断单元:若所述解析后数据为设置界面解析后数据,读取所述解析后数据并依次将所述读取后数据设置至关节标志位及活动范围标志位;
若所述解析后数据为主界面解析后数据,读取并直接调用所述读取后数据。
8.根据权利要求7所述的一种肌力训练动力头控制装置,其特征为,所述第二判断单元还包括:
设置元件:若所述解析后数据对应模式为等速训练模式,当检测到装置转速大于预设的最大转速值时,将电机转速恒定设置为预设的最大转速值;
若所述解析后数据对应模式为等长训练模式,将驱动器设置为转速模式并将转速设置为0;
若所述解析后数据对应模式为等张训练模式,将驱动器设置为转矩模式,读取力矩值并写入所述驱动器内;
若所述解析后数据对应模式为被动训练模式,将驱动器设置为转速模式,读取转速值并写入所述驱动器内。
CN202010318857.3A 2020-04-21 2020-04-21 一种肌力训练动力头控制方法及装置 Pending CN111481888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010318857.3A CN111481888A (zh) 2020-04-21 2020-04-21 一种肌力训练动力头控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010318857.3A CN111481888A (zh) 2020-04-21 2020-04-21 一种肌力训练动力头控制方法及装置

Publications (1)

Publication Number Publication Date
CN111481888A true CN111481888A (zh) 2020-08-04

Family

ID=71789787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010318857.3A Pending CN111481888A (zh) 2020-04-21 2020-04-21 一种肌力训练动力头控制方法及装置

Country Status (1)

Country Link
CN (1) CN111481888A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2808000A1 (en) * 2013-05-30 2014-12-03 Funai Electric Co., Ltd. Power assist device and ambulatory assist vehicle
CN107184361A (zh) * 2017-04-25 2017-09-22 浙江洼赛智能科技有限公司 基于ARM和Linux操作***的手部康复外骨骼人机交互***
CN108113845A (zh) * 2016-11-30 2018-06-05 中国科学院沈阳自动化研究所 一种踝关节康复***
CN108524187A (zh) * 2018-03-02 2018-09-14 哈工大机器人(合肥)国际创新研究院 一种六自由度的上肢康复机器人控制***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2808000A1 (en) * 2013-05-30 2014-12-03 Funai Electric Co., Ltd. Power assist device and ambulatory assist vehicle
CN108113845A (zh) * 2016-11-30 2018-06-05 中国科学院沈阳自动化研究所 一种踝关节康复***
CN107184361A (zh) * 2017-04-25 2017-09-22 浙江洼赛智能科技有限公司 基于ARM和Linux操作***的手部康复外骨骼人机交互***
CN108524187A (zh) * 2018-03-02 2018-09-14 哈工大机器人(合肥)国际创新研究院 一种六自由度的上肢康复机器人控制***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
江浩: "基于UCD的康复训练***软件界面交互设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
魏明松: "等速肌力测试训练仪人机交互界面设计", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 *

Similar Documents

Publication Publication Date Title
CN111481888A (zh) 一种肌力训练动力头控制方法及装置
CN202794939U (zh) 一种基于脑电波轮椅控制器
CN103809000B (zh) 基于伺服驱动单元的数据处理方法
CN204406845U (zh) 一种基于单片机的实验教学设备
CN100533424C (zh) 单线传输接口和单字节操作的键盘显示模块
CN208109153U (zh) 一种光电轴角编码器检测仪
CN106908643A (zh) 一种探头、示波器、运动识别***及方法
CN1512464A (zh) 智能针灸教学模拟***
CN200972500Y (zh) 一体化自动集成测试仪
CN111001167A (zh) 一种基于tms320vc5509a的语音控制智能玩具车***
CN106908642A (zh) 一种探头、示波器、运动识别***及方法
CN214586522U (zh) 一种集成plc、视觉或力反馈的智能伺服***
CN204993137U (zh) 一种基于dsp的步进电机控制***
CN111427303B (zh) 一种基于多点测量补偿法的模拟器测控***
CN209086410U (zh) 一种直流步进电机测试仪
CN204374226U (zh) 一种基于stm32的超声电机自动测控***
CN209707977U (zh) 基于视频信号和usb通讯传输的示教器
CN100549698C (zh) 位移传感器与Windows时间间接速度测试方法
CN211531028U (zh) 基于stm32控制l640h驱动器的多轴步进电机控制***
CN2211593Y (zh) 智能外载测量仪
CN201615827U (zh) 机械旋转***的定转速触发非稳态信号采集装置
CN201731972U (zh) 车轮动平衡测试远程监控装置
CN211319708U (zh) 管乐器演奏数据化及演奏评价***
CN103622768A (zh) 基于usb3.0的五指肌电假肢嵌入式测控***及该***的usb3.0数据传输方法
He et al. Design of DC motor PWM speed control system based on BT-04 and AVR MCU

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200804

RJ01 Rejection of invention patent application after publication