APP下载

基于STM32的多功能翻身系统设计与控制

2019-05-27

计算机测量与控制 2019年5期
关键词:论域原理图偏差

(上海工程技术大学汽车与机械工程学院)

0 引言

据调查,到2050年,我国独居和空巢老年人将占54%以上,他们的养老问题急需解决。由于空巢老人行动不便,有效合理的翻身可以极大的提高老年人的护理效率,同时防止慢性疾病的发生,有助于老年人的健康。如何对他们进行智能化和高效化的翻身护理是问题的关键。本文所设计的多功能翻身系统可以有效的解决空巢老人以及失能人士的翻身问题,使他们享受舒适的翻身过程。

目前为止,国内外在康复护理过程中,绝大部分采用人为的翻身,即使是高级智能医疗床也很少具备翻身功能。市面上极少数具备翻身功能的医疗床,只具备简单地机械翻身功能,在智能化和舒适化方面远远不够。本文所设计的多功能翻身系统是以ARM8/STM32F407为核心板的智能翻身系统,具有分段翻身,分段护理,分段保护,左右翻身的功能。不仅方便了居家养老人员的使用,并且有利于护理人员的日常护理 ,具有极大的实用性和商业价值。

1 多功能翻身系统的工作原理

多功能翻身系统由两部分组成。第一部分是机械结构部分,介绍机械结构组成,保证各部分达到安全参数要求,通过Solid works软件仿真得到运动轨迹图,证明机械设计部分的可行性。第二部分为控制系统部分,主要由ARM8/STM32F407核心板模块,GPIO接口模块,电源模块以及控制程序设计部分。

通过点击上位机界面功能按键,实现对翻身系统电机的控制,从而带动连杆机构实现翻身系统的不同功能。可实现功能如下。

1)左右翻身:当用户由于长久卧床而需要活动时,翻身系统可实现任意角度的翻身,且能够实现左右两个方向的翻身。

2)分段保护:翻身系统通过大侧翻,小侧翻两个方式的配合实现对用户的分段保护。目前,同类具有此翻身系统的护理床市面上暂未出现。

3)分段翻身:此翻身系统针对用户需要对背部和臀部不同位置进行护理,从而防止用户由于长期卧床而产生慢性皮肤病。

4)分段护理:考虑到医护人员护理任务繁重,翻身系统可以对背部臀部分别进行自动的上下移动,实现不同角度的翻转,大大减轻了医护人员的工作量,提高工作效率。

2 机械系统部分

2.1 机械机构简介

护理机器人的翻身系统要实现运动过程中的三个自由度。它由带传动装置,丝杠,滑块,连杆以及支板组成(如图1所示)。翻身过程的支板由三台24 V步进电机控制,可以实现两个方向的旋转。整个翻身系统由三个图一的结构组成,在连杆部分装有3个光电开关,保证运行过程中机构运转的平稳性。这样设计,可以防止机构运行超限而引起的危险性。当用户做翻身运动时,由三个与图1相同的结构来做旋转运动。电机带动两块支板做平行运动,实现用户的小侧翻的运动,防止用户在大侧翻时滑落。小侧翻结束,再由两台电机带动两个连杆机构实现大侧翻,角度不超过80度,保证各用户使用时的安全性和舒适度。大小侧翻的配合即可实现整个翻身运动过程。

如图1所示,丝杠带动滑块左右移动,便可以实现连杆的左右运动,表现在实物中即就是左右翻身运动。这样设计为了达到不同速度不同角度的翻身需求。通过控制系统控制电机的方向和脉冲实现来实现对速度以及方向的控制。

图1 左右侧翻身机械结构图

2.2 软件仿真验证

考虑到用户的使用,翻身系统的安全性显得尤为重要。本文设计的翻身机构最大承载量为200 kg,用户身高上线为200 mm.可以以此数据为参考选择合理的数据,保证在翻身系统的耐压范围内,有利于进行下一步的仿真实验[4]。

基于Solid works软件强大的仿真功能,我们选择此软件进行仿真实验,可以直观看到实验结果,验证系统运行的可行性。选择安全范围内的一组数据进行仿真实验,实验数据为,100 kg身高175 mm的用户。系统运动轨迹图如2所示。

图2 基于Solid works软件仿真轨迹图

如图2所示,分别为左翻身和右翻身时系统运动的轨迹图,选择正常的用户进行实验,系统的运动轨迹平稳,呈现出圆弧状,足以说明此翻身系统可以进行正常的使用,选择丝杠带动滑块的结构满足设计需求,可以实现翻身系统所需运动,系统方案可行。

3 控制系统设计

3.1 控制系统硬件设计

智能翻身系统控制部分的核心板为ARM8/STM32F407[6],根据系统的功能需求,设计底板模块,完成硬件系统的系统架构。核心板通过插针的方式与底板连接,便于设计人员对底板的修改完善。翻身机构的控制系统主要组成单元有:电源模块,东方电机驱动器,STM32F4核心板,WiFi模块,GPIO口模块。STM32F4核心板与底板连接,通过WiFi模块接收上位机指令,向IO口发送信号,驱动驱动器,控制3台电机运动来实现翻身运动。系统架构图如图3所示。

图3 硬件系统架构图

在此智能翻身系统中,底板电路通过插口与核心板相连,外部电路通过GPIO口与核心板相接,上位机系统通过WiFi模块与系统进行通讯,保证各个指令的正常操作。

3.1.1 电源电路

电源是一个系统稳定运行的前提,翻身系统主要由STM32F4核心板控制,因此其供电电路显得尤为重要。ARM8/ STM32F4开发板板载电源供电部分原理图如图4所示。

图4 电源电路原理图

图中U13为稳压芯片,可以保证电源电压的稳定。外部电机采用24 V电压供电,但核心板只需要5 V的电源,通过DC_IN用于外部24 V直流电源输入,经过U13 DC-DC芯片转换为5 V电源输出提供给核心板,以此保证核心板正常运行,对各部分电路进行控制。

3.1.2 外部GPIO口扩展电路

ARM8/ STM32F4核心板有110多个IO口,其中翻身部分只用到21个口,引出的IO口由三部分组成,控制三台驱动电机脉冲和方向的6个口,控制9台光电传感器的9个口,以及电机失步和过载的信号口6个。脉冲方向信号输入保证电机正常运行。光电传感器保证系统运行的稳定性,信号口对可能发生的电机失步和过载进行报警,提供双重运行保护。

图5 外部GPIO口扩展电路原理图

3.1.3 电机驱动电路

图6 驱动电路原理图

3.2 控制系统软件设计

此多功能翻身系统的程序设计架构如图7所示,翻身系统的运行主要通过功能函数的调用来实现,将翻身系统运行函数放在子函数中调用运行可以大大提高系统的运行效率,节省控制系统的内存。

图7 软件系统架构图

首先对系统进行初始化,系统自动将目前的状态显示在上位机上,由上位机发送翻身指令:左翻,右翻,以及左右背部护理,左右臀部护理的命令。串口接受指令,若收到指令,调用对应的功能函数,可以通过上位机不同按键来实现。子函数执行相应的电机程序以及定时器程序,实现翻身系统的正常运行。

4 控制方法简介

对翻身系统而言保证系统的平稳运行至关重要,但是由于翻身系统负载的不确定性,用户体重轻重或者身高高低都会对翻身系统产生不同程度的压迫,机构丝杠打滑或者卡壳会导致翻身系统中的一部分或者总体出现暂时性的停滞,这时也会导致其位置发生过大或者过小的变化,影响系统稳定性,因此翻身系统中加入模糊控制器对其进行控制[3]。控制器原理图如8图所示。

图8 控制器原理图

为保证系统的稳定性,采用了脉冲数、关电开关和机械限位三种限位模式,但三者间又存在互相约束关系,如光电开关限位与脉冲运行结束之间存在不一致情况,甚至相互冲突。因此采用三种控制方法。

脉冲数和光电限位调节回路可以采用模糊控制器,由于翻身系统位置控制过程复杂而且会发生实时性的变化,脉冲数和光电的控制要随着翻身系统位置的变化来调节。

在翻身系统运行过程中,为了获得准确的位置控制规律,采样周期应较长。在一个运行周期中控制次数要多,因此综合考虑采样时间最好为1/5左右。采样三分钟,采样偏差为d(k),采样偏差的变化为dc(k),其速度的变化为v(k),以下用d,dc和k表示,其模糊子集用D,DC和K表示[3]。

D的模糊集M为{NB,NM,NS,NO,PO,PS,PM,PB},DC,K的模糊集N,P均为{NB,NM,NS,O,PS,PM,PB}。

如果偏差d的基本论域是{-xd,xd},偏差变化dc的基本论域是{-xdc,xdc},被控制量k的基本论域是{-xu,xu}。将模糊控制器的并行机构的位置控制值和设定偏差D的论域X为{-p,-p+1,…1,0,…,p-1,p};偏差变化DC的论域为Y={-q,-q+1,…0,…,q-1,q};控制量K的论域Z为{-l,-l+1,…,0…,l-1,l}。

根据并行机构运行情况确定上面的参数。首先考虑位置控制过程中的连续性,为了近似度的充分性,使模糊变量的模糊子集较好的覆盖论域,量化的等级数目需要充分的大;再次,考虑到控制中的复杂过程和一些程序的限制,加上参考类似的成功控制的理论知识(当论域元素总数是模糊子集总数的 2-3倍时,论域中的各模糊子集分布较为合理)。

D,DC,K的模糊集合的子集合的数目分别取8,7,7,论述中偏差及其变化量的模糊子集论域中的元素个数都选为13个(p=q=6),控制量依据控制对象的特点,选为15个(l=7)。

对输入变量偏差及其变化做模糊化处理,即就是用量化因子乘以输入变量。护理机器人双并行机构位置的控制依据现场的经验一步一步的积累完善,例如:“如若位置变化量较大并且有继续变大的趋势,则减小脉冲数” ,如何调整根据量化因子决定。

确定位置控制变化的原则是:当位置变化的偏差大或者偏大的时候,控制量应该以消除偏差为主;而当位置变化的偏差小的时候,控制量要避免超调,将系统的稳定性作为出发点[2]。

位置变化控制量的非模糊化以及决策方法采用Mamdani推理法[3-4],决策出的控制变量的模糊子集(位置控制量的模糊量)。该两输入单输出的二维模糊控制器的控制规则可写成下列条件语句形式,即:

ifE=MiEC=NithenK=Pij

(i=1,2,….,8;j=1,2,…,7)

式中,Mi,Ni,Pij分别代表误差,误差变化和位置变化控制论域X,Y,Z上的模糊集,则:

R的隶属函数:

(x∈X,y∈Y,z∈Z)

若E取为M,EC取N为时的时候,按照模糊推理的合成规则,位置变化控制量的变化K为:

K=(A×B)R

K的隶属函数:

ej,ecj分别为采样得到的误差和误差变化率,kij为计算出的位置控制量 ,在去模糊化过程中我们采用最大隶属度法。再由X,Y集合中所有元素的组合得到对应的控制量的变化,得到控制表。控制量的变化是计算机事先计算好放入内存中的。在对误差和误差变化值进行模糊化后,对位置进行实时控制。控制量的变化Uij可以由查表得到,然后乘以比例因子Ku,从而作为控制器去修正并行机构的控制参数,从而实现并行机构的稳定运行[5]。

位置矢量控制以及交叉限幅控制较为简单,在此不再赘述。

5 系统的调试

智能翻身系统是将ARM8/STM32F407控制板的机构与控制器结合起来调试的,通过测试,来判断系统是否可以满足运行需求。主要通过以下步骤实现系统的调试:

1)将开发好的程序通过串口烧录到开发板,连接示波器观察端口信号是否正常。若正常进行下一步,否则检查程序和电路板排查故障。

2)打开电源,对整个系统上点,通过WiFi模块连接上位机,进行功能按键选择,可选则不同的翻身和护理功能检测系统是否正常运行。

3)分别在空载和负载两种情况下运行,选择多个负载进行测试,观察系统形变,检测光电系统是否发挥作用。

经过为期半年多的测试,对系统整体硬件和软件以及控制方法的修改和不断完善,最终使系统设计满足可行性需求。经过大量的实验,反复调试,最终确定了多功能翻身系统可以稳定可靠的运行。

6 结束语

针对目前国内外老年人护理的难题,设计出多功能翻身系统[6]。通过对STM32控制板的深入研究和学习,最终确定了以其为主控制板的控制方案。详细介绍了翻身系统的机构设计以及主控制系统软件硬件的设计,为保证系统稳定运行对控制方法进行研究,通过仿真软件绘制系统翻身动态图,确定了此翻身系统运行的可行性。此后,将对此系统进行不断地完善升级,满足用户对智能护理产品的需求[7-10]。

猜你喜欢

论域原理图偏差
50种认知性偏差
基于Simulink变论域算法仿真技术研究
着舰指挥官非对称变论域模糊引导技术
基于变论域模糊控制的Taylor逼近型内模PID算法
如何走出文章立意偏差的误区
电路原理图自动布图系统的设计与实现
基于Protel DXP 2004层次原理图的设计
双论域上基于加权粒度的多粒度粗糙集*
真相
电子电路识图方法的探究