智能导盲拐杖系统设计
实验题目:智能导盲拐杖系统设计
课程名称:单片机应用实践
课程学时: 30
项目学时: 20
适用专业:电子信息工程
学生年级:大三下学期
实验内容与任务(限500字)
设计任务主要是基于STM32单片机,利用超声波测距模块、GPS模块、水位检测模块、语音模块,红外检测模块及温度检测模块对周围环境的实时监测,同时结合蜂鸣器报警和GSM通信模块向特定用户发送短信,实现多维度智能导盲拐杖的功能,系统总体架构如图2.1所示。

图2.1 实验组成框图
实验包括三个阶段:分别是课前准备(查阅资料)、设计实操和课后扩展。对应了四个实验内容分别是:调研初设阶段、方案选择、软硬件设计和进阶选做。
在实验布置任务时,打破传统的实验教学(即给学生具体的设计任务书,学生直接按照任务书接线完成)方式。本实验中不具体给出设计电路和元器件型号,只给出学生具体要求和多种选择方案让学生参考,但需要学生自己去根据实际需求进行论证,让学生自主查阅资料选择合适的元器件及模块,而针对实验中出现的问题也会引导学生去自己解决,这样能够大大提高学生学习的主动性和创新性,培养学生不怕吃苦勇于钻研的科研精神。
实验过程及要求(限300字)
-
学习STM32单片机工作原理及外设的交互访问方式;
-
利用Keil μVision5软件作为系统开发环境,采用简单易懂的C语言实现对单片机的控制,将编写好的控制程序分别烧写进单片机,从而实现由单片机驱动功能模块进行相应功能处理,并实现向特定GSM向用户发送短信的功能。
-
查找满足实验要求的相关功能模块及传感器,注意传感器的类型及放大电路的适配、温度测量范围和测量精度、输出信号形式和线性范围等关键的特征参数;设计最优放大电路,尤其注意放大电路的输入阻抗和增益;
-
设计模数转换电路,进行温度模拟信号的采集,设定合理的门限阈值,实现模数转换及编码调制;合理指定各单元电路的参数指标。
-
撰写设计总结报告,并通过分组讨论演讲,学习交流不同解决方案的特点。
相关知识及背景(限150字)
这是一个运用数字和模拟电子技术解决智能导盲拐杖环境参数数据采集与控制等实际问题的典型案例,需要了解智能导盲拐杖在现实生活中的运用情况与发展前景,需要运用单片机技术及原理,功能模块及传感器选型、信号放大、AD转换、数据传输、参数设定、反馈控制等相关知识与技术方法。并涉及测量仪器使用、软硬件结合及抗干扰等工程概念与方法。
实验环境条件
硬件设备:STM32单片机、JR6001(语音模块)、Water Sensor(水位检测传感器)、GPS6MV2(定位模块)、HC-SR04(超声波测距)、示波器,SIM800C双频GSM/GPRS模块,PC计算机,RS232串口转接器。
软件开发环境:Keil μVision 5软件。
教学目标与目的
基于教学团队自主提出的ODAIC培养目标,即以培养学生的“Operation操作能力、Design设计能力、Analysis分析能力、Innovation创新能力、Challenge挑战能力”来设计实验。实验包括课前调研与初设、课内实操和进阶拓展三个阶段;每个阶段的设计都对应了ODAIC培养目标,逐步培养学生具备操作,设计,分析,创新和挑战五个能力,如图6.1所示。采取“以学生为中心,以问题为导向,以成果为目标”的教学模式,以“启发式授课,扩展式探讨,主动式学习”为实验思路,引导学生从充满好奇心到对课程实验感兴趣,再到主动积极进行实验设计,充分发挥每个学生的创新性思维,在设计的成果中体现自我价值,让学生在实验中体会到成就感和自豪感。同时,培养学生锲而不舍的科研精神和对本专业的热爱。

图6.1 教学目标设计
教学设计与实施进程
本实验案例将理论课程中单片机控制系统和信息传输协议等与实验相结合,按从易到难的顺序设计每个实验步骤,以完成每个小实验为导向,培养学生应用所学知识结合具体实验案例解决实际工程问题的专业技能和创新精神。教学过程以实验成果为导向,每个实验将课程中所用到相关知识点相融合,激发学生的创造力。并可以结合线上线下教学模式,让学生提前在线上有充足时间了解实验内容,并为实验设计方案做好准备,线下实验课程中老师再细化讲解答疑,进行引导性启发式教学,这样可以提高学生对本实验和本专业课程的兴趣爱好,有助于培养学生自主学习能力。
首先,引导学生开阔自身眼界,进行兴趣培养。安排学生在课前自主查阅智能导盲拐杖的相关知识资料,进行背景调研,形成智能导盲拐杖分析报告。初步了解当前智能导盲拐杖能“做什么”,能对人们的生活带来哪些便利与革新。并拓展智能导盲拐杖发展前景。
其次,完善关联知识积累。教师在培养学生兴趣的时候,同步完成专业知识的教学。从专业层面,系统讲解实践工程内容,包括学习研究、方案论证、系统设计、实现调试、测试标定、设计总结等过程。具体主要包括以下方面内容。
7.1 方案论证 {#方案论证}
在充分调研基础上,课程开始的1-2学时,组织学生进行方案论证。本设计主要对语音模块、水位监测模块、GPS定位和超声波模块进行论证。
本阶段实验要求:(2学时)
方案需求要了解,自主设计不限定,扩展接口要预留,考虑实际工程性。
首先,复习单片机的基础知识,掌握单片机的接口,时序,工作模式(中断,查询方式),外围电路的接入及寻址方式等。
其次,传感器选型论证。学习温度采集方法和红外传感原理,根据温度范围、探测距离与精度要求等进行传感器选型,实验任务书给出如图7.1.1、图7.1.2中的方案可供参考但不限于此。引导学生详细了解传感器输出信号的形式、幅度、驱动能力、有效范围、线性度等参数,后续的信号调制和放大电路也要根据信号的特征来设计;一般来说,特定传感器,厂家的使用说明中都有参考电路,可以在参考电路的基础上进行改善。

图7.1.1 实验元器件方案选择


图7.1.2温度、红外传感器备选方案
再次,功能模块论证。学习语音模块、水位检测模块、GPS模块及超声波测距模块控制方法,根据探测距离与精度要求等进行选型,实验任务书给出如图7.1.3的方案可供参考但不限于此。引导学生详细了解数据采集控制方式及数据接口方式模块输出信号的形式,后续的信号处理和电路也要根据信号的特征来设计;一般来说,特定采集模块,厂家的使用说明中都有参考电路,可以在参考电路的基础上进行改善。

图7.1.3 数据采集功能模块方案
(1)测距的方案论证
本次设计的导盲拐杖涉及的测距模块有三种:红外测距、激光测距、超声波测距。本次设计从以上三种测距方案中选择其一。
1)红外测距
红外测距技术是一种基于红外光的属性,用于确定物体与传感器之间的空间间隔的技术。通常情况下,红外测距传感器会发射一束红外线,并通过检测该红外线的反射或者接收到的信号来计算目标物体与传感器之间的距离。该技术基于红外光在大气中传播的恒速特性,通过计算信号往返时间的差异,从而精确测量物体与传感器的间隔。
2)激光测距
激光测距技术基于激光的固有属性,用于确定物体与测量设备之间的空间距离。在这一过程中,激光发射器产生一道集中的激光,该激光被目标物体反射后,由专门的接收装置捕捉。通过精确测量激光往返的时间,可以计算出物体的位置。该技术的有效性建立在激光在空气中以近乎恒定速度传播的基础上,使得通过时间差异来确定距离成为可能。
3)超声波测距
利用超声波的物理属性进行距离测量的技术被称为超声波测距。超声波指的是那些频率超出人耳可听范围的声波,它们在空气介质中的传播速度相对较快,适合用于距离的测量。在进行超声波测距时,发射器会发出一连串的超声波脉冲;这些脉冲在遇到物体后会产生回声,回声被接收器捕获。通过计算超声波从发射到被接收器捕获的时间间隔,可以推算出物体与传感器之间的实际距离。
三者相比较超声波有着较高的测量精度,虽然激光测距精度更高,但是实际导盲过程中不需要亚毫米级别的距离测量,且超声波测距的测量距离合理,适合中短距离的测量。此外超声波测距受环境影响较小,响应速度较快,而相比之下较低的成本更能满足实际导盲需求。鉴于此,HC-SR04型号的超声波距离测量模块被选用。这款模块拥有稳定的性能和精确的测量结果,同时提供高准确度的测量,并且具有较小的测量盲区。选择此模块不仅因为它能够满足当前设计的需求,还因为其拥有丰富的社区支持资源,这有助于减少开发时间。
(2)定位的方案论证
在本设计中,导盲杖集成了定位系统,以便提供精准的导航辅助。目前可供选择的定位技术包括全球定位系统(GPS)、无线保真(WiFi)网络定位以及基于位置的服务(LBS)基站定位等方案。
1)GPS定位
GPS(全球定位系统)利用一组地面的卫星来确定接收器的位置。设备接收来自多颗卫星的信号,并根据这些信号的时间差来计算设备与卫星之间的距离,从而确定设备的位置。该定位不需要手机SIM卡,不需要连接网络,在户外也能准确定位。GPS刚启动后搜索卫星的所需时间比较多,但定位精度高,能接收到四颗卫星的定位信号,就可以进行误差在5米以内的定位。
2)WiFi定位
WiFi定位利用周围的WiFi网络来确定设备的位置。设备通过扫描周围可用的WiFi网络并与之建立连接,然后利用已知的WiFi网络位置信息来确定设备位置。
WiFi定位成本较低,适用于室内和城市等区域。在密集的WiFi网络环境中,定位精度可以达到几米以内。但WiFi定位对WiFi网络覆盖度和数据准确性要求较高,可能受到WiFi网络变化与干扰的影响。
3)LBS基站定位
基站定位利用移动通信网络中的基站来确定设备的位置。基站通过设备与信号的交互来确定设备的大致位置,通常采用三角测量或信号强度定位等技术。基站定位在城市和室内环境中的表现较好,可以提供相对精确的位置信息。但定位精度相对较低,通常在数十米到数百米之间,受基站密度和信号强度等因素的影响。
为保证该导盲杖在紧急情况时能对自身位置进行定位,本次选择GPS定位作为本次定位方案的设计。GPS-NEO-6M 定位模块具有GPS与北斗共同定位的功能,保证了每次定位的卫星数大于四颗,确保了定位精度。当其佩带有源天线IPX工作,在断电时保存当前星历,重新上电会根据星历快速定位位置。
(3)语音模块的方案论证
本次设计的导盲拐杖还设计语音播报功能,选择可靠的语音播报模块依旧非常重要。按照本次设计的要求,从以下三个方案中选择一款。
1)ISD1820语音芯片
ISD1820 音频芯片能够实现8至20秒的一次性录音与播放功能,其设计与ISD1420 芯片相同。这款芯片基于CMOS工艺制造,集成了时钟振荡器、麦克风前级放大器、自动音量控制、抗干扰滤波功能、音频输出驱动以及可擦写存储单元。用户可根据需要选择三种不同的播放模式,这种芯片提供的音频质量优于传统的麦克风放大设备,且不会导致扬声器发生超载。整个芯片的工作功耗非常低,几乎可以忽略不计。此外,较短的录音时间能够带来更佳的音质,而较长的录音时间可能会降低音频的清晰度。
2)ISD1420语音芯片
ISD1420 音频芯片以其出色的录音和播放效果而著称,能够提供清晰无杂音的音质,并且在电源断开的情况下依然能够保持录音内容。该芯片通过8位地址线(A0到A7)来选择特定的录音位置,每个地址点对应125毫秒的录音时长,总共160个地址点能够记录长达20秒的音频。用户仅需估算出所需的录音时长,并除以125毫秒,即可确定录音的起始地址点。当芯片与微控制器相连后,通过设置相应的地址,便能播放指定的音频片段。录音和播放操作均始于用户设定的起始地址,而录音的终止则通过按下停止键来实现,此时芯片会在录音的末尾自动标记结束标志(EOM)。在播放过程中,一旦检测到EOM标志,芯片将自动终止播放。
3)JR6001语音模块
JR6001是一款集成了USB端口的语音播放设备,其允许用户轻松地更新和替换存储在SPI-flash中的音频资料。该模块采用24位数字模拟转换器(DAC),实现了高达90dB的动态声音范围,并提供了85dB的信号信噪比。通过两线串行接口和AD接口进行控制,它能够通过USB方式直接升级音频文件,使用户免去了安装额外驱动或软件的步骤,仅需简单的文件传输即可。此外,JR6001兼容多个版本的Windows操作系统,包括XP、WIN7、WIN8、WIN10和WIN11。其命令集和解析机制确保了应用的高稳定性。
综上考虑,选择JR6001语音模块直接通过USB更新语音文件,同时成本较为合适。而ISD1820 芯片仅支持连续录音和播放单一音频片段,无法满足分节播放的需求,故此并不适合选用。
7.2 基础设计 {#基础设计}
实验内容:(4学时)
1.设计电路原理图
2.键盘、时钟、复位等电路搭建
3.温度、红外、水位、超声波等传感器数据采集
4.完成数据的AD转换
问题:如何区分红外和温度两种警报声?
本模块实验要求:
专业基础要夯实,最小系统要仔细,复位时钟蜂鸣器,设计无误就升级。


图7.2.1基础设计电路
设计过程中提出问题:如何区分红外和温度两种警报声?
学生可自行分析设计解决方案。同时融入思政元素,鼓励学生具有主动学习和终身学习的精神。如图7.2.2所示。

图7.2.2基础模块实验教学设计
7.3进阶设计 {#进阶设计}
实验内容:(8学时)
搭建数据采集功能模块
-
显示子程序
-
异常检测子程序
-
数据存储与处理
从进阶模块开始,难度增加,学生也可以两人结组进行团队合作。采取的教学设计方案如图7.3.1所示。首先由学生自主设计,遇到问题自行查找资料解决或团队讨论,同时教师在学生设计过程中也要提出一些问题作为过程考核评价的依据,同时教师设计一个“在线共享文档”,学生可以把遇到的问题和解决方案写在“在线共享文档”里,大家都可以看到,可以互相借鉴方案也可以提出改进的方法,这样任务完成后可以获得“永恒钻石”晋级卡,学生也会成就感满满。这时我们再融入思政元素,鼓励学生要具有主动学习的精神,还要善于借鉴他人的经验少走弯路,勤于思考勇于创新,学生也很乐于接受。

(a)进阶模块实验教学设计

(b)学生设计电路仿真图及调试现场
图7.3.1 进阶模块教学设计与实验现场
表7.3-1 学生填写的在线共享文档1-硬件问题
| 硬件问题 | 可能原因 | 解决方法 |
|---|---|---|
| 数码管不显示或显示乱码 | 没接电源,引脚接线错误,焊点脱焊 | 检查电源,使能端引脚接线,检测焊点,重新焊接 |
| 没有同步时钟信号输出 | 晶振元件损坏 电容损坏, 脱焊,虚焊导致断路 |
更换原件 重新焊接 用示波器检测输出信号 |
| DS18B20传感器无信号输入 | 引脚接线错,代码出错 | 检查线路,调试软件 |
| 串口无输出 | TX和RX端接反,AT指令错 | TX与RX调整,检查AT指令 |
| 。。。。。。 | 。。。。。。 | 。。。。。。 |
报警模块总体软件流程设计如图7.3.2所示。
(1)红外传感器模块
红外对射传感器原理为:发射的探头为长开,接收端输出为电平方式,当红外线被遮挡,接收端输出低电平,平常输出高电平。
设计过程中提出问题:如何减少误报率?由学生自己查找资料小组讨论等形成解决方案。如表7.3.2所示。

图7.3.2 传感器工作流程图
表7.3.2 红外报警部分学生提出问题及解决方案
| 提出问题 | 可能原因 | 解决方案 |
|---|---|---|
| 红外传感器应检测人员入侵再报警,而有时候无人员入侵也会报警,或者有小动物经过也会报警,什么原因?如何减少这种误报率? | 1.温度变化可能会导致红外传感器发出的红外信号频率变化,从而误报警 | 加装恒温模块。 |
| 2.一些电子设备可能会产生干扰,干扰可能会使红外传感器误报 | 通过加装晶体管来提高其抗干扰能力。 | |
| 3.红外对射探头要选择合适的响应时间,太短容易引起不必要的干扰,太长会漏报 | 采用两对红外传感器。通常以10米/秒的速度来确定最短遮光时间。若人的宽度为50厘米,则最短遮断时间为50ms。大于50ms报警,小于50ms不报警。 |
以下是学生提出的解决方案示例:
(误报警问题得到解决,流程如图7.3.3,并得到了误报警对比曲线,如图7.3.4所示。)
如图7.3.3,①当红外报警器1触发红外报警器2没有触发时,延时50ms,再次判断报警器状态,如果红外报警器2触发,说明障碍物体积过大,报警触发;如果红外报警器1触发而红外报警器2没有触发,说明障碍物体积小,而且红外线被遮挡住了,延时10秒,再次判断红外报警器是否仍是1触发2没有触发,是的话蜂鸣器报警启动,LED1发光(用于识别那个红外探头触发),GSM发送红外报警信息。
②当红外报警器2触发红外报警器1没有触发时,延时50ms,再次判断报警器状态,如果红外报警器1触发,说明障碍物体积过大,报警触发;如果红外报警器2触发而红外报警器1没有触发,说明障碍物体积小,而且红外线被遮挡住了,延时10秒,再次判断红外报警器是否仍是2触发1没有触发,是的话蜂鸣器报警启动,LED2发光(用于识别那个红外探头触发),GSM发送红外报警信息。
(2)温度报警模块设计
DS18B20将读取的环境温度值以二进制形式储存,单片机发送读取温度指令,将暂存器的温度值读取并转换为十进制,通过LED数码管显示出来,同时判断该温度值若高于30℃,则蜂鸣器报警启动。由于DS18B20上电复位时温度寄存器默认值为+85℃,所以在设置报警时必须跳过第一次温度高于30℃的报警,否则开机通电后系统认为此时温度传感器显示的数值为85℃,超出了正常环境温度,便会立即启动报警,蜂鸣器便会发出警报声。
基于此提出问题:如何在设置报警时跳过第一次温度高于30℃的报警?
学生提出的解决方案示例:
温控报警模块功能的实现:通电后DS18B20先初始化,然后单片机向其发送温度转换指令,DS18B20将读取的周围环境的温度值以二进制形式储存在自身的高速暂存器中,然后单片机发送读取温度的指令,将暂存器的温度值读取出来,并且转换为十进制,通过LED数码管显示出来,同时判断该温度值是否高于30℃,当高于30℃时,蜂鸣器报警启动,同时GSM模块向用户发送温控报警信息。流程图如图7.3.5所示。

图7.3.3红外报警学生设计流程图
图7.3.4学生改进前后的误报警率对比(改进后误报率明显下降)

图7.3.5 温度报警模块实验教学设计
(3)数据采集功能模块设计
当实际距离小于设置的安全距离时,提醒用户前方有障碍物。超声波测距模块设计如图7.3.6所示。
当检测到前方有水坑时,语音播报提醒前方有水坑。湿度传感器模块如图7.3.7。
GPS模块设计如图7.3.8。
按键模块需要实现对时间的设定,当前模式的切换,以及号码的设定。按键模块设计如图7.3.9。
![]() |
![]() |
||
|---|---|---|---|
| 图7.3.6 超声波测距模块 | 图7.3.7 湿度传感器模块 | ||
![]() |
![]() |
||
| 图7.3.8 GPS模块设计 | 图7.3.9按键模块设计 | ||
7.4 拓展设计 {#拓展设计}
实验内容:(4学时)
1.搭建电源管理模块。
2.搭建通信模块,实现与PC机串口通信、报警信息短信发布。
(1)电源管理模块
实现交直流转换,滤波,削峰,迟滞回路设计,确保系统电路与外界过载电流安全隔离,实现电路保护,断电延迟保护等功能。让学生自行设计电源,掌握交直流转换原理。转换电路如图7.4.1,学生也可自行设计其它电路。



图7.4.1学生设计的交直流电源转换电路
(2)通信模块
将SIM800C的供电模块的VCC与单片机的+5V连接,GND与单片机的GND连接;连接串口时,需将SIM800C TXD 接口与单片机的RXD 接口相连接,SIM800C RXD接口与单片机的TXD 接口相连接,GND接口与单片机上的GND接口相连接,VCC与单片机的+5V相连接。通信模块会遇到一些问题,如表7.4-1所示教师设计的在线共享文档,学生总结上传并提出解决方案,供大家参考讨论。
表7.4-1 通信模块问题在线共享文档
| 提出问题 | 可能原因 | 解决方案 |
|---|---|---|
| 指示灯可以正常闪烁,用PC机给通信模块发送AT指令发不出?手机端确收不到短信? | TXD与RXD和单片机的引脚接反了 | 将通信模块的 TXD 接口与单片机的RXD 接口相连接,RXD接口与单片机的TXD 接口相连接 |
| 手机SIM卡不支持 | 用 AT+CPIN? 指令来检测是否读到了手机SIM卡,返回error即读不到,需换卡 | |
| 串口电压不匹配,或者功率不够 | 调节稳压模块的输出得到4V | |
| 用电脑调试发命令,串口助手没有返回值,或是没有正确的返回值? | 接线错误 | 检查接线问题,参考模块典型接口文档 |
| AT指令输入错误 | 重新发送AT指令,注意AT指令大小写,以及输入值。 |
提出问题:为使用户能清晰的区分红外报警和温控报警,应如何编写软件来实现?
学生通过讨论和查找资料,形成自己的解决方案如下。并在此过程中,融入思政:站在用户角度如何能够清晰判断报警信息,培养学生全面多角度的考虑问题。
学生提出的解决方案:
具体设计流程如图7.4.2。

(a)AT指令串口发送成功界面展示

(b)短信发送流程图
图7.4.2 短信模块学生设计展示
通电源后,插有SIM卡的GSM模块开始搜索信号,当状态灯D5常亮,D6慢闪(亮一秒灭三秒)时,说明模块成功搜索到了网络,可以正常工作。此时,当红外报警或者温控报警启动后,单片机驱动GSM模块,首先GSM模块初始化,延时大约2秒,单片机通过串口向GSM模块发送AT+CSCS=\UCS2\指令,设置为16位通用8字节倍数编码字符集,延时1s后单片机向GSM发送AT+CMGF=1指令,设置短消息格式为文本模式,1s之后发送AT+CSCA?查询短信服务中心号码是否正确,此时可以通过串口助手观察接收到的短信服务中心号码,单片机向GSM发送AT+CSMP=17,167,0,25指令,在文本模式下设置短信的参数。延时1s后单片机向GSM发送CMGS命令,用于设置接收短信的手机号,延时1s后单片机向GSM发送字符串,此处的字符串为所要发送的短信内容的Unicode码,短信内容发送完成后,单片机向GSM发送字符0X1A作为短信发送完成的结束语。到此,短信发送全部完成。学生完成实验成果如图7.4.3所示。

图7.4.3 学生实验成果展示
7.5选做模块 {#选做模块}
实验内容:(课外学时)
1. 根据以下给定题目选做,也可自主选题。
2. 多环境信息检测系统设计。
在完成以上实验的基础上,学生可自愿选做,要求利用课外时间自行设计。也是为了后续课程-电子信息工程课程设计做准备。选做题目可以自选,也可根据教师提出的题目设计。以下为学生自主选题的设计内容。
多环境信息检测系统设计
该实验基于Zigbee传感器实验平台,设计包含温湿度等多种环境信息的监控系统。如图7.5.1所示学生设计成果。
具体要求为:
(1)实现自动调光和烟雾报警功能;
(2)设计移动终端APP,监测不同设备的信息,控制蜂鸣器和警报灯的亮灭。
{width="3.720833333333333in"
height="2.71875in"}

图7.5.2学生选做成果—多环境信息检测系统
实验原理及方案
8.1系统结构 {#系统结构}
系统硬件总体架构设计如图8.1.1所示。

图8.1.1系统硬件架构
8.2系统硬件实现方案 {#系统硬件实现方案}
实验设计采用STM32单片机,试验中用到了时钟电路,单片机复位电路,LED数码管显示部分,蜂鸣器部分和键盘控制部分以及串口通信,下面具体说明开发板各个部分的硬件电路连接。
(1)时钟电路
STM32内部有一个高增益反相放大器用于构成振荡器,引脚XTAL1是放大器的输入端,XTAL2是放大器的输出端。内部方式的时钟电路如图8.2.1所示,在XTAL1引脚和XTAL2引脚上外接定时元件,内部振荡器就会产生自激振荡。定时元件一般选用石英晶体和电容组成的并联谐振回路。晶振频率可以是1.2~12MHz,电容值范围是5~30pF,电容值的大小可对频率起到调节作用。

图8.2.1时钟电路
(2)复位电路
复位操作:复位是单片机的初始化操作。其功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了系统正常的初始化需要用到复位操作以外,当程序运行错误时,也需要按下复位键来重启单片机。
上电自动复位是通过复位电路的电容充电来完成的,其电路如图8.2.2所示。只要电源的上升时间不超过1ms,就能实现自动上电复位。

图8.2.2复位电路
(3)键盘电路
本实验由于只需要一个简单的按键来中止报警声,所以采用独立键盘来操作比较简便,其电路图如图8.2.3所示。

图8.2.3键盘电路
键盘是通过按键的按下和弹起产生的高低电平来实现功能的,此实验选用的52单片机开发板采用触点式按键。理论上当键盘被按下或者弹起时,会有明显的高低电平变化,但是实际上由于按键触点的弹性所以按键会产生抖动现象。当按键被按下时,触点不会迅速可靠地接通,当按键弹起时,触点也不会立即断开,而是要经过一段时间的抖动才能稳定下来。本实验采用延时去抖动的方式消除键盘抖动,即:当蜂鸣器发出警报后,按下S5后,此时P3.3位低电平,延时5ms,再次读取P3.3的值,如果仍为低电平,则认为是有键按下,将蜂鸣器与单片机连接的引脚P2.3置1,关闭响声,否则认为是键盘抖动。
本设计中键盘接的中断1,可以很好地中止红外报警和温控报警的警报声,随后退出中断,不影响GSM短信的发送。
(4)JR6001语音模块电路
JR6001是一款高效的语音播放设备,它允许通过两条串行通信线路和AD线路进行控制。该模块配备了USB端口,便于用户轻松更新存储在SPI-flash中的音频资料,无需依赖于传统的上位机软件进行音频更新。模块的存储单元能够模拟U盘操作,使得音频文件的传输和更新非常便利。此外,JR6001还兼容多种音频参数,支持8KHz至48KHz的采样频率和8Kbps至320kKbps的比特率,以适应不同质量要求的音频文件。实物图如图8.2.4所示。

图8.2.4JR6001实物图
JR6001模块推荐的工作电压为4.2V。本设计通过发送ASCII码给JR6001模块,实现相应的功能。发送01进行单曲循环,02表示单曲停止。此外JR6001模块有专门的BUSY引脚表示忙信号,播放语音时输出高电平,SPK+与SPK-引脚用来接喇叭。实际JR6001电路接线原理图如图8.2.5所示。

图8.2.5 JR6001接线原理图
(5)SIM800C通信模块电路
SIM800C模块提供了四频段的GSM/GPRS功能,该模块采用了紧凑型的城堡孔封装方式。此模块拥有良好的稳定性和较小的尺寸,能够在GSM/GPRS的850/900/1800/1900MHz频段上,以低能耗的方式传输语音、短信(SMS)以及数据。当集成到导盲系统中时,SIM800C模块能够带来高效的低功耗通信,同时兼容广泛的网络频段。当用户处于跌倒或者其他情况时,发送此时的GPS位置给设定好的从机电话,以便援助人员能及时到达现场进行救助。其中PWRKEY引脚实际为SIM800C的启动引脚,可用于单片机控制SIM800C整个模块。SIM卡座电路一般使用Mico Sim卡,用来给GPRS上网,功能与手机卡相似,若使用物联网卡,则不具备打电话的功能,本次设计使用移动卡。SIM800C模块中的ESD芯片用于吸收静电。因STM32供电为3.3V,而SIM800C供电为4.2V,不同的供电方式,会导致电平的不一致,而 SIM800C模块中的串口电平自适应电路可以使STM32和SIM800C的串口通信电平保持一致,故使用该电路用来保持通信正常。SIM800C主芯片如图8.2.6所示。
(6)水位传感器模块电路
Water Sensor是一款用户友好且经济高效的水位和水滴检测装置,它通过监测一系列裸露的并行导电线路上的水含量来估算水量,并据此识别水位的变化。该模块主要是利用三极管的电流放大原理:当液位高度使三极管的基极与电源正极导通的时候,在三极管的基极和发射极之间就会产生一定大小的电流,此时在三极管的集电极和发射极之间就会产生一个一定放大倍数的电流,该电流经过发射极的电阻产生特点电压,被AD 转换器采集。Water Sensor水位传感器不仅可以测量水位,还可以测量是否有水,当测量是否有水时,直接检测输出端引脚,若检测结果为0,则显示没有水,若检测到1,则有水;当检测水位变化时,需要进行ADC采集,进行模拟电压值到水位的转换。本设计用来检测拐杖前方是否有积水,结合JR6001语音模块进行提醒。Water Sensor理想工作电压为3-5V,AO端口接单片机的ADC采集引脚。实物图如图8.2.7所示,原理图如图8.2.8所示。

图8.2.6 SIM800C主芯片
![]() |
![]() |
|---|---|
| 图8.2.7 Water Sensor 实物图 | 图8.2.8 Water Sensor原理图 |
(7)GPS定位模块电路
本次使用的GPS定位模块是由 ALIENTEK 制造的GPS定位装置,其核心部件为NEO-6M,是一款由UBLOX公司设计的高效GPS模组。该模块具备50个追踪通道,并且拥有良好的追踪灵敏度,最低可达-161dBm,同时能够提供高达5Hz的数据更新速率。NEO-6M内置了一个无源陶瓷天线,消除了额外购买有源天线的需求。它能够适配3.3V或5V的微控制器系统,此外它还配备了一块可充电的备用电池,用以支持温启动和热启动功能。该模块的体积紧凑,其尺寸大小为25.5mm*31mm,并通过一组间隔2.54mm的排针实现与外部设备的连接。其特征见表8.2.1。
表8.2.1 NEO-6M特征
| 项目 | 说明 |
|---|---|
| 接口特性 | TTL,兼容3.3V/5V单片机系统 |
| 接收特性 | 50通道,GPS L1(1575.42MHz) C/Z码,SBAS:WAAS/EGNOS/MSAS |
| 定位精度 | 2.5mCEP (SBAS:2.0mCEP) |
| 更新速率 | 最大5Hz |
| 捕获时间 | 冷启动:27S(最快);温启动:27S;热启动:1S |
| 通信协议 | NMEA(默认) /UBX Binary |
| 串口通信波特率 | 4800、9600、19200、38400(默认)、57600、115200、230400 |
| 工作温度 | -40°C~84°C |
| 模块尺寸 | 25.5mm*31mm |
在GPS模块中,若所有先前记录的接收数据因电源完全耗尽而消失,此时进行的启动被称为冷启动。若模块仍保留接收历史数据,但当前可见卫星数据与存储的数据不匹配,进行的启动则被称为温启动。而当模块的保存数据与当前卫星数据保持一致时进行的启动,则被称为热启动。在硬件连接方面,TXD和RXD引脚内部已经连接了510欧姆的电阻,以实现电平的匹配输出。使用过程中需注意,连接的电阻不宜过大,特别是在连接USB转TTL串口模块时,如果TXD和RXD引脚带有LED,可能会引发一系列问题,这可能会导致通信功能异常。此外NEO-6M GPS模块能够适应多种串口通信速率,用户可以通过串口进行配置,并将设置保存至模块内置的EEPROM中。模块默认的通信速率设置为38400bps,配置为8个数据位、1个停止位,且不使用奇偶校验。实物图见图8.2.9。

图8.2.9 GPS6MV2
(8)超声波模块
本次选择了HC-SR04作为超声波距离测量的核心组件,其硬件布局详见图8.2.10。该HC-SR04模块能够实现从2厘米至400厘米范围内的无触碰距离测量,测量的准确度能够达到3毫米。该模块主要由超声波发射机制、相应的接收单元以及一个集成的控制单元构成。

图8.2.10 HC-SR04硬件设计图
HC-SR04模块基本工作原理包括:使用TRIG引脚进行距离测量,需提供至少10微秒的高电平脉冲信号以启动测距过程;测距模块将自动发出一系列40kHz频率的方波信号,并持续监测以判断是否有回波信号返回;若检测到回波,ECHO引脚将输出持续高电平信号,其持续时长直接对应于超声波的传播时间,即波从发射到返回的时间。测试距离=为(高电平时间*声速(340M/S))/2;
如图8.2.11所示的设备布局,电源正极VCC接入5伏电压源。触发控制信号输入端TRIG与STM32微控制器的标准输入输出端口PA5相连,而回响信号输出端ECHO则与微控制器的另一端口PA7相接。触发信号为10微秒时长的TTL电平脉冲,同时,回响信号也以TTL电平的形式输出,其持续时间与对象的距离成正比。

图8.2.11 HC-SR04实物图
参考图8.2.12中的超声波时序图,可以了解到仅需提供一个超过10微秒的脉冲触发信号,模块便会自动产生一系列40KHz频率的电平信号,并开始寻找回波。一旦捕捉到回波,模块会随即发出一个回响信号。该回响信号的持续时间与测量距离成直接比例关系。因此,通过测量信号发射与回响信号接收之间的时间差,便能够推算出物体的距离。

图8.2.12 超声波时序图
8.3系统软件实现方案 {#系统软件实现方案}
参见7.3。
实验报告要求
-
要求每个实验提前预习,写出主要实验步骤和实验内容;按照实验报告纸的格式;
-
重点记录实验中出现的问题和解决方法,若有多种解决方法,可以对比找到最好的方法记录下来并加以详细说明;
-
团队实验需要详细说明每个人的分工和成果,个人成果部分重点描述,包括设计思路、电路图、流程图、框图、代码等,代码要有注释;
-
报告最后要有实验总结,每个人在实验中收获和体会都不一样,要求有真情实感, 真实的收获或者对实验的建议,都可以写上。
-
实验报告不能雷同,否则按作弊处理。
实验报告需要反映以下工作:
-
实验需求分析
-
实现方案论证
-
理论推导计算
-
电路设计与参数选择
-
电路测试方法
-
实验数据记录
-
数据处理分析
-
实验结果总结
考核要求与方法(限300字)
10.1 考核具体要求 {#考核具体要求}
本实验考核采取“依据大纲,全面评价,注重细节,鼓励创新”的评价方式。实验过程中依据能力目标的考核具体评分标准如表10.1.1。大纲评分标准如表10.1.2。
表10.1.1 依据能力目标的实验考核标准

- 调研预习环节
实验前一周下发实验指导书,鼓励学生自己预习,查阅资料,充分做好实验准备,形成预习报告,教师根据预习情况进行抽检;
- 设计实操环节
包括方案论证,软硬件设计等,实验过程中随时观察学生的独立思考能力和动手能力以及团队合作能力,根据不同实验阶段性提出问题进行抽检,形成考核评价依据;
- 实验总结环节
实验后结合设计结果和实验报告,对学生的综合能力进行考核评价。
表10.1.2实验考核评分标准
| 课程目标 | 考核点 | 评分标准 | 总分数权重(%) | ||||
|---|---|---|---|---|---|---|---|
90-100 (优秀) |
80-89 (良好) |
70-79 (中等) |
60-69 (及格) |
60以下 (不及格) |
|||
| 课程目标1:能够根据单片机应用系统的设计要求,通过查阅文献资料,提出多种解决方案;通过性能、复杂程度、成本等方面的考虑,选择最佳解决方案;能够提出并设计系统的总体方案,并根据总体方案进行硬件设计,给出所需元器件; | 工作态度 | 预习充分、无迟到、实验认真不做与实验无关活动 | 预习较充分、无迟到、实验较认真,不做与实验无关活动 | 预习不充分、迟到少、实验较认真,有少量与实验无关活动 | 预习较差、迟到、实验不认真,有较多与实验无关活动 | 无预习,迟到多,实验很不认真,过多与实验无关活动 | 5 |
| 文献资料利用及自学 | 能够正确运用网络和文献检索工具,查阅有效文献,获取本领域理论与技术的最新进展,并在报告中加以正确引用。 | 能够运用网络和文献检索工具,查阅有效文献,获取本领域理论与技术的最新进展,并在报告中引用。 | 能够运用网络和文献检索工具,查阅文献,获取本领域理论与技术的最新进展,在报告中引用基本正确。 | 能够运用网络和文献检索工具,查阅文献,获取本领域部分信息,在报告中引用基本正确。 | 不能运用网络和文献检索工具进行文献查阅以获取有效文献。 | 5 | |
| 成本、安全、节能环保意识 | 设计中不仅考虑功能实现,还考虑成本、安全因素,并体现节能环保意识 | 设计中考虑了部分成本、安全因素和节能环保因素 | 设计中考虑了成本、安全或节能环保因素之一 | 设计中有成本、安全或节能环保意识,但不能实现或思路错误 | 设计中未考虑任何成本、安全因素和节能环保因素 | 5 | |
| 课程目标2:能够使用计算机辅助设计软件设计系统硬件图纸;能够根据要求进行软件设计、编写程序、下载程序、调试程序;能够设计实验方案,能够搭建实验系统对方案进行测试和分析 | 项目 设计 |
正确理解工艺,正确完成硬件原理图和PCB图纸设计,设计方案合理;程序思路清晰,逻辑正确;系统功能完善; | 工艺理解基本正确,能完成硬件原理图和PCB图纸设计,设计方案基本合理;程序思路基本清晰,逻辑正确;系统主要功能完善; | 工艺理解部分正确,能完成主要硬件原理图和PCB图纸设计,设计方案合理;程序思路部分正确;实现系统大部分主要功能; | 在老师帮助下能理解工艺,能完成主要硬件原理图和PCB图纸设计,设计方案合理;编写部分程序,实现系统少量主要功能; | 不能理解工艺,不能完成硬件原理图和PCB图纸设计;不能编写程序,不能实现系统需要的功能; | 20 |
项目 实施 |
能够规划项目进度并执行;能够使用现代工具进行硬件图纸设计,以及程序的编写、调试、仿真;能够设计实验方案,搭建实验系统,接线正确。 | 能够规划项目进度并基本执行;能够使用现代工具进行硬件图纸设计,以及程序的编写、调试、仿真;能够设计实验方案,搭建实验系统,接线基本正确。 | 规划项目进度基本合理并执行;能够使用现代工具进行硬件图纸设计,以及程序的编写、调试、仿真;能够设计主要实验方案,搭建主要实验系统,接线基本正确。 | 有项目进度规划并执行;能够使用现代工具进行系统软硬件设计以及调试、仿真;能够设计部分实验方案,搭建部分实验系统,接线基本正确。 | 没有进行项目规划;不能够使用现代工具进行硬件图纸设计,以及程序的编写、调试、仿真;设计部分实验方案有缺陷,未能搭建实验系统。 | 25 | |
实验 结果 |
硬件电路搭建整齐工作正常且可靠;软件实现要求的功能,测量精度满足要求;实施实验并获取数据,对数据进行研究并提出提高系统精度的解决方案。 | 主要硬件电路搭建整齐工作正常且可靠;大部分程序功能正确;测量精度满足要求;实施实验并获取数据,能对数据进行研究。 | 硬件电路能工作正常且可靠;程序功能基本正确;能实施测量并获取数据,能对提高精度进行研究。 | 在老师指导下能搭建了系统,并实现了系统部分功能。 | 程序功能完全错误或不能编写程序。 | 15 | |
| 课程目标3:能撰写报告,正确描述和表达解决方案以及分析结果;具有沟通和协作能力,能够与团队成员合作完成设计任务; | 团队 合作 |
能够获取资料并共享;积极与队友合作,完成全部自己的任务,并能协助队友完成任务 | 能够获取资料并共享;能与队友合作,完成自己的任务,并配合队友完成任务 | 能接受队友建议,完成自己的任务。 | 只能在队友帮助下完成任务 | 不能和队友合作,不能完成任务 | 5 |
实验 报告 |
报告格式规范,语句通顺、程序正确,分析论证充分,图表程序正确,实验结果表述清晰、正确 | 报告格式较规范,语句较通顺,图表程序正确,分析较充分,实验结果表达较清晰。 | 报告格式有缺陷,个别语句不通,图表程序有少量错误,分析不够充分,实验结果表达不够清晰。 | 报告格式有较多缺陷,图表错误较多,分析不充分,结果不清晰或有错误 | 报告格式混乱,语句不通,错误多,无分析,结果完全错误 | 20 | |
| 总分 | 100 | ||||||
10.2考核方法 {#考核方法}
考核的节点、时间、标准及考核方法如下。
-
实物验收:功能与性能指标的完成程度(如温度测量精度、控制精度),完成时间。
-
实验质量:电路方案的合理性,焊接质量、组装工艺。
-
自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
-
实验成本:是否充分利用实验室已有条件,材料与元器件选择合理性,成本核算与损耗。
-
实验数据:测试数据和测量误差。
-
实验报告:实验报告的规范性与完整性。
10.3 考核结果展示 {#考核结果展示}
以2022级电信学生考核结果为例,依据实验设计理念ODAIC,对实操环节对应的学生各项能力进行打分,如表10.3.1所示。再对每个学生的考核成绩形成个人能力画像。图10.3.1展示的三副图就是根据优良中三名学生的成绩,给出的能力画像和今后在学习中的建议。学生实验报告展示如图10.3.2。
表10.3.1 学生能力考核表


图10.3.1 学生能力画像

图10.3.2 学生实验报告展示
案例实施效果展示

图11.1学生设计成果与教学效果展示

图11.2 学生实验完成情况统计

图11.3 案例实施近五年成绩对比及对后续课程持续影响效果对比
案例实施效果
基于本实验案例的学习,学生参加科创竞赛获奖情况以及教师参加教学竞赛获奖情况如下。



图11.4学生参加竞赛获奖及保研推荐


图11.5 基于本实验案例课程团队教师参加教学竞赛获奖证书
项目特色或创新
针对以前实验存在的“五太”问题如右图所示,依据ODAIC培养目标,在实验案例设计中融入“六不”元素:布置“不完善”的实验指导书,激发学生自主学习的主动性和求知欲;提出问题让学生自己解决,使得实验过程“不顺利”;鼓励学生遇到问题相互讨论,使得实验室里“不安静”,培养团队合作精神;加入拓展实验环节,使得高分“不容易”,激发学生勇于探索的科研精神;由于学生在用心实验,得到的实验体会也各不相同,所以实验报告的内容也“不统一”,体现了学生的成长与收获;实验过程中,学生主动去学习去思考,遇到困难从开始想放弃到坚持不懈、到攻克难点,已经学到了坚持的道理!在查找资料和设计过程中也对专业知识拓展,对专业更加了解和热爱。思政融入虽“不华丽”但已实现“润物细无声”的效果。创新点总结如图12.2所示。




图12.1 六“不”设计解决五太问题

图12.2 创新点总结





