郭昌鑫,郑祺文,梁钰明,巫坤铤,周宇媚,周卫星
(1.广州理工学院电气与电子工程学院,广东 广州 510540;2.广州棒谷科技股份有限公司,广东 广州 510435)
目前,随着智能垃圾桶制造行业的不断发展与成熟,其系统一般具备自动开关盖、装满自动报警、智能语音提示等功能。自动开关盖功能的实现一般是由人体靠近时垃圾桶感应到并由电动机驱动盖子开关,常见的人体靠近感应方式有声音传感器感应、超声波测距感应、红外避障感应以及人体红外感应等。
本设计主要以STM32 系列单片机作为微控制器,采用人体红外传感器作为人体检测部件,外加超声波测距模块辅助感应,当人体经过时,人体发出的红外线经人体红外传感器检测后自动开盖并维持一段时间,人离开后自动关盖,系统还具备实时检测桶内垃圾高度、烟雾传感器检测毒气、负离子发生器清除异味等功能。
2.1.1 步进电机
本系统采用的是五线四相的步进电机。步进电机控制系统一般包括三部分:控制器、驱动器及步进电机主体。其控制器为STM32 主控芯片,负责产生所需的速度轮廓;驱动器负责将脉冲信号放大为可以驱动步进电机的绕组电流(主控芯片的电流驱动能力弱,无法驱动电机旋转),而脉冲信号主要是通过单片机或者CPU 产生,电机的转速越高占空比越大,一般脉冲信号占空比为0.4 左右[1];步进电机主体负责产生磁场,旋转时带动盖子打开,该电机的转动速度则由脉冲的频率所决定,频率越快则转动的速度越快,但是当转动频率过快时步进电机会失步或丢步,即转的角度不够,或者原地不动。
2.1.2 人体红外感应模块
人体红外感应模块是控制装置的核心部件,主要功能是采集室内人体红外对象的活动情况[2],它是基于红外线技术的自动控制模块,其灵敏度高、功耗低,当人进入感应范围时输出高电平,人离开感应范围时则自动延时关闭高电平,输出低电平。正常情况下,人体能够发出波长约为10 μm 的红外线。这种人发出的红外线首先经过红外感应元件的菲尼尔滤光片,由滤光片对红外线信号实施增强,然后将增强信号聚集至能够感应红外线的感应源上[3],当人进入感应范围后将电平变化信号传送给单片机后打开盖子。
2.1.3 超声波模块
作为辅助盖子维持开启状态的模块,防止在丢垃圾时间过长造成人体红外传感器误判,提前由高电平变成低电平而盖子突然关闭。启动该模块时只需提供一个10 μs 以上的脉冲触发信号,该模块内部将发出8 个40 kHz 周期电平并检测回波。一旦检测到右回波信号则输出回响信号。回响信号的脉冲宽度与所测的距离成正比。由此通过发射信号到收到的回响信号时间间隔可以计算得到距离。
2.1.4 电源模块
供电模块原理如图1 所示,由于本系统的硬件部分由三个电压等级的电源供电,即提供3.3 V 电压给主控芯片、5 V电压给传感器、12 V 电压给步进电机使用。其中供电系统的输入电压是12 V,由三节可循环充电的18650 锂电池串联后提供,而3.3 V 和5 V 电压由LM25965 稳压芯片稳压而得。
2.2.1 红外避障程序
当传感器检测到障碍物时,传感器输出由高电平变为低电平,因此,在正常没有检测到障碍物的情况下,为高电平,其扫描程序框图如图2 所示。当检测到障碍物时输出低电平,此时打开蜂鸣器报警提示,直至低电平变为高电平后,关闭报警(该扫描函数在盖上盖子后才被调用)。
图1 供电模块原理图
2.2.2 步进电机程序
步进电机的扫描程序框图如图3 所示。扫描函数主要内容是控制电机的正逆旋转和旋转角度大小。对于电机旋转角度的控制,可通过编写正反转码来控制转动的角度,其涉及到数字电路的循环码,同时步进电机还需要配置两个相应的定时器(一个定时1 ms,另一个用于产生脉冲)。实验发现,如果将定时1 ms 的定时器中断优先级设置为0 级,用于发脉冲的定时器中断优先级设置为1 级,即用于定时1 ms 的定时器中断优先级高于用于产生脉冲定时器中断优先级,则会出现输出脉冲间断且丢脉冲的现象,步进电机运行不平稳产生抖动且定位不准[4]。
图2 红外避障扫描程序框图
图3 步进电机扫描程序框图
系统调试时,首先制定一个系统的调试方案,先是软件调试:即先对本系统中的各个模块进行单独测试,包括对各个模块的软件部分的参数调试与参数分析,其次是将所有调试完的模块进行软件部分的整合,再进行整体的功能调试和参数的改进。
其次是对硬件连接:根据各模块的大小和特定的安装位置,如红外避障传感器要安装在垃圾桶盖的内面,实现对传感器与障碍物的距离检测,然后对电路进行整体布局,包括各元器件的摆放位置,特别注意的是,不同模块的所需要的电压是不同的,比如主控芯片需要3.3 V 电压供电;步进电机的输入电压不能过低,刚开始调试时只给了3.3 V,随后电机的旋转不正常,且当三节电池的剩余电量不足时,电机的旋转驱动能力出现不足的情况,导致无法正常开盖。智能垃圾桶实物如图4 所示。
图4 智能垃圾桶实物图
本文介绍了基于STM32 单片机的智能垃圾桶设计方案和实现过程,系统以高性能STM32 主控芯片、人体红外感应模块、步进电机等核心部件实现了垃圾桶自动开关盖、满桶报警和毒气报警等功能。最开始筛选了几款不一样的单片机作为主控芯片,但经过对比之后,最终确定了使用功能强大的STM32 为主控芯片。经过测试表明,该智能垃圾桶的反应速度快、系统的误差较低、功能稳定,具有一定的利用价值,在今后还可对本系统进行完善和改进,比如垃圾自动分类和自动倒垃圾的功能,这将对人们生活环境的保护具有一定的价值和意义。