汪世波 李莉 苗志浩 俞陳建 劉煜 許文丹
摘要:針對目前大部分醫(yī)院采用人工取藥的方式造成取藥效率低的問題,設(shè)計并完成了一種基于STM32F103ZET6微處理器的自動取藥系統(tǒng)。自動取藥系統(tǒng)為自助式操作,由人機(jī)接口(Human Machine Interface,HMI)和人機(jī)交互界面完成藥品的獲取,集成電路卡的(Integrated Circuit,IC)磁卡模塊進(jìn)行最后的確認(rèn)和購買。系統(tǒng)可以提高患者取藥的速度、降低取藥的錯誤率、保證用藥安全,并且減少醫(yī)務(wù)人員的工作強(qiáng)度、節(jié)約勞動成本、增加醫(yī)院賬目透明度、提高患者的滿意度。
關(guān)鍵詞:差錯率;自動取藥;步進(jìn)電機(jī);HMI串口屏;嵌入式
中圖分類號:TP311文獻(xiàn)標(biāo)志碼:A文章編號:1008-1739(2020)04-68-4
0引言
在當(dāng)前醫(yī)療環(huán)境下,患者候藥時間是評價藥學(xué)服務(wù)質(zhì)量的重要指標(biāo)之一,縮短患者取藥時間是當(dāng)務(wù)之急。對于中國這樣一個人口大國,取藥問題一直都是一個難題,自1958年北京市醫(yī)院藥房提出要“千方百計取消取藥排隊現(xiàn)象”以來[1-4],很多醫(yī)院采用各種方法降低排隊取藥時間,諸多學(xué)者提出了多種加快取藥速度的方法,設(shè)計了各種醫(yī)療器械[5-7]。例如對于麻醉科特殊藥品,提出了藥箱式管理,一定程度上增加了取藥速度,而藥房取藥機(jī)器人的提出[8-9],為取藥增加了一種途徑。自動化藥房的探索優(yōu)化了傳統(tǒng)藥房的取藥過程,縮減了時間。就目前來說,這些醫(yī)療器械對于取藥速度及步驟的幫助較為片面。而自動化取藥不但能加快取藥速度,而且步驟少、流程少,具有廣闊的發(fā)展前景[10-12]。針對患者取藥困難的問題,提出了基于STM32F103ZET6微處理器的自動取藥系統(tǒng)。對比藥房人工取藥時間,此取藥系統(tǒng)可大大提升取藥效率,并且采用ASTART HMI進(jìn)行調(diào)試,驗證了系統(tǒng)的正確性和有效性。
1系統(tǒng)設(shè)計分析
1.1功能需求分析
自動取藥系統(tǒng)需要先在人工選擇狀態(tài)下進(jìn)行全自動取藥,所以人機(jī)交互是本系統(tǒng)很重要的一部分,對于用戶尋卡成功并通過人機(jī)交互模塊進(jìn)行人工選擇藥品后,需要對數(shù)據(jù)進(jìn)行采集、處理、傳輸,并對步進(jìn)電機(jī)進(jìn)行控制,所以終端處理單元以及電源模塊、步進(jìn)電機(jī)驅(qū)動模塊的搭建是本系統(tǒng)的核心。
1.2主控微處理器的選擇
為了保證整個電路的實現(xiàn),必須選擇一款適合電路的控制芯片。
STM芯片上集成32-512 KB的Flash和6-64 KB的SRAM兩種存儲器,調(diào)試模式分為串行調(diào)試(SWD)和JTAG接口,最多高達(dá)112個的快速I/O端口、11個定時器和13個通信接口。STM32采用ARM Cortex-M內(nèi)核的32位微控制器,具有高性能、實時性強(qiáng)、低功耗和便于低電壓操作等優(yōu)點,同時還易于開發(fā)。
STM32單片機(jī)處理數(shù)據(jù)的能力較強(qiáng),本次設(shè)計需要處理的模擬量很多,且從芯片安全度考慮,STM32系列單片機(jī)數(shù)據(jù)存儲安全性較高。綜合考慮,決定選用STM32單片機(jī)作為核心處理MCU,具體型號為STM32F103ZET6。
1.3系統(tǒng)總體設(shè)計
綜合系統(tǒng)的功能需求配合現(xiàn)有技術(shù),系統(tǒng)主要由MCU電路、電源供電模塊、人機(jī)交互模塊、步進(jìn)電機(jī)驅(qū)動模塊和RC522射頻模塊5個模塊構(gòu)成,該系統(tǒng)的框圖如圖1所示。RC522射頻模塊主要用于讀卡,并通過SPI接口與MCU連接通信。人機(jī)交互模塊主要用于人與機(jī)器的可視化交互、藥品的選擇,步進(jìn)電機(jī)模塊主要用于藥品的投放。
2硬件設(shè)計
2.1 MCU電路
MCU電路選用STM32F103ZET6作為主控芯片,因為所有的數(shù)據(jù)處理與發(fā)送都集中在終端模塊中,同時集成化整個下層硬件,為了功能的實現(xiàn)以及高效性,系統(tǒng)選用了STM32F103來構(gòu)建整個下層電路。STM32F103是一款應(yīng)用32位微控制器以及72 MHz功耗的以Cortex-M3為內(nèi)核,擁有各個模塊功能的高度集成化的開發(fā)板。電機(jī)的驅(qū)動、串口功能的實現(xiàn)以及數(shù)據(jù)包的推送都是Cortex-M3引腳操作實現(xiàn)的。
2.2供電模塊的設(shè)計
供電模塊整體設(shè)計如圖2所示,步進(jìn)電機(jī)的驅(qū)動使用的是5 V電壓。
2.3人機(jī)交互模塊的設(shè)計
工業(yè)串口屏、工業(yè)組態(tài)屏等是專門用來做工業(yè)智能顯示儀表的屏幕,一般都有軟件以拖控件的形式對GUI界面進(jìn)行設(shè)計。本次設(shè)計使用的是USART HMI智能串口屏,顯示屏自帶GUI,供電就可以使用,可通過串口通信對控件上的參數(shù)進(jìn)行修改,還有一些特定的指令可實現(xiàn)一些功能操作,任何有串口通信功能的單片機(jī)都可以帶動,串口屏界面如圖3所示。
2.4 MFRC522射頻模塊
MFRC522利用了先進(jìn)的調(diào)制和解調(diào)概念,完全集成了在13.56 MHz下所有類型的被動非接觸式通信方式和協(xié)議[13],支持14443A兼容應(yīng)答器信號。數(shù)字部分處理ISO14443A幀和錯誤檢測。此外,還支持快速CRYPTO1加密算法,用于驗證MIFARE系列產(chǎn)品。MFRC522支持MIFARE系列更高速的非接觸式通信,雙向數(shù)據(jù)傳輸速率高達(dá)424 kbit/s。采用Philips MFRC522原裝芯片設(shè)計讀卡電路,使用方便。通過SPI接口簡單的幾條線就可以直接與用戶任何CPU主板相連接通信,保證模塊穩(wěn)定可靠地工作。
2.5步進(jìn)電機(jī)驅(qū)動模塊
驅(qū)動步進(jìn)電機(jī)的驅(qū)動器選用ULN2003A,是一種新型的7路高耐壓、大電流達(dá)林頓晶體管驅(qū)動IC,ULN2003A常見的封裝有DIP-16,SOP-16,TSSOP-16三種,而ULN2003A常用的是DIP-16或者SOP-16,它有16個引腳,1~7是輸入引腳,10~16是輸出引腳,8號引腳是接地端,9號引腳是鉗位二極管公共端。
ULN2003A內(nèi)部包含7個獨立的達(dá)林頓管驅(qū)動單路,單個達(dá)林頓管集電極可輸出500 mA電流。電路內(nèi)部有續(xù)流二極管,可用于驅(qū)動繼電器、步進(jìn)電機(jī)等電感性負(fù)載。每一路達(dá)林頓管串聯(lián)一個2.7 kΩ的基極電阻,在5 V的工作電壓下可直接與TTL/CMOS電路連接,輸入兼容TTL/CMOS邏輯信號。使用的步進(jìn)電機(jī)為四相步進(jìn)電機(jī),采用直流電源供電,只要對步進(jìn)電機(jī)的各相繞組按合適的時序通電,就能使步進(jìn)電機(jī)步進(jìn)轉(zhuǎn)動,四相八拍運行方式即A-AB-B-BC-C-CD-D-DA-A。
3軟件設(shè)計
在系統(tǒng)供電后,MCU首先對整體電路進(jìn)行初始化,包括對數(shù)據(jù)的初始化,對各GPIO口的初始化,初始化需要延時一段時間,防止之前數(shù)據(jù)對之后數(shù)據(jù)的影響[14-15]。系統(tǒng)設(shè)計了中斷觸發(fā)的模式來檢測是否有高低電平的變化,外部中斷是由于外部干擾而發(fā)生的計算機(jī)系統(tǒng)中斷,無論是來自用戶、外圍設(shè)備,其他硬件設(shè)備還是通過網(wǎng)絡(luò)。這些與機(jī)器通過程序指令讀取時自動發(fā)生的內(nèi)部中斷不同,整個系統(tǒng)在正常情況下只進(jìn)行主要功能的實現(xiàn)或者休眠模式,同時一直檢測外部設(shè)備引腳是否有中斷觸發(fā)的信號,一旦有外部中斷觸發(fā)后,整個硬件進(jìn)入中斷功能的實現(xiàn),然后在中斷結(jié)束后,設(shè)備自動恢復(fù)到之前的狀態(tài)。
初始化完成后,人機(jī)交互界面啟動,等待用戶操作,RC522射頻模塊檢測讀卡數(shù)據(jù)并在HMI串口屏上顯示,用戶通過串口品進(jìn)行相應(yīng)操作,MCU實時采集相關(guān)用戶操作數(shù)據(jù)并進(jìn)行處理,控制步進(jìn)電機(jī)轉(zhuǎn)動送藥,系統(tǒng)流程如圖4所示。
4系統(tǒng)功能測試
在傳統(tǒng)取藥方式中,取藥錯誤是不可忽略的一大缺陷,誤差主要來自藥師、電腦系統(tǒng)和管理三方面,其中,藥師因素是造成誤差最重要的部分,對比傳統(tǒng)取藥方式,自動取藥系統(tǒng)采用自動化控制,能夠提高取藥的精準(zhǔn)度、彌補(bǔ)人工操作帶來的誤差。
傳統(tǒng)取藥步驟繁瑣,在固定窗口刷卡收費后,需要到其他窗口進(jìn)行排隊等手續(xù)。自動取藥系統(tǒng)的最大優(yōu)勢在于節(jié)約病人的取藥時間和醫(yī)院的人力資源,因此實驗內(nèi)容主要是對取藥時間的測試。實驗過程中先在HMI串口屏上進(jìn)行相關(guān)的選擇后,再用IC磁卡最后確認(rèn)信息。取藥時間的計算是刷卡結(jié)束后電機(jī)開始運轉(zhuǎn)并將藥品送出的時間間隔。測量結(jié)果顯示,自動取藥系統(tǒng)的平均取藥速度為8.68 s,相對于傳統(tǒng)的取藥時間,取藥系統(tǒng)的取藥速度得到極大提升,可以極大地緩解醫(yī)院信息系統(tǒng)(HIS)的壓力。并且,相比于當(dāng)前矩陣鍵盤式系統(tǒng)的購買,更為便捷,可以增加患者的滿意度。
5結(jié)束語
隨著嵌入式、自動控制等技術(shù)的進(jìn)步和發(fā)展,醫(yī)療系統(tǒng)和設(shè)備已經(jīng)進(jìn)入了智能化、自動化時代,本文設(shè)計的自動取藥系統(tǒng),通過RC522讀卡的方式確定目標(biāo)用戶,運用HMI串口屏進(jìn)行可視化的人機(jī)交互操作,終端處理器STM32F104ZET6進(jìn)行數(shù)據(jù)的處理和分析,控制步進(jìn)電機(jī)送藥,完成整個選、送藥流程,大大提升了取送藥效率。經(jīng)過測試,自動取藥系統(tǒng)識別與處理的時間在8.68 s,可大大提高醫(yī)院、藥房的工作效率。
參考文獻(xiàn)
[1]吳戀,田江松,宋剛,等.智能藥柜存取機(jī)AMM的設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2017,7(11):87-88.
[2]張渝,王放,李初民.門診藥房取藥系統(tǒng)的設(shè)計與實現(xiàn)[J].中國醫(yī)療設(shè)備,2014,29(1):50-52.
[3]張洋,劉軍,嚴(yán)漢宇,等.精通STM32F4(庫函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2019.
[4]康華光.電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.
[5]李紅.探析完善藥品管理與發(fā)放制度對門診藥房工作效率的影響[J].世界最新醫(yī)學(xué)信息文摘,2019,19(53):218,223.
[6]羅曉莉,夏炳春.對醫(yī)院門診藥房進(jìn)行精細(xì)化管理的效果探討[J].當(dāng)代醫(yī)藥論叢,2019,17(12):9-10.
[7]汪步升.醫(yī)院中醫(yī)藥信息化建設(shè)[J].電腦編程技巧與維護(hù), 2019,407(5):73-74.
[8]邱廣萍,林峻光,符展培.醫(yī)院自動取藥機(jī)器人與樣機(jī)制作[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2016,32(3):36-37.
[9]程堂燦,張鳳生,王敬.藥房取藥機(jī)器人結(jié)構(gòu)設(shè)計與力學(xué)分析[J].機(jī)電技術(shù),2019(2):2-6.
[10]閻大亮,王永亮,陸登城,等.基于互聯(lián)網(wǎng)+自助取藥系統(tǒng)設(shè)計與研究[J].科技創(chuàng)新與應(yīng)用,2019(14):44-45.
[11]楊軍.門診藥房引進(jìn)自動發(fā)藥機(jī)的優(yōu)缺點評價[J].中國衛(wèi)生產(chǎn)業(yè),2018,15(21):173-174.
[12]胡敏達(dá).藥房自助終端系統(tǒng)設(shè)計與實現(xiàn)[D].南京:東南大學(xué),2018.
[13]索向軍.無線射頻識別技術(shù)(RFID)在軍事領(lǐng)域中的應(yīng)用[J].電腦知識與技術(shù),2013,9(5):1154-1155.
[14]張海藩.軟件工程[M].北京:清華大學(xué)出版社,2010.
[15] PATTON R.軟件測試:第2版[M].張小松,王鈺,曹躍,等,譯.北京:機(jī)械工業(yè)出版社,2006.