0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于89C51RD2單片機(jī)和嵌入式內(nèi)核實(shí)現(xiàn)智能型腸營(yíng)養(yǎng)輸液泵的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:陳杰峰,王自強(qiáng) ? 2021-04-19 10:41 ? 次閱讀

隨著各種電子系統(tǒng)在各個(gè)領(lǐng)域中應(yīng)用的不斷深入,對(duì)電子系統(tǒng)本身的要求也越來(lái)越高,尤其對(duì)于控制系統(tǒng)軟件設(shè)計(jì)的可靠性、實(shí)時(shí)響應(yīng)等各個(gè)方面的性能有了更嚴(yán)格的要求。單片機(jī)的程序設(shè)計(jì)不再是前后臺(tái)的運(yùn)行模式,而是采用多任務(wù)實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)思想。由于使用嵌入式操作系統(tǒng),可以將具體應(yīng)用分解成多個(gè)任務(wù),簡(jiǎn)化了應(yīng)用系統(tǒng)軟件的設(shè)計(jì),使控制系統(tǒng)的實(shí)時(shí)性得到保證,使其達(dá)到理想狀態(tài)。良好的多任務(wù)設(shè)計(jì),還有助于提高系統(tǒng)的穩(wěn)定性和可靠性。

目前,國(guó)內(nèi)應(yīng)用最多的是以51系列單片機(jī)為主的8位單片機(jī)。在51系列單片機(jī)系統(tǒng)中,可以進(jìn)行移植的嵌入式操作系統(tǒng)為數(shù)不多。其中,Keil自帶的RTX51沒(méi)有源代碼,使用起來(lái)很不方便;uC/OSII雖然有源代碼,也有移植成的例子,但是,它對(duì)于51系列單片機(jī)系統(tǒng)的資源占用過(guò)大,需要外擴(kuò)RAM,而且要保證每個(gè)函數(shù)的可重入性,使用起來(lái)比較勉強(qiáng)。Small RTOS51是專(zhuān)門(mén)為小RAM系統(tǒng)設(shè)計(jì)的占先式內(nèi)核,占用資源少、實(shí)時(shí)性好,應(yīng)用在本系統(tǒng)上非常合適。

1 系統(tǒng)功能及硬件描述

1.1 系統(tǒng)的功能描述

對(duì)于處于昏迷狀態(tài)或食道進(jìn)行手術(shù)的病人,需要一種按時(shí)、按量對(duì)病人進(jìn)行腸營(yíng)養(yǎng)液輸入的智能型腸營(yíng)養(yǎng)液輸液泵,以達(dá)到維持病人生命的目的。本文介紹的智能型腸營(yíng)養(yǎng)輸液泵(以下簡(jiǎn)稱營(yíng)養(yǎng)泵)主要實(shí)現(xiàn)以下功能:

根據(jù)要求,可以設(shè)定輸入營(yíng)養(yǎng)液的總量、流速、溫度等參數(shù),并且在運(yùn)行過(guò)程中可以任意修改;

根據(jù)指令,自動(dòng)檢測(cè)和控制營(yíng)養(yǎng)液的流量和流速,并將數(shù)據(jù)反饋給主程序;

根據(jù)設(shè)定營(yíng)養(yǎng)液的溫度,自動(dòng)檢測(cè)和控制營(yíng)養(yǎng)液的溫度,并將溫度數(shù)據(jù)反饋給主程序;

在出現(xiàn)營(yíng)養(yǎng)液的溫度、流量和流速異常時(shí),發(fā)出聲、光報(bào)警信號(hào);

使用LCD顯示各種數(shù)據(jù),隨時(shí)查看已經(jīng)輸入營(yíng)養(yǎng)液的數(shù)量、溫度、流量和流速;

營(yíng)養(yǎng)泵主要由220VAC供電,同時(shí)備有應(yīng)急充電電池,一次充電可以連續(xù)運(yùn)行12小時(shí)以上,以備醫(yī)院緊急停時(shí)使用。

1.2 系統(tǒng)的硬件描述

本營(yíng)養(yǎng)泵的電路原理框圖如圖1所示。

系統(tǒng)的主控CPU采用Philips公司的89C51RD2,實(shí)現(xiàn)系統(tǒng)的多任務(wù)控制;LCD采用北京青云的LCM12232B液晶模塊,顯示液體的控制參數(shù);控制溫度的DAC采用TI公司的TLC5615,使?fàn)I養(yǎng)液溫度誤差達(dá)到0.1℃以內(nèi);電池容量和溫度的反饋值均為模擬電壓,采用A/D,轉(zhuǎn)換后,送入CPU;A/D轉(zhuǎn)換器使用的是TI公司的TLC1543;應(yīng)急電池充電電路,采用Linear公司的LTC4006,充電電壓為12.6V,電池容量為4000mAh;營(yíng)養(yǎng)液流量反饋,采用紅外線對(duì)管,直接由CPU記數(shù);營(yíng)養(yǎng)泵電機(jī)使用直流電動(dòng)機(jī),采用控制電機(jī)運(yùn)行和停止時(shí)間的方法對(duì)轉(zhuǎn)速進(jìn)行閉環(huán)控制,以達(dá)到控制液體流量的目的。

2 Small RTOS51簡(jiǎn)介

Small RTOS51是一個(gè)專(zhuān)門(mén)為51系列單片機(jī)設(shè)計(jì)的嵌入式實(shí)時(shí)操作內(nèi)核,使用Keil編譯器可以直接使用其代碼,它有如下特點(diǎn)。

公開(kāi)源代碼。只要遵循許可協(xié)議,任何人可以免費(fèi)獲得源泉代碼,便于用戶的二次開(kāi)發(fā)。

可移植性。用戶可以把與CPU有關(guān)的控制指令壓縮到最小,把大部分精力放在CPU的控制程序上??梢允褂肁NSI C編寫(xiě)應(yīng)用程序,不僅簡(jiǎn)化了編程手段,而且便于程序移植。

可固化性。Small RTOS51為嵌入式系統(tǒng)設(shè)計(jì),可以嵌入到產(chǎn)品中,成為產(chǎn)品的一部分。

占先式運(yùn)行。Small RTOS51可以管理16個(gè)用戶任務(wù),每個(gè)任務(wù)可以設(shè)置不同的優(yōu)先級(jí)。Small RTOS51總是運(yùn)行優(yōu)先級(jí)最高的任務(wù)。

中斷管理。采用中斷管理方式,當(dāng)有更高級(jí)的中斷申請(qǐng)時(shí),將目前正在執(zhí)行的任務(wù)掛起。如果優(yōu)先級(jí)更高的任務(wù)被中斷喚醒,則高優(yōu)先級(jí)的任務(wù)在中斷嵌套結(jié)束后立刻執(zhí)行。中斷嵌套層數(shù)可達(dá)255層。如果需要,還可以禁止中斷的嵌套管理。

RAM需求小。SmallRTOS51為小RAM的系統(tǒng)設(shè)計(jì),因而對(duì)RAM的需求只有幾百字節(jié),相應(yīng)的系統(tǒng)服務(wù)也少。

3 系統(tǒng)的軟件實(shí)現(xiàn)

按照系統(tǒng)所要實(shí)現(xiàn)的功能,將整個(gè)系統(tǒng)劃分為幾個(gè)并行的任務(wù),占先式操作內(nèi)核對(duì)任務(wù)的調(diào)度是按照任務(wù)優(yōu)先權(quán)的高低進(jìn)行。本文中,將系統(tǒng)劃分為9個(gè)任務(wù),按其優(yōu)先級(jí)從高到低的順序排列依次是:報(bào)警任務(wù)、溫控任務(wù)、按鍵輸入任務(wù)、主控制任務(wù)、電機(jī)運(yùn)行任務(wù)、流量控制任務(wù)、記時(shí)任務(wù)、液晶顯示任務(wù)和電池電量檢測(cè)任務(wù)。系統(tǒng)上電以后進(jìn)入主程序,首先對(duì)系統(tǒng)進(jìn)行自檢并任務(wù),啟動(dòng)9個(gè)程,此時(shí)系統(tǒng)的運(yùn)行就由Small RTOS51來(lái)接管。

3.1 報(bào)警任務(wù)

由于本文所述的營(yíng)養(yǎng)泵,主要應(yīng)用在危重病人的看護(hù)中,所以將報(bào)警任務(wù)在放在最重要的位置。報(bào)警程序由一個(gè)全局變量setbaojing來(lái)控制,其不斷檢測(cè)溫控程序、流量控制程序和電池電量檢測(cè)程序的輸出值。當(dāng)上述程序出現(xiàn)故障報(bào)警信號(hào)時(shí),setbaojing為1,報(bào)警程序立即使蜂鳴器和報(bào)警燈工作,并在液晶屏幕上顯示出現(xiàn)故障的名稱,直到有人來(lái)清除故障后,才可以正常運(yùn)行。

3.2 溫控任務(wù)

由于人體對(duì)于溫度的變化非常敏感,而腸營(yíng)養(yǎng)液是直接輸入到人的小腸當(dāng)中,所以系統(tǒng)對(duì)溫度的要求非常高,為此,本系統(tǒng)將溫控任務(wù)放在第二位。先將設(shè)定的溫度參數(shù)輸入給CPU,經(jīng)過(guò)PI計(jì)算,發(fā)出數(shù)字信號(hào),再用TLC5615轉(zhuǎn)換成模擬量,控制加溫電路給營(yíng)養(yǎng)液加溫。營(yíng)養(yǎng)液的實(shí)際溫度,由溫度反饋電路轉(zhuǎn)換成電壓信號(hào),再通過(guò)A/D轉(zhuǎn)換成數(shù)字信號(hào)反饋給CPU,由CPU進(jìn)行閉環(huán)控制。

3.3 控制輸入任務(wù)

按鍵是實(shí)現(xiàn)人機(jī)交互的重要設(shè)備,要求實(shí)時(shí)性較高。從系統(tǒng)軟件的設(shè)計(jì)角度,不僅要讀出按鍵的狀態(tài),還需要具有對(duì)按鍵的抖動(dòng)、連擊、串鍵等特殊情況進(jìn)行處理。系統(tǒng)按鍵輸入任務(wù)流程如圖2所示,本任務(wù)使用消息隊(duì)列指令KeyReadBuf[16],向主控制程序發(fā)送按鍵的相關(guān)信息。

3.4 主控制任務(wù)

主控制任務(wù)應(yīng)用SmallRTOS51提供的系統(tǒng)函數(shù)OSQPend(KeyTemp,KeyRead Buf,0)來(lái)查錄按鍵輸入任務(wù)提供的信息,一旦發(fā)覺(jué)KeyReadBuf[16]中有了相關(guān)信息,立刻運(yùn)行輸入程序。根據(jù)按鍵的命令,控制電機(jī)運(yùn)行程序、流量控制程序、液晶顯示程序的運(yùn)行及停止,每當(dāng)有一組按鍵信息進(jìn)入消息隊(duì)列中,本程序就修改一次運(yùn)行指令。

3.5 電機(jī)運(yùn)行任務(wù)

電機(jī)運(yùn)行任務(wù)一直處于等待的狀態(tài),當(dāng)主控制程序給它發(fā)關(guān)字相應(yīng)的指令才開(kāi)始運(yùn)行。在運(yùn)行過(guò)程中,電機(jī)運(yùn)行任務(wù)受到主控制程序和流量控制程序的控制,一旦有停止運(yùn)行的命令,或流量有異常,就立刻停止電機(jī)的運(yùn)行。

3.6 流量控制任務(wù)

液量控制任務(wù)主要由CPU來(lái)控制輸入營(yíng)養(yǎng)液的流量及流速。正常運(yùn)行情況下,流量控制程序會(huì)向液晶顯示程序發(fā)送流量及流速的信息,使液晶上顯示已經(jīng)輸入營(yíng)養(yǎng)液的數(shù)量、流量及流速。一旦發(fā)生異常情況,如流速過(guò)快、一段時(shí)間營(yíng)養(yǎng)液沒(méi)有流動(dòng)等故障,立刻向電機(jī)運(yùn)行程序發(fā)出指令,停止電機(jī)的運(yùn)行,同時(shí)將setbaojing置1,使報(bào)警程序運(yùn)行。

3.7 記時(shí)任務(wù)

記時(shí)任務(wù)主要是為系統(tǒng)提供一個(gè)同步時(shí)鐘,為系統(tǒng)提供同步運(yùn)行的基準(zhǔn)。

3.8 液晶顯示任務(wù)

液晶顯示任務(wù)主要由主控制程序、報(bào)警程序、流量控制程序、電池電量檢測(cè)程序傳遞到消息隊(duì)列中的參數(shù)。通過(guò)運(yùn)行顯示程序,在液晶上顯示相關(guān)的漢字和字符,本身不向其它任務(wù)發(fā)送命令。

3.9 電池電量檢測(cè)任務(wù)

一旦發(fā)生220VAC市電斷電的情況,營(yíng)養(yǎng)泵會(huì)立刻自動(dòng)切換到內(nèi)置的鋰電池供電,電池可以連續(xù)使用12小時(shí)以上。電池電量檢測(cè)程序會(huì)自動(dòng)運(yùn)行,檢測(cè)電池的電量。在電量低的情況,電池電量檢測(cè)程序會(huì)發(fā)出報(bào)警信號(hào),但不會(huì)主動(dòng)停止系統(tǒng)的運(yùn)行。

4 試驗(yàn)數(shù)據(jù)

用本文所述的智能腸營(yíng)養(yǎng)液泵對(duì)目前市場(chǎng)上常用的幾種營(yíng)養(yǎng)袋進(jìn)行實(shí)驗(yàn)。

以上實(shí)驗(yàn)數(shù)據(jù)表明,本智能腸營(yíng)養(yǎng)液泵的輸液量精度遠(yuǎn)遠(yuǎn)高于目前市場(chǎng)上10%的通用標(biāo)準(zhǔn),并且對(duì)各種品牌的營(yíng)養(yǎng)液袋都能控制在足夠的精度范圍內(nèi)。

結(jié)語(yǔ)

在腸營(yíng)養(yǎng)液泵的設(shè)計(jì)中,使用了Small TROS51,大大簡(jiǎn)化了程序設(shè)計(jì)的難度,增強(qiáng)了系統(tǒng)的可靠性和安全性,滿足系統(tǒng)實(shí)時(shí)性要求。本設(shè)計(jì)達(dá)到了國(guó)家標(biāo)準(zhǔn),并且已經(jīng)在臨庫(kù)中開(kāi)始使用。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6037

    文章

    44562

    瀏覽量

    635911
  • 轉(zhuǎn)換器
    +關(guān)注

    關(guān)注

    27

    文章

    8712

    瀏覽量

    147310
  • 嵌入式
    +關(guān)注

    關(guān)注

    5085

    文章

    19138

    瀏覽量

    305719
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用Small RTOS51營(yíng)養(yǎng)輸液系統(tǒng)研究

    利用Small RTOS51營(yíng)養(yǎng)輸液系統(tǒng)研究單片機(jī)的程序設(shè)計(jì)不再是前后臺(tái)的運(yùn)行模式,而是采用多任務(wù)實(shí)時(shí)操作系統(tǒng)的設(shè)計(jì)思想。由于使用
    發(fā)表于 11-30 09:48

    討論一下輸液泵精度調(diào)節(jié)的問(wèn)題

    本人目前在做一個(gè)關(guān)于輸液泵的項(xiàng)目,主控板是飛思卡爾8位單片機(jī)。有沒(méi)有相關(guān)經(jīng)驗(yàn)的大俠能一起討論一下輸液泵精度調(diào)節(jié)的問(wèn)題。主要是步進(jìn)電機(jī)速度對(duì)應(yīng)的輸液的速度……這里附一個(gè)
    發(fā)表于 07-31 11:39

    8051及P89V51RD2單片機(jī)數(shù)據(jù)存儲(chǔ)器

    4-1.  51單片機(jī)內(nèi)部RAM結(jié)構(gòu)4-251單片機(jī)的數(shù)據(jù)存儲(chǔ)器管理4-3.  增強(qiáng)
    發(fā)表于 03-23 12:09 ?39次下載

    8051及P89V51RD2單片機(jī)的時(shí)鐘、時(shí)序和復(fù)位

    5-1.  標(biāo)準(zhǔn)80C51的時(shí)鐘電路、時(shí)間單位與時(shí)序5-2.  P89V51RD2單片機(jī)的時(shí)鐘電路、時(shí)間單位與時(shí)序5-3.  P
    發(fā)表于 03-23 12:10 ?69次下載

    STC89C51 RC RD系列單片機(jī)中文指南

    目錄..... 2STC89 系列單片機(jī)選型指南 3STC89C51RC / RD+ 系列單片機(jī) 管腳圖 編譯器及仿真器. 6STC
    發(fā)表于 07-04 17:12 ?514次下載

    嵌入式網(wǎng)絡(luò)中WEB SERVER的實(shí)現(xiàn)

    本文介紹了在存儲(chǔ)空間有限的嵌入式網(wǎng)絡(luò)應(yīng)用中,通過(guò)合理選擇TCP/IP協(xié)議子集,將TCP/IP協(xié)議棧嵌入到一種增強(qiáng)單片機(jī)P89C51RD2
    發(fā)表于 08-11 08:55 ?11次下載

    P89C51RD2單片機(jī)引腳與封裝

    P89C51RD2單片機(jī)引腳與封裝 DIP40 PIN
    發(fā)表于 03-29 09:22 ?3467次閱讀
    P<b class='flag-5'>89C51RD2</b><b class='flag-5'>單片機(jī)</b>引腳與封裝

    微型輸液泵的硬件設(shè)計(jì)

    微型輸液泵的硬件設(shè)計(jì)
    發(fā)表于 01-23 20:48 ?24次下載

    嵌入式內(nèi)核實(shí)

    嵌入式內(nèi)核實(shí)
    發(fā)表于 01-22 13:58 ?0次下載

    STC89C51RC和STC89C54RD+系列單片機(jī)中文指南免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STC89C51RC和STC89C54RD+系列單片機(jī)中文指南免費(fèi)下載。
    發(fā)表于 01-07 08:00 ?111次下載
    STC<b class='flag-5'>89C51</b>RC和STC<b class='flag-5'>89C54RD</b>+系列<b class='flag-5'>單片機(jī)</b>中文指南免費(fèi)下載

    基于靈動(dòng)MM32F系列大容量MCU的輸液泵原理及實(shí)現(xiàn)以及臨床應(yīng)用

    基于靈動(dòng)MM32F系列大容量MCU的輸液泵應(yīng)用參考方案分享 主講人簡(jiǎn)介 楊柳 靈動(dòng)微電子現(xiàn)場(chǎng)應(yīng)用工程師 多年從事嵌入式軟硬件產(chǎn)品方案的開(kāi)發(fā)以及技術(shù)支持工作,在物聯(lián)網(wǎng)、智能家居、智慧農(nóng)業(yè)以及智慧醫(yī)療等
    的頭像 發(fā)表于 10-09 09:53 ?2423次閱讀

    STC89C51RC/RD系列單片機(jī)用戶手冊(cè)

    STC89C51RC/RD系列單片機(jī)用戶手冊(cè)免費(fèi)下載。
    發(fā)表于 04-15 11:13 ?60次下載

    單片機(jī)STC89C51RC/RD+器件手冊(cè)下載

    單片機(jī)STC89C51RC/RD+器件手冊(cè)下載
    發(fā)表于 07-21 09:44 ?16次下載

    基于at89c51單片機(jī)智能型穩(wěn)壓電源的設(shè)計(jì)

    基于at89c51單片機(jī)智能型穩(wěn)壓電源的設(shè)計(jì)(通信電源技術(shù)期刊是核心期刊嗎)-該文檔為基于at89c51單片機(jī)
    發(fā)表于 09-16 13:09 ?26次下載
    基于at<b class='flag-5'>89c51</b><b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>智能型</b>穩(wěn)壓電源的設(shè)計(jì)

    基于89C51RD營(yíng)養(yǎng)輸液系統(tǒng)原理圖

    電子發(fā)燒友網(wǎng)站提供《基于89C51RD營(yíng)養(yǎng)輸液系統(tǒng)原理圖.pdf》資料免費(fèi)下載
    發(fā)表于 10-10 10:39 ?0次下載
    基于<b class='flag-5'>89C51RD</b>的<b class='flag-5'>腸</b><b class='flag-5'>營(yíng)養(yǎng)</b>液<b class='flag-5'>輸液</b>系統(tǒng)原理圖