原创 基于SPCE061A的点滴速度监控装置

2008-6-27 12:16 2639 3 4 分类: 医疗电子

通过凌阳16位单片机SPCE<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />061A实现一个液体点滴速度控制系统,其中包括键盘设置、动态显示、点滴速度检测、储液瓶液面检测以及电机控制、异常情况报警等功能,并且该系统作为一个子系统能够和主系统进行通讯。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


从站部分


1.系统功能


该系统能够完成以下功能,示意图如图1所示。


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


1


(1)基本功能


①在滴斗处检测点滴速度,并制作一个数显装置,能动态显示点滴速度(滴/分)。


②通过改变h2控制点滴速度,如图1所示;点滴速度可用键盘设定并显示,设定范围为10200(/),控制误差范围为设定值±10%±1滴。


③调整时间≤3分钟(从改变设定值起到点滴速度基本稳定,能人工读出数据为止)。


④当h1降到警戒值(23cm)时,能发出报警信号。


(2)扩展功能


①能输出从站号、点滴速度和报警信号;从站号和点滴速度可以任意设定。


②接收主站设定的点滴速度信息并显示。


2.方案设计与论证


(1)点滴速度检测可以选择红外发射检测的原理来实现,我们可以在滴斗壁的一端安装一个红外发射传感器,另一端来接收,当有水滴滴下时,传感器会产生一个跳变信号,通过该信号来计算点滴滴下的数目,以此计算出点滴的速度(滴/分),这里用到的传感器是一种光电开关传感器俗名“15mm”,不需要外接任何电路,三根连线分别是:5VGNDOUT,使用非常方便。当电源和地连接好后,可以将输出直接接一个发光二极管,用手在发射和接收之间穿过,就可以看到二极管会亮灭一次。


<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />(2)储液检测电路可以通过两根单芯电缆线插入储液瓶口内23cm处,一端连接5V的电源,另一端接I/O口,并连接一个下拉电阻到地,当液面高于瓶内导体时I/O口为高电平,否则为低电平,参见图2



2


需要注意的是,深入水中的两根线一定要注意绝缘好,不能让水沿着线流入电源和I/O口。


(3)电机控制电路该电路是用来改变h2高度,以此控制点滴的速度,这里我们选用的是永磁异步四相8拍的步进电机,型号为42BYG228,根据电机的正转和反转来控制储液瓶的高度。


(4)键盘设置点滴速度按键功能说明:


09为数字键,该数字键表示站号或者速度,af只表示1015号从站;


Speed_setup/3键:该键有两个功能,一个是设置点滴速度的功能键,另一个是数字键3;③F/ENTER键:该键有两个功能,一个是第十六号从站号F,另一个是确认键;


E/Cancel键:该键有两个功能,一个是第十五号从站号E,另一个是删除当前所设置的数字。举例:设置第15号从站的速度为120/分(说明,从站号从第一个到第十六分别为0F)。


步骤:①先按下Speed_setup/3键,表示现在开始设置站号和速度;


②再输入E/Cancel键,表示输入第十五号从站号;


③依次输入120,即输入所设置的速度;


④按F/ENTER表示确认;


⑤设置完毕。


(5)数码管显示电路数码管显示用到的是共阴极的47段显示。


(6)通讯电路在这里主站和从站之间的通讯采用RS232通讯的方式。


(7)声光报警当发生异常现象时,如:当储液瓶内液体降至警戒值23cm时,发光二极管会点亮,同时会有语音提示:“请注意点滴即将结束”,并发送报警信息给主机。


3.系统硬件电路设计


(1)电路方框图及说明


3是整个系统的结构图,共包括7个部分的模块,从图中也可以了解到各个模块对I/O口的占用情况。



3


(2)各部分电路设计


4


点滴速度检测(图4)利用IOB3来检测点滴数,硬件只需要将IOB3口连接到检测滴速的光电开关的OUT端即可,这样每当有水滴滴下时,传感器会输出一个高低电平,单片机的IOB3接收到会产生一个中断信号。


储液检测电路(图5


5


利用IOB2判断储液瓶是否快要空,将两根线分别插入瓶中,当液面高于线时,两根线会导通,则IOB2输入的是高电平,反之如果液面低于线时,两根线会断开,这时IOB2读到的是低电平,而当IOB2的状态由高电平变为低电平时,会产生中断,此时会启动报警信息。


电机控制电路(图6


6


电机控制用到的电机是四相8拍的永磁步进电机,其中IOB6IOB8IOB9IOB11分别连接四相:ABCD,通过I/O模拟电机转动的时序来控制电机。键盘设置点滴速度(图7)这里键盘的扫描是通过A口的低8位来完成的。


7


其中,A0A3为行输入,而A4A7则为列输出,由于SPCE061A内部自带有100200kΩ的上拉和下拉电阻,并在不同电压时阻值不同,所以不需要再外接上拉或下拉电阻。


数码管显示电路(图8)显示电路中:B口的高4位作为位选信号,驱动部分用到的三极管是NPN型的8050,电阻为470Ω;A口的高8位作为数码管的段码控制,数码管采用的是共阴极的;



8


9是显示的示意图,从左到右依次表示,其中第一位显示的是站号,第二到第四位显示的是速度的值。


9


通讯电路(图1 0


 



10


声光报警电路(图11)声音报警部分,直接采用SPCE061ADAC输出经过功放然后外接喇叭播放出来:即语音信号由DAC引脚2122经语音集成放大器SPYOO30放大,然后输出,SPY0030是凌阳的芯片,相当于LM386,但是比386音质好,它可以工作在2.46.0V范围内,最大输出功率可达700mW386必须工作在4V以上,而且功率只有100mW)。



11


光报警是通过点亮二极管(图12)来实现的:当点滴即将结束时,IOB0会输出


12


一个高电平点亮发光二极管,其中限流电阻采用330Ω。


软件设计


1.I/O的分配


I/OA口的分配IOA0IOA7:键盘输入;


IOA8IOA15:数码管的段码的显示;


剩余端口:无。


I/OB口的分配IOB口分配情况如下:


IOB0为光报警二极管;


IOB2IOB3为外部中断;


IOB7OB10为通讯时用到的RXTX


IOB6IOB8IOB9IOB11为电机控制;


IOB12IOB15为数码管的位选;


剩余端口为IOB1IOB4IOB5


2.程序设计说明及流程


1)主程序结构整个程序考虑到需要处理的任务较多,因此采用模块化编程,具体的结构可以参见主程序流程(图13



13


14为中断子程序流程图。



14


2)各部分实现方法


键盘部分键盘部分采用128Hz的中断实现扫描,键值处理部分主要是对站号及其速度的设置,当设置完毕并按下确认键后,便会将所设置的站号及其速度送到设置的Buffer中,在10s检测的模块中会将该设置的值和当前点滴的速度进行对比,如果不一致则会控制电机的转动来调节直到相同,这里误差设置为10,即当误差在10滴内认为是相同的,电机停止转动。


数码管的显示部分数码管的显示部分采用的是动态扫描的方法,程序每执行一次显示一位,当程序执行4次后又会从数码管的第一位开始显示,依次循环,所以我们看到的是四位同时显示。储液瓶液面高度的检测储液瓶内液面高度的检测采用的是外部中断2EXT1实现的,上电后IOB2为高电平,当液面到达距离底部2~3mm时电路断开,IOB2变为低电平,触发中断产生一个报警信号。


10s检测模块10s检测模块中,主要是将定时10s后计算得到的值送显示得Buffr,同时和设置的Buffer进行对比,判断设置启动电机的标志。


点滴速度的检测点滴速度的检测在前面已经说过了,采用的是一种光电开关传感器,当检测到有液滴滴下时会产生一个从高到低电平的跳变,触发外部中断2EXT2,在EXT2中每进一次会将点滴数加一,用4Hz中断定时10s即进入中断40次,读一次点滴数,然后计算出点滴的速度(滴/分)。电机的控制部分电机的控制部分很简单,当判断到预设值和当前速度不同时,电机根据所给的标志进行正转或反转,直到两个速度相同时停止转动。


主站部分


1.主站功能分析


(1)定点检测在该方式下,可以固定检测来自某一从站的从站号、从站点滴速度。


(2)巡回检测巡回检测方式下,可以实现循环检测所设定的从站号及对应的点滴速度。


(3)设定通过设定键设置需要查询的从站数量、从站号和各从站的点滴速度。


(4)报警显示及报警解除收到从站报警讯号后,进行声光报警并显示相应的从站号,按取消键可解除报警。


2.方案设计


(1)人机界面设计键盘布局如图15所示。



15


其中,说明:4*4键盘中,数字键用于设定从站号、点滴速度、从站数量值,设定时采用分屏显示。按下设定键,便可以开始设置,用一个数码管显示1 6个从站号(显示范围:0F),三个数码管显示点滴速度(显示范围:20~150,十进制),设置完成后按确认键;按定点检测键,开始对设定的从站进行定点检测;按巡回检测键,将循环检测设定的各个从站的点滴速度,同时显示从站号;取消键用于取消输入及解除报警;统计键用于设定需巡回检测的从站数量。


2)通讯协议在这里主站和从站之间的通讯采用RS232通讯的方式。061采用UART实现主从机通信。需要传送的数据有从站号、点滴速度和报警标志。通讯协议采用如下方式:


主从标志用于判断是主站发送的信息还是从站发送的信息,为11时表示主站,为00时表示从站。命令号用于区分检测还是设定,为11时表示检测,为00时表示设定;报警标志用于从站传送报警信号,默认值为00,表示未报警,ff表示报警。


3)光报警及解除在检测方式下,主站可以检测到任意一从站的报警信号,并作光报警提醒工作人员,报警时主站将显示报警从站相关信息,按取消键将解除报警。


3.电路方框图(图16



16


4.软件设计


(1)主程序结构根据主站功能,可以将程序分为以下四个主要模块:键扫描和键处理、数码管显示数据发送接收和声光报警。图17是大致程序流程图。



17


2)各部分实现方法


键盘部分键盘程序调用4*4键盘扫描子程序,主程序循环一次,对键盘扫描一次。键盘扫描子程序的键值存于寄存器R1中,在键值分析处理程序中,对输入键进行移位处理、置功能键标志、从站号输入的处理。图18为键盘中断子程序的流程图。



18


数据发送根据系统功能要求,需要有三种发送方式:在设置状态下的单个逐步发送、定点检测时对当前设置从站的单个发送、巡回检测时的连续发送。设置状态下的单个逐步发送时,设置完一从站后,按确认键将发送设置的数据,接着可进入下一从站的设置。在巡回检测时,主程序循环一次,将给一个从站发送查询信息,直至发送完所有要查询的从站。定点检测时,只发送当前设置的从站查询信息,通知该从站发送它的从站号、当前点滴速度。数据接收在定点检测或巡回检测时将用查询方式接收从站信息,主程序循环一次,将接收一个从站的数据,数据存相应Buffer。显示部分显示的位选及写送段码在FIQ中断中实现,FIQ的定时时钟源为TimerA4kHz时钟。在巡回检测时的各从站的信息显示采用5s定时,即5秒显示一个从站信息。


 
PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

leejun_708981951 2008-7-1 08:43

实际用途不大
相关推荐阅读
用户148065 2008-06-27 12:29
凌阳61板,语音程序
#include "A2000.h" #define SPEECH_1 0 #define DAC1 1 #define DAC2 2 #define Ramp_UpDn_Off 0 #define ...
用户148065 2008-06-27 12:27
智能门禁系统
智能门禁系统<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />郭德胜 李建军  王伟波...
用户148065 2008-06-11 19:01
生命探测仪
DKLLifeGuardTM生命探测器为目前世界上最先进的搜救仪器,体积轻巧仅约1公斤,手持式设计,携带方便,操作简单,性能优越于其他任何高科技的搜救产品,并已广泛为世界上先进国家的军事、海关、海巡、...
用户148065 2008-06-01 16:03
常用的几个JAVASCRIPT函数,收集中……
/*  * 返回当前年月日和星期 */<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />...
用户148065 2008-06-01 15:58
Windows操作系统进程描述
system process进程文件: [system process] or [system process]进程名称: Windows内存处理系统进程描述: Windows页面内存管理进程,拥有0...
EE直播间
更多
我要评论
1
3
关闭 站长推荐上一条 /3 下一条