序
🔥 毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机的粮库巡检小车的设计
1巡检小车系统的硬件设计
1.1检测小车硬件组成
检测小车的硬件组成主要包括电机驱动、温湿度检测、寻迹避障模块和烟雾检测等,负责对粮库环境的温湿度、气体烟雾情况实时检测。
1.1.1电机驱动模块
小车使用直流电机驱动[10],通过I/O控制实现转弯或调头来躲避障碍物,因此选择L298N芯片。
L298N芯片与其他驱动相比工作比较稳定,不易出现问题。内部包括两个H桥,工作时峰值电压可达46V,正常工作只需要提供2A电流。使用逻辑规范电平进行驱动;有四个输入端和一个接地端;有两个使能端和一个逻辑电源;有四个输出端和一个电机电源;逻辑电源和电机电源分别对芯片和电机进行供电;有两个电流检测端,接地反馈信号。
L298N方便使用且易于驱动,可以根据使用环境的不同分别对直流、步进电机进行驱动,使用时输出电压可随意调节,满足了不同的使用需求。图3-1为L298N芯片,其引脚功能详见表1-1。
图1-1 L298芯片的引脚图
表1-1 L298N芯片引脚功能表
引脚编号 | 名称 | 功能 |
1 | 电流传感器A | 此处接地,向芯片反馈检测信号 |
2 | 输出引脚1 | 接电机 |
3 | 输出引脚2 | 接电机 |
4 | 电机电源端 | 电机驱动输入 |
5 | 输入引脚1 | 接规范电平,控制电机工作 |
6 | 使能端A | 使能控制,接规范电平;低电平不工作 |
7 | 输入引脚2 | 接规范电平,控制电机工作 |
8 | 逻辑地 | 接地端 |
9 | 逻辑电源端 | 芯片电源输入 |
10 | 输入引脚3 | 接规范电平,控制电机工作 |
11 | 使能端B | 使能控制,接规范电平;低电平不工作 |
12 | 输入引脚4 | 接规范电平,控制电机工作 |
13 | 输出引脚3 | 接电机 |
14 | 输出引脚4 | 接电机 |
15 | 电流传感器B | 此处接地,向芯片反馈检测信号 |
图1-2为驱动电路,L298N作为驱动电路的核心部分。其中电流传感器A、B与地相连,向L298N传递反馈信号;四个输入端控制电机正反转;四个输出端连接两个直流电机;使能A、B端接VCC控制电机的转停;使用8只IN4007二极管进行整流;VS、VSS均使用5V电压实现主从通信;GND和散热片均接地使用。
表3-2为L298N的逻辑控制表。其中C、D分别表示IN1(IN3)和IN2(IN4),L为低电平,H为高电平,不同的输入就可以实现对应输出。
图1-2 驱动电路
表1-2 L298N逻辑控制
输入 | 输出 | |
ENA(B)=H | C=H;D=L | 正转 |
C=L;D=H | 反转 | |
C=D | 制动 | |
ENA(B)=L | C=X;D=X | 没有输出,电机不工作 |
1.1.2寻迹模块
小车寻迹使用红外对管实现,包括发射管和接收管。红外线的使用为工作生活提供了更多便利,现广泛应用于抢险救援、医学治疗等方面[11]。
本设计共使用三对红外对管,分别装在小车车头的不同位置,使用黑色胶带制作宽度2cm-3cm左右的小车轨道。红外循迹时,因为红外线对不同颜色的反射系数不同[12],所以根据红外的收发信号控制小车的移动方向,寻迹原理见图1-3,x代表与地面距离。
图1-3 红外循迹原理图
小车在轨道上正常前进时,发射管不断向地面发射红外信号,由于中间的信号被黑色轨道吸收,所以车头两侧对管能接收到返回信号,车头中间对管收不到返回信号;当左侧对管接收不到红外信号时,说明小车向轨道右侧偏离,此时单片机通过I/O控制小车左轮反转右轮正转,让小车向左侧移动,当两侧对管继续接收到信号时,说明小车回到轨道中间正常行驶;同理,当右侧对管接收不到红外信号时,说明小车向轨道左侧偏离,单片机控制小车向右转动直至回到正常行驶,模拟如图1-4所示。
图1-4 寻迹模拟图
1.1.3避障模块
超声波频率非常高,人耳无法听到。能够穿透岩石、土壤等障碍物进行探测,目前广泛用于危险作业、障碍探测等。
经过不断查阅资料在这里选择HC-SR04传感器来判断前方是否存在障碍物[13]。HC-SR04模块由发射与接收装置和控制电路组成,HC-SR04模块如图1-5所示。射程范围2cm-4m,测距精度可达3mm,拥有较强的抗干扰能力,工作性能优越,电气参数如表1-3所示。
图1-5
表1-3 HC-SR04模块详参
HC-SR 04 | 工作电压 | 工作电流 | 工作频率 | 最远射程 | 最近射程 | 测量角度 | 输入触发信号 | 输出回 响信号 | 规格 |
电气参数 | DC 5V | 15 mA | 40Hz | 4m | 2cm | 15度 | 10uS的TTL脉冲 | 输出标准电平信号,与射程相关 | 45*20*15mm |
HC-SR04原理说明:工作时首先发出触发信号,然后循环8个脉冲并开始计时,在探测到障碍物后输送返回信号,检测距离与返回信号相关联,工作时序见下图1-6。通过信号发出与返回的时间差可以计算出距离,当距离小于15cm时,单片机及时采取转弯或调头措施[14]。
图1-6 超声波时序图
1.1.4温湿度检测模块
温湿度测量选用DHT11传感器,可同时测量温湿度,广泛应用于仓库存储、环境检测等[15]。DHT11结构简单,共有4个引脚,使用起来特别方便,VCC接直流5V,DATA为数据输出端,NC为空脚, GND为接地端,图3-7为DHT11引脚和实物图。
DHT11传感器内部电路简单,只需要连接单片机IO口就可以进行工作。同时DHT11体积小,使用方便,适合安装在移动小车上。DHT11具有众多优点且应用广泛,适合多种环境,性能参数表见图1-4。
(a) DHT11引脚图 (b) DHT11实物图
图1-7
表1-4 DHT11性能参数
DHT11 | 性能参数 |
工作电压范围 | 直流3.5到5.5V |
工作电流 | 平均0.5mA |
温度测量范围 | 0~50℃ |
湿度测量范围 | 20~90%RH |
温度分辨率 | 1℃(8位) |
湿度分辨率 | 1%RH(8位) |
采样周期 | 1s |
温度测量精度 | +-2℃ |
湿度测量精度 | +-5%RH |
工作时序见下图1-8,工作时由DATA端来完成双向(输入输出)的数据传输。在读取数据时总线空闲置高,先由单片机将总线拉低向DHT11发送一个起始信号,然后单片机置高等待响应,在DHT11接收起始信号后发出一个低电平响应信号,完成后DHT11拉高输出,向单片机发送数据0或1。一次完整的传输共发送40位,包括16位湿度、16位温度和8位校验位,按照高位先出。
图1-8 DHT11时序图
1.1.5气体烟雾检测模块
粮食的呼吸作用会造成粮食发热,局部粮温过高引发火灾时,必然会产生烟雾和二氧化碳等有害气体。所以本设计加入了烟雾检测模块,对粮库的环境进行检测[16]。
通过查阅大量资料,本设计最终选用MQ-2烟雾传感器。MQ-2具有众多优点,电路简单且应用广泛,可用于家庭、库房、工厂等不同环境[17],可以检测烟雾浓度,也可以进行气体检测,实物见图1-9。
图1-9 MQ-2烟雾传感器实物图
MQ-2主要包括四部分,封装好的MQ-2有6个针状引脚,1、2、3引脚接电源,4、6引脚用来输出,5引脚接地,1、3、4、6引脚用来提取信号, 2、5引脚来提供加热电流,MQ-2电路如图1-10所示。
MQ-2工作原理如下:当MQ-2检测到烟雾时,导电率会随着烟雾浓度增加而增大,传感器的输出电阻与导电率成反比,导电率增大输出电阻就会变小。本设计在5、6引脚之间串入一个R11电阻,根据分压定律当电阻发生变化时,所分得的电压也会发生变化,只需要把检测电压转化为对应输出发送到STC12C5A60S2芯片即可。
图1-10 MQ-2电路图
在使用时需要注意,MQ-2通电后直接使用会造成检测结果出错,容易干扰判断。所以需要先通电后预热方可使用,通过预热将MQ-2吸附的水蒸气蒸发,再使用时检测结果才较为准确。MQ-2烟雾传感器主要特点有:
1.检测浓度遇电压成正比
2.可在家庭使用,且效果较好
3.检测结果易受温湿度影响
1.2数据的传输与通信
蓝牙在工作生活中广泛使用,可以实现两个设备短距离之间的数据传输,传输速度较快[18]。本设计要将小车采集的数据传输到接收板,在保证效率的情况下选用HC-05蓝牙模块。
本设计中共使用两块HC-05模块,实现主从通信。HC-05蓝牙在使用时可以进行两种工作方式,可以自动进行工作也可以使用命令工作方式。自动进行工作是指自动按照设置的命令传输数据;命令工作方式是指HC-05模块执行对应的指令。两种工作方式之间可以通过外部引脚接不同电平进行转换。
在使用HC-05进行通信的时候,首先使用命令工作方式对HC-05进行配置,配置完成后退出命令工作方式配对连接即可。当小车与接收板的HC-05模块配对成功后使用蓝牙串口传输,速度高效率快。
HC-05模块的电路见下图1-11,其中VCC与电源连接;GND接地;TXD和RXD交叉使用,TXD连接单片机的10脚,RXD连接单片机的11脚,完成数据通信。
图1-11 HC-05模块电路
1.3数据接收板硬件组成
1.3.1显示模块
数据接收板显示器的选择尤为重要,不仅要功耗低、性能稳定,而且显示数据要清晰。综上,本设计选用LCD1602显示器显示粮库环境参数。
LCD1602是目前使用比较多的显示器,体积小巧结构简单,由一块显示屏幕、控制驱动和扩展驱动电路等组成,分为背光和不背光两种。本设计使用具有背光的显示器,图1-12为LCD1602电路图,一共有16个引脚,其中BLA、BLK分别为背光源正负极,详细引脚介绍见表1-5。LCD1602每行可以显示16个字符,共两行可以显示32个字符,可根据使用需要显示数字、字母或符号。
图1-12 LCD1602引脚图
LCD1602在工作时一共需要显示两行参数,第一行要显示实际测量值,第二行要显示设定的值,通过简单的程序就能完成。本设计在使用时直接将显示器与单片机相连,在VL脚串联一个电位器就可以调整对比度。
表1-5 LCD1602引脚功能
引脚编号 | 符号 | 功能介绍 |
1 | GND | 电源地 |
2 | VCC | 电源正极 |
3 | VL | 液晶显示偏压 |
4 | RS | 数据/命令选择 |
5 | R/W | 读/写选择 |
6 | EN | 使能信号 |
7 | D0 | 8位双向数据端 |
8 | D1 | 8位双向数据端 |
9 | D2 | 8位双向数据端 |
10 | D3 | 8位双向数据端 |
11 | D4 | 8位双向数据端 |
12 | D5 | 8位双向数据端 |
13 | D6 | 8位双向数据端 |
14 | D7 | 8位双向数据端 |
15 | BLA | 背光源正极 |
16 | BLK | 背光源负极 |
1.3.2按键报警模块
粮食在存储时有比较适宜的温湿度,当温湿度超出一定范围时,就容易造成损失,所以本设计在数据接收板中加入按键和报警模块。当实际检测参数超过按键设定值时蜂鸣器工作,及时告知工作人员需要采取应对措施,具体模块如下。
按键模块如图1-13所示,电路由K1,K2,K3三个按键组成,K1,K2,K3分别与单片机的2、3、4引脚连接使用。其中K1为选择键、K2和 K3分别为增减键,通过这三个来完成对环境参数的设置修改。在设置报警值时,按第一下箭头指向温度,使用增减键进行调高或降低;按第二下箭头指向湿度,同样使用增减键进行修改;同理按第三下指向烟雾浓度即可修改;按第四下退出修改。当检测的三项参数任意一项超过设置报警值,蜂鸣器都会发出报警。
图1-13 按键控制电路
接收板的报警通过蜂鸣器实现,使用放大三极管对蜂鸣器进行驱动。连接时将基极与单片机的输出直接连接。当检测数据大于设定值时,单片机输出0,三极管Q1导通,蜂鸣器工作;当检测数据低于设定值时,单片机持续输出1,此时三极管Q1截止,蜂鸣器失电无报警,电路见下图1-14。
图1-14 蜂鸣器报警电路
1.4本章小结
本章主要写了巡检小车的硬件组成,包括检测小车硬件、数据接收板硬件、数据的传输通信三部分,并对每部分进行了详细介绍。
2巡检小车实际测试
2.1巡检小车实物图
经过一系列工作小车制作完成,小车实物见下图2-1。
图2-1 巡检小车实物图
2.2巡检小车系统测试
巡检小车系统测试包括检测小车整体测试、蓝牙传输测试以及接收板数据的显示报警测试。测试时同样按照“先部分后整体”的顺序进行,先分别对各部分进行测试,需要改进的地方及时改进,保证巡检小车各部分符合设计需求,最后进行整体测试。
1、小车整体测试
小车整体测试主要是测试小车的整体性能,测试小车能否在模拟环境中正常行驶,能否寻迹避障功能、左右移动、转弯调头和数据检测,这都对小车的性能做出了非常大的考验。首先对测试环境进行布置,在白纸上用黑色胶带制作小车轨道,并在固定位置放置障碍物干扰小车行驶,模拟环境如图2-2。在测试过程中实时记录检测结果,找出小车存在的问题并解决。
图2-2 环境模拟示意图
2、蓝牙传输测试
蓝牙传输测试主要是测试小车与接收板的两个蓝牙模块能否实现串口传输。其中小车蓝牙作为主模块,将采集到的环境数据经过一定处理后发送蓝牙串口,再经蓝牙串口发送到接收板的蓝牙从模块,测试接收板的蓝牙从模块能否实现良好的接收,传输示意图如图。在整个测试中,实时记录检测结果,通过对比找出存在的问题并想出解决方案,最终达到设计要求。
图2-3 蓝牙传输示意图
3、接收板显示报警测试
接收板显示报警测试本设计放在最后进行测试,主要是测试接收板能否显示接收数据,在超过设定时能否自动报警。测试显示器数值显示是否正常稳定,并将显示数值与传统温湿度测量仪的检测数值进行比较,判断误差大小。当屏幕显示结果超过设定时,接收板有无报警,观察显示是否出错并解决。
2.3测试结果
1. 首先进行的是对小车整体的测试,对每项功能都进行了两次测试,将完成情况清晰记录并归纳整理,结果如下表2-1所示。可以看出小车基本通过本次测试,需要找出第二次未完成转弯调头功能的原因,继续进行修改。
表2-1 小车整体性能测试
测试类型 | 次数 | 主要内容 | 完成度 |
第一次 | 沿轨道自动行驶一周 | 完成 | |
第一次 | 自动躲避障碍 | 完成 | |
第一次 | 距离障碍15cm及时转弯或调头 | 完成 | |
左右移动 | 第一次 | 沿轨道行驶,两侧对管检测黑线左右移动 | 完成 |
第一次 | 沿轨道自动行驶一周 | 完成 | |
第一次 | 跟随小车行驶自动检测 | 完成 | |
气体烟雾检测 | 第一次 | 跟随小车行驶自动检测 | 完成 |
寻迹功能 | 第二次 | 沿轨道自动行驶一周 | 完成 |
避障功能 | 第二次 | 自动躲避障碍 | 完成 |
转弯、调头 | 第二次 | 距离障碍15cm及时转弯或调头 | 未完成 |
左右移动 | 第二次 | 沿轨道行驶,两侧对管检测黑线左右移动 | 完成 |
正常行驶 | 第二次 | 沿轨道自动行驶一周 | 完成 |
温湿度检测 | 第二次 | 跟随小车行驶自动检测 | 完成 |
气体烟雾检测 | 第二次 | 跟随小车行驶自动检测 | 完成 |
2. 其次是对小车与接收板之间蓝牙的传输测试,共进行了五次传输测试,将每次传输记录整理后如下表5-2所示。由下表可以看出蓝牙的传输与接收工作进展顺利,在五次传输中均未出现错误,符合本设计的使用需求。
表2-2 蓝牙传输测试
测试次数 | 小车蓝牙传输 | 接收板蓝牙接收 | 传输结果 |
第一次 | 顺利完成 | 准确接收 | 完成 |
第二次 | 顺利完成 | 准确接收 | 完成 |
第三次 | 顺利完成 | 准确接收 | 完成 |
第四次 | 顺利完成 | 准确接收 | 完成 |
第五次 | 顺利完成 | 准确接收 | 完成 |
3. 最后是对接收板显示报警的测试,对每项数据均进行了三次测试,其中实际结果为传统温湿度测量仪所测,检测结果为巡检小车所测,根据测量值与实际值计算出误差,并将所有参数进行记录并整理如下表5-3所示。根据下表可以看出接收板显示结果比较稳定,当环境参数超出设定时,接收板自动报警。由此接收板部分可用于正常使用,检测结果存在较小误差。
表2-3 显示报警测试
环境类型 | 次数 | 实际结果 | 检测结果 | 误差 | 最大报警 | 报警情况 | 备注 |
温度 | 第一次 | 21.3 | 21.3 | 0 | 25 | 否 | 室内温度 |
温度 | 第二次 | 22 | 22.3 | 0.3 | 20 | 是 | 室外温度 |
温度 | 第三次 | 32 | 32.4 | 0.3 | 25 | 是 | 水温 |
湿度 | 第一次 | 67% | 69% | 2% | 70% | 否 | 湿毛巾 |
湿度 | 第二次 | 74% | 77% | 3% | 70% | 是 | 湿毛巾 |
湿度 | 第三次 | 0 | 0 | 0 | 70% | 否 | 干毛巾 |
烟雾浓度 | 第一次 | / | 0 | / | 10 | 否 | 室内 |
烟雾浓度 | 第二次 | / | 14 | / | 10 | 是 | 打火机 |
烟雾浓度 | 第三次 | / | 0 | / | 10 | 否 | 室外 |
4.在经过调试与修改后,又对巡检小车进行了三次总体测试,此次测试中小车一切正常,没有出现问题,稳定完成各项功能与任务,符合本次设计的需求。
如果你有任何问题、需要建议或解决疑难,别客气噢,随时找我求助或寻求支持。我专注于单片机相关的知识,可以提供电子设计、嵌入式系统、编程和硬件方面的宝贵帮助。不管你的问题属于哪个领域,都可以向我咨询啦,获取有针对性的建议和指导。祝愿你在单片机设计领域取得巨大成功!