基于单片机的辅助站立轮椅的设计*

2021-05-07 10:44魏象锋陈棣之张华臣徐江陵
数字技术与应用 2021年3期
关键词:推杆轮椅座椅

魏象锋 陈棣之 张华臣 徐江陵

(武汉科技大学城市学院,湖北武汉 430083)

0 引言

中国第七次人口普查已经进入筹备阶段。根据国家人口统计局发布的人口数据,老龄人口总数由16714万增长至25388万,增加了8674万老年人口[1]。另外,随着交通的拥挤,意外事故频繁发生,残疾人数量也在急剧增加。行动有障碍却无人照顾的问题日益严重,而一个功能丰富、价格适中的智能轮椅,则会成为老年人、残疾人优秀的代步工具,具有重要意义并将产生巨大的社会效益[2]。因此,本文设计并研发了基于STM32F103单片机控制的辅助站立轮椅。该轮椅以STM32F103单片机为核心,使用者可以用右扶手的手柄操控轮椅移动,实现电机驱动的功能。利用电动推杆推动座椅靠背和座椅底板的方式,使座椅靠背与座椅底板同步上升,实现轮椅辅助站立功能。

1 总体方案设计

图1 系统硬件结构图Fig.1 System hardware structure diagram

本产品由STM32F103单片机、速度传感器、红外避障模块电机驱动模块以及推杆行程传感器组成[3]。硬件系统结构图如图1所示:

轮椅辅助站立的方式为:老人先按下站立按钮,然后推杆开始伸长,以推动座椅靠背和座椅底板的方式,使座椅底板与座椅靠背同步上升,在到达合适位置时使用者可以自行选择停止或者到达最高处时推杆会自行停止,可以毫不费劲地让使用者站起来。轮椅模型渲染图2所示:

2 系统硬件设计

2.1 速度传感器

首先设计了信号处理电路,该速度传感器VCC端接电源正极,GND端接地,VO端为输出端。传感器输出的转速信号为方波脉冲信号,它的高电平为15V,而低电平接近0。由于该脉冲信号的电压幅值大于5V,与单片机接口不匹配,因此该电路又选用了一个由三极管(Q18050)组成的整形电路处理转速信号使其满足单片机的接收要求。转速信号处理电路已设计完毕,经处理后的方波脉冲信号满足单片机的接收要求[4]。

图2 轮椅模型渲染图Fig.2 Rendering of a wheelchair model

2.2 推杆行程传感器

首先接一个晶振电路,提供单片机所必须的时钟脉冲,其中由高、中、低三个位置安装的光电开关对推杆进行位置检测,使推杆能够进行准确定位。PB0、PB1、PB2分别接入三个光电位置传感器,用于检测运转过程中推杆的实时位置。当PB0为高电压时,那么此时推杆正处于最小行程,也就是轮椅的坐立状态,当PB1为高电压时,此时推杆处于工作状态,轮椅正在辅助站立过程中,当PB2为高电压时,推杆处于最大行程,也就是轮椅完全辅助站立之后的状态。PC9接推杆步进电机,控制推杆伸缩,用一个三极管Q1来控制电机和充当电压转换器,实现低电压控制高电压。

2.3 单片机的选择

在本设计中,单片机的选择有两种方案[5]:方案一:采用传统的AT89C51单片机芯片,AT89C51是由Atmel公司开发的,它是一种自带4K字节(FPEROM-Flash Programmable Erasable Read Only Memory),即可擦可编程只读存储器,能保证在各种意外和突发事故造成的掉电情况下,用户用电数据的不消失和长期存储。且它能够与MCS-51兼容。但是其存储空间较小,而且保护能力很差,很容易烧坏芯片。方案二:选择STM系列的单片机由ST厂商推出的STM32系列单片机,这是一款性价比超高的系列单片机,STM32的运算速度大约是51单片机的几十倍,而且外围接口功能比51强大太多。STM系列MCU有片内安全功能,能检测到由电磁干扰或静电所引起的误操作,使系统更加安全和可靠。

经过考虑,STM系列STM32F103单片机被选定为核心控制芯片,在本次设计中由于需要我们编写的代码多,为防止4K字节的存储器的存储空间不够,所以我们选择STM系列STM32F103单片机。

2.4 电机驱动部分

对步进电机的保持转矩进行简单的计算:假设老人重量为75kg,轮椅及电机重10kg,摩擦系数为0.05,电机效率为85%。则驱动轮椅需要的牵引力为:

表1 L298的逻辑功能图Tab.1 Logic function diagram of L298

则电机需要做功为:

保持转矩计算:提升速度为100mm/s,即步进电机齿轮线速度为0.1m/s,电机齿轮直径30mm,则电机转速约为100r/min,若电机轴直接带齿轮,则保持转矩为:

因为一般应选用力矩比实际需要大10%到15%的步进电机,所以本设计采用规格型号为42BYG250A-0151的2相永磁式步进电机,将两个步进电机安装在轮椅的两侧,分别驱动左右两边的轮子,再加上后方的两个万向轮构成了驱动部分。

电机驱动选用专门的L298芯片,L298N为SGSTHOMSONMicroelectronics所出产的双全桥步进电机专用驱动芯片(DualFull-BridgeDriver),本设计中STM32F103单片机直接控制L298芯片,通过主控芯片的I/O输入对其控制电平进行设定,就可为电机进行正转反转驱动。输入端IN1接PC7,IN2接PC8,IN3接PC9,IN4接PC10。ENA、ENB使能端接电源。输出端OUT1、OUT2分别接驱动电机的a+、a-端。L298的逻辑功能见表1。

从表1的逻辑功能图分析得出结论:L298N的控制逻辑功能为:控制使能端为低电平时,输入电平对轮椅控制不起作用,当控制使能端为高电平,输入电平为一高一低,轮椅前行或后退。输入电平同为低电平轮椅停止,同为高电平轮椅停止。

3 软件分析

3.1 软件流程图

红外避障软件流程图3所示,红外避障程序启动后首先系统初始化,然后驱动电机开始运转,开始前进,此时发射管一直往前方、左方、右方三个方向发射红外光,当前面的障碍物越近,反射回来的红外光越强,红外接收管的EC电压越接近0V。当没有检测到障碍物时,程序返回到轮椅前进这一步。当电压小于某一个程度时,检测到路面有障碍,避障程序开始启动。此时程序根据实际情况执行前方避障程序或者左右避障程序。避障成功之后没有检测到障碍物,程序返回到轮椅前进这一步。

3.2 核心代码程序

本步进电机步进角为7.5度,一圈360度,需要48个脉冲完成。

//引脚连接

图3 红外避障软件流程图Fig.3 Flow chart of infrared obstacle avoidance software

//IN1:PC7、IN2:PC8、IN3:PC9、IN4:PC10

正转次序:AB组--BC组--CD组--DA组(即一个脉冲,正转7.5度)

所以执行步进电机前进的代码如下所示:

void Motorcw(void)

{

GPIO_SetBits(GPIOC,GPIO_Pin_13);

GPIO_ResetBits(GPIOC,GPIO_Pin_0);

GPIO_ResetBits(GPIOC,GPIO_Pin_2);

GPIO_ResetBits(GPIOC,GPIO_Pin_3);

delay_ms(10);……

}

4 系统仿真及调试

4.1 系统调试

图4 实物模型图Fig.4 Physical model diagram

使用C语言对主控制器已经电机驱动模块用Keilu Vision4软件进行调试,查看工程文件能否正常运行,如果出现问题对错误和BUG必须进行一次次的修改和检验。

4.2 模型制作

为了检验轮椅的功能及性能,团队购买了所需的电子器件,试制了实物样机,图4为组装完成的轮椅实物。

5 结语

针对助老轮椅的需求,本文完成了以STM32F103单片机为核心的辅助站立轮椅的设计和测试,并通过proteus软件分析了红外线传感器的避障效果。仿真结果表明红外线传感器能较好地进行避障工作,验证了本设计的可行性。该轮椅具有辅助站立、电机驱动及红外避障等功能,对比市面上的普通电动轮椅具有明显的优势。

猜你喜欢
推杆轮椅座椅
轮椅上的爱
我的轮椅
重水堆装卸料机B推杆固定销窜动故障处理
重水堆装卸料机B推杆固定销窜动故障处理
轮椅上的姑娘(外三首)
核电厂装卸料机B推杆位置失效原因分析及解决方案
轮椅
奔驰S350车驾驶人侧座椅不能加热
注塑模斜推杆机构强度分析及其结构尺寸研究