基于STM32的下肢康复机器人控制系统设计

2020-12-28 11:58:22玄兆燕洪健俊
机械工程与自动化 2020年6期
关键词:微控制器嵌入式总线

玄兆燕,洪健俊,赵 欣

(1.华北理工大学 机械工程学院,河北 唐山 063210;2.唐山市拓又达科技有限公司,河北 唐山 063020)

0 引言

下肢康复机器人是典型的机电一体化系统,旨在促进患者受损感觉、运动和认知技能的恢复,具有人机交互功能[1]。而控制系统作为下肢康复机器人的核心部分,主要任务是控制下肢康复机器人运动机构和运动速度以及检测训练时的运动状态,其性能的好坏将直接影响患者进行康复训练时的质量[2]。近年来随着嵌入式技术的飞速发展,嵌入式系统从单单用微控制器作为主控,应用于仪器仪表、监控等领域转向将微控制器、传感技术、算法等先进技术相结合,应用于机器人和飞行器等领域。将嵌入式技术应用到康复机器人控制系统中不但可以降低控制系统的成本,也提高了控制系统的实时性与稳定性[3]。

本文以STM32F4微控制器以及电阻式触摸屏为硬件基础,把嵌入式实时操作系统UCOS-III和emWin图形库依次移植到微控制器中,然后设计开发康复机器人的人机交互界面,显示终端为3.5寸的电阻式触摸屏,用于下肢康复机器人在训练过程中的数据实时显示[4]。

1 硬件设计

控制系统以STM32F407微控制器为核心,其控制系统的硬件结构主要由电源模块、数据存储模块、执行模块、驱动模块、传感器及数据采集模块、通信模块、人机交互模块组成[5]。控制系统的硬件结构框图如图1所示。

图1 控制系统硬件结构框图

1.1 STM32F407微控制器

选用STM32F407微控制器系列中的STM32F407ZGT6作为核心控制器,主要基于该控制器的可变静态存储器控制器(FSMC)的处理速度,其刷屏速度可以达到3 300像素/秒,最高工作主频可达168 MHz,而且具有1 MB FLASH、192 kB的片内SRAM、1个可变静态存储器控制器,并具有多个通信接口、中断源、定时器以及丰富的外设,带有DSP和FPU指令集,便于项目的开发[6]。

1.2 TFTLCD接口电路

TFTLCD接口电路由触摸屏控制芯片XPT2046以及WK53052液晶屏构成,液晶屏大小为3.5寸,分辨率为320×480,LCD接口直接连在STM32F4微控制器的FSMC总线上,目的是提高LCD的刷屏速率。

TFTLCD接口电路如图2所示。

图2 TFTLCD接口电路

1.3 CAN总线接口电路

CAN(控制器局域网)是ISO国际标准化的串行通信协议,本系统使用的STM32F4微控制器集成了两个CAN控制器,但CAN总线电平不可以直接与STM32相连,需要使用TJA1050芯片作CAN电平转换。CAN总线接口电路如图3所示,R51为终端匹配120 Ω电阻,来做阻抗匹配,同时将滤波电容并联在CAN总线终端与GND之间进行滤波,目的是提高CAN控制器在进行通讯时的稳定性[7]。

图3 CAN总线接口电路

2 软件设计

控制系统的软件编程环境为MDK5.18,程序设计流程为:①将UCOS-III嵌入式实时操作系统移植到STM32F4微控制器中;②移植emWin到微控制器中;③模块化外设底层驱动以及其余各个任务。

系统软件框架如图4所示。软件系统分为系统任务、数据采集与存储任务、CAN通讯任务、人机交互任务和电机控制任务。软件通过时间片轮询调度算法以及任务优先级来完成任务的调度。各个任务间相互独立,但可以由信号量和消息队列来将各个任务联系起来[8]。

图4 系统软件框架

2.1 CAN总线通讯任务

在下肢康复机器人训练过程时,需要在各个模块之间进行数据通信与协调控制,因此通过CAN总线进行各个任务的通讯。CAN总线驱动程序主要包括CAN总线初始化、发送任务、接收任务以及中断服务程序[9]。初始化主要是设置装载标识符、波特率以及屏蔽码。CAN总线数据发送与接收流程如图5所示。

图5 CAN总线数据收、发流程

2.2 人机交互任务

人机交互任务流程如图6所示。通过emWin自带的窗口管理软件GUIBuilder设计人机交互界面的框架,然后导出C文件添加到MDK的目标工程中,进一步编程整个界面要实现的操作和控件之间的通信,通过点阵字库软件制作中文字体并复制到SD卡中,在工程中添加FATFS文件系统管理文件夹,将SD卡的字库通过微控制器的SPI接口更新到外部FLASH中,将界面设计时的部分英文改成中文,最后编译工程,并下载到微控制器中。

图6 人机交互任务流程

2.3 电机控制任务

电机控制任务以位置环为外环、速度环为内环的双闭环控制策略来控制电机。主要通过传感器采集运动状态,反馈给控制器,控制器分析反馈的数据并计算出输出量,然后将输出量传送到电机驱动器中,可以控制电机带动下肢外骨骼进行相应的下肢训练。霍尔传感器与增量式编码器已集成在直流无刷伺服电机中,用于实时检测电机速度和位置信息。采用双闭环控制策略可以提高控制系统的抗干扰能力和动态响应能力。电机控制任务流程如图7所示。

图7 电机控制任务流程

2.4 系统程序设计

图8为系统程序流程,首先初始化系统硬件和UCOS-III操作系统内核,然后调用系统配置文件,设置系统任务,接着进行emWin图形界面初始化,执行相应的任务。在UCOS-III操作系统中采用根据设置优先级的大小来进行抢占式任务管理,在设计程序时给每一个任务赋予一定的优先级和分配一定的堆栈,本系统设置的优先级从高到低为:CAN总线通信,电机控制任务,人机交互任务,数据采集存储任务。

图8 系统程序流程 图9 人机交互界面 图10 速度模式测试界面

3 系统测试

根据如图6所示的流程完成了人机交互程序的设计,人机交互界面如图9所示。其中“开始”、“结束”、“数据存储”、“通讯”按钮依次实现控制系统的运行、结束、数据采集以及通讯功能,位置模式与速度模式为单选按钮。以速度模式进行相关的测试,界面如图10所示,在速度模式中通过移动滑条来改变训练时的速度大小,测试界面实时地显示速度和压力信息。根据测试,设计的下肢康复人机交互界面可以实现目标功能。

4 结语

本文设计了一种基于STM3F4微控制器的下肢康复机器人嵌入式控制系统,并对相应的硬件和软件进行了详细的设计说明,最后进行了测试,通过UCOS-III实时操作系统对任务进行调度与管理,采用emWin图形库进行界面设计来提高软件开发效率,在训练过程中,设计的人机交互界面友好、稳定,实时性好。

猜你喜欢
微控制器嵌入式总线
基于PCI Express总线的xHC与FPGA的直接通信
测控技术(2018年6期)2018-11-25 09:50:12
机载飞控1553B总线转以太网总线设计
测控技术(2018年8期)2018-11-25 07:42:08
搭建基于Qt的嵌入式开发平台
物联网技术在微控制器实验教学中的应用
电子制作(2017年14期)2017-12-18 07:07:58
嵌入式软PLC在电镀生产流程控制系统中的应用
电镀与环保(2016年3期)2017-01-20 08:15:32
多通道ARINC429总线检查仪
Atmel针对新一代物联网应用发布全新32位微控制器
Altera加入嵌入式视觉联盟
最新STM32设计工具增加对混合信号微控制器的支持
倍福 CX8091嵌入式控制器
自动化博览(2014年4期)2014-02-28 22:31:15