电子说
本文利用低功耗的MSP430单片机作为主控芯片,用NB-IoT 作为通讯模块,设计一款低功耗、可广覆盖、大规模部署的智能垃圾桶,且配置的 NB-IoT 模块可为实现远程管理和控制提供支持。克服了现有研究中智能垃圾桶 功耗大、报警功能单一、分布距离受限制、移植性差的问题。
1 系统硬件模块设计
垃圾桶的主控芯片为低功耗的MSP430单片机,当没有采集数据和发送数据任务时,单片机进入休眠状态,以降低功 耗。通讯模块使用 NB-IoT 无线模块,NB-IoT 使用电信运营商的基站发送数据,既保证了通信质量的可靠性,也省去了像 短距离无线通信技术自组网的复杂步骤。传感器和按键等 外设都是预留的接口,可以编写不同的程序以驱动不同的 外设来实现不同场景下对垃圾桶功能的需求,具有很强的 移植性。
1.1传感器检测模块
本文设计的垃圾桶使用超声波传感器和重力传感器同时 检测垃圾桶满溢状态,可有效避免垃圾桶虚满情况。
1.1.1超声波测距模块
该垃圾桶使用 HC-SR04 超声波测距模块。超声波传感器放置在垃圾桶上方的侧面,用于测量垃圾桶内垃圾的高度。
MSP430 单片机给超声波传感器的Trig 引脚大于 10 s 的高电平信号,超声波模块就会自动发送 8 个 40KHz 的超声波脉冲,并自动检测是否有信号返回。若检测到返回信号,Echo引脚会输出高电平,高电平持续的时间就是超声波从发射到 返回的时间 t,这样就可以计算出垃圾桶内的垃圾高度 s。但此时超声波模块的测量结果,并不是判定垃圾桶已满的最终 依据。当超声波模块测量到垃圾桶已满时,还需启动重力传 感器模块测量垃圾的重量。
1.1.2重力传感器测重力
为了降低功耗,重力传感器模块只有在超声波传感器的检测结果达到了阈值才会启用。本研究使用微型重力传感器, 放置在垃圾桶底部并由塑料外壳包裹。重力传感器通过导线连接到MSP430 单片机的IO 口上,当需要采集垃圾桶内的垃圾重力数据时,MSP430 单片机才启动这个模块进行数据采集。若采集到垃圾的重量到达了阈值,则发送警告信息。若垃圾的重量未达到阈值,则过段时间再次采集垃圾桶内垃圾的重力数据。
1.2 NB-IoT 模块
无线模块使用的是移远 BC95 NB-IoT 模组。BC95 是一款高性能、低功耗的 NB-IoT 无线通信模块。其尺寸仅为23.6mm×19.9mm×2.2mm,较小的体积也使得我们的硬件模块尺寸更小。NB-IoT 模块在不发送数据时工作在省电模式,功耗极低。NB-IoT 模块还具备海量连接的能力,NB-IoT 的一个扇区能够支持 10 万个连接,可以达到各种场合垃圾桶连接数量的要求。
1.3按键及可拓展接口设计
硬件模块预留了接口以便实现一些拓展功能。在特定场所下,如在动物园中小朋友走丢就可以按下求救按钮。MSP430 单片机检测到按钮的外部中断后就会立刻通过 NB-IoT 模组将报警数据发送至云平台,平台可协助给与帮助。
除了扩展性,还有很强的适用性。在生产过程中,可以批 量生产硬件模块,当系统硬件应用在特定场所时只需要修改 程序并添加相应的外设即可。
2 系统软件模块设计
主程序流程图如图 1 所示。
当硬件程序开始工作时,每间隔 30 分钟进行一次超声波测距,用来检测垃圾桶内垃圾的高度是否超过阈值。当没有采集任务时,MSP430 单片机工作在休眠状态,处于低功耗模式。当传感器检测垃圾桶内的垃圾已满时,MSP430 单片机就向NB-IoT 模块发送AT 指令,NB-IoT 模块再将数据发送至云平台处理。
图 1 主程序流程图
垃圾桶内的垃圾是否已满的判定规则为:在超声波传感器检测到垃圾的高度超过阈值后,MSP430 单片机就会启动重力传感器测量垃圾的重量。如果垃圾桶内垃圾的重量未达到 阈值,则认为当前垃圾桶处于虚满状态,此时不向云平台发送 已满的警告消息。只有检测到垃圾高度和垃圾质量都超过了 阈值才会向云平台发送已满报警数据。
全部0条评论
快来发表一下你的评论吧 !