基于MSP430单片机的智能导盲小车设计
2022-05-10罗文杰郭梦婷谢雨杉李桂梅
罗文杰 郭梦婷 谢雨杉 李桂梅
摘要:本文简要介绍了智能导盲小车的硬件设计和软件设计。以MSP430为主控芯片,通过光电传感器进行智能循迹,采用黑色循迹路线为规定路线,模拟现实生活中的盲道等固定路径,并具有避障及语音播报功能。经过安装调试、试验检测,能实现智能导盲,具有良好的人机交互性。
关键词:智能小车;导盲;循迹;避障;語音播报
中图分类号:TP271 文献标识码:A
文章编号:1009-3044(2022)09-0060-03
据统计,中国是世界上盲人最多的国家,同时每年我国新增45万左右盲人。其中有百分之三十的视障人士不敢踏出家门一步。为了解决盲人的生活和工作问题,提高盲人的生活质量,扩大了盲人的活动范围。笔者设计了智能导盲小车。
1硬件设计
本系统主要由MSP430F5438单片机、超声波测距模块、红外循迹模块、总线电机、舵机、语音模块、蓝牙模块组成。硬件系统设计框图如图1所示。
1.1单片机模块
本设计选用MSP430系列单片机具有处理能力强、运算速度快、超低功耗、片内资源丰富等特点。比较适合进行各种数据处理、分析、综合并加以控制,也适合此项目的需要。
1.2驱动模块
采用L298N驱动芯片。由单片机发出控制信号控制电机转动方向,驱动模块一旦收到单片机通过超声波模块发出的中断信号,开始驱动电机转动实现左转、右转、前进、越障等功能。
1.3红外循迹模块
智能循迹小车采集所设定的黑色路径位置的信号,通过对所设置的黑色路径的识别,产生高、低电平信号,依据检测到黑线光电二极管返回高电平信号,未检测到黑线,返回低电平信号。把信号传递到MSP430F5438。MSP430F5438根据获取的信号发出相应的控制指令传递给电机驱动,并通过电机驱动模块控制直流电动机的转动状态,经过一系列算法判断检测,从而完成自动循迹过程。
1.4测距模块
小车采用Y401超声波测距模块作为测距装置。Y401超声波测距模块可实现4米以内的非接触测距功能,测量盲区小,静态功耗低于2mA,低功耗,自带温度传感器对测距结果进行校正,测量结果精确,使用GPIO模式对ANCHO和TRIG操作,内带看门狗,工作稳定可靠。
1.5蓝牙模块
小车采用HC-05蓝牙无线通信。可通过向模块发送AT工作指令对模块的控制参数进行设定和下达控制指令,在自动连接工作模式下,模块又有三种工作模式,分别为主机(master),从机(slave)和回环(lookback)三种工作角色。选择从机模式,使小车变为从机蓝牙,手机做主机蓝牙,完成无线双向通信控制小车做出相应动作。
1.6语音模块
小车采用DY-SV17F外接5W喇叭,通过上下拉电阻的方式,选择驱动方式,采用串口方式对语音播放进行控制。
2 软件设计
2.1自动控制智能算法
本数据编写PID函数解决返回实时转速精准,控制实时转速转向,达到启动迅速,转动圈数量化精准。
由姿态传感器实时更新陀螺仪数据编写两次pid函数,控制电机转向转速以及舵机转动达到角度精准控制,保证了前进的角度直线行驶。在转弯过程中,给定需要转动的角度,迅速做出反应,达到精准可调转动角度,如图2所示。
2.2红外循迹模块工作流程
本模块设计的主要作用是利用光电二极管对于不同色差吸收程度不同,帮助小车规划路线。通过设置红外传感器距离远近,优化小车的运行。本设计利用四个光电传感器,探测前方地面反射光的强度,最终得到前方路面的具体情况,将探测出的数据输出为不同的电平信号,确定转向,进行循迹。
本模块首先设置P2.1,P2.2,P2.3,P7.3为输入I/O口,顺序依次从左至右。左侧两个光电传感器其中一个检测到黑线,最右边也检测到黑线,小车向右转行驶;否则,若右侧两个光电传感器其中一个检测到黑线,最左侧也检测到黑线,小车向左转;否则,若只有最右侧检测到黑线,小车向右转行驶;否则,若只有最左侧光电传感器检测到轨迹,小车向左转行驶;否则,当只有右侧第二位光电传感器检测到轨迹时,小车向左微转;否则,当只有左侧第二位光电传感器检测到轨迹时,小车向右微转;当小车中间两个光电传感器同时检测到黑线时(两个指示灯亮),小车保持直行,如图3所示。
2.3 超声避障工作流程
将超声波模块固定在转向舵机的正上方,舵机转动超声波探头,测量前方距离。超声波发出信号,定时器清零,定时器启动,收到回波后关闭定时器,通过定时器测出距离,若距离大于60 cm,直线行走,小于60cm,再通过判断左右侧距离,决定转向,再继续直线前行。避障过程中的转向带上PID反馈调节,结合定时器中断,达到指定角度转向,如图4所示。
2.4语音检测过程
首先,将数据信号从单片机MSP430F5438通过固定的串口协议发送给语音模块,语音模块译码声音信号后,通过扬声器转换高低电平输出声音信息,完成语音控制和语音提醒。
自行设定障碍物检测距离,当小车检测在这个距离之内存在障碍物时,小车的控制系统会发出提前录制好的语音播报,如“前方有障碍物,请注意避让”“请左转”等。
检测是否存在前进信号,若存在,则对应I/O变为低电平,播报前进语音,不存在前进信号,再判断是否存在后退信号,存在则后退,不存在后退信号,再判断是否存在转向信号,再判断是否左转,若有左转信号,再根据微调信号播报语音,右转信号同理,如图5所示。
3测试方案与测试结果
3.1测试方案
(1)硬件测试:测试光电二极管输出距离调整至合适距离,超声波回传距离参数是否正常等。
(2)软件仿真测试:逻辑性可行,编译器无报错信息,时钟配置正常。
(3)硬件软件联调:通过编写程序连接硬件,观察单片机寄存器内部参数是否正常并反复测试滤波参数。
3.2 测试条件与仪器
(1)使用电胶自制跑道;
(2)使用仿真器观测设置变量参数变化;
(3)使用示波器观测所调PWM波;
(4)使用万用电表测量电路各处电压通断等;
(5)热熔枪、镊子、老虎钳等。
3.3 测试结果及分析
设计安装的智能导盲小车,自动避障功能良好,可靠性99.8%,在预设的轨道上,超声波测得距离数据对实时路况进行判断,小车的各种姿态配合控制成功避障,准确率99.5%,语音识别率100%。
4结束语
本文设计的智能导盲小车,成功实现小车的自动避障循迹功能, 采用超声波传感器结合一个转向舵机测距, 在设置的轨道上能通过超声波传感器所测距离数据对四周平面距离进行判断。小车的姿态控制精准精确、稳定性强。语音识别为用户提供了轻松、方便的人机交互界面,使盲人从家里能方便到达小区的办公室、餐厅、超市、娱乐场所等,达到预期目标。
参考文献:
[1] 闫博扬,李玉衡,姚磊.基于Arduino开发板的自动循迹避障智能车控制系统设计[J].软件,2020,41(7):57-60.
[2] 李玉衡,李雨佳,饶启明,等.基于权重PID和激光测距斯特林自控车设计[J].电子测量技术,2020,43(13):1-6.
[3] 张坤.基于ARM单片机的智能小车循迹避障研究设计[D].济南:齐鲁工业大学,2020.
[4] 毛艳岭,艾月,赵明君.基于语音识别的智能车系统[J].电子技术与软件工程,2020(7):113-115.
[5] 陈文澄,张辉,张晋滔.一种多功能循迹避障智能小车的研制[J].科技创新与应用,2019(4):32-34.
[6] 刘洁.无线循迹避障智能小车的设计[J].工业控制计算机,2018,31(9):163-164.
[7] 李帅男.基于STM32的循跡避障智能小车的设计[J].数字技术与应用,2018,36(8):163-164.
[8] Yao P,Wang H L,Su Z K.Real-time path planning of unmanned aerial vehicle for target tracking and obstacle avoidance in complex dynamic environment[J].Aerospace Science and Technology,2015,47:269-279.
【通联编辑:唐一东】