一种基于STM32的力反馈型康复机器人控制系统设计

发布者:黑白之间最新更新时间:2023-10-26 来源: elecfans关键字:STM32  力反馈型  康复机器人  控制系统 手机看文章 扫描二维码
随时随地手机看文章

康复医疗机器人不仅是当前机器人研究的前沿,而且是涉及自动控制、计算机、智能仪器、机械学、康复医学、神经科学等跨学科的研究领域,是一个新兴学科。康复医疗机器人的研究具有重要的科学意义。基于上肢康复训练的要求,笔者研制一种基于STM32的力反馈型上肢康复训练系统。在设计控制系统时,保证系统的安全性与稳定性是最基本的原则⑷。为了避免在突发情况下对患肢造成二次损伤,通常采用限定机器人末端和受训患肢之间作用力大小的办法。经过实验验证,本系统设计合理,性能稳定,可以实现康复机器人的平稳控制,具有的力反馈功能可以在保证系统安全性的前提下充分激发患者残存的功能。


1、上肢康复机器人系统构成

上肢康复机器人的机械臂是关于轴心对称的,能够绕轴心进行反复的弧线运动,既可以由计算机控制训练,也可以由治疗师直接操作机器人引导患者进行训练。图1为该上肢康复训练机器人的实物。

 

图1单自由度上肢康复训练机器人

该机器人系统主要由机械臂机械结构、电机、位置传感器、扭矩传感器、电机驱动器、机器人控制器和上位机组成,系统框图如图2所示。扭矩传感器、驱动电机和位置传感器沿机械臂轴心依次放置。位置传感器用于检测机械臂的运动角度;扭矩传感器用于检测患者与机械臂的交互作用力,在患者主动能力不足时提供更大的辅助,而在患者有能力完成动作时,适当减小辅助甚至施加阻力,以便充分激发患者残存的功能;电机驱动器,用于产生康复训练的辅助力或阻尼力,推动或是阻碍机械臂和患肢的运动。

一种基于STM32的力反馈型康复机器人控制系统设计

图2单自由度的上肢康复训练机器人系统框图

机器人控制器通过USB接口与上位机实现数据交换,一方面控制电路接收上位机发送来的控制信息,解析上位机命令控制电机驱动器;另一方面,机器人控制器将采集到的扭矩传感器和位置传感器数据发送到上位机。康复医师可根据上位机人机交互界面显示的{言息’对患者的康复训练情况进行定量的科学分析与评价,滅者細膝卿计耀供决策依据。


2、系统硬件设计

本机器人控制器采用基于AKM-M3内核的STM32微控制器。ARM-M3内核的设计具有低功耗、高性能、实时性以及具有竞争力的价格,该内核配备了紧耦合的嵌套矢量中断控制器,因此能够更加快速地响应中断事件。微控制器自带I2位的ADC和DAC,可以很好地满足系统的需要。

图3为本系统的电机驱动器硬件电路。微控制器DAC的输出引脚接到图3中的MOTORIN端。由于微控制器的DAC只能输出单极性电压信号,而机械臂需要做往复运动,需要双极性信号驱动电机正反转,故将MOTORIN端接入的信号先进行调理,该调理部分所用OP4177芯片为4路运放。

一种基于STM32的力反馈型康复机器人控制系统设计

图3  电机驱动器硬件电路

笔者通过减法电路将DAC输出转换成双极性信号,图中OP4177芯片的左上角运放构成该减法电路。运放正输人端接人DAC输出信号,负输入端接人1.65V电压。减法电路输出为V。=(R3/R8)(^motorin-1.65),当l/M。TQRW》1.65V时,减法电路输出正电压控制电机正转;当hcmwm《1.65V时,减法电路输出负电压控制电机反转;Kmotorin=1.65V时,减法电路输出0V电压,此时电机保持静止状态。图中尺|5~尺?构成了分压电路,经过OP4177芯片左下角运放构成的电压跟随器获得I.65V基准电压。减法电路输出信号接人OP4177芯片右上角运放组成的运算放大电路,其输出为V,=[-(R4+R7)/R5]xV0。

经过运算放大后的电压信号输人到功率放大器,此处采用集成功率放大器为丨,M3886,该芯片具有过电流保护功能,且输出功率较大,可输出60W。图3屮的MOTOROUT端为功放输出的驱动电机的电压信号。功率放大器输出的驱动电压MOTOROUT与微控制器DAC输出MOTORIN比例关系为

一种基于STM32的力反馈型康复机器人控制系统设计

笔者采用的扭矩传感器为差分信号输出,其输出为K+和L,电压幅值为毫伏级,故需要进行差分放大后,才能送人微控制器进行A/D转换。该差分放大器采用小尺寸、低功耗、高精度的AD620。差分输出为:

一种基于STM32的力反馈型康复机器人控制系统设计

式中RG为增益的外部控制电阻,选择合适的RG使扭矩信号放大至伏级。由于扭矩传感器输出的信号是双极性的,经AD620放大后仍为双极性信号,而微控制器的A/D转换范围为0~3.3V,故须将AD620输出的电压加上1.65V抬升到0~3.3V,使之适合A/D的输人范围。

位置传感器输出为正交脉冲信号,STM32微控制器的每个定时器都有正交脉冲信号的输入接口,通过配置其定时器的工作模式,即可以对位置传感器的输出脉冲进行正向/反向计数,从而得到机械臂的位置。

微控制器将扭矩信息与位置信息通过USB数据线上传到上位机,进行康复机器人状态的监控;同时接收上位机下传的驱动电机的命令,进行相应的D/A转换,通过电机驱动器控制电机工作。


3、系统软件设计

系统上位机与微控制器之间通过USB进行数据交互。系统上电后,微控制器开始工作,首先初始化系统时钟、I/O端口、外部中断、ADC、DAC、定时器和USB等配置。

首先在上位机中设置康复机器人的训练模式,本系统的训练模式分为主动运动训练模式和被动运动训练模式两种[6]。设置成功后,上位机的控制指令通过USB传输到微控制器中,并进入微控制器的USB中断,微控制器在中断处理程序中处理上位机发出的指令,根据上位机发出控制指令,设定相应训练模式的标志,以供主程序进行机械臂运动类型的判断。

软件主程序流程如图4所示,若判断为被动运动训练模式,则进人PID控制子程序,对机械臂的位置进行闭环控制,使机械臂往复运动;若判断为主动运动训练模式,则进入自主训练过程,患者带动机械臂进行主动训练;其他则判断为机械臂无运动模式。

主程序中同时进行机械臂的扭矩信息和位置信息的采集。微控制器的ADC对差分放大后的扭矩信号进行数字量的转换;当机械臂转动时,位置传感器输出相互正交的脉冲信号,微控制器通过配置定时器工作模式对其进行计数。

最后微控制器将扭矩信息与位置信息通过USB脑社位I上位聽撒贿他醒方式直观地显示出来,便于医师对机械臂的工作状态和患者的康复状况进行客观判断。上位机接收到的扭矩信号也是本系统的力反馈信号,当扭矩过小时,可以适当增大驱动电压,使驱动电机的输出扭矩增大;当扭矩过大时,可以适当减小驱动电压,减小驱动电机的输出扭矩,从而保证了患者康复训练的有效性与安全性。

一种基于STM32的力反馈型康复机器人控制系统设计

图4 微控制器主程序流程图

4、PID参数整定

微控制器DAC输出的电压值是通过PID箅法计,4算出来的。PID算法的流程图如图5所示。

一种基于STM32的力反馈型康复机器人控制系统设计

图5 PID算法原理框图

首先,由上位机给定康复机器人机械臂的运动范围,即图5中所示的目标位置将位置传感器采集的当前位置信息输入到PID控制器中,目标位置与当前位置X(A)的差值e(A)送人PID控制器中,将其输出值送人微控制器的DAC进行转换产生电机的驱动信号,进而带动机械臂做与上位机控制指令相一致的运动。


笔者利用传统方式求出本系统中直流电机模型参数。本系统的被控对象是电机模型,传递函数为:

一种基于STM32的力反馈型康复机器人控制系统设计

式中,G为电机电势系数;Ta为电气时间常数;Tm为机械时间常数。所选直流电机的参数如表1所示。

表1直流电机参数

一种基于STM32的力反馈型康复机器人控制系统设计

采用Matlab进行仿真。系统单位阶跃信号的响应曲线如图6(a)所示,系统的稳定值在1.0之上,不满足系统要求。

一种基于STM32的力反馈型康复机器人控制系统设计

一种基于STM32的力反馈型康复机器人控制系统设计

图6  校正前后系统阶跃响应曲线

PID控制器的参数值是在实验过程中不断调整与完善的。经过多次实验,系统最终选定的PID参数是o4t/s246t/s0(a)系统单位阶跃响应曲线KP=0.7241KI=0.0001,KD=10。

5、实验测试与结果

为了测试康复机器人控制系统的稳定性,笔者进行了反复实验。图7(a)所示的是系统的主动运动训练模式。患者带动机械臂进行往复运动,机械臂所转动的角度在框图中显示出来。

一种基于STM32的力反馈型康复机器人控制系统设计


系统的被动运动训练模式分为4种:慢速小范围、慢速大細、快速小細和快速大細,可以根据患者的需求设定合删训练类型。图7(b)是慢速大細训练模式下的实验结果,图7(c)是快速小范酬练模式下的实验结果。

一种基于STM32的力反馈型康复机器人控制系统设计

对于系统中的力反馈功能,除了可以根据扭矩大小调节驱动电压大小外,还可以避免在突发情况下机构对患者肢体造成的二次损伤,如当患者的肢体发生痉挛时,系统的工作状态可以转变为停止,从而保护患者。实验测试结果如图7(d)所示。图中尖峰状的曲线为扭矩信号,当机械臂的运动被阻止时,扭矩传感器可以检测到很大的扭矩信号,上位机接收到此扭矩信号后,对机械臂状态做出判断,继而向下位机发送停止电机工作的指令,使机械臂处于放松状态,从而避免了对患肢的损伤。

6、结束语

设计了一种基于STM32的具有力反收的康复机器人控制系统。采用扭矩传感器实现系统的力反馈功能,充分发挥患者残存的功目采用位置传感器采集康:复机械臂的位置信息,配合PID算法进行位置反馈,使控制信号更加准确。


关键字:STM32  力反馈型  康复机器人  控制系统 引用地址:一种基于STM32的力反馈型康复机器人控制系统设计

上一篇:介绍如何通过意法的STM32 MCU实现用DMA完成多通道的AD采样功能
下一篇:Linux系统移植开发篇1:系统移植前说明及源码编译

推荐阅读最新更新时间:2024-11-17 09:19

关于STM32 DMAMUX模块具体的应用示例代码
个人也发现,虽然STM32片内的DMAMUX不是什么新模块,似乎还是很多人并不太熟悉。这里借机聊聊这方面的内容,重点演示相关功能的实现,以供参考。 其实,DMAMUX作为一个外设模块,操作它并不需要添加太多用户代码,尤其是当我们基于STM32CubeMx进行配置时。它的主要功能就是为各种DMA请求做DMA传输通道的灵活调度与安排,并配合DMA使用,我们可以把它看成DMA控制器的前端拓展。 DMAMUX模块大体上由DMA请求转发通道和DMA请求发生器组成,其中每个DMA请求转发通道还配有同步控制单元。DMA请求发生器可以基于某些事件产生DMA请求申请DMA传输。至于同步控制单元,可以简单理解为每个DMA请求最终是否被转发出去的一
[单片机]
关于<font color='red'>STM32</font> DMAMUX模块具体的应用示例代码
基于DSP的网络化无刷直流电动机控制系统
摘要:设计了一种基于DSP的无刷直流电动机控制系统,对其中的转子位置检测电路、驱动电路、保护电路以及驱动器网络控制等内容进行了详细的讨论,并给出了相应的硬件电路。该设计方案电路简单、可靠性强,具有较高的应用价值。 关键词:直流无刷电动机 DSP 网络伺服控制器 众所周期,直流电机具有最优越的调速性能,主要表现在调速方便(可无级调速)、调速范围宽、低速性能好(启动转矩大、启动电流小)、运行平衡、噪音低、效率高等方面。目前无刷直流电机已广泛应用于数控机床的进给驱动、机器人的伺服驱动以及新一代家用电器的变速驱动中。 为进一步提高控制系统的综合性能,就无刷直流电机控制系统的控制器而方,近几年国外一些大公司纷纷推出较MCU
[应用]
STM32系统时钟的监控和切换
在前一段时间的公司的项目中要求用到STM32这款处理器在外部晶振异常的情况下自动的切换到内部晶振,在网上找了N多的资料终于在网上找到了一个官方的研讨会的PPT里面简单的介绍了一下,于是顺着这个思路试着去编写代码,没想到官方提供的思路还蛮靠谱! —————————————————我是华丽的分割线——————————————————— —————————————————我是华丽的分割线——————————————————— 函数一、 void INIT_CLOCK(void) { #if 1 ErrorStatus HSEStartUpStatus; RCC_DeInit(); //复位RCC寄存器 RCC
[单片机]
<font color='red'>STM32</font>系统时钟的监控和切换
STM32高级开发(12)-在GCC中使用printf打印串口数据
在大家使用keil或是iar开发stm32等arm芯片的时候,想来最不陌生的就是使用print通过串口输出一些数据,用来调试或是其他作用。但是要明确的是由于keil iar gcc 他们使用的标准C语言库虽然都遵循一个标准,但他们底层的函数实现方式都是不同的,那么在GCC中我们能否像在keil中一样重映射print的输出流到串口上呢?答案是肯定的。 keil中的重映射方式及原理 /* * libc_printf.c * * Created on: Dec 26, 2015 * Author: Yang * * 使用标准C库时,重映射printf等输出函数的文件 * 添加在工程内即可生效(切勿选择semi
[单片机]
计算机与PLC集成控制系统在石化行业的应用
  近年来,国际市场上石化产品的竞争日趋激烈。与国外同类产品相比,我国的石化产品无论在生产工艺上,还是产品质量上,都存在着相当大的差距。为改变我国石化产品发展严重滞后的局面,国内石化行业的许多厂家已开始向产品的多样化、添加剂材料和配方的高科技化迈进。我们应有关厂家提出的技术要求,针对石化产品生产工艺复杂、添加剂配比要求严格、品种多样、互换性差的特点,开发研制了计算机与PLC集成控制系统。该系统控制可靠、操作简便、开放性强、性能价格比高,在国内石化系统的数家企业推广应用后,受到好评。   1 系统组成      计算机与PLC集成控制系统由生产系统和非生产系统二部分组成(如图1)。生产系统主要由微型机、适配器、PLC、执行机构及现场
[应用]
stm32的引脚有两种用途
stm32的引脚有两种用途:GPIO(general purpose io)和AFIO(alternate function io) 对于一些引脚(视芯片而定),这两种用途都没有,如在64脚产品中,OSC_IN/OSC_OUT与作为GPIO端口的PD0/PD1共用一样的引脚,而在100、144引脚产品中,这四个功能各有引脚与之对应,不互相冲突,所以OSC_IN/OSC_OUT既不作GPIO也不作AFIO,当然,这样的引脚不是讨论重点。 1、引脚的配置 不论是作GPIO还是做AFIO,都要对引脚进行配置。在固件库函数中,用GPIO_Init()函数对引脚进行配置,并不是说这个函数带了“GPIO”字样就是要当做GPIO来用,而是把它纳
[单片机]
<font color='red'>stm32</font>的引脚有两种用途
首发新品,米尔STM32MP2核心板上市!高性能+多接口+边缘算力
米尔发布基于STM32MP257设计的嵌入式处理器模块MYC-LD25X核心板及开发板。核心板基于STM32MP2系列是意法半导体推出最新一代工业级64位微处理器,采用LGA 252 PIN设计,存储配置1GB/2GB LPDDR4、8GB eMMC,具有丰富的通讯接口,适用于高端工业HMI、边缘计算网关、新能源充电桩、储能EMS系统、工业自动化PLC、运动控制器等场景。 STM32MP257处理器,ST第二代更高性能MPU STM32MP257配备了双核Cortex-A35 64位内核,最高主频可达1.5 GHz,还集成了用于实时操作的400 MHz Cortex-M33内核,具有单精度浮点单元(FPU)、数字信号
[嵌入式]
首发新品,米尔STM32MP2核心板上市!高性能+多接口+边缘算力
电压模式和电流模式控制系统的比较电路图
随着对开关电源稳态和动态特性的要求日益提高,开关电源中的PWM控制方法也经历了长足的发展。早期的开关电源仅采用单一的输出电压闭环反馈控制,可以基本满足稳定性和电压控制精度的要求,但动态特性通常都不高。七十年代末期开始出现了电流模式控制方式(CurrentModeControl) ,其基本思想是在输出电压闭环控制系统中,增加了直接或间接的电流反馈控制,如图。 电流模式控制的引入给开关电源的控制性能带来一次革命性的飞跃。总的来说,采用电流模式控制方式的系统有以下几个优点: (1)系统的稳定性增强,稳定域扩大。 (2)系统动态特性改善。 这一点主要体现在对输入电压的扰动的抗扰能力的提高。输入直流电压中通常包含交流输入电压整流后的
[电源管理]
电压模式和电流模式<font color='red'>控制系统</font>的比较电路图
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved