查看:
9896
|
回复:
9
|
参赛作品《数字血氧探头》(完成)
|
|
发表于2018-05-18 15:41:07
|
显示全部楼层
1#
电梯直达
【报名阶段需要填写的内容】 1. 参赛者姓名(必填项): 李书享 2. 单位或学校名称(选填项): 3. 当前职务或职称(选填项): 电子工程师 4. 参赛作品的名字(必填项): 数字血氧探头 5. 简要陈述您的idea和作品(必填项): 现在有很多医疗设备想增加测量血氧脉搏的功能,但是又不想增加研发投入。我想设计一款通过光电测量手指血氧与脉搏的数字血氧探头,它与外部设备通过串口连接传输数据。 6. 拟用到的立创商城在售物料(必填项): BL8565CC3BTR33 9H0323LCSC-DZF2S CL31A476MQHNNNE 7. 拟用到的非立创商城物料或其它补充(必填项): SH79F6488 TSL237S-LF 8. 拟用到的EDA工具软件名称(必填项): 立创EDA 【作品正式发表(报名成功后进入设计阶段)需要填写的内容】 一、作品简介 例如,可以包括但不局限于以下内容: 1.作品的整机外观图片或焊接组装好的PCBA图片;
2.作品的研究背景、目的和功能、市场应用前景; 现在市面上有些产品想加入能测血氧心率的功能,但是又不想增加研发投入。我设计的这款数字血氧探头通过串口将测得的血氧心率实时传输出去,方便与想增加测血氧心率的设备连接。 3.作品在创新性、趣味性、实用性甚至公益性方面,有哪些亮点可体现? 这款数字血氧探头可以方便与任何想增加血氧心率的设备连接。 二、系统构架图 用流程图或思维导图等形式,描述您的作品的组成构架,即方案图。
三、硬件部分的描述 1.附上原理图&PCB实物图的图片或者源文件(官方建议大家尽量用源文件上传),如果是图片,请确保图片是清晰可辨的; Schematic_SOP2-A01_Sheet-1_20180815103324.pdf
2.用文字把该作品的实现原理、系统的工作过程大致讲解一下。 5V电压经过U2(BL8565CC3BTR33)稳压成3.3V,一路给U1(SH79F6488)供电,另一路给红色发光二极管和红外发光二极管驱动电路供电.U1(SH79F6488)工作后内部稳压器输出2.7V给U3(TSL237)供电,U1(SH79F6488)的PWM0和PWM1口输出控制信号控制Q1和Q2,使红色发光二极管和红外发光二极管交替发光,发出的光透过手指的动脉,由于动脉对光的吸收率不一样会产生微弱的变化,微弱变化的光通过U3(TSL237)光转频率数字接收管转换成频率送到U1(SH79F6488), U1(SH79F6488)采集到信号后通过相应的算法计算出血氧和心率,然后通过串口TX发送出去。 3.注明所用到的EDA工具软件名称并附上设计链接。 立创EDA 链接:https://lceda.cn/editor#id=0d93d5f6e34446c084ca329c3ed94594|dd586b98d9614b3e99f4188da3148306 四、材料清单(BOM列表) 列出您这个作品所用到的主要器件(关键器件即可),比如单片机&ARM芯片、专用集成芯片(ASIC)、传感器、功能模块等。 如果所列出的芯片是来自我们立创商城上的,最好能写出该器件的商品编号或附上对应购买链接。 1)BL8565CC3BTR33 链接:https://so.szlcsc.com/global.html?c=&k=BL8565CC3BTR33 2)9H0323LCSC-DZF2S 链接:https://so.szlcsc.com/global.html?c=&k=9H0323LCSC-DZF2S 3)CL31A476MQHNNNE 链接:https://so.szlcsc.com/global.html?c=&k=CL31A476MQHNNNE 4)SH79F6488 5) TSL237S-LF 6)660940发射管 五、软件部分的描述(选填) 如果您的作品涉及到软件,请列出作品对应的软件工作流程图,及关键部分的例程、源码(如果您想开源的话请上传全部源码)。
void DoMeasure(void)
{ if((0<IsSignalCaptureErr)||(iMaxOneCycle>800)) { IsSignalCaptureErr=0; iMeasureIntermit=1; //??????? IEN0 &= 0x7F; // SendF4(); rcv_new = 0; LEDStatus = 5; MainState = LookState; MustTimerB=MinSamples; MustTimerA=MustTimerB<<1; MustTimerALength=384; // =96*4 250KHZ=4US=4/0.083/2=96 nosign=0; iHGLength=0; iHWGLength=0; iTestLength=0; iTest3Length=0; iFingerSignal=0; iNoFingerTimer=0; iCaptureErrNumber=0; IsSignalCaptureErr=0; iMaxOneCycle=0;
INSCON |=0x40;
T3CON=0x00; TR3 = 1; // ????????0 INSCON &=0x0F; ET3=1;//T0?ж??????
// TR1 = 1; // ????????1
IEN0 |= 0x80;//EA }
void DoFour(void)
{ BufToWindows(); MaxMinAvg(WindowsHWG,18,&iHWGMaxOne,&iHWGLengthTest,&iHWGMinOne,&iHWGLengthTest2); iHGMinOne=WindowsHG[iHWGLengthTest2];//20110330caiyaozhong iHWGMinOne=WindowsHWG[iHWGLengthTest2]; iHWGLengthTest3=iHWGLength+1-18+iHWGLengthTest2; //????????? iHGMax2=iHGBufC[0]; iHWGMax2=iHWGBufC[0]; iMaxP2=iHWGLength-6+1; iHGMaxTwo2=iHGBufC[0]; iHWGMaxTwo2=iHWGBufC[0];
iHGMinOne2=iHGMinOne;
iHWGMinOne2=iHWGMinOne;
if(iHWGLengthTest2==17)
{ iHGMinOne2=(WindowsHG[16]+WindowsHG[17])>>1; iHWGMinOne2=(WindowsHWG[16]+WindowsHWG[17])>>1; } else { if(iHWGLengthTest2==0) { iHGMinOne2=(WindowsHG[0]+WindowsHG[1])>>1; iHWGMinOne2=(WindowsHWG[0]+WindowsHWG[1])>>1; } else { iHGMinOne2=(WindowsHG[iHWGLengthTest2-1]+WindowsHG[iHWGLengthTest2])>>1; iHWGMinOne2=(WindowsHWG[iHWGLengthTest2-1]+WindowsHWG[iHWGLengthTest2])>>1; } }
iHGAll2=0;
iHWGAll2=0; for(iAllPC=iHWGLengthTest2;iAllPC<18;iAllPC++) { iHGAll=iHGAll-WindowsHG[iAllPC]; iHWGAll=iHWGAll-WindowsHWG[iAllPC]; iHGAll2=iHGAll2+WindowsHG[iAllPC]; iHWGAll2=iHWGAll2+WindowsHWG[iAllPC]; } for(iAllPC=0;iAllPC<6;iAllPC++) { if(iHWGMax2<iHWGBufC[iAllPC]) { iHGMax2=iHGBufC[iAllPC]; iHWGMax2=iHWGBufC[iAllPC]; iMaxP2=iHWGLength-6+iAllPC+1; } } if(iHWGMax2<iHWGMaxOne) { _nop_(); } } 六、作品演示 请上传您的作品的功能演示到腾讯视频,并编辑到本楼(或附上视频链接)。按要求上传视频可获得10分,具体详见活动规则。 https://v.qq.com/x/page/b0758evleho.html? 七、总结 例如您在完成该作品过程中的一些体会、碰到的技术问题或调试经验、作品的未来规划,及对我们主办方的建议和意见等。 做这款数字血氧探头的过程中,对相关算法的理解越来越深,发现自身还有很多东西需要去学习。目前的这款样品只能显示血氧心率,后面还会继续改进! |
|
发表于2021-08-16 11:53:40
|
显示全部楼层
10#
请问这个是否开源?
|
|