钱惠祥 钱金法 朱长卿 吴超
摘 要:本系统以STM32F407ZGT6微控制器为核心,采用可靠性高、实时性强和灵活性高的CAN总线数据采集方案。主要采集智能康复轮椅上超声波传感器、激光传感器、MPU6050六轴传感器、压力传感器及电池电压的实时数据。并对采集到的实时数据进行算法优化处理,由串口转CAN通信模块上传至CAN总线。上位机可根据CAN总线上实时环境数据对康复轮椅进行智能控制。与目前智能轮椅相比,主要特点是增加了颈椎智能牵引技术,多传感器、多CAN节点的数据采集功能。每个传感器模块单独采用一个CAN节点进行数据采集,提高了数据传输实时性、可靠性、安全性。并采用串口转CAN模块方便了系统的优化、维护和轮椅功能的升级。
关键词:CAN总线 智能轮椅 STM32F407ZGT6
中圖分类号:TP274.2 文献标识码:A 文章编号:1674-098X(2021)01(b)-0072-05
Design of Intelligent Rehabilitation Wheelchair Data Acquisition System Based on CAN Bus
QIAN Huixiang QIAN Jinfa ZHU Changqing WU Chao
(Changzhou Vocational Institute of Mechatronic Technology,Changzhou, Jiangsu Province, 213164 China)
Abstract: This system takes STM32F407ZGT6 microcontroller as the core, mainly collects the real-time data of ultrasonic sensor, laser sensor, MPU6050 six-axis sensor, pressure sensor and battery voltage on the intelligent wheelchair, and carries on the optimized processing to the collected data, and then uploads it to CAN bus from serial port to CAN communication module. The upper computer can control the wheelchair intelligently according to the real-time environment data. This design mainly focuses on the modular design technology of intelligent rehabilitation wheelchair components, intelligent obstacle avoidance and overcoming technology, integrated intelligent cervical traction technology, remote monitoring and positioning technology and other key technologies, so as to develop modular, multi-functional, personalized, low-cost intelligent rehabilitation wheelchair products.
Key Words: CAN bus; Intelligent wheelchair; 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( ); //初始化右侧超声波传感器使能端口
Adc_Init(); //初始化ADC1压力传感器数据采集
Adc2_Init(); //初始化ADC2电池电压数据采集
IWDG_Init(4,500); //初始化看门口
TIM5_CH1_Cap_Init(0XFFFFFFFF,84-1); //初始化定时器5通道1捕获
TIM5_CH2_Cap_Init(0XFFFFFFFF,84-1); //初始化定时器5通道2捕获
4 系统测试
通过便携式CAN分析仪,用监控软件对CAN总线上各个功能模块传感器采集到的数据进行分析,如表4所示。包括传输时间、数据帧ID、帧类型、数据长度、数据结构协议。
通过检测软件数据的全面分析及传感器实测环境数据的比对,测试结果能够满足智能康复轮椅对环境实时数据采集的要求。
5 结语
智能轮椅数据采集系统CAN总线上数据传输的波特率为500kB,能够快速的感应到康复轮椅周围环息及人体姿态、颈椎压力等信息。上位机可以根据实时数据判断分析,通过PWM脉宽控制电机作出相应的功能调整[8]。通过系统软件测试和硬件功能调试,CAN总线协议上数据传输可靠性高、实时性强,能够很好满足智能轮椅多传感器、多CAN节点的数据采集功能。利用串口转CAN模块更方便了系统的优化和轮椅功能的升级。
参考文献
[1] 陈亦翔,李业健,张钠棣,等.智能轮椅的人脸识别与避障系统研究[J].电子元器件与信息技术.2020(6):71-72.
[2] 胡铖锟,陈致格,晏泉,等.基于坐姿传感及自主避障的轮椅控制系统[J].安徽工业大学学报,2020(9):280-288.
[3] 方略,何洪军,高旭.基于CAN通信多通道数据采集系统设计[J].计算技术与自动化,2020(9):37-41.
[4] 侯佳辛,廣军.基于单片机的超声波液位智能控制系统设计[J].自动化与仪表,2020(5).
[5] 王维果,朱世国,饶大庆,等.应变式电阻压力传感元件灵敏度的测定[J].物理实验,2018(11):27-29.
[6] 陈昱,沈林涛,王凯.基于STM32控制的平衡小车系统设计[J].软件导刊,2020(8):319.
[7] 李威,严良文,钱峰峰.基于CAN总线下串口通讯在车载监测中的应用[J].工业控制计算机,2019(2):28-29,31.
[8] 彭天然,张梅.基于STM32的智能轮椅控制系统设计[J].智能处理与应用,2020(8).