0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于89C51RD2单片机和嵌入式内核实现智能型肠营养输液泵的设计

电子设计 来源:单片机与嵌入式系统应用 作者:陈杰峰,王自强 2021-04-19 10:41 次阅读

随着各种电子系统在各个领域中应用的不断深入,对电子系统本身的要求也越来越高,尤其对于控制系统软件设计的可靠性、实时响应等各个方面的性能有了更严格的要求。单片机的程序设计不再是前后台的运行模式,而是采用多任务实时操作系统的设计思想。由于使用嵌入式操作系统,可以将具体应用分解成多个任务,简化了应用系统软件的设计,使控制系统的实时性得到保证,使其达到理想状态。良好的多任务设计,还有助于提高系统的稳定性和可靠性。

目前,国内应用最多的是以51系列单片机为主的8位单片机。在51系列单片机系统中,可以进行移植的嵌入式操作系统为数不多。其中,Keil自带的RTX51没有源代码,使用起来很不方便;uC/OSII虽然有源代码,也有移植成的例子,但是,它对于51系列单片机系统的资源占用过大,需要外扩RAM,而且要保证每个函数的可重入性,使用起来比较勉强。Small RTOS51是专门为小RAM系统设计的占先式内核,占用资源少、实时性好,应用在本系统上非常合适。

1 系统功能及硬件描述

1.1 系统的功能描述

对于处于昏迷状态或食道进行手术的病人,需要一种按时、按量对病人进行肠营养液输入的智能型肠营养液输液泵,以达到维持病人生命的目的。本文介绍的智能型肠营养输液泵(以下简称营养泵)主要实现以下功能:

根据要求,可以设定输入营养液的总量、流速、温度等参数,并且在运行过程中可以任意修改;

根据指令,自动检测和控制营养液的流量和流速,并将数据反馈给主程序;

根据设定营养液的温度,自动检测和控制营养液的温度,并将温度数据反馈给主程序;

在出现营养液的温度、流量和流速异常时,发出声、光报警信号

使用LCD显示各种数据,随时查看已经输入营养液的数量、温度、流量和流速;

营养泵主要由220VAC供电,同时备有应急充电电池,一次充电可以连续运行12小时以上,以备医院紧急停时使用。

1.2 系统的硬件描述

本营养泵的电路原理框图如图1所示。

系统的主控CPU采用Philips公司的89C51RD2,实现系统的多任务控制;LCD采用北京青云的LCM12232B液晶模块,显示液体的控制参数;控制温度的DAC采用TI公司的TLC5615,使营养液温度误差达到0.1℃以内;电池容量和温度的反馈值均为模拟电压,采用A/D,转换后,送入CPU;A/D转换器使用的是TI公司的TLC1543;应急电池充电电路,采用Linear公司的LTC4006,充电电压为12.6V,电池容量为4000mAh;营养液流量反馈,采用红外线对管,直接由CPU记数;营养泵电机使用直流电动机,采用控制电机运行和停止时间的方法对转速进行闭环控制,以达到控制液体流量的目的。

2 Small RTOS51简介

Small RTOS51是一个专门为51系列单片机设计的嵌入式实时操作内核,使用Keil编译器可以直接使用其代码,它有如下特点。

公开源代码。只要遵循许可协议,任何人可以免费获得源泉代码,便于用户的二次开发。

可移植性。用户可以把与CPU有关的控制指令压缩到最小,把大部分精力放在CPU的控制程序上。可以使用ANSI C编写应用程序,不仅简化了编程手段,而且便于程序移植。

可固化性。Small RTOS51为嵌入式系统设计,可以嵌入到产品中,成为产品的一部分。

占先式运行。Small RTOS51可以管理16个用户任务,每个任务可以设置不同的优先级。Small RTOS51总是运行优先级最高的任务。

中断管理。采用中断管理方式,当有更高级的中断申请时,将目前正在执行的任务挂起。如果优先级更高的任务被中断唤醒,则高优先级的任务在中断嵌套结束后立刻执行。中断嵌套层数可达255层。如果需要,还可以禁止中断的嵌套管理。

RAM需求小。SmallRTOS51为小RAM的系统设计,因而对RAM的需求只有几百字节,相应的系统服务也少。

3 系统的软件实现

按照系统所要实现的功能,将整个系统划分为几个并行的任务,占先式操作内核对任务的调度是按照任务优先权的高低进行。本文中,将系统划分为9个任务,按其优先级从高到低的顺序排列依次是:报警任务、温控任务、按键输入任务、主控制任务、电机运行任务、流量控制任务、记时任务、液晶显示任务和电池电量检测任务。系统上电以后进入主程序,首先对系统进行自检并任务,启动9个程,此时系统的运行就由Small RTOS51来接管。

3.1 报警任务

由于本文所述的营养泵,主要应用在危重病人的看护中,所以将报警任务在放在最重要的位置。报警程序由一个全局变量setbaojing来控制,其不断检测温控程序、流量控制程序和电池电量检测程序的输出值。当上述程序出现故障报警信号时,setbaojing为1,报警程序立即使蜂鸣器和报警灯工作,并在液晶屏幕上显示出现故障的名称,直到有人来清除故障后,才可以正常运行。

3.2 温控任务

由于人体对于温度的变化非常敏感,而肠营养液是直接输入到人的小肠当中,所以系统对温度的要求非常高,为此,本系统将温控任务放在第二位。先将设定的温度参数输入给CPU,经过PI计算,发出数字信号,再用TLC5615转换成模拟量,控制加温电路给营养液加温。营养液的实际温度,由温度反馈电路转换成电压信号,再通过A/D转换成数字信号反馈给CPU,由CPU进行闭环控制。

3.3 控制输入任务

按键是实现人机交互的重要设备,要求实时性较高。从系统软件的设计角度,不仅要读出按键的状态,还需要具有对按键的抖动、连击、串键等特殊情况进行处理。系统按键输入任务流程如图2所示,本任务使用消息队列指令KeyReadBuf[16],向主控制程序发送按键的相关信息

3.4 主控制任务

主控制任务应用SmallRTOS51提供的系统函数OSQPend(KeyTemp,KeyRead Buf,0)来查录按键输入任务提供的信息,一旦发觉KeyReadBuf[16]中有了相关信息,立刻运行输入程序。根据按键的命令,控制电机运行程序、流量控制程序、液晶显示程序的运行及停止,每当有一组按键信息进入消息队列中,本程序就修改一次运行指令。

3.5 电机运行任务

电机运行任务一直处于等待的状态,当主控制程序给它发关字相应的指令才开始运行。在运行过程中,电机运行任务受到主控制程序和流量控制程序的控制,一旦有停止运行的命令,或流量有异常,就立刻停止电机的运行。

3.6 流量控制任务

液量控制任务主要由CPU来控制输入营养液的流量及流速。正常运行情况下,流量控制程序会向液晶显示程序发送流量及流速的信息,使液晶上显示已经输入营养液的数量、流量及流速。一旦发生异常情况,如流速过快、一段时间营养液没有流动等故障,立刻向电机运行程序发出指令,停止电机的运行,同时将setbaojing置1,使报警程序运行。

3.7 记时任务

记时任务主要是为系统提供一个同步时钟,为系统提供同步运行的基准。

3.8 液晶显示任务

液晶显示任务主要由主控制程序、报警程序、流量控制程序、电池电量检测程序传递到消息队列中的参数。通过运行显示程序,在液晶上显示相关的汉字和字符,本身不向其它任务发送命令。

3.9 电池电量检测任务

一旦发生220VAC市电断电的情况,营养泵会立刻自动切换到内置的锂电池供电,电池可以连续使用12小时以上。电池电量检测程序会自动运行,检测电池的电量。在电量低的情况,电池电量检测程序会发出报警信号,但不会主动停止系统的运行。

4 试验数据

用本文所述的智能肠营养液泵对目前市场上常用的几种营养袋进行实验。

以上实验数据表明,本智能肠营养液泵的输液量精度远远高于目前市场上10%的通用标准,并且对各种品牌的营养液袋都能控制在足够的精度范围内。

结语

在肠营养液泵的设计中,使用了Small TROS51,大大简化了程序设计的难度,增强了系统的可靠性和安全性,满足系统实时性要求。本设计达到了国家标准,并且已经在临库中开始使用。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    5997

    文章

    43948

    浏览量

    620544
  • 转换器
    +关注

    关注

    27

    文章

    8172

    浏览量

    141575
  • 嵌入式
    +关注

    关注

    4976

    文章

    18246

    浏览量

    287919
收藏 人收藏

    评论

    相关推荐

    如何判断/区分智能型与非智能型编程器?

    如何判断智能型与非智能型编程器?     智能型编程器的主要特征是自带高速单片机。大多数智能型编程器产品选用MCS
    发表于 08-12 00:42

    利用Small RTOS51营养输液系统研究

    利用Small RTOS51营养输液系统研究单片机的程序设计不再是前后台的运行模式,而是采用多任务实时操作系统的设计思想。由于使用
    发表于 11-30 09:48

    单片机嵌入式Internet技术的Web应用实现

    精简TCP/IP协议栈的实现,对数据的逐层打包、封帧、传送等流程[2];二是单片机Web应用服务的实现。 由单片机组成的
    发表于 11-24 18:10

    讨论一下输液泵精度调节的问题

    本人目前在做一个关于输液泵的项目,主控板是飞思卡尔8位单片机。有没有相关经验的大侠能一起讨论一下输液泵精度调节的问题。主要是步进电机速度对应的输液的速度……这里附一个
    发表于 07-31 11:39

    【 sharknaro】嵌入式WiFi智能输液云监控系统

    项目名称: 嵌入式WiFi智能输液云监控系统团队名称:sharknaro团队成员:赵镇 艾小禾 刘鹏作品演示作品介绍原理概述我们以TI公司MSP430单片机为控制核心,基于传感器技术、
    发表于 01-07 16:35

    51单片机原理及应用嵌入式

    进入下阶段一、单片机嵌入式系统概述:包括嵌入式系统概念、单片机的特点、应用领域和发展趋势、市场主流单片机性能比较与选型、常用
    发表于 12-21 16:51

    嵌入式WiFi输液智能云监控系统

    、NFC技术、智能云技术等研究设计了一套嵌入式WiFi智能输液云监控系统。采用光电检测模块检测输液速度,通过步进电机对点滴速度进行控制,利用
    发表于 05-25 09:57

    输液泵选择触力和压力传感器的三大关键因素

    输液泵从笨重型向便携、无需卧床及植入设备的转变,设计者应考虑选用具有大量选项的传感器平台,以便于不同设计理念的实施。  设计者还应考虑具有完全补偿、放大和校准特性的压力传感器,以降低总成本、提高
    发表于 11-06 16:02

    到底什么是嵌入式?什么是单片机

    具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。今天,小枣君就给大家做一个入门科普,揭秘上述问题的答案。与此同时,我还会给大家介绍一下,我们经常听说的51
    发表于 05-08 10:35

    什么是嵌入式?什么是单片机

    具体什么是嵌入式,什么是单片机,它们之间究竟有什么区别,我相信大部分人并不能解释清楚。今天就给大家做一个入门科普,揭秘上述问题的答案。与此同时,我还会给大家介绍一下,我们经常听说的51、STM32
    发表于 05-19 14:25

    μC/OS-II在P89V51RD2上是怎样实现移植的?

    μC/OS-II是什么?μC/OS-II内核结构是由哪些组成的?什么是P89V51RD2微处理器?μC/OS-II在P
    发表于 04-27 06:18

    基于STC89C51单片机设计了一款智能型金属探测仪

    功能基于STC89C51单片机设计了一款智能型金属探测仪,该设计能够利用电磁感应原理对金属进行探测。进行金属探测时,感应线圈中变化方向的电流能够产生变化的磁场。若有金属接近感应线圈时,变化的磁场能够
    发表于 11-19 08:45

    微力 FMA 传感器的医学应用

    非常精确的数额定期。输液泵的类型包括便携输液泵,肾透析和便携
    发表于 04-15 15:21

    嵌入式内核实

    嵌入式内核实
    发表于 01-22 13:58 0次下载

    基于89C51RD的肠营养输液系统原理图

    电子发烧友网站提供《基于89C51RD的肠营养输液系统原理图.pdf》资料免费下载
    发表于 10-10 10:39 0次下载
    基于<b class='flag-5'>89C51RD</b>的肠<b class='flag-5'>营养</b>液<b class='flag-5'>输液</b>系统原理图