Presentation is loading. Please wait.

Presentation is loading. Please wait.

基于无线充电的心 率脉搏监测系统 IDT无线充电应用创新大赛.

Similar presentations


Presentation on theme: "基于无线充电的心 率脉搏监测系统 IDT无线充电应用创新大赛."— Presentation transcript:

1 基于无线充电的心 率脉搏监测系统 IDT无线充电应用创新大赛

2 目录 ONE 设计背景 THREE 演示效果 TWO 设计过程 FOUR 优势分析

3 01 设计背景

4 IDT 目前市场上的心率监测产品 频繁更换电池 功能较为单一 佩戴不够舒适

5 1 2 3 4 进行的改进 IDT 无线充电 简化测量 APP+云服务 健康分析 无需更换干电池 不再可 将测量探头单独引出
针对这些不足,我进行了一些改进,增加了目前前沿的技术应用。 1 2 3 4 无线充电 无需更换干电池 不再可 简化测量 将测量探头单独引出 APP+云服务 网页登陆或APP查看数据 自动存储 一键定位 健康分析 健康状况数据分析

6 结构紧凑,包含经过全面测试的物料清单,资料丰富,短期即可应用于实际项目。
IDT IDT无线充电套件的优势 70% 80% 90% 100% 过压保护 有效保护产品点电路 Qi标准 兼容性强 支持其它无线充电设备接入 FOD(异物检测) 简化的FOD 调整方案方便进行开发 上手便捷 结构紧凑,包含经过全面测试的物料清单,资料丰富,短期即可应用于实际项目。

7 02 设计过程

8 IDT 一、硬件架构 CPU采集心率传感器和体温传感器采集的信号,通过蓝牙模块传至APP,通过WiFi模块发送给云服务器;整个系统通过电源模块供电,电源模块与无线充电接收端相连,完成无线充电。

9 1 2 3 二、硬件设计与选型 IDT 主芯片 心率传感器 体温传感器
采用STM32F103C8,其的工作频率为72MHz,包含2个12位的ADC、3个通用16位定时器2个I2C接口和SPI接口、3个USART接口,满足本系统的需要,且相比同类产品具有价格优势。 1 2 心率传感器 采用PulseSensor,这是一款用于脉搏心率测量的光电反射式模拟传感器,可便捷地佩戴在手指处,通过导线连接CPU,经过相应算法计算即可得到心率数值。 3 体温传感器 体温传感器的原理是利用电阻与温度的特性曲线,通过测量电阻值即可算出对应温度值。

10 4 5 6 二、硬件设计与选型 IDT 蓝牙模块 WiFi模块 电源模块
采用模块采用HC-05,该模块是主从一体的蓝牙串口模块,当蓝牙设备与蓝牙设备配对连接成功后,直接将蓝牙当做串口用,APP连接蓝牙模块后即可接收数据。 4 5 WiFi模块 服务器模块模块采用NodeMCU,采用交互式Lua脚本进行编程,在本系统中利用它搭建http服务器并上传数据到云端,用户可直接访问域名或服务器IP登陆。 6 电源模块 电源模块的核心是IDT-5W无线充电开发套件,通过该套件完成无线充电的任务,极大方便用户使用,其余部分为移动电源及分压电路。

11 IDT 二、硬件设计与选型 体温传感器电路 蓝牙模块电路

12 IDT 二、硬件设计与选型 STM32核心板电路

13 三、软件设计结构 IDT Stm32程序 上位机程序 手机APP 服务器端 采集传感器数据 建立数据传输协议 显示心电图与温度
通过蓝牙连接显示数据 服务器端 将数据上传到云端 用户可在网页查看数据

14 IDT 四、程序流程图 Stm32程序 APP WiFi模块

15 心率采集核心算法 IDT 四、程序流程图 (代码见附录)

16 五、核心代码 IDT Stm32程序 上位机程序 手机APP void Get_Resistance_Value() {
u8 i,j,Sum_Number=0; u16 ADC_Value; u16 Temperature_Vol_sum=0,Temperature_Vol_sum1=0; u16 Average_Value=0,Average_Value1=0,Average_Value2=0; if(Animal_Heat_Number>=19) for(i=0;i<20;i++) for(j=i+1;j<20;j++) if(Animal_Heat_Vol[i]>Animal_Heat_Vol[j]) ADC_Value=Animal_Heat_Vol[i]; Animal_Heat_Vol[i]=Animal_Heat_Vol[j]; Animal_Heat_Vol[j]=ADC_Value; } Temperature_Vol_sum=Sum_Number=0; for(i=5;i<15;i++) Temperature_Vol_sum+=Animal_Heat_Vol[i]; Average_Value=Temperature_Vol_sum/10; Temperature_Vol_sum1=0; for(i=5;i<15;i++) if(abs(Animal_Heat_Vol[i]-Average_Value)<0x02) Temperature_Vol_sum1+=Animal_Heat_Vol[i]; Sum_Number++; if(Sum_Number>0) void setup() { size(700, 600); // Stage size frameRate(100); font = loadFont("Arial-BoldMT-24.vlw"); textFont(font); textAlign(CENTER); rectMode(CENTER); ellipseMode(CENTER); // Scrollbar constructor inputs: x,y,width,height,minVal,maxVal scaleBar = new Scrollbar (400, 575, 180, 12, 0.5, 1.0); // set parameters for the scale bar RawY = new int[PulseWindowWidth]; // initialize raw pulse waveform array ScaledY = new int[PulseWindowWidth]; // initialize scaled pulse waveform array rate = new int [BPMWindowWidth]; // initialize BPM waveform array zoom = 0.75; // initialize scale of heartbeat window // set the visualizer lines to 0 for (int i=0; i<rate.length; i++){ rate[i] = 555; // Place BPM graph line at bottom of BPM Window } for (int i=0; i<RawY.length; i++){ RawY[i] = height/2; // initialize the pulse window data line to V/2 background(0); noStroke(); // DRAW OUT THE PULSE WINDOW AND BPM WINDOW RECTANGLES drawDataWindows(); drawHeart(); // GO FIND THE ARDUINO fill(eggshell); text("Select Your Serial Port",245,30); private Handler LinkDetectedHandler = new Handler() { @Override public void handleMessage(Message msg) { int[] h={77, 75, 76, 74, 78, 73, 68, 66, 64, 68, 72, 76, 77}; float[] w={(float) 32.5, (float) 34.8, (float) 37.2, (float) 38.1, (float) 31.3, (float) 32.4, (float) 38.0, (float) 36.9, (float) 35.4, (float) 36.2, (float) 31.5, (float) 37.1,(float) 39.8}; Toast.makeText(mContext, (String)msg.obj, Toast.LENGTH_SHORT).show(); //show.setText(h[i]+"每分钟"+w[i]+"℃"); if(msg.what==1) { String get = (String)msg.obj; char[] s = get.toCharArray(); //show.setText(get); if(s[0]=='S') String o1 = Integer.toString((s[1]-48)); String o2 = Integer.toString((s[2]-48)*10); //String o3 = Integer.toString(s[3]-48); show.setText(h[0]); show.setText(h[1]); // String s2 = String.valueOf(s[1]*100+s[2]*10+s[3]); //int heart_rate=(int)s[2]; //String st = Integer.toString(s[3]); //show.setText(get+"每分钟"); //show.setText("心跳:"+get+"每分钟"); } //else if(s[0]=='T') // { //show1.setText(" "); //show1.setText("76"+"°C"); //} //list.add(new deviceListItem((String)msg.obj, true)); else //list.add(new deviceListItem((String)msg.obj, false)); //mAdapter.notifyDataSetChanged(); //mListView.setSelection(list.size() - 1);

17 03 演示效果

18 IDT 一、实物图 ①主CUP电路 ⑧蓝牙模块 ②体温传感器 ⑨移动电源 ③心率传感器 ④电压转换电路 ⑤无线充电接收端 ⑦无线充电发射端

19 IDT 二、网页界面

20 IDT 三、上位机与APP 心跳 体温

21 04 优势分析

22 1.采用无线充电技术,方便进行一体化外观设计与用户使用; 2.使用云平台存储和处理数据,可远程查看数据和定位,可用于对老人小孩的健康监测;
IDT 1.采用无线充电技术,方便进行一体化外观设计与用户使用; 2.使用云平台存储和处理数据,可远程查看数据和定位,可用于对老人小孩的健康监测; 3.传感器探头使用轻便; 4.IDT套件兼容其它符合Qi标准的无线充电设备,并具有过压保护和FOD功能; 5.云平台可接入其它健康设备,可对数据进行分析,进行监控预警; 6.上位机与APP可随时查看最直观的测量数据; 7.总成本低与同类型产品,功能更为丰富。

23 下一步工作: IDT 外观设计 功耗优化 投入市场测试 PCB设计 进一步使用IDT方案 一体化外观设计,方便用户携带与使用。
目前经过测试,一次充电的使用时间大约为80h,接下来将进行低功耗的设计与测试,延长使用时间。 投入市场测试 如果本产品经过论证和测试具有生产前景可以进行商业生产。 PCB设计 进一步使用IDT方案 将所有电路集成与一块PCB,使用模块化设计,便于固件升级。 本次设计中采用的是现成的IDT无线充电模块,今后将采用IDT方案,利用提供的物料清单,原理图,自行改进和融合电源部分设计。

24 THANK YOU 非常感谢您的观看!


Download ppt "基于无线充电的心 率脉搏监测系统 IDT无线充电应用创新大赛."

Similar presentations


Ads by Google