《医院病床输液监控系统设计-最终版.docx》由会员分享,可在线阅读,更多相关《医院病床输液监控系统设计-最终版.docx(22页珍藏版)》请在课桌文档上搜索。
1、医院病床输液监控系统(E题)摘要该设计是以单片机MEGAI6为核心,以键盘,碰触开关及红外光电开关为输入系统,以液晶、声光报警电路及步进电机为输出系统的智能化输液限制及监控系统。键盘系统为独立式按键系统,红外光电开关的功能为检测点滴的滴下。步进电机具有转速可控功率大及输入脉冲不变时可保持大力矩等优点,这样就可以自如限制吊瓶的上、下缓移可以达到智能限制的目的。点滴速度可用键盘来设定,同时输液结束或发生异样状况能发出报警信号。以上面所述装置为一个从站,主站和从站之间接受自定义串口通信协议,建立了一个由主站限制128个从站的有线监控系统。关键字:光电开关MEGA16步进电机串口通行AbstractT
2、hedesignisbasedonSCMMEGA16coretokeyboard,touchswitchesandinfraredphotoelectricswitchfortheinputsystemtoLCD,soundandlightalarmcircuitandthesteppermotoroutputsystemofintelligentinfusionforthecontrolandmonitoringsystem.Keyboardkeysforthestand-alonesystems,infraredphotoelectricswitchfunctionforthedetect
3、ionofthedrip.Steppermotorcontrolwithspeedandinputpulsepowerofalargechangecanbemaintainedwhentheadvantagesofhightorque,sothatyoucanfreelycontrolthebottleonastringofupperandlowerslowshifttoachieveintelligentcontrol.Keyboardcanbeusedtosetthebitrate,whiletheendofinfusionorabnormalconditionstoanalarmsign
4、al.Totheabovementioneddeviceasaslave,betweenmasterandslaveserialcommunicationprotocolwithacustomsetupamastercontrolstationofthecable128fromthemonitoringsystem.Keywords:OpticalswitchMEGA16steppingmotorUSART书目-、系统方案O1.1 点滴速度的测量O1.2 点滴速度的限制O1.3限制用电动机及驱动的选择与比较O1.4系统总体方案1二、理论分析与设计12.1 点滴速度检测电路原理分析12.2 键盘
5、限制及显示电路设计22.3 越限报警电路32.4 电机限制电路电路设计32.5 主从机通信电路设计4三、电路与程序设计43.1 整机详细电路图见附录143.2 工作流程4四、测试方案与测试结果64.1 系统测试数据64.2 主机从机功能测试64.3 测试结果分析6五、总结:6六、参考文献6附录1:整机详细电路图7附录2:主要限制程序8一、系统方案1.1 点滴速度的测量方案一:接受电感式传感器测量点滴速度在输液器的漏斗外围绕线圈作为敏感元件。当液滴滴下是电感量发生变更,通过LC振荡电路后输出变更的频率值,经过F/V变换电路及电压比较后输出TTL电平信号来检测点滴速度。此方案测量精度比较高,但是外
6、围电路比较困难。方案二:接受反射式红外光电传感器在输液器的漏斗一端放置反射式红外传感器,当液滴下落时,利用其对红外线的反射实力,接收端检测到信号。但是由于水滴的表面不规则且较小,反射信号强弱,且不稳定反射式要求液滴下落时要和传感器保持精确的夹角,当输液器上下移动时会产生晃动,从而产生较强的干扰。方案三:接受槽式红外光电开关接受槽式红外对射式光电开关,集成度高,体积小,功能齐全,电线引出式,电源内藏式具备继电器大功率输出,具备交直流通用型,电压范围宽,抗震性能好,液滴检测特殊稳定,对于对精度要求较高的医疗器械来讲,特殊合适此方案成本低,经过试验可发觉槽式式红外光电开关能比较灵敏地测出水滴。利用测
7、量相邻点滴下落的时间间隔即可确定点滴速度。综合考虑选用方案三槽式红外光电开关。1.2 点滴速度的限制由题目可知,限制液滴下落速度主要有两种方法:方案一:通过步进电机和滑轮系统限制储液瓶的高度,来达到限制液滴流速的目的;方案二:通过限制滴速夹的松紧程度来限制液滴流速。第一项方案实现较为简便,通过步进电机可便利地实现对储液瓶高度的调整,从而达到限制液滴流速的目的。其次项方案限制滴速夹移动的距离很小,但是滴速夹的松紧调整过程中,移动距离,移动阻力等参数难于计算,用机电系统实现起来较为困难。经过综合比较,我们确定选择第一项的方案。1.3 限制用电动机及驱动的选择与比较方案一:接受直流电机由于直流电机上
8、电即转动,掉电后惯性较大,停机时还会转动确定角度后才可停下来。转矩小、无抱死功能,假如要求精确停在一个位置,其闭环算法较困难。方案二:接受步进电机步进电机是一种用电脉冲进行限制,将电脉冲信号转换成相应角位移或线位移的电动机。步进电机每输入一个脉冲信号,转子就转动一个角度或前进一步,其输出的角位移或线位移与输入的脉冲数成正比,转速与脉冲频率成正比。用单片机限制步进电机,限制信号为数字信号,不再须要数/模转换,具有快速启/停实力,可在一刹那间实现启动或停止,且步距角降低小,延时短,定位精确,精度高,可操作性强。综合考虑,选用步进电机作为电机驱动限制电路。1.4 系统总体方案系统实现框图如图1:图1
9、医院病床输液监控系统系统框图用G63-E303槽式红外光电开关检测液滴速度,由MEGA16单片机限制液晶5110显示速度,并限制电机驱动L298,限制步进电机的正反转,从而变更输液瓶的高度,限制点滴的速度,单片机再依据反馈的速度调整输液瓶的高度,闭环反馈精确地限制点滴速度。主机和从机之间利用UART通信方式,接受自定义的串口通信协议,实现主从之间的数据沟通。接受触碰开关来检测异样状况,限制蜂鸣器鸣叫和LED闪烁。二、理论分析与设计2.1 点滴速度检测电路原理分析图2G63-E303槽式红外光电开关内部原理图G6-E303槽式红外光电开关槽式光电开关传感器,发光器能发出红外光或可见光,在无阻状况
10、下光接收器能接收到光,三极管2SC1008导通,OUT端被拉低,OUT输出低电平,LED不亮;当有液滴从槽中落下通过时,光被遮挡,三极管截止,OUT端输出高电平VCC,LED亮。用MEGA16的外部中断采集电平变更时下降沿,来实现对液滴的计数。液滴下落的速度=X滴/分钟。2.2 键盘限制及显示电路设计键盘限制和显示电路我们接受液晶显示和独立按键。我们接受了一款Nokia型号为N5110的液晶显示器,该液晶显示器不同于LCD1602,它本身有没有字库,所以须要我们另外做字库,但是,它与LCDI602相比还是有优越性的,它可以很便利地描绘图画,因为它没有字库,每一幅画面都是人为描出来的,所以显示图
11、画比LCD1602要便利地多。在这块板上N5110是接受模拟SPI通信。键盘限制我们接受了4乘4按键接受坐标查询的方式来识别按键,这是4乘4按键的基本原理图。其中P0、PUP2、P3为输出端口,P4、P5、P6、P7为输入端口。当P0、Pl、P2、P3都为高电平的时候,无论哪个按键被按下了,都与按键没被按下的状态相同,P4、P5、P6、P7端口的输入信号都为高电平。当Po为低电平,Pl、P2、P3都为高电平常,若1号按键被按下,那么,P4口相当于和PO口干脆相连,于是,P4口就读入低电平,而其他三个口读入为高电平。若2号按键被按下,同理,P5口就读入低电平,其他三个端口读图I扫描键盘工作原理入
12、为高电平。其他的5、6、7、8、9、0、A、B、C、D、E、F按键被按下时都没有反应。这样就达到了识别1、2、3、4号按键的功能了,当Pl输出低电平,P0、P2、P3端口为高电平常,同理,可以识别5、6、7、8号按键了。依据这种方式,我们就可以通过8个引脚逐列地扫描按键,达到识别16个按键的功能,而不须要像独立按键那样须要16个引脚,大大地节约了单片机的端口资源。图3扫描键盘工作原理图4通用矩阵键盘原理图2.3 越限报警电路越限报警电路接受触碰开关和干簧管进行检测,把触碰开关安装在规定位置(即分别在输液管顶部距滑轮5cm处和漏斗由于越限报警距受液瓶顶部5cm处),当输液瓶移动到警戒位置时,触碰
13、开关会触发单片机MEG16的PBl口的电平为低电平,PBl口采集到低电平后,立刻限制PA6,使蜂鸣器鸣叫;同时限制PA7口,点亮报警灯。电路原理图如图5图5越限报警电路图干簧管是一种磁敏的特殊开关。它的两个触点由特殊材料制成,被封装在真空的玻璃管里。只要用磁铁接近它,干簧管两个节点就会吸合在一起,使电路导通。因此可以作为传感器用,用于计数,限位等等。将其装在距离受液瓶5cm处,并在漏斗背面安装小磁铁,当漏斗距受液瓶顶部小于5CM时,干簧管两个节点就会吸合在一起,从机检测到低电平,并向主机报告异样状况。主机检测到后蜂鸣器报警,LED闪烁。电机限制电路电路设计1.298N为SGS-THOMSONM
14、icroelectronics所出产的双全桥步进电机专用驱动芯片(DUaIFulBridgeDriver),内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以干脆透过电源来调整输出电压;此芯片可干脆由单片机的IO端口来供应模拟时序信号,但OUT1、OUT2和OUT3、0UT4之间分别接2个步进电机;inputinput4输入限制电位来限制电机的正反转;Enable则限制电机停转。5VQ3VSTEPaEa MOTOR W
15、INOIMO2.4 主从机通信电路设计通信模式选用AVR单片机的内部串口通行模块USART,USART全称是“通用同步和异步串行接收器和转发器”它能够进行全双工操作,即拥有独立的串行接收和转发器,能够同时进行接收和发送。它的工作方式又分为同步和异步,同步即为从机将XCK端口作为外部输入时钟信号,主机将XCK端口作为外部时钟输出引脚,从而把主从机的数据传输同步起来。异步为主从机各自设置相同的波特率(每秒发送数据的比特数,单位为bps或KbPS),通过默认的频率发送和接收数据。它除了要设置工作方式以外还要设置波特率、数据位、校验位、停止位等微小环节,所以无论是哪种方式,它对时序的要求都很高,写程序
16、时必需特殊留意每点的设置,假如有一点不同,通信就会出问题。三、电路与程序设计3.1 整机详细电路图见附录13.2 工作流程主机流程图从机流程图图7程序流程图四、测试方案与测试结果4.1 系统测试数据表1液滴速度检测测试速据单片机检测速度(滴/分)实际速度(滴/分)5050535160597575表2液滴速度调整测试原始值(滴/分)预置值(滴/分)调整后低速(滴/分)稳定时间(秒)521101071338712011914010575771374.2 主机从机功能测试将电路连接好,上电测试,从机将点滴的速度送入主机,并在主机中显示从机的速度和机号,此功能正常。4.3 测试结果分析从以上测试结果可
17、以看出,本系统已基本完成题目中的各项要求并在此基础上有所发挥,其中点滴速度的测量比较精确,在全量程内其误差小于2(滴/分)。设置点滴速度功能中,限制精度在全量程范围内误差在5%以内,但是还是有确定的误差,经分析主要是由以下缘由造成的:1由于瓶中的水不断削减,造成水滴的下落速度不匀整。2在动态限制时,由于瓶处于运动状态,其上升、下降运动不行避开的会产生加速度,导致水滴下落时速度不稳定。3算法本身不行能是完全精确的,必定存在舍入误差等,这些误差会影响测量结果。五、总结:本系统完成了在滴斗处检测点滴速度,并制作了一个液晶显示装置,能动态显示点滴速度(滴/分)。通过变更高度限制点滴速度,点滴速度可用键
18、盘设定并显示,设定范围为5(120(滴/分),误差在要求范围内。当高度到达警戒值时能发出报警信号,并可以手动解除报警状态。每个从站都可以和主站通信。主站可以工作在定点和巡回检测两种方式下,可以显示从站传输来的从站号和点滴速度,并设定从站的点滴速度。六、参考文献1伍亮.红外线检测物体单向运动计数器.设计师笔记,1997(6)17-18.2贾智平,石冰.微机原理与接口技术.中国水利水电出版社,1999.3江海波.深化浅出AVR单片机:从ATmega4888168起先.中国电力出版社,2008.06.4康华光.电子技术基础(模拟部分).高等教化出版社,2006.OL5杨路明.C语言程序设计教程.北京
19、邮电高校出版社,2005.12月.附录L整机详细电路图主站详细原理图H3MyrS5110三3T11.越限报警模块从站详细原理图12v1.298电机驱动模块2OUn3OBiU14OV4JPl取小系统排插点滴速度检测模块JlHEADgJT70UT3-一VCC5,3KQOUT2T3-130:触碰开关附录2:主要限制程序主机程序#include#include#includeincludeN5110.h#defineucharunsignedchar#defineF.CP8000000#defineBAUDRATE9600intflag,Num;staticintUart_Flag=O;ucharDa
20、ta3;intV_Speed=50;intFIag=O;voidUSART_init(void)(ucsrb=oxoo;UCSRC=(1UCSZ1)(1CSZO);UBRRL=(F.CP16BADRATE-1)%256;UBRRH=(F.CPU16BADRATE-1)256;UCSRB=(1RXEN)(1TXEN)(1RXCIE);voidUSART_send(uchardata)while(!(CSRA8i(lUDRE);UDR=data;while(!(UCSRA8i(lTXC);)voidtimer0_init(void)(TCCR0=(1CSOO)(1CS02);/1024分频,一般模
21、式TIMSK=0X01;TCNT0=0X63;/20ms1次中断voidportjnit(void)(DDRB=OXOf;PORTB=OXFF;DDRD=0x02;PORTD=Oxff;DDRA=OxfO;PORTA=0x80;)intkey_scan(void)(inti,j,a,b;for(i=0;i4;i+)(PORTB=(li);_delay_us(100);a=PINB&OXFO;if(a!=OxfO)(switch(a)(caseOxeO:b=4*i+l;break;caseOxdO:b=4*i+2;break;caseOxbO:b=4*i+3;break;case0x70:b=4
22、*i+4;break;default:b=0;break;_delay_ms(1500);returnb;returnO;voidData_Send(void)(USART_send(Oxff);_delay_ms(10);USART_send(Num);_delay_ms(10);USART_send(V_Speed);_delay_ms(10);)intmain(void)(inti,j,key;portjnit();N511OJnitO;USART.initO;sei();while(l)key=key_scan();switch(key)(case0x01:Num=0x01;Flag=
23、0;break;case0x02:Num=0x02;Flag=0;break;case0x03:V_Speed+=5;Flag=0;break;速度上升case0x04:V_Speed-=5;Flag=0;break;速度下降case0x05:Data_Send();Flag=0;break;case0x06:Num=0x00;Data_Send();Flag=0;N5110_clear_screen();break;未选择任何从机,从机可呼叫主机case0x07:Flag=l;break;case0x08:N5110_add_xy(0,5);N5110ed_ASCALLS();PORTA&=
24、(16);PORTA|=(l7);break;)if(Flag=1)(Num=0x01;V,Speed=0x00;Data_Send();for(i=0;i100;i+)(_delay_ms(100);)Num=0x02;V_Speed=0x00;Data_Send();for(i=0;i=3)(if(Datal=003)(N511O_add_xy(O,5);N511OJedJnt(DataO);N511OJed-ASCALLS(CALL!);PORTA=(16);PORTA8t=(l7);else(N5110_add_xy(0,0);N5110Jed-ASCALLS(Num:);N511OJ
25、edJnt(DataO);N511OJed-ASCALLS();N511O_add_xy(O,l);N511OJed-ASCALLS(State:);if(Datal=OOO)(N5110_led_ASCALLS(Good!);N511OJed.ASCALLS();elseif(Datal=OxOl)(N5110ed_ASCALLS(Up!)N5110_led_ASCALLS();PORTA=(16);PORTA8t=(l7);elseif(Datal=002)(N5110Jed_ASCALLS(Down!);N5110Jed.ASCALLS();PORTA=(16);PORTA8t=(l7)
26、;N5110_add_xy(0,2);N5110Jed.ASCALLS(V.Speed:);N5110ed_int(V_Speed);N5110ed_ASCALLS();N5110_add_xy(0,3);N5110_led_ASCALLS(Speed:);if(Data210)(N5110ed_ASCALLS(Doner);N511O_led_ASCALLS();PORTA=(16);PORTA8t=(l7);else(N5110JedJnt(Data2);N5110ed_ASCALLSC);)从机程序#include#include#includeincludeN5110.h#define
27、ucharunsignedchar#defineF_CPU8000000#defineBAUDRATE9600intflag,Num;staticintUart_Flag=O;ucharData3;intV_Speed=50;intFIag=O;voidUSART_init(void)(ucsrb=oxoo;UCSRC=(1CSZ1)(1UCSZO);UBRRL=(F.CP16BADRATE-1)%256;UBRRH=(F.CPU16BADRATE-1)256;UCSRB=(1RXEN)(1TXEN)(1RXCIE);)voidUSART_send(uchardata)while(!(CSRA
28、8i(lDRE);UDR=data;while(!(UCSRA8i(lTXC);)voidtimerOJnit(void)1024分频一般模式(TCCR0=(1CSOO)(1CS02);TIMSK=0X01;TCNTO=OX63;)20msl次中断voidportjnit(void)(DDRB=OXOf;PORTB=OXFF;DDRD=0x02;PORTD=Oxff;DDRA=OxfO;PORTA=0x80;)intkey_scan(void)(inti,j,a,b;for(i=0;i4;i+)(PORTB=(li);_delay_us(100);a=PINB&OXFO;if(a!=OxfO)
29、switch(a)(caseOxeO:b=4*i+l;break;caseOxdO:b=4*i+2;break;caseOxbO:b=4*i+3;break;case0x70:b=4*i+4;break;default:b=0;break;_delay_ms(1500);returnb;returnO;)voidData_Send(void)(USART_send(Oxff);_delay_ms(10);USART_send(Num);_delay_ms(10);USART_send(V_Speed);_delay_ms(10);intmain(void)(inti,j,key;portjni
30、t();N5110JnitO;USARTJnitO;sei();while(l)(key=key_scan();switch(key)(case0x01:Num=0x01;Flag=0;break;case0x02:Num=0x02;Flag=0;break;case0x03:V_Speed+=5;Flag=0;break;速度上升case0x04:V_Speed-=5;Flag=0;break;速度下降case0x05:Data_Send();Flag=0;break;CaSeOX06:NUm=OXOO;Data_Send();Flag=0;N5110_dear_screen();break
31、;未选择任何从机,从机可呼叫主机case0x07:Flag=l;break;caseOxO8N511O-add.xy(O,5)jN511O.led.ASCALLS();PORTA&=(16);PoRTA|=(l7);break;if(Flag=1)(Num=0x01;V_Speed=0x00;Data_Send();for(i=0;i100;i+)(_delay_ms(100);)Num=0x02;V.Speed=0x00;Data_Send();for(i=0;i=3)(if(Datal=003)(N5110_add_xy(0,5);N5110JedJnt(Data0);N5110Jed-ASCALLS(CALL!);PORTA=(16);PORTA8t=(lD=0vaodX9)=lyodQ.)snsp三osNX.iuoaJs-11vDS-posN(0I辟ea)J!(pdsJs11DSPSN(,o)pposN:(.)smDS-posNJ(pds)lupoSNQ:PaadS-/)STlOSV-paOI1:N:(乙O)人X-PPe-OTJSN;(1)-=79ViyOd(9T)=liydL-)snDSposNQuMoa.)sDSposN(3o=lwa)U!s(QT)=0VlXOd(9)=lyodQ.)snsposN!(idn)SnV3SV-p30ITSN