产品概述

对单片机无线控制系统 如何用单片机设计低功耗与低成本的无线远程状态监控装置

小编 2025-07-11 产品概述 23 0

如何用单片机设计低功耗与低成本的无线远程状态监控装置

本文给出了一种低成本、低功耗,用于矿山供水系统的远程状态监测装置设计实例。该装置设计基于宏晶公司生产的单片机,结合PCF8563时钟芯片实现低功耗定时唤醒,保证了系统具有极低的待机功耗与准确的工作周期。装置外围电路设计均考虑了低功耗与低成本的要求。实际试用证明,该装置达到设计要求,成功解决了原供水系统存在的水位监控不便的问题。

1 引言

在现代工业及民用领域中,单片机广泛应用于汽车电子、安防、电机控制、家电控制、工业测控、电动工具等场合。其中,选用合理的硬件结构和软件设计,往往能以较低的成本,极低的功耗,搭建可靠的单片机系统,实现需要的功能。

2 设计背景

本文介绍了某磷矿供水系统无线监控装置的设计思路与设计过程。该磷矿在山区,储水池位于山顶,容量约3000立方米,向厂区提供生产用水及生活区用水。水源地和水泵房位于山腰平缓地带,储水池与水泵房直线距离约450米,高差约120米。为了正常供水,必须保证水池水位高于出水口、低于水池上限。该水池曾经进行过自动化改造,采用电缆传回水位信号,控制水泵房水泵自动运行与停止。

但该方案多次由于矿山周边闲杂人员盗割电缆,鼠害损毁电缆等原因造成停水或溢水,严重的时候甚至造成生产区停工,后改为人工值守。但人工值守需24小时值班,工作环境差,人力成本高。经过建议,矿山方面同意试用远程无线监控装置对供水系统进行自动化改造,但要求装置具有低成本高可靠性的特点。

3 方案设计

储水池取消人工值守后,水池处无电力供应,水池水位监控及无线传输装置全部需要电池提供电源,设计采用3节AA碱性电池供电,设计电池使用寿命一年。

单片机采用笔者一贯采用并且已经比较熟悉的51系列单片机,出于抗干扰及低成本的考虑,选用宏晶公司生产的STC11L04E单片机。

该单片机具有4K Flash程序存储器,256字节SRAM,1K EEPROM,具有掉电外部中断唤醒与低电压复位,最高时钟频率35MHz。

无线通讯部分采用飞思卡尔无线串口模块以降低开发成本及提高可靠性。水池水位变化相对于单片机处理速度是一极缓慢变化过程,因此采用定期检测水位发送信息的间断工作模式。

3.1 硬件原理

电路原理见图1。单片机工作于断续状态,工作周期可用两位8421编码的拨码盘设置为1~99分钟。为了实现低功耗,非检测期间单片机必须工作于掉电状态,而为了实现定时检测水位,装置必须进行计时。

为了实现单片机掉电期间的计时及定时唤醒,加入一低能耗的PCF8563时钟芯片。单片机进入掉电前对PCF8563进行定时设置,随后进入掉电状态。设定时间到后,由PCF8563唤醒单片机继续下一个检测周期。

图1水位监测装置电原理图

为了提高可靠性,同时也为了降低成本,采用电极式水位传感器,仅需要两根线头裸露的电线即可实现水位监测,无机械活动部件,对水质适应性好,成本低可靠性高。水位传感器信号放大整形部分应用电源管理,仅检测瞬间供电,降低装置功耗。8563与单片机之间通过I2C总线进行数据通信。

I2C总线需要加上拉电阻,有文章指出为了避免电流损耗,进行低功耗设计时I2C上拉电阻需要加电源管理,但笔者经过分析与实践证实,单片机IO口设置为开漏输出状态时,该上拉电阻不会在非工作期间造成电流损耗。为减少幅面,水位传感器仅画出其中一个,实际共两个,上限与下限水位传感器各一个。

3.2 软件设计

普通8051单片机进入掉电模式后,只能由外部复位唤醒单片机,复位后程序从起始位置开始执行,而宏晶STC11系列单片机提供5个外部引脚,可设置其下降沿唤醒单片机。该装置在每个检测周期开始时,由PCF8563唤醒单片机,继续执行掉电指令的下一条指令后,转入执行相应的中断服务程序,一个典型的检测周期如图2所示。由于STC11系列单片机没有I2C接口,因此需要用两个引脚通过软件模拟I2C总线。

图2 软件流程图

检测到当前状态后,单片机对数据添加校验值并封包,生成完整的报文,通过无线模块发送到水泵房。为了以后便于扩展,笔者自定义了以下的报文格式。其中数据字节可以扩充,其数量由第四个字节决定,最大不超过255字节,当前使用的监控装置默认数据长度为1个字节。

表1 无线数据报格式

3.3 无线通信方案

无线模块采用飞思卡尔串口通信模块。最大发射功率27dBm,调制方式为FSK,工作频率选择为433MHz,接收灵敏度-114dBm,该模块发射功率及频段满足国家无线电管制要求,可以免执照运行。

同时,由于矿山地处偏僻地区,且传输距离较近,受到其他业余无线电台干扰的可能性非常小,即使受到干扰,接收方报文校验失败,可以及时向水泵房值班人员报警避免造成损失,因此,采用该模块可以满足装置的设计要求。

该模块支持波特率由1.2kbps至38.4kbps共6种速率,但根据笔者以往的经验,降低波特率可以提高模块的接收灵敏度,因此实际使用的波特率为2.4kbps。

3.4 功耗评估

每个检测周期唤醒后,单片机等待32768个时钟周期以使时钟稳定振荡,随后对无线模块和水位传感器上电,延时100ms后读传感器信息,随后关闭传感器电源,数据封包后发送到无线模块,当前使用的数据报长度为7个字节,以2400bps的速率发送,大约需要30ms,但为了让无线模块有充分的时间发送数据,单片机发送数据后延时100ms关闭无线模块电源,设置PCF8563唤醒倒计时后单片机随即进入掉电状态。

以毫安·秒为单位对每个检测周期耗电量进行计算,当装置检测周期设置为10分钟时,每周期耗电量大约为17mA.s,年耗电量小于250mA.h。以电池容量1000mA.h估算,扣除电池自放电及其他损耗,可以满足装置工作一年的设计要求。相关器件的功耗数据如表2所示。

表2 器件功耗数据

4 接收装置简介

接收装置位于水泵房,接收储水池装置发来的信息,分析处理后控制相应的输出,并将当前状态进行显示。接收装置在规定时间内接收不到校验正确的报文,则判断为通信中断或设备故障,并通过声光报警提醒水泵房值班人员,避免造成其他损失。

接收装置位于水泵房,有充足的电力供应,处于持续工作状态,因此硬件设计比较简单,不再赘述。接收装置内部电路板实物如图3所示。

图3 接收装置电路板实物图

5 结论

该装置在使用现场进行测试。对于无线通信,当通信距离达到2000米时,装置依然可以正常进行数据收发,当距离达到2500米时,数据丢包率开始增大。因此,在450米的实际使用环境中,认为无线模块具有充足的的发射功率与接收灵敏度。

装置安装就位后,进行了两个月的不间断测试,测试期间没有观察到装置出现误动作或不动作的情况。对数据包的校验和记录表明,测试过程中,没有出现数据包校验失败或数据包丢失的情况。单片机工作可靠,没有出现死机、程序跑飞、无法唤醒等故障。在经历两个月测试后,向设备供电的3节碱性电池测量电压仍然有4.65V,预计可以满足一年的供电需求。

装置选用的STC11L04E单片机,零售价格仅数元,加上其他外围器件,总材料费用仍然十分低廉。

综上所述,初步认为装置功能与性能满足设计要求,实现了低功耗、低成本的远程状态监控。

(编自《电气技术》,原文标题为“ 基于宏晶单片机的无线远程状态监控装置设计”,作者为程晋然、郭世明。)

一个基于STC12单片机的无线脉搏监测系统

柳海华,卢路瑶,朱秀委

(温州医科大学 信息与工程学院,浙江 温州,325035)

为了减小设备体积,提高系统的灵活性,提出了一种采用STC12单片机、光电式传感器和NRF24L01的无线脉搏监测系统,给出了该系统的硬件和软件设计的具体方案,展示并分析了系统运行结果。该系统在10 m范围内可实时地监测脉搏信号,在软件界面中可显示、分析和保存数据,在发现生理参数异常时发出报警,适用于病人监护,具有一定实用价值。

中西医研究表明,脉搏波蕴藏着丰富的生理病理信息,在预防疾病、诊断治疗、保健康复等各个方面发挥着重要作用[1]。目前的脉搏信号监测系统中,传感器类型主要包括光电式、液体耦合腔式、压阻式以及应变式等[23]。其中,液体耦合式传感器的制作过程较为复杂且抗干扰差,压阻式传感器的实时性差且误差较大,而应变式脉搏传感器存在较大的非线性。相比之下,光电式传感器具有制作方便、精度较高、成本较低及线性度较好等优点,因而得以广泛应用。此外,大量导线的使用增大了系统规模和复杂度,同时降低了系统的便携性和扩展性,因此无线传输技术日益普遍[4]。

基于上述分析,本设计采用STC12C5A60S2单片机、光电式脉搏传感器和NRF24L01无线收发模块完成了一个无线脉搏信号监测系统。该系统先通过下位机采集电路对使用者的脉搏信号进行提取、去噪和放大处理,再以无线传输方式发送给连接PC的接收电路,接着上位机软件从串口接收数据实时显示波形,并进行参数(例如心率、脉搏间隔等)分析、参数异常报警和数据存储等。本系统不仅能对使用者进行脉搏实时诊断和分析,也可用于后续的数据统计和长期跟踪,有助于使用者生理状态的有效监测,具有一定的实际应用价值。

本系统的总体结构由6部分组成:电源模块、采集模块、单片机控制单元、无线模块、串口通信模块、上位机模块。系统的总体结构框图如图1所示。

系统前端采用光电式脉搏传感器,将人体的脉搏信号转化为电压信号。由于人体的脉搏信号微弱(毫伏电压),频谱范围包含工频干扰,因此需通过前置放大、高低通滤波、二级放大等处理[5]。从传感器获得的初始信号经过适当放大和处理之后,通过单片机控制的AD转换器将模拟信号转换为数字信号,继而通过无线模块实现信号的无线发送与接收。接收模块收到的数据通过串口通信电路传输至计算机的串口,最终由上位机软件对串口进行扫描而读取。上位机软件可实时显示接收到的脉搏信号波形,进行数据处理、分析和监视,也可存储数据以备后续统计与回访。为了保证系统中不同芯片的正常工作,本设计还包含了双电压输出的电源模块。

2系统硬件设计

2.1单片机控制单元

单片机是整个系统的核心,主要负责启动AD转换、配置无线发送与接收、与上位机通信等工作。本系统采用STC12C5A60S2单片机,其指令代码与传统的8051单片机兼容,工作电压为3.3~5.5 V,工作频率范围为0~40 MHz,自带8路10位AD转换器,处理速度比传统8051快8~12倍。本系统单片机最小系统的晶振为11.059 2 MHz,5 V电源供电,采集转换频率为100 Hz,由定时程序控制,即每10 ms启动一次AD转换。

2.2采集模块

采集模块的核心器件是传感器,它的性能直接影响整个系统的稳定性和精准性。因此,本设计采用综合性能优良的光电式脉搏传感器来完成,它可分为光源和光接收器两个主要部分。光源部分采用的是峰值波长为515 nm的绿光LED,型号为AM2520;光接收器的敏感峰值为565 nm,型号为APDS9008。据相关文献和实验结果表明,560~650 nm光波可较好地反映皮肤浅部微动脉信息,适合用来采集分析人体脉搏信号[6]。因此,本设计采用的传感器能有效收集脉搏信息,且灵敏度较高。此外,脉搏信号的频带范围为0.05~200 Hz,信号幅度是毫伏级的小信号,容易受到各种干扰。因此,在传感器后面连接一个低通滤波器和一个由运放MCP6001为核心的放大器,将初级脉搏信号放大300倍左右。同时,采用分压电阻设置直流偏置电压为电源电压的1/2,使输出信号更容易被单片机的AD采集,并由单片机的P1.7口输入。传感器相关电路图如图2所示。

2.3无线通信模块

实现无线数据传输,可减少设备复杂性,提高系统灵活性。本系统以NRF24L01模块为核心来实现脉搏数据在采集和接收模块之间的远程无线传输,类似工作可参见参考文献[7]、[8]。单片机通过AD转换将脉搏信号数字化后,将转换结果传给NRF24L01模块进行无线发送。无线模块的工作参数(包括信道、发送功率、发送频率等参数)由单片机配置。接收电路中的NRF24L01模块的工作参数也由单片机配置,且要求与发送端匹配。发送和接收的NRF24L01模块和单片机的连接如图3所示。

CE引脚与P1.2引脚连接,CSN引脚与P1.3引脚连接,SCK引脚与P1.1引脚连接,MOSI引脚与P1.4引脚连接,MISO引脚与P1.0引脚连接、IRQ引脚与P1.6引脚连接。

2.4串口通信模块

串口通信模块主要负责将接收到的数据传给上位机,本设计采用MAX232EPE来完成。由于串口一次最多只能通过8位二进制数,而单片机自带AD转换一次能产生10位的二进制数,因此要将10位数据分解成高2位和低8位。串口通信采用经典设置,即波特率9 600 b/s、校验位N、数据位8、停止位1。

2.5电源模块

由于本系统采用的单片机的供电要求为5 V,而无线收发模块的供电要求为3.3 V,因此要求电源模块能输出两种电压。其中,+5 V是由输出电压9 V、输出功率9 W的交流变压器、整流桥及7805芯片组成的电路产生的;+3.3 V是由5 V电源经LM1117芯片稳压和滤波后产生的。

3系统软件设计

为了保证系统正常稳定运行,需要良好的下位机硬件驱动程序和上位机软件界面。该系统的下位机软件是采用基于Keil C 集成开发环境的C语言进行设计和开发的,上位机的软件界面主要利用VB编程语言编程实现。

3.1下位机软件设计

下位机软件由以下子程序组成:AD转换控制程序、定时器程序、NRF24L01发送子程序、NRF24L01接收子程序和串口发送程序。模拟信号从P1.7输入单片机经过10位精度的AD转换。AD转换受定时程序的控制,定时程序达到设定阈值则启动AD转换,转换并发送数据完成后AD使能端被禁止,AD启动转换的频率被设定为100 Hz。两个NRF24L01模块分别由两个单片机控制,不断发送和接收数据,接收数据的单片机通过串口查询法不断将接收到的数据传给上位机。由于AD转换的结果是10位的二进制数,因此在串口发送之前要先将10位的二进制数拆成2个8位二进制数(高2位和低8位,分别存于ADC_RES和ADC_RESL两个寄存器中)才能通过串口发送。

NRF24L01相关子程序的主要任务是:先进行片选,即选好引脚P1.2并置低电平,再对芯片的状态、功率等参数进行配置,具体如表1所示。

系统软件程序流程图如图4所示。

3.2上位机软件设计

上位机软件采用VB语言编程实现。主界面包括数据显示区、快捷功能键、生理参数显示、串口选择和报警提示等部分。为了显示从串口读取的数据,采用iplot控件(集成C语言)作为画图工具。横纵坐标根据输出信号的强度能进行自动调节,实际运行时,先要对两次接收到的数据相加得到一个完整的数据,并通过不同时刻得到的数值进行比较得到波峰,记录当时的时刻,应用同样的方法判断出下一个波峰与时刻,将这一系列的数据由iplot控件进行绘图[9]。

快捷功能键主要包括图形区放大、缩小和数据保存等功能,另外的功能还在开发中,例如打印、自动缩放、注释等。生理参数显示暂时只考虑脉搏频率,其算法如下:取10 s左右长度的数据,用上述方法检测出每个周期中的峰值,对5个峰峰间期取平均得到准实时的脉搏频率[10]。串口选择功能是为了满足上位机软件对多个下位机采集电路的管理而设计的。尽管目前软件只能显示一个通道的数据变化情况,但预留了多通道显示的功能。报警提示功能是通过label控件来展示的,当上位机软件对一段时间的数据进行显示、处理和分析后,若发现生理参数超出正常范围则开始报警[11]。

4系统运行结果

系统运行时的上位机软件界面如图5所示。

显示的参数包括:实时脉搏波形[12]、计算得到的心率、参数异常报警提示。软件还具有数据存储功能,以便于数据回访和统计分析,对使用者的脉搏参数进行长期跟踪。与标准仪器的测量结果(示波器采集显示如图6所示)对比发现,本系统采集到的脉搏信号显示结果与之接近,从而同时验证了下位机信号采集、无线收发模块工作正常。其中,针对无线模块的性能测试结果表明,在15 m2内无障碍物环境下,数据传输流畅且无失真,按照每秒100个数据采集的速率计算,数据传输速度可达125 B/s。

5结论

本设计以STC12C5A60S2单片机、光电式脉搏传感器和NRF24L01无线收发模块为核心,完成了一个无线脉搏信号的实时监测系统。经测试,本系统可将被测人员的脉搏信号实时地显示在上位机软件中,显示结果与标准的示波器结果相吻合,在大约15 m2内系统运行稳定。除脉搏信号的实时显示,该系统还支持简单的数据分析(脉搏频率及强度等),并能实现阈值可调的报警监护功能。本系统为人体脉搏等生理信号监测系统的研发工作提供了一个实用案例,具有一定的实用价值和参考意义。下一步的工作中还可进一步完善本系统的软硬件功能。

参考文献

[1] 乔爱科, 伍时桂. 动脉中的脉搏波理论[J]. 生物医学工程学杂志, 2000, 17(1): 95 100.

[2] 曾小青, 李旭光, 熊政刚,等. 一种具有高信噪比的脉搏波光电传感器的研制[J]. 中国现代医学杂志, 2003, 13(15):76 78.

[3] 刘常春, 李远洋, 李鹏, 等. 桡动脉脉搏波检测装置[P]. 中国: CN101703394B, 2011 04 27.

[4] 谭莉, 向忠民. 便携式简易人体测量装置对心血管危险的预测价值[J]. 心脏杂志, 2013, 25(6):753.

[5] 王晓兰, 蒋中. 一种简易人体脉搏测试仪[P]. 中国:CN 104138251A,2014 11 12.

[6] 戴君伟, 王博亮. 光电脉搏传感器的研制和噪声分析[J]. 现代电子技术, 2006, 29(2):78 80.

[7] 诸德宏, 张介环. 具有远程升级功能的小区电能监测系统[J]. 电子器件, 2014(4): 733 736.

[8] 蒋超, 金陶威, 李世娇, 等. 高精度无线脉搏波采集系统[J]. 电子测量技术, 2012, 36(7): 112 124.

[9] 张文, 秦开宇, 李志强. VC环境下多波形显示ActiveX控件开发[J]. 中国测试, 2009, 35(2): 33 36.

[10] 刘一, 任占兵. 基于安卓手机的远程心电测量系统的设计[J]. 电子器件, 2015(1): 194 197.

[11] 郑争兵. 脉搏信号检测仪的设计与实现[J]. 自动化仪表, 2012, 33(11): 77 79.

[12] 徐明. 基于MSP430G2553的智能脉搏测试仪设计[J]. 自动化应用, 2015(6): 78 79.

相关问答

如何利用 单片机 实现 无线 通信?

可以采用nordic公司的无线收发芯片nR905,其数据传输率可以达到78.5kbps,可以实现高速半全双工通信。nR905通过SPI接口和MCU进行数据传送,在配合几个简单控制...

Esp8266wifi模块 控制 51 单片机 的程序?

uart串口连接,rx连接tx,tx连接rx,两地连接,注意是3.3v的电平,之后用at命令设置esp8266,之后就是用wifi透传串行数据了。---esp8266可以独立编程,进行控制...

单片机无线 模块怎么用?

单片机无线模块可以用于实现无线通信功能,例如与其他无线模块进行数据传输、与手机APP或电脑进行无线通信等。首先,需要将无线模块连接到单片机的相应引脚上,...

怎样通过wifi 控制 他人手机-ZOL问答

第二部就是获得他的无线路由器的管理权第三部也是最后一步你就可以对他的设备进行嗅探和会话劫持了。wifi连接手机能够上网,不清楚你说的控制器LED是指什...

使用平板电脑 控制单片机 ?

单片机上面有wifi模块,可以和平板的通信但是平板需要软件而对于不同的操作系统就需要不同的软件了,这个写起来还是比pc软件麻烦单片机上面有wifi模块,可以...

利用 单片机 向wifi模块发送数据,电脑通过wifi网络段接收数据...

然后再将他接到单片机的串口上,因为串口转wifi模启动都是透传的,串口wifi模块T...亲~你是不是本地连接没打开,这个有点不好说,你用的是啥子系统,win7的是在控制...

单片机 与手机如何实现远距离通信?

单片机与手机实现远距离通信,有很多种可实施的方案。例举其中两个方案进行讲解:一:2G/4G移动通信方案器件选型1,单片机选用Cortex-M3内核,国产兆易创新...单...

单片机 上网, 单片机 如何连接到 无线 网络,并且能发送和接收数据?

某宝上WIFI模块很多,可以通过单片机串口发送AT指令实现网络通信,但是效率不高某宝上WIFI模块很多,可以通过单片机串口发送AT指令实现网络通信,但是效率不高

NRF24L01 无线 模块的CE引脚怎么连接 单片机 ?

这个是控制引脚,它可以连在单片机的任意一个引脚上,关键是你的程序里面要和引脚对应起来控制盒通信。你把程序发上来吧,这样就能直接告诉你连接哪个引脚了。...

89c52 单片机 串口接wifi模块,和Andriod手机进行通信 - OSCHI...

我在89c52单片机的串口上,接了wifi模块,我的同事编了一个Andriod应用程序,点击应用程序时,通过stc-isp软件上的串口助手,可以看到手机发来编码为0101,但是单...

猜你喜欢