序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的超声波视力保护器设计。
3.系统硬件设计
本系统由主控制器模块、超声波测距模块、蜂鸣器报警电路模块、光敏电阻测光电路模块、温度检测模块、液晶显示模块、电源接口模块和按键电路模块组成。设计原理图见下图3-1。
图3-1 超声波视力保护器原理图
3.1 主控制器模块
主控制单元采用STC89C52单片机,来完成设计的警报功能和定时功能,检测测距信息,把DS18B20采集的温度系数以及光敏电阻的光信号检测结果,显示到液晶显示屏上。并且具备了低功耗、高性能、超强抗干扰等特点。拥有8K字节系统可编程存储空间(FLASH),8位中央处理器,512字节数据存储空间(RAM),4个8位I/O口,3个16位定时器/计数器,4个外部中断,全双工串行通信口。操作方便、快捷、代码简单,综合性价比高能够满足本次设计的要求。
图3-2 STC89C52单片机示例图
3.2 超声波测距模块
选用HC_SR04超声波传感器是因为其频率较高、指向性强,传播距离较远,测距精度高等特点,内部包含发射器、接收器和控制电路。基本工作原理:利用超声波脉冲回波法,已知超声波的传播速度,再由发射到接收所消耗的时间差,得到设备与测量物之间的距离,测量公式为:
d=C×t/2(1)
C为传播速度,t为其往返所耗时间。
传播速度C(m/s)也与当前环境温度(te)有关,其公式[5]:
C=331.34+0.605te-0.0005t2e(2)
式(2)中的te单位为°C。把式(2)代入到式(1),即可计算出设备与障碍物间的距离。
空气中声速与环境温度的对应值如下表所示:
表3.2 声速与环境温度的关系
温度(°C) | -30 | -20 | -10 | 0 | 10 | 20 | 30 | 100 |
声速(m/s) | 313 | 319 | 325 | 323 | 338 | 344 | 349 | 386 |
声速与环境温度的关系可以表示为:
其中T为测试时的环境温度[6]:v0=331.4m/s
图3-3 HC-SR04超声波传感器
坐姿的规范可通过装置实时测量的距离来判断,当距离过近,未能超过设定值时,则由蜂鸣器报警示意学生及时调整坐姿。
图3-4HC-SR04超声波测距原理图
3.3 蜂鸣器报警电路模块
蜂鸣器是一种电子发声器件,由直流电压供电,常见于电子玩具、遥控器、计算器等作为发声器件。作用是对不在设置范围内的数据发出报警信号。蜂鸣器一般分两种:
(1)有源蜂鸣器:工作加直流电压,内部产生振荡,从而发出固有频率的声音。
(2)无源蜂鸣器:外加方波触发工作,内部不含震荡源,直流信号不能使其发出声音。
因此选用有源蜂鸣器,使用方便,程序驱动简单。
图3-5 有源蜂鸣器和无源蜂鸣器示例图
提醒功能:当设定时间结束时,蜂鸣器报警,提醒学生应适当放松;当设置距离大于两者间距离时,蜂鸣器报警,提醒学生应端正姿势;当学生的环境光强不在设置范围时,蜂鸣器报警,提醒学生应当更换合适的环境。
如下图所示,当输出高电平时,Q1截止,无电流通过,蜂鸣器不发声;输出低电平时,Q1导通,有电流通过,蜂鸣器发出声音[7]。因此,报警电路的工作可以通过电平高低判断。
图3-6 蜂鸣器报警原理图
3.4 光敏电阻测光电路模块
光敏电阻又称光敏电阻器或称光导管,对光线十分敏感,光越亮,电流愈大,阻值愈低;光照结束,电阻恢复原来的阻值。光敏电阻测试精准、耐用期长、造型小巧且运行工作稳,因此,测量光照强度选用光敏电阻。
图3-7 光敏电阻示例图
如下图所示,当有光照时,电流变大,光敏电阻变化,R7两端分压改变,经ADC0832模数转换器得到的数字信号,再由主控制单元处理,可在显示屏上显示光强百分比。
图3-8 光敏电阻测光电路原理图
3.5 温度检测模块
如果学习环境不太适合,存在温度过低或者温度过高时,学习效率是会受到影响的,因此,设计还应具有的功能就是温度检测,周遭室温可用DS18B20温度传感器检测。其具有造型小巧、接线方便、抗干扰能力强等特点,在-55°C~+125°C的范围内可实现微误差测温。
图3-9 DS18B20温度传感器示例图
如下图温度检测模块图所示,工作开始前维持能耗低的状态,主要控制单元发出指令,检测温度或AD转换,然后储存到高速暂存器里,传感器则继续候机。
图3-10 温度检测模块图
3.6 液晶显示模块
为了更好的呈现出显示效果,思考了两个方案:
方案1:显示采用数码管,可以简单快捷的接受数据的信息,不足之处就是屏幕显示简单。
方案2:LCD1602液晶显示,所需功耗低、造型小巧、控制简单、显示数据多样等优点。
综上所述,选择方案2,符合本设计的设计预期。
图3-11 数码管示例图图3-12LCD1602液晶示例图
设计用于显示定时时间、当前环境的温度、光照强度、距离值。如下图所示,输出数据由主控制单元的并行数据P00~P07口接DO~D7,P25与使能信号端相连、读/写选择端与P26连接、P27连接数据/命令选择端。
图3-13 1602液晶显示模块原理图
5.系统测试
5.1 整体调试
硬件和软件设计完成之后,需要对硬件、软件进行测试,看看是否能够达到设计前的期望。在测试过程中,硬件部分主要检测线路板有无断/错线,器件有无破损等,每个部分单独检测避免外在因素;软件部分则按照分模块进行检查纠错,减少程序运行时报错的次数,确保软硬件调试没有再报错本次系统才算完成。
系统调试的操作如下所示:
操作一:先给系统通电使其运行,随后程序控制各模块初始化操作,显示倒计时时间、光照强度、与桌面之间的距离、所处环境的温度,实行下一步;否则实行操作六;
操作二:观察显示屏上的时间是否倒计时结束,当倒计时结束时,声光报警提示,实行下一步;否则实行操作六;
操作三:S1设置数值、S2数值增加、S3数值减少、S4复位所有数值;依次按下四个键更改数值,如果声光报警提示停止,实行下一步;否则实行操作六;
操作四:用纸板挡在光敏传感器上方,上下左右移动,当光线强度值不在设置范围内时,若有声光报警提示,实行下一步;否则实行操作六;
操作五:用纸板挡在超声波测距传感器处,上下左右移动,当测量值小于设置值时,如果有声光报警提示,实行操作七;否则实行操作六;
操作六:系统故障,调试、解决问题。实行操作一;
操作七:调试成功,测试结束[13]。
系统测试流程图如下图所示。
图5-1 系统测试流程图
5.2 调试结果
通过以上操作我们进行了调试,成功的在1602显示屏上显示出了定时时间、光照强度、测量距离以及环境温度,围绕设计要求,进行了时间测试、距离测试以及光线强弱测试,测试结果如下图所示。
图5-2 (a)计时结束报警图图5-2 (b)距离过近报警图
图5-2 (c)光线太暗报警图图5-2 (d)光线太亮报警图
图5-2 (e)正常效果图
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!