APP下载

基于SVM的智能夜灯设计*

2021-03-05刘欣宇杨延宁卜文嘉

传感器与微系统 2021年2期
关键词:手环调试波形

刘欣宇,杨延宁,2,卜文嘉,刘 珂,吕 杨

(1.延安大学 物理与电子信息学院,陕西 延安 716000;2.陕西省能源大数据智能处理省市共建重点实验室,陕西 延安 716000)

0 引 言

随着人们的生活水平不断提高,在如今的各种压力下,睡眠质量不高成为日常生活中较为普遍的问题。现在很多人晚上都有开台灯的习惯,灯光会在黑夜中给人带来安全感,同时也可以解决诸多不便。为此,很多人在卧室安装了夜灯。传统夜灯在使用时对身体有一定的危害,夜晚光线的照射容易造成睡眠失调,夜间灯光的照射同时会使睡眠时褪色素的分泌紊乱,尤其是儿童和青年。动物实验表明,全天都被灯光照射时,某些种类癌症的发病率会急剧增加。实验中发现夜间长时间被灯光照射或经常在夜晚苏醒的女性,乳腺癌的发生率提高[1]。基于以上问题,本文研究基于模型识别的助眠夜灯控制系统,设计出适合大众使用的助眠夜灯控制设备,来代替传统的夜灯。对用户的心率和运动数据进行判断获取用户的睡眠状态[2],在夜间休息时可播放角调音乐帮助用户有效缓解疲劳[3,4],快速进入睡眠状态,提高用户的睡眠质量。

1 硬件设计

系统采用MSP430G2553作为主控芯片,硬件主要分为手环模块、夜灯模块、蓝牙模块。其中手环模块包括心率模块和运动运动状况传感器的设计。夜灯模块又细分为主控制器(micro programmed control unit,MCU)、灯光控制、时钟和显示模块以及音乐模块的设计。系统利用MSP430G2553控制器通过心率传感器和三轴加速度传感器ADXL362进行数据采集,并在MSP430G2553上通过顺序最小优化算法(sequential minimum optimization,SMO)实现[5],采用支持向量机(support vector machine,SVM)算法模型识别出用户是否穿戴手环、是否处于睡眠,并通过蓝牙将识别的用户状态发送给夜灯部分,夜灯处理器MSP430G2553接受来自手环的用户状态数据并结合时钟芯片DS1302的时间数据控制不同颜色灯光亮灭和音乐播放。硬件部分包括充放电模块、手环模块和夜灯模块部分,手环模块和夜灯模块的控制芯片和电源管理都采用相同的方式,两部分之间通过蓝牙CC2541进行数据通信,硬件设计原理如图1所示。

图1 硬件设计原理

1.1 充放电模块设计

供电部分采用锂电池供电,在夜灯部分采用18650型号的锂电池,而在手环部分采用体积较小的602030锂电池。充电模块采用锂电池专用充电芯片TP4056。充放电电路如图2所示,放电时通过线性稳压器1117—3.3使得输出电压维持在3.3 V。

图2 电池充放电模块

1.2 手环模块设计

手环模块的硬件连线如图3所示,除了电源、蓝牙和控制器外还包括了心率传感器和三轴传感器的设计。

图3 手环部分原理图设计

1)心率模块的设计。采用了光线的反射原理,当一束光照在皮肤时,将会在皮肤表层发生反射与透射[6]。当心脏收缩时,血管中的血液变多,被血液吸收的光变多,反射光变少;心脏舒张时,血管中的血液变少,将会有更多的光线被反射。而红色的血液对绿光的吸收率最大,使用绿光将会使得测得的数据更加准确,因此选择光电容积波描述法采集心率数据[7]。心律采集模块电路如图4所示,由三极管Q3控制心率采集模块的工作,D2为发绿光的二极管,Q2接收发射回来的光线并转换为电信号。通过运放OPA2320两级放大后,将放大的电信号输入单片机进行数据采集与处理。

图4 心率采集模块设计

2)运动状况采集电路设计。为了得到用户使用时的加速度情况,采用三轴加速度传感器识别出用户的状态,采用低功耗、高分辨率的ADXL362三轴传感器ADXL362,对运动状况进行采集,运动时功耗可低至270 nA。

1.3 夜灯模块设计

夜灯模块电路图如图5所示,主要包括主控MCU、蓝牙部分、灯光控制部分、时钟、显示和音乐控制等部分。

图5 夜灯模块电路

由于CKE8002功放芯片中不含自举、耦合电容或缓冲网络,该功放芯片适合用在音量较小,重量较轻的低功耗系统设计之中。因此,采用CKE8002功放芯片将以上解码后的MP3进行功率放大。屏幕显示选取了OLED液晶显示屏,其为I2C接口,便于用户编程使用。该显示屏没有字库,在程序的编写时,需要自己建立相应的字库文件。

2 软件设计

2.1 手环程序设计

在数据处理中采用SVM算法判断睡眠状态[8,9]。在睡眠状态的判断中设置了三种睡眠状态,采用一对多的方式首先识别出清醒状态与睡眠状态,其次再对睡眠状态进行分类,识别出深度睡眠与浅度睡眠。手环的程序流程图如图6所示,程序中主要有两处判断语句,首先判断用户是否佩戴手环,其次判断夜灯是否能和手环正常连接[10,11]。当用户未能正确佩戴手环时或者手环未能收到来自夜灯的指令时,将开启节能模式,节能模式只有当串口接收到来自夜灯的指令时才能退出。

图6 手环程序逻辑

2.2 夜灯程序逻辑设计

夜灯程序逻辑设计如图7所示,夜灯在处于非夜间的情况下,先给手环发送指令,然后再接收手环的数据。如果时间为白天或者未能接收到手环的数据,则开启节能模式[10]。系统的夜间时间,用户可通过按键自行设定,接收到不同的数据时,夜灯会根据相应的时间做出不同的处理。

图7 夜灯程序逻辑

3 系统调试

1)音乐与灯驱动电路调试。采用光耦PC817进行了数字电路和模拟电路的隔离,当MCU输出高电平时光耦导通,MOS管处于导通状态,由于IRF3205的导通电压为4.5 V,因此可不用电阻进行分压。在输出端为了防止光耦不导通时的悬空状态,因此加入一下拉电阻,使得不导通时为低电平。并且导通后音乐模块得到的电压为Q4的导通电压。

2)OLED显示的调试。在使用OLED进行显示时,需要用到不同大小、不同分辨率的字。在写入不同大小的字时需要建立不同的字库,采用不同的写入函数来实现每行的写入。例如显示分辨率为8×16的符号时,采用一次点亮一行中16个相应的发光OLED,并重复8次点亮,得到相应的字符显示。

3)三轴加速度传感器调试[12]。调试三轴加速度时,测了传感器上10组典型数据,将三轴数据相比较可得出,每个相应的轴竖直时,得到的数据为1 024;水平放置时,得到的数据为0(负数部分采用了反码格式存储),表明传感器正常工作。在采集睡眠数据时,利用数据之间的变化情况,进行模型识别,得到相应的睡眠状态数据。

4)心率检测模块调试[13]。心率检测模块得到得波形图如图8所示,图中左上波形来自左手食指,右上波形来自右手食指,左下波形来自左手手腕,右下波形来自右手手腕。

图8 人体不同部位心率模块测得波形

由波形图可看出每次心跳时,输出信号将会有所变换,得到波形变换的频率就能得到每分钟的脉搏数。并且左手和右手之间测得的波形存在不同。在调试心率模块中,采用了AD采样的方式,避免了外接比较器使得手环体积变大。首先测的未佩戴手环时心率模块得到的AD数值如表1所示。

表1 未佩戴手环时心率模块得到的AD值

而佩戴手环时得数据如表2所示,佩戴手环时,最大测得AD值为533,最小值为490。

表2 佩戴手环时心率模块得到的AD值

由表1与表2的数据可知测脉搏时波形最大AD值在533左右,因此可以通过定时器测得两个波峰之间的时间差。为了避免不同人的脉搏得到的AD值不一样,采用了取中间值525作为波形的开始,调试中采用了20 ms的定时器,采用t计量两个波形之间的时间(及第一个AD值为525到第三个AD值为525一共经历的20 ms的个数),最后的心率可通过以下等式计算得到,n取计算结果的整数部分

(1)

5)软件调试。除开硬件的控制外,对于夜灯与手环之间蓝牙的联合调试。定义蓝牙收发命令后,进行手环与夜灯的联合调试,检查夜灯各部分工作状况。

4 结 论

设计了一种基于SVM的智能睡眠夜灯。主要从硬件和软件两个部分进行设计,系统可以实现高准确性控制。相比传统的夜灯,增加了帮助睡眠的功能。本文还有一些工作有待研究和改进,主要有几个方面:1)在睡眠状态的检测中,还需加入更多参数,比如声音、呼吸、体温等可以进一步增加睡眠状态检测的准确性,提高系统的可信度,也使系统更加全面。2)使用该手环检测白天的运动数据,根据睡眠状况和白天的运动情况给出健康指标。3)设计上位机,形成一个健康管理,这样能实时检测用户的健康水平,建立一个用户完整的健康系统。

猜你喜欢

手环调试波形
对《压力容器波形膨胀节》2018版新标准的理解及分析
基于LFM波形的灵巧干扰效能分析
疯狂编辑部之智能手环
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
无线通信中频线路窄带临界调试法及其应用
基于ARM的任意波形电源设计
调压柜的调试与试运行探讨
双丝双正弦电流脉冲波形控制
红手环志愿者服务团欢迎您的加入