来源:期刊VIP网所属分类:计算机信息管理发布时间:2021-07-31浏览:次
摘 要:本系统以STM32F407ZGT6微控制器为核心,采用可靠性高、实时性强和灵活性高的CAN总线数据采集方案。主要采集智能康复轮椅上超声波传感器、激光传感器、MPU6050六轴传感器、压力传感器及电池电压的实时数据。并对采集到的实时数据进行算法优化处理,由串口转CAN通信模块上传至CAN总线。上位机可根据CAN总线上实时环境数据对康复轮椅进行智能控制。与目前智能轮椅相比,主要特点是增加了颈椎智能牵引技术,多传感器、多CAN节点的数据采集功能。每个传感器模块单独采用一个CAN节点进行数据采集,提高了数据传输实时性、可靠性、安全性。并采用串口转CAN模块方便了系统的优化、维护和轮椅功能的升级。
关键词:CAN总线 智能轮椅 STM32F407ZGT6
随着现代智能控制技术的发展和应用研究,现代智能康复轮椅已经具备监测、辅助治疗、远程监控、导航、避障等多种功能。如通过对声音、图像、动作、环境参数等要素进行信息的提取和数据处理,实现远程网络监控;应用智能算法控制轮椅运动实现避障;利用传感技术及智能控制技术实现康复辅助治疗等。同时,轮椅产品功能多样化,也大幅降低了介护人员的工作量。
目前的智能轮椅主要采用ARM核心,通过USART串口或485通信方式,对多种传感器进行数据采集。虽然也可以完成智能轮椅数据系统的采集,但是随着智能轮椅的功能不断提升,传感器的数量增加,实时性、可靠性不足的问题会越来越明显。
针对上述问题,我们采用了CAN总线技术,多CAN节点的数据采集功能。CAN总线实时性高,非破坏总线仲裁技术,优先级高的节点无延时。出错的CAN节点会自动关闭并切断和总线的联系,不影响总线的通讯。报文为短帧结构并有硬件CRC校验,受干扰概率小,数据出错率极低。每个传感器模块单独采用一个CAN节点进行数据采集,提高了数据传输实时性、可靠性、安全性。
与现有的智能轮椅相比,我们还增加了颈椎智能牵引技术的数据采集方案,并采用串口转CAN模块方便了智能轮椅维护和功能扩展、升级。
1 系统整体设计
本系统如图1所示,由STM32F407核心控制器和超声波避障[1]、颈椎牵引、姿态平衡、激光越障、电池电量检测等几个模块组成。各个功能的传感器数据采集在物理上独立,采用单独的串口传输通道,极大地提高了数据传输的实时性、可靠性,避免了信号的相互干扰[2]。
2 系统硬件设计
2.1 超声波避障模块
为了提升环境数据采用的可靠性,配置了2个前置超声波传感器,2个左侧超声波传感器,2个右侧超声波传感器采集轮椅周围障碍物信息[3]。利用STM32F407内部自带定时器功能,TIM5和TIM3多通道捕获功能捕获时间转换成轮椅与障碍物的距离数据[4],并通过USART1串口转CAN透传模块上传至CAN总线。各个传感器协同工作,配合上位机对环境的影像识别,让避障功能得到了进一步的优化。
STM32F407 六通道捕获配置如表1所示。
2.2 颈椎牵引模块
颈椎牵引模块采用压力传感器检测颈椎压力,将黄色的应变片固定在颈椎牵引杆上。电阻应变片的工作原理是基于应变效应,使其随着被测定物的应变相应弯曲,根据电阻应变片弯曲度的变化即可改變输出电压值[5]。OUT管脚输出模拟电压通过MCU自带A/D转换功能将电压模拟量转换成数字量。并由USART3串口转CAN透传模块上传至CAN总线。
2.3 越障模块
越障模块采用激光传感器。安装在轮椅离地10cm高度,检测距离设置成2m,如果有近距离的数据反馈,说明障碍物超过10cm,不可越障。距离数据从4脚TXD输出,USART2串口RXD输入,后由串口转CAN模块上传至CAN总线。该模块可配合摄像头确保越障功能的可靠性。
2.4 电池电量检测模块
电池电量检测模块通过电阻分压间接获取电池电压值,由于STM32F407内部 A/D转换的参考电压是3.3V,所以电阻分压获取的电压需小于3.3V。该电压通过A/D转换功能将电压模拟量转换成数字量,并由USART4串口转CAN透传模块上传至CAN总线。
2.5 姿态平衡模块
姿态平衡功能采用MPU6050传感器模块[6]。电源电压VCC 为3.3V,RX串行数据输入,TX串行数据输出,利用模块TTL串口通信模式,通过C程序数据格式处理,可获取轮椅坐姿X和Y轴的4个字节的角度数据,并由USART4串口转CAN透传模块上传至CAN总线。
2.6 串口转CAN透传模块
模块如图2所示。采用ARM作为处理器,处理速度快。波特率、数据帧ID、滤波器等设置软件使用方便,波特率可在3kbps-1Mbps的范围内任意的设定,适应能力更强。模块上的TTL接口让与嵌入式系统对接更方便。
该模块有一个TTL接口及一个CAN接口,可作为一个标准的CAN节点。可直接与任意具有TTL接口的嵌入式系统对接,实现CAN总线的数据收、发双向传输。管脚功能见表2。
利用串口转CAN透传模块不仅节省了智能康复轮椅的开发时间,而且方便了智能轮椅功能的提升和传感器扩展[7]。
3 系统软件设计
3.1 智能康复轮椅数据采集CAN通信数据格式
如表3所示。
3.2 程序简介
主程序各模块初始化函数:
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(115200); //初始化串口1波特率为115200
usart2_Init(9600); //初始化串口2波特率为9600
usart3_Init(115200); //初始化串口3波特率为115200
uart4_Init(115200); //初始化串口4波特率为115200
usart6_Init(115200); //初始化串口6波特率为115200
sr04_Init( ); //初始化前置超声波传感器使能端口
sr04_2Init( ); //初始化左侧超声波传感器使能端口
sr04_3Init( ); //初始化右侧超声波传感器使能端口
推荐阅读:社区智能快递柜柜格设计及使用情况调研报告
期刊VIP网,您身边的高端学术顾问
文章名称: 基于CAN总线的智能康复轮椅数据采集系统设计
文章地址: http://www.qikanvip.com/jisuanjixinxiguanli/58761.html