收藏 分享(赏)

基于单片机的智能垃圾桶设计.pdf

上传人:weiwoduzun 文档编号:3630935 上传时间:2018-11-14 格式:PDF 页数:27 大小:1.40MB
下载 相关 举报
基于单片机的智能垃圾桶设计.pdf_第1页
第1页 / 共27页
基于单片机的智能垃圾桶设计.pdf_第2页
第2页 / 共27页
基于单片机的智能垃圾桶设计.pdf_第3页
第3页 / 共27页
基于单片机的智能垃圾桶设计.pdf_第4页
第4页 / 共27页
基于单片机的智能垃圾桶设计.pdf_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、1 前言 1 1 前言 1.1 研究背景与意义 在 公共空间 或家庭等 场所 ,垃圾的收集 和储存 往往 是一个不容轻 视 的问题。例如 炎热 天气下 的 餐厅不及时处理残渣 , 留 在垃圾桶中 就 会发霉 发臭 ;而 公共空间 流动 人员很多 ,垃圾 更 需要及时清理 。 虽然国家长期以来一直在建议保护环境,不 乱抛垃圾 , 加强 回收和循环利用废物资源,但仍然屡屡 发生 。 主要 还 是因为垃圾 桶 不够 干净,一般 人 都想离 脏东西远远地 , 所以有些人就会 随手 将垃圾扔 在 垃圾桶盖 上 或垃圾桶附 近 , 甚至 造成 垃圾桶内没有垃圾桶外却垃圾满地的现象, 这就 加重 了 保洁人

2、员 的负担 以及 回收再利用资源的难度。 垃圾是 细菌和各种虫子的温床, 为了 生活健康 , 就要避免垃圾聚集 不 及时清理 的情况发生 。 但现在 销售的大多数 有 桶盖的垃圾桶 ,打开盖子时 要么需要 手动要么 需要 脚踏 的 操作 方式, 这种传统垃圾桶 工作方式 正是 造成 上述 情况的原因 。 为了 适应科技时代的潮流,并解决上述问题, 本设计力求 于 实现 凭借 传感器 检测 自行 打开垃圾桶盖 且 具有 语音报警功能 的 智能 垃圾桶 。 1.2 研究现状 垃圾桶 作为 日常 生活不可或缺的装置, 按摆放地点 可分为公用垃圾桶和家用垃圾桶 , 按制造材质可分为塑料垃圾桶和金属垃圾

3、桶 , 近年来 还出现桶身 为透 明以便于辨识桶内是否遭放置爆裂物或有毒物质 的 垃圾桶 , 也被 叫做 “ 反 恐 垃圾桶”。经过 调研,目前 生产 的垃圾桶 主要有 下 列 有待改进的 地方 : 1、 垃圾桶 封闭性不佳或直接 没有 盖 ,既 会向四周 散发 味道 , 又 容易滋 长 蚊虫 , 对环境和人的影响都不好。 2、 不能处理 垃圾 已 装满 的 情况 ,即 缺少报警的功能 , 不及时 清理垃圾就会掉落在桶外, 既不美观也不卫生。 目前在市场 上各种 类 垃圾桶看起来令人目不暇接,使用 上 却 只不外乎 是 用脚踩或没有 盖的开放 式 垃圾 桶 。在 这个 传感器技术 快速 更新

4、的 时代 ,各式 智能 仪器仪表、 自动化装置 迅速融 入大众的生活 当中 。 各种智能 设 备节省了大量人力, 财1 前言 2 力, 在可见的将来 ,智能化和自动化技术必将得到更为广泛的应用 ,所以 智能 垃圾桶 垃圾也 将会是 是一个发展的趋势。 除了传统的垃圾桶,现今 市面 上 还 有不同类型的智能垃圾桶 。现在市面 上已经出现了 用红外线 等感应装置的 解决方案 的智能垃圾桶 , 通过集成电路 处理 传感器 的信号 并控制垃圾箱的盖开合 ,以此达到智能的目标 。 除了红外检测 垃圾 桶 外 ,还有 语音提示垃圾 桶 , 垃圾桶 自身配置一个用来 播放语音喇叭,安装在 桶底 或合适的地方

5、, 并可以 通过 开关 手动控制。 垃圾桶作为 人类社会不可缺少的一部分,必定会伴随着时代发展 和 需求向着小巧和智 能的方向发展 。 虽然目前 的垃圾桶在智能化方向已经初见端倪,但距离理想的形态还具有很长一段距离。 1.3 本文 研究内容 本设计主要使 用 STC89C52 单片机为基础设计并开发一个 智能垃圾桶 系统 。该系统实现 智能 开盖 , 垃圾 装满语音报警 的 功能。 设计 主要以 单片机为控制中心,通过 红外 传感器 检测 探测范围内有人与否 , 如果有 , 经过单片机控制 启动步进电机 ,打开 桶盖, 再 经 过 延时 设定时刻 后,自动关闭 垃圾 桶盖。 步进 电机通过线

6、的正反缠绕 实现 桶盖的开启 与 关闭。 通过红外对管模块, 检测垃圾桶内的垃圾高度超过限定高度 与否 ,如果 装 满, 单片机控制 语音 播放 芯片 , 喇叭 播放 语音 提示 人们 处理 垃圾 。 主要内容 包括: 1. 人体 检测 功能 2. 步进电机 驱动电路 的 设计 3. 垃圾 高度检测 功能 4. 语音 播放 报警 功能 1.4 论文 内容及其安排 本论文主要论述 了基于 STC89C52单片机的智能垃圾桶系统的方案论证、硬件 系统 设计、软件 系统 设计以及软硬件 联调 等内容。本次设计的内容可以分为三个部分 : 第一部分 是硬 系统 件设计,包含 方案的论证 、 所需 元器件

7、 的选择 等。具体的硬件电路包括人体检测电路、电机驱动电路、 垃圾 高度 检测电路、 语音电路 、稳1 前言 3 压电路和 单片机的最小系统 设计 。 在各个 小的电路调试好后 将 他们 整体 连接 起来进行整体检查调试, 符合硬件 设计 的 要求 , 最后分析得出结论。 第二部分 是软件 系统 设计,软件 部分 全部 使 用 C语言进行 编程 , 合理利用 了C语言 的特点, 贯彻 了 模块化设计 的 理念 , 即 把各个功能分 离 成 小的 子 程序, 在主程序中作为子程序 加以 调用 , 在 调试 时 就可以方便定位出现问题的地方, 然 后测试 各项子程序和主程序 , 分析结果 能 否

8、满足 预定 的 功能 要求,并得出结论。 第三部分 是进行软、硬件联调,这是整个设计的汇总 整合 也是整个设计的收尾 , 目标 是 要 协调好硬件和软件之间的关系, 得到 正确的 结果 。 论文具体内容 安排如下:第一部分 简明扼要 的 介绍了本 设 计的研究背景 与意义、研究 现状 、说明 本设计 研究的 内容 、论文内容及 结构 安排;第二部分是本设计系统 的硬件 方案和软件方案阐述 ;第三部分主要 叙述 了硬件部分 的 系统设计,内容有 单片机最小系统设计、 人体 检测电路 设计、 超限检测 电路设计、 语音播放电路 设 计、步进电机驱动电路设计以及稳压 电路 设计;第四部分 说明了软件

9、设计部分 的系统设计 ,内容有 主程序设计、 自动翻盖程序设计 、检测电路程序设计 ;第五部分则 对硬件调试、软件调试和软硬件 一起调试 的过程和结果进行具体阐述与解释 并 列举 实验过程中遇到的 问题 和解决办法 。2 总体设计 4 2. 总体设计 2.1 总体方 案设计 本方案由 单片机系统、红外对管传感器模块 、电机驱动模块 、语音报警模块 、稳压模块 组成 。 两个 红外 对管 传感器模块 作为 单片机 主要的信号输入源, 单片机处理输入信号后 , 将控制信号输出 到 电机驱动模块和语音模块,完成本系统的设计功能。 稳 压模块 则是 在 使用非 USB供电时 , 使 系统的输入电压保持

10、在 5V,是保证 工作时系统的稳定性 所必须 的 模块 。 通过 人体检测模块 中的 红外对管传感器检测出 有人 ,把 此信号传输 给单片机,单片机收到 该信号 处理后 控制电机 驱动 模块进行开盖 , 人 离开后经 延时 一段时间后自动关盖 。 当 垃圾 高度达到设定高度时, 垃圾检测 模 块中的 红外对管传感器 发送 信号至单片机,单片机接收处理后控制语音模块播放语音报警。 结构框图如图2.1所示。 电机驱动模块语音模块人体检测传感器模块垃圾超限检测传感器模块单片机系统图 2.1 结构框图 2.2 硬件方案 设计 1. 传感器 模块 常用 的用于检测 判断 移动物体的传感器有热释电传感器

11、、红外对管传感器 和超声波传感器。 热释电 传感器广泛应用人体检测,比如楼道感应灯, 但 对 人体 的移动方向有要求, 平行于 传感器方向移动灵敏度最高。 和热释电红外传感器对比 ,红外对管 传感器 能够 检测的 最小 距离相对 小 , 反应灵敏 ,且不易受环境光干扰而产生误输出。 而 超声波测距 模块 价格较高且感应角度不大于 15 度, 使用条件非2 总体设计 5 常 有限 。 本设计使用 MH-B型红外距离传感器模块 ,额定 工作电压 3.3V5V。 该模块 有一个 红外发射管和 一个 接收管 组成,发射管向外发射波长 在 850 940nm的红外线,当有效检测范围 内 遇到障碍物 时

12、,红外线 反射 后 被接收管接收, 经模块比较 处理后, 模块 OUT 引脚 输出低电平信号 。模块自带 一个 电位器 , 可以 用来 调节检测距离,有效检测距离范围 220cm。该传感器具有 调节 检测距离 快捷 、抗噪声 、安装使用便利 等优 点, 普遍使用于智能设备 循迹 ,装配线计数 等许多场景 。 所以 红外 对 管 传感器最适合 本设计的使用环境 。 2. 语音模块 语音 模块常用 ISD系列 产品,比如 ISD1820和 ISD4004。 ISD4004模块 需要扩展 很多外围电路 并 需要 使用 额外单片机进行语音 录制 存储 , 增加了电路的复杂度。 ISD1820是美国 I

13、SD 公司 推出一种单片 8 20 秒语音录制 兼播放 芯片 ,它的基本结构与 1110、 1420 系列 完全相同 , 只能录放一 段 语音 。芯片 采用 互补金属氧化物半导体 技术,内置 振荡器、 话 筒前置放大 器 、自动增益控制、 防 混淆滤波器、 扬声器驱动以及 存储 阵列,并可方便的使用 LM386 等芯片实现功率放大功能。 相 比 ISD4004模块 , ISD1820结构简单, 配套软件 程序编写也很容易 ,不用复杂的寻址功能,对于本设计的单条语音播放相当合适,且具有自动节电功能 ,非常适合 智能 垃圾桶的 使用 条件。 3. 电机及其 驱动 模块 由于本次设计 需要控制 垃圾

14、桶的开盖 及 开盖角度 , 直流电机 只能通过通电时间和电流 极性 来 控制其 工作, 不适合 搭配 单片机 使用,而步进电机可以很简单 精确地控制 其 输出轴 旋转角度 以及方向 。 步进电机可 分 反应式、永磁式 和 混合式三种 , 永磁 式步进电机 输出力矩足够本设计所需 且 动态性能 较 好 。 所以 本设计使用反应 式 来驱动垃圾桶开盖 。 驱动 模块 ULN2003 是 由七个硅 NPN Darlington 晶体 管组成的具有耐高压、耐 大电流 特点 的 Darlington系列 产品 。 该模块 的每两个 Darlington晶体 管 都在 基极 串接 一个 2.7K 欧姆 的

15、电阻 , 在 5V 的工作电压下它能与 晶体管 -晶体管逻辑电路 或 互补型金属氧化物半导体电路 直接相连 , 无需标准逻辑缓冲器就能 处理 单片机 发送的 脉冲信号 , 配合 单片机能够方便 的 控制 步进 电机的 工作 。 使用 单片机 来控制步进电机 , 可以充分 表现 步进电机 优良 的 可控 特性 , 而且单片机的 可扩展性强 ,比如通过 使用键盘 或 串行口 输入 , 后续 可以 实现 手动 控制 步进电机调 速、 正反转等功能。 2 总体设计 6 4. 稳压 模块 本次设计中 单片机所工作 电压 为 5V,其他模块也均可以 在 5V电压下 运行 ,即 需要 将 7.5V 直流 电

16、源降压 为 5V 输入电压 。 由于 本次设计供电电源为 7.5V,LM78系列 压差不能 小于 3V, 而且 经查资料发现, AMS1117-5.0型号 稳压 芯片 与LM7805相比 在 发热量 上相比有很好的降低 , 所以本次设计选用 AMS1117-5.0型号稳压模块 。 5. 单片机 DSP适用于有 大量数据 需要 快速 处理 的 环境,且芯片成本略高,开发软件需要学习相应的语法 ,而 单片机则廉价且性能对于处理 智能 垃圾桶 信号流 绰绰有余。本设计 采用 的 STC89C52RC 是深圳宏晶科技有限公司设计 的 具有 高速 度、 低能耗 、 抗干扰 特点 的 51单片机 , 具有

17、 8K Byte可反复 擦写 的 Flash存储器。 STC89C52沿用了 经典的 MCS-51架构 , 系统指令集完整 兼容传统 8051 单片机 , 但在 结 构上 进行了一些 的改良 使得它 具有 一些 传统 51 单片机缺少 的功能。 该 单片机结构经典,相关开发资料丰富, 使用它 设计最小系统方案成熟稳定 , 而且烧录程序方便,不需要专用的 烧录 器 , 是理想的单片机选择。 单片机内部 各部分 的 运行 全部 是 靠 时钟信号 作为同步 , 时钟频率 决定了 单片机的 运行 速度 ,所以 时钟电 路 的可靠性就 直接 决定 单片机系统的 可靠 性 。常用的单片机 时钟电路有 内部

18、时钟方式和 外部时钟 方式 两种。由于外部时钟信号 源不方便使用 , 本设计使用 内部 时钟方式作为时钟电路 。 由于 调试 时 需要 频繁 的下载 程序 , 按键电平 复位电路非常适合这种情况。 脉冲 复位电路复杂 ,元器件 较多 ; 上电复位则 没有按键复位 快捷 , 所以本设计使用按键电平复位电路 。 2.3 软件方案 设计 本设计软件部分程序全部 由 C语言编写, C是一种通用的编程语言 , 具有效率高 、 使用灵活、功能强大、可阅读性强 和较高的可移植性等特点 。使用标准 C语言的程序,对于单片机等 微控制芯片, 属于标准 C语言编写的部分也很少需要改动 。汇编语言是硬件底层 的 语

19、言, 需要结合相应 芯片 的 说明书或文档才能使用汇编语言进行 程序开发 ,所以很难读懂 ,后期维护和调整难度大 。汇编语言能够直接操控寄存器 的工作状态,但是 代码移植复杂 , 更 不 能 进行结构化编程 。 本 设计 子程序 较多, 所以 采用 C语言 编写, 可使 代码简洁易懂,方便调试。 2 总体设计 7 程序 工作流程如下: 红外传感器检测到 有人 时,单片机 控制 步进电机打开 桶盖 , 传感器 模块感应到 人离开 后, 经延时 后 垃圾箱盖将自动关闭。 当红外对管传感器检测到垃圾高度 超过设定时 单片机 控制语音 模块 播放语音报警,当垃圾被 清理后停止报警,也可手动关闭。 程序

20、流程如图 2.2所示 。 开始系统初始化是否有人扔垃圾垃圾箱盖打开垃圾是否装满语音报警垃圾箱盖关闭是否是否延时延时图 2.2 程序流程框图3 硬件 系统设计 8 3 硬件系统设计 3.1 单片机 最小系统设计 STC89C52使用 8 位 微处理器 并 具有 在 线 系统可编程 Flash,使得 它可以应用在 很多嵌入式 环境 中,并提供 简单灵 动 的 解决方案 。 它具有以下基本 功能 和参数 : 512 Byte 数据存储器 , 32 bit I/O口线,硬件看门狗 , 内置 8K Byte Flash程序存储器 ,三个 16 bit定时器 /计数器,五 个外部中断,全双工串行端口。 最

21、高时钟 频率 80 MHz, 6T/12T可选。 STC89C52RC的 PDIP封装 引脚图 如图 3.1所示 。 图 3.1 STC89C52引脚图 想要使单片机运行起来,必须具备两个个最基本的外围电路:时钟 电路和复位电路,以 及电源。只要 具备这三个条件,就可以 向单片机中下载和运行程序。时钟电路所 使用的石英晶振 的 振荡频率直接决定 单片机的运行 速度,频率越高执行 指令 速度越快;单片机 复位电路的 电阻 阻值 和 电 容容值 可 由单片机 频率根据3 硬件 系统设计 9 RC 公式 计算出 , 根据 常用的数值 , 本次设计使用 晶振 频率 采用 11.0592 MHz,复位电

22、路极性电容为 30pF,电阻 为 10K欧 姆 。 复位电路设计 复位 的主要功能是 将 程序 计数器 置 为 0000H,使 单片机 从 地址 0000H 处 开始执行 指令。 复位电路的原理是 在 单片机的 RST管脚施加 持续时间大 于 2 us的高电平,一般 采用 上电复位和按键 手动 复位 两种复位电路 方式 。本设计使用 按键手动 复位 方法 , 利用 相移 微分 电路产生正脉冲 的原理 , VCC 电源 经复位键 与 单片机的 RST引脚相连 。 复位电路设计 如 图 3.2所示: 图 3.2 复位电路设计 时钟电路设计 STC89C52单片机本身 自带 一个 高 放大 倍数 反

23、向 放大器,只要外接 合适的元件就能 制 成 振荡器 。 XTAL1 和 XTAL2 分别为振荡电路的输入端和输出端 , 在XTAL1和 XTAL2引脚上 并联 石英晶体 振荡器 和 微调电容 , 就能 组成一个 自激振荡器 。 本 设计使用 的 微调电容 C1、 C5的电容值取 30pF; 使用 11.0592MHz的外部时钟晶体振荡器(俗称晶振) ,在计算 波特率时可以得到整数值 。 电路 与 单片机的 第 18和 第 19引脚相连。 时钟电路设计 如 图 3.3所示: 图 3.3 时钟 电路设计 3 硬件 系统设计 10 3.2 人体红外检测电路 设计 红外对管是红外线发射管与光敏接收管

24、 配合 在一起使用 时 的总称 。 传感器 模块 凭借 反射的 红外线 探测 目标 ,所以 被测 物体 的 反射率和外形 是影响探测距离 和精度 的两个 主要因素 。其中 对于 黑色 物体 所能 探测到的最远距离最小 , 白色 的 最大 ; 反射面积小的物体探测 距离小,反之则探测距离 大 。 基于红外线的原理 , 模块在检测 时 无需和被测物体发生 物理 接触 , 所以 具有 响应快 , 精确 度 高的特点 。本设计 使用的红外对管传感器 模块 的 比较电路使用 的 比较器采用 LM393,工作可靠稳定。 图 3.4 红外 对管传感器模块 当模块的 有效探测范围内 有 障碍 物 时, 模块

25、的绿灯亮起,同时 OUT 引脚 电平变低 。 模块检测距离为 220厘米 ,检测角度为 40度 ,可以通过电位器 旋钮 调节 检测距离 。 上图 蓝色 方块即为电位器, 顺时针调节电位器,检测距离增加 , 反之则 检测距离减小 。 模块的 VCC引脚 与 电源正极 相连 , GND引脚 与 电源负极 相连 , OUT引脚 与 单片机 P2.7口 相连 。 人体红外检测电路 设计如图 3.5所示 : 图 3.5 人体红外检测电路 设计 3 硬件 系统设计 11 3.3 超限检测 电路 设计 超限 检测 电路设计与人体红外检测电路类似,只是传感器安装 的 位置不同 ,OUT 引脚 接 单片机的 P

26、2.6 口 。 传感器 安装在垃圾桶 的 桶口, 当 垃圾 经过堆积,高度 超过 传感器的 高度 , 挡住 了发射管 发出 的红外线,使红外线发生反射 并 被光敏管接收到 , 这 时 红外对管传感器 模块 就会 输出低电平 信号 至 单片机 。 由于 使用相同 的 传感器,所以人体红外检测电路 和 超限检测电路的硬件设计相同。 超限检测 电路设计如图 3.6所示 : 图 3.6 超限检测 电路设计 3.4 语音 播放电路 设计 本设计 使用的 ISD1820语音 录播模块具有如下几个特点: 1. 使用方便的单片 8至 20秒语音录放; 2. 高质量,自然的语音还原技术; 3. 边沿 /电平触发

27、放音; 4. 自动节电,维持电流 0.5uA; 5. 内置喇叭驱动放大电路; 6. 3-5V单电源工作。 3 硬件 系统设计 12 图 3.7 ISD1820语音 录播模块 主要引脚描述: 录音 (REC) :高电平有效。只要 REC 引 脚 变为高电平 且 持续时间超过84 毫秒 ( 防 误触发) ,模块就开始执行录音操作, 无视 之前的状态 , 且在录音过程中 , REC 需要 一直 为高 电平 。 当 REC 引脚电平变低或存储空间已满 ,一次 录音 完成,芯片 会在数据 后面添加一个 信息结束标志 符,然后芯片 进入节能 模式 。 边沿触发放音 ( PLAYE):当 此引脚 出现上升沿

28、时,芯片开始播放 录制的语音 , 开始之后 就 可以放开该键 。播 音直 到 芯片 检测到 信息结束标志符,之后芯片将 切换为 节能 模式 。 电平触发放音 ( PLAYL) : 当该 输入引脚电平从低电平转换到高电平时 ,芯片播 音。 只要 此端 变低电平 芯片就会停止播音, 播 音结束后芯片自动进入节电模式 。 扬声器 输出 ( SP+、 SP-) :这对输出端无需放大器 即可 直接驱动 8 欧姆以上的扬声器 。若 只使用一个 输出端 则 需要在输出端和喇叭之间接 电容共地; 当使用双输出端时 既不用另 接电容还能 将输出 功率提高 四 倍 。 SP+ 和 SP- 内部通过 50K欧姆 的

29、电阻相连 ,不播 放 时为悬空状态。 当 单片机检测到垃圾高度超过传感器位置 约 3 秒 后, 将 给 单片机 P2.5 口 一个高电平 , 则 喇叭 播放 预先录制好的报警音 (按住 REC 录音 ) , 由于使用的是PLAYE边沿 触发放音,所以要循环给 P2.5口 高电平才能实现持 续语音报警,否则语音只会播放一次 。 语音播放系统 被设定为 喇叭 持续播放 直到 垃圾被清理 但 当垃圾桶关 盖 时 喇叭 不会 工作。 若 不想再让垃圾桶报警,可以手动关闭语音电路开3 硬件 系统设计 13 关。 单片机 P2.5 口 和 语音电路开关都 与 ISD1820 的 P-E 相连 。 语音播放

30、电路 设计如图 3.8所示 : 图 3.8 语音播放电路 设计 3.5 步进电机驱动电路 设计 步进电机 工作原理 是通 经 过电子转换电路,将直流分量转换为 多相 时序 变 量达到 控制的目的 , 以这种方式给步进电机输入信号 步进电机就能 运转 。 一个优秀的步进电机驱动电路不但需要一个好的步进电机更 需要 一个好的步进 电机驱动器 。 步进电机控制系统由步进电机控制器、步进电机驱动器、步进电机三部分组成。步进电机控制器 也就是 本设计中的单片机 为控制 中心 ,向步进电机驱动器发送高低电平 信号 ; 步进电机驱动器 能够 把 单片机发送的控制信号进行 放大 增益 ,控制器每发出一个信号脉

31、冲,步进电机 就 旋转一个 步距角 的 角度 。控制器可以 改变 脉冲数来控制步进电机的旋转角度 从而精确定位 , 通过控制单位时间 脉冲数 目来精确控制 步进电机的 转 速 。 现在比较常用的步进电机有 反应式步进电机、永磁式步进电机、混合式步进电机 三种 , 他们 的 特点如表 3.1所示 : 表 3.1 常用 步进电机 特点 步进电机 特点 反应式 步进电机 构造简易 , 价格 较低, 动态转矩特性 较差 永磁式 步进电机 步距角大 , 扭矩大 , 动态转矩特性 好 混合式 步进电机 步距角小 ,扭矩大, 动态转矩特性 好 3 硬件 系统设计 14 步进电机 驱动 可 分为 单极性和双极

32、 性 两种 , 单极性驱动电路使用四个晶体管来驱动电机的两相 ,而双极性 则是 八个 晶体管去 驱动两组相位 , 不同的极性 的 驱动电路 在 用 单片机控制 时 是有所区别的 。选定步进电机 的极性后, 再 选 定步进电机的运行方式 。 按照运行 方式 的不同 可分为 三种 :单 四 拍、双 四拍、单 双 八拍 。各运行方式相位 顺序 ( 以 五线四相 电机 正转 为例 ) 如 表 3.2所示。 表 3.2 步进电机 工作方式节拍 运行方式 相位通电 顺序 单四拍 A-B-C-D 双四拍 AB-BC-CD-DA 单双八拍 A-AB-B-BC-C-CD-D-DA(半步工作方式) 单 拍 方式

33、每次仅给 一个绕组 通电, 双 拍 则同时给两个 绕组通电 , 这种方式 能够 比单 拍 方式多获得 41.4%的 输出力矩,但需要耗费两倍的能量 ; 半拍工作方式则让两个绕组通电 与 单个 绕组 通电交替进行,半拍方式的输出力矩比双拍方式小 ,但可以获得双拍方式两倍的步进分辨率。 在 不同 工作方式 下的脉冲波形 与 电机 四相 波形分别如图 3.10所示: 图 3.10 通电时序与波形 本设计 使用的步进电机 型号 为 28BYJ48-H12,步距角 5.625/64度 ( 外部 输出轴) 。 由于 步进电机 具有 良好的信号 控制特点 , 利用 单片机使 用软件代替 传统 硬件环分器 ,

34、 因此单 片机成为步进电机的极佳 的 驱动源 。随着科学技术 的进步 , 软件结合 硬件往往既能降低 整体 复杂度 又能 较好的 发挥硬件优势 , 即通过程序 设计发出特定的 脉冲 , 从而 控制 步进电机 。 3 硬件 系统设计 15 图 3.9 五线四相步进电机 内部 结构 步进电机 工作过程 :假设开始时 A相 通电, BCD相 断电,则 A相 磁极和 转子 2、 5齿对齐 , 0、 3齿 和 B、 C相 错齿, 1、 4齿 和 C、 D相 错齿。当 B相 通电,ACD相 断电时 , B相 磁极和 转子 0、 3齿 对齐 , 1、 4齿 和 C、 D相 错齿 , 2、 5齿和 D、 A

35、相 错齿 以此 类推 , 只要 依次 给 ABCD 相 通 电 , 转子就会 以 ABCD 方向 顺时针 旋转 。 单片机 接收 人体 检测 传感器的 信号后, 输出 相应 控制信号 至 驱动板, 驱动板对 信号进行 增益 后驱动 步进电机 旋转 。 单片机定时器 则 等待 中断, 若 检测到没有人在垃圾桶前,则 延时 3s,然后 反 方向 旋 转回到 起始位置 。自动翻盖运行一回合完毕。驱动电路 ULN2003A 按序与 单片机 P1 口 连接 , 对应输出到步进电机的ABCD相 。 步进电机驱动电路 设计如图 3.11所示 : 图 3.11 步进电机驱动电路 3 硬件 系统设计 16 3.

36、6 稳压电路设计 本次设计 使用 5 块 5 号 电池作为电源, 单片机所工作电压为 5V,另外 的 模块也 可以在 5V电压下工作。 即把 7.5V电源降低 为 5V输入电压, 就能确保每个模块工作电压的符合 要求 。 本 设计使用 AMS1117-5.0作为 稳压电路的控制芯片 ,输入 电压 6.512V, 固定输出电压为 5.0V, 并 具有 1% 的 精度 ,最高 负载电流0.8A。 AMS1117 是一个 正向低压降稳压器,内部集成 过热 保护和限流电路 , 非常适合作为电池供电和便携式设备 的 稳压器。 AMS1117芯片 引脚图 如图 3.12所示。 图 3.12 AMS1117

37、引脚图 线性稳压器的稳定性一般随着输出电流 成负相关 。 根据数据手册, 对于 可 变电压 型号 的芯片 , VOUT 需要 与 一个至少 22uF 的电容 接地 , 对于 5V 电压 的 型号 可以 采用 略小 的电容, 未 保证 稳压 电路 的稳定性, 本设计稳压模块的电容使用10uF。 稳压电路 设计如图 3.13所示。 图 3.13 稳压电路4 系统软件设计 17 4 系统软件设计 4.1 主 程序设计 本设计的总体思路是: 系统 启动 后 进行 初始化 操作 , 由 人体 红外检测电路探测 设定 距离内有人 扔垃圾与否 , 如果 有,则 单片机 判断后 桶盖 自动打开, 若 不再检测

38、到人,则 延时 3s 后,桶盖自动恢复原位 , 当 人一 直 站在桶前时,桶盖会一直保持打开的状态直到人离开。 当 垃圾桶装满时,由超限 检测 电路检测垃圾高度到达设定高度 与否 ,经单片机 判断后控制 语音报警电路 ,喇叭 播放录 制好的 语音。只有 在开盖后垃圾桶才会发出垃圾 已 装满的 报警 ,提醒人们不要继续投入 垃圾 。然后程序 返回 到 检测 有 没有人扔垃圾处 继续 循环下去 。 主程序流程框图 如 图 4.1所示 。 在检测 的过程中 , 单片机 每隔 1秒 检测 传感器 的输出,这就需要一个 定义 一个定时器中断函数。 在 程序设计中设计为循环 20次 ,每次 50毫秒, 定

39、时器 工作在方式 1, 由计算式 (216 )106 = 50103, 解得 X =36260=3CB0H,由此 可得定时器初值。 4 系统软件设计 18 开始初始化检测是否有人箱盖打开检测人是否离开箱盖关闭检测垃圾是否装满喇叭播放语音报警是是是否否否图 4.1 系统主程 序 流程 框图 4.2 自动 翻盖 子 程序设计 本设计 使用的是以单双八拍 方式 工作 的 五线四相步进电机, 自动翻盖的控制信号输入为检测人体距离的红外对管传感器, 输出信号至 步进电机驱动板,由 驱动板直接控制 步进电机 。 若 有人扔垃圾 则 1秒 防检测后 正转开盖 , 人离开 后 延时3 秒 ,反方向 旋转 相同

40、 角 度 关盖 , 通过 delay() 子程序改变步进电机的 旋转速度 , 通过 设置 for循环的次数来设置步进电机旋转的角度, 从而 使桶盖 开合 合适的角度 。 自动翻盖 程序 流程图如图 4.2所示 , 红外 1传感器指检测是否 有人扔垃圾的 红外 对管传感器 。 4 系统软件设计 19 开始红外 1 传感器持续输出低电平超过 1 s桶盖为关电机正转红外 1 输出高电平且桶盖为开电机反转返回是是是否否否图 4.2 自动翻盖 程序 流程图 由于 在设计硬件电路 时选 用的是五线四相的步进电机, 而且以 八拍的 方式 运转 ,也就是 步进电机 的四相按 A-AB-B-BC-C-CD-D-

41、DA的顺序 供电 , 以 此时步进电机旋转方向 正转,若反转 则按 相反序 供电即可。 ABCD 四相 对应着单片机的P1.0至 P1.3口 ,当 需要哪 相 工作时即 向 该相 所在 接口 输出 高电平 ( 1) , 则 A-AB-B-BC-C-CD-D-DA转换 为二进制 就是 0001-0011-0010-0110-0100-1100-1000-1001,所以 正 转 的 供电顺序换 为 十六 进制 为 0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9, 同理反转就是 0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1。把 这些二

42、进制保存为数组,在控制步进电机正反转 时 , 可以 通过与 0x1相 与 直接给 P1口 赋值 , 不但 减少这部分代码量 还不容易出错 。 4.3 检测电路 子 程序设计 在 经过 20次 定时器中断后,通过检测红外对管 的 输出来 给设定 的变量赋值,4 系统软件设计 20 若大于设定值则判断为有人或者垃圾已满,以此达到检测的目的。检测电路设计的 流程图如图 4.3所示 : 开始定时器中断次数等于 20红外 1 输出低电平人体检测信号值加 1红外 2 输出低电平垃圾检测信号值加 1返回人体检测信号值赋 0垃圾检测信号值赋 0是是是否否否图 4.3 检测 程序 流程 图 当 人体检测信号值大

43、于 1时 , 及 判断为有人,垃圾桶开盖 , 并标记桶盖状态为开 ( 1) ;当 桶盖 为关且红外 1传感器输出 为 0时 ,及判断为人已经离开,垃圾桶关盖,并标记桶盖状态为关( 0) ; 当垃圾 检测信号 大于 3且 桶盖为关时, 则启动 报警电路播放语音报警。 4.4 语音报警 子程序 设计 垃圾 检测信号值 大于 三时( 放置 误报警) , 语音播放启动。 若 不 再 需要报警,也可以手动把 语音报警 开关 关闭 。 4 系统软件设计 21 开始报警电路开关为开垃圾检测信号值 3P 2 5 = 1是是否返回否图 4.4 语音报警程 序 流程图5 系统调试 22 5 系统调试 硬件 系统

44、和软件 系统设计原来是相互分开的,所以 在分别调试好后 应 把 程序下载到单片机中查看系统的工作情况,并进行调试来解决出现的问题。 调试的目的 是 要检查软件 是否 能够 配合硬件 正确 运行,以及 运行输出 是否 满足预定目标。在全部 调试过程中反应出 如 下 几类 问题,如编程中的逻辑 上的错误,硬件连接不可靠 等。 以下详细阐述了每个 调试 的过程 ,并详细记录 了相应的 问题 和 处理 方法 。 5.1 系统 软件调试 1. 选择单片机型号。本设计 使 用的单片机是 STC89C52, 但是 Keil自带 的芯片库中没有这个型号的 单片机 ,使用 Atmel 的 AT89C52 可以

45、代替使用,结果相同。 弹窗 右侧 是 AT89C52特性 的 简要 说明 , 可见其参数和本设计使用的 STC89C52基本 相同 。点击确定。 图 5.1 选择单片机型号 2. 编写 好 项目 的软件 代码,左 击 Translate, 编译器 会 检查 程序语法 错误。若没有语句错误,点击单击 Option for Target 选项 的 Output标签 ,勾选Create HEX file,如图 5.7所示。 左 击 Build按钮,就会 在 目标文件夹 编5 系统调试 23 译出 烧录单片机 所 使用 的 .HEX文件。 图 5.2 设置 生成 .HEX文件 3. 烧 录 .HEX

46、文件 。由于 STC89C52 本身的 特点, 可以使用 ISP 软件方便的 进行程序烧录 , 但是需要使用 USB 转 TTL 芯片 。本设计使用的 是STC-ISP V6.75版本, 将 转换 芯片 与单片机的 RXD、 TXD正确连接 ,按图 5.7设置好 ISP软件 ,选择正确的串口号后点击 下载 /编程, 复位 单片机 即可进行程序烧录。 4. 调试步进电机正反转。在 正反转的子程序中, 通过 delay()延时函数调节步进电机转速, 延时 越大则 转速 越慢,但 经过调试 发现最低 只能设置为 2, 再低则电机 不会转动 ; 通过 设置 for 循环的次数来设置步进电机旋转的角度,

47、 经过 反复试验后 确定 为循环 450次 可以正好打开 桶盖约 85度左右 。 5 系统调试 24 图 5.3 ISP软件 的 使用 5.2 系统硬件调试 在 确 保 个元器件 没问题 后, 硬件 调试首先要 检测电路 是否有断路、 以及 焊锡用量过多 或 过少导致的引脚间 短路 或 虚焊情况。最后将 已经 焊接好的电 路板通电 ,使用万能表仔细检测每个引脚的状态是否正确 , 测量各个模块输出电压 正确 与否 。 5.3 调试结果 及分析 在 着手进行调试的时候,会发现 自己 留了很多坑 导致 系统无法工作 , 只能 每个部分分别检查, 然后 解决每个问题,这也是模块化设计的优点 所在。 软

48、件和 硬件最后完美融为一体 , 达到 本设计的 预定 目标 , 但也遇 到了一些问题,下面记录了具体情况 。 程序无法下载至单片机 解决办法如下: 1. 检查转换芯片 是否正常工作,尝试重新安装芯片驱动 ,重启电脑 或 ISP软件 , 检查 RXD/TXD是否 接 触 好 。 2. 单片机自身问题,尝试 更换单片机 。 3. 选择 ISP软件 中的“低速下载” 模式 。 5 系统调试 25 4. 多按几次单片机的复位键尝试是否可以 使用 。 步进电机 不运转 解决办法如下: 1. 步进电机运转 过程比直流电机 多,要配合 ULN2003A驱动电路 使用 。检查驱动电路 是否正常。 2. 修改

49、正反转 子程序中的 delay() 函数 参数 , 过低 情况下 步进电机 不能 正常 工作 。 3. 单片机引脚 输出 电流较小,若接在 P0口 则需加上拉电阻, 接在 P1口 则没有这个问题。 4. 输入电压过低 导致 不能 启动电机,尝试更换新电池。 红外对管 传感器 输出指示灯 常 亮 解决方法: 一般 是由于 模块 自身 电位器 的问题, 当把探测距离设置过大时,会造成 模块 一直输出 低电平 ,这是可以尝试 调节 电位器减小探测距离 , 若问题还未解决则建议更换 红外对管 传感器模块 。6 实验结果 26 6 实验结果 经过 本次 毕设, 完成了 预定 的目标, 设计 成果满足 下列 要求 : 1. 实时探测有人与否 ,并自动开关盖:当人手 在垃圾桶上方 10 厘米以内时 , 垃圾桶 可在 1秒 内开盖 ; 当人离开后可在 3秒 后自动关盖。 2. 实时 检测垃圾的多少并超限报警: 当垃圾高度超过桶口 时间 大于 3 秒 ,语音报警 响 起 , 直到 垃圾 被清理 或手动关闭报警。 垃圾桶关盖 时报警不会响。 3. 用语音模

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 大学论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报