謝觀義 張 浩 劉寶華
(燕山大學(xué)機械工程學(xué)院 河北 秦皇島 066004)
(燕山大學(xué)河北省并聯(lián)機器人與機電系統(tǒng)重點實驗室 河北 秦皇島 066004)
目前,國內(nèi)的中藥柜存在以下幾點問題:中醫(yī)為病人抓取中藥的效率低,常常讓病人等待很長的時間[1],造成了病人對于醫(yī)療服務(wù)的體驗感差;傳統(tǒng)中藥的存儲管理方式不當(dāng),導(dǎo)致很多中藥材藥性流失,從而造成了一些不必要的浪費[2];另外,對于藥材的存儲量,使用記錄以及存放年限在實際工作中往往缺少監(jiān)管[3],對藥品的管理造成了不必要的麻煩;在藥房的取藥、管理藥品、出售藥品這一連串流程中需要比較多的人力資源,人力成本過高。故本文設(shè)計了一種無人智能中藥柜管理系統(tǒng),較為完美地解決了以上這些問題。
無人智能中藥柜管理系統(tǒng)是一套通過計算機技術(shù)、智能控制技術(shù)、信息化技術(shù)和自動控制技術(shù)與控制設(shè)備,檢測設(shè)備以及計算機進(jìn)行無縫對接,從而實現(xiàn)藥品的管理、存儲、分配和監(jiān)控并向智能化以及自動化方向進(jìn)行發(fā)展。無人智能藥柜管理系統(tǒng)自動根據(jù)患者醫(yī)囑和處方進(jìn)行抓藥,并傳送藥品到患者手中。
在傳統(tǒng)的業(yè)務(wù)模式下,藥品的流轉(zhuǎn)過程是從醫(yī)生下醫(yī)囑開始,隨后護(hù)士進(jìn)行醫(yī)囑的轉(zhuǎn)抄,再發(fā)到藥劑科的藥品管理系統(tǒng),藥劑師根據(jù)醫(yī)囑進(jìn)行抓藥,再分時分批配送到病區(qū),最后由護(hù)士根據(jù)配送單把藥品分發(fā)到患者的手中。在這種模式下,藥劑師抓藥和配送具有一定的延時性。護(hù)士對于醫(yī)囑的轉(zhuǎn)抄具有一定的抄錯風(fēng)險,并且在藥品加急和退藥的過程中加重了藥劑科的工作負(fù)擔(dān)和處理風(fēng)險。
無人智能中藥柜管理系統(tǒng)的使用,使得這一傳統(tǒng)的藥品分發(fā)模式得到改變,成為一種智能的分發(fā)模式。在這種模式下,藥劑科可以實時掌握智能藥柜內(nèi)的藥品庫存以及藥品的使用記錄,藥材年限和藥品的存儲溫濕度、藥品的運送狀態(tài)、運送位置。無人智能藥柜系統(tǒng)設(shè)計的業(yè)務(wù)流程如下:
(1) 對每一種藥材進(jìn)行編號,將藥材按從左往右從上往下的順序依次放入藥柜中。
(2) 患者通過手機App上位機軟件對就診時間進(jìn)行預(yù)約。
(3) 病人就診完成后,中醫(yī)在計算機端開完處方發(fā)送到藥柜端,藥柜管理系統(tǒng)根據(jù)藥柜編碼找到該藥柜的抽屜端。二維平面定位系統(tǒng)自動定位到所指定藥柜的抽屜端,同時抽屜端的電磁鐵門打開并控制抽屜中的步進(jìn)電機轉(zhuǎn)動,帶動擺桿將藥物通過一個小孔推送到傳送帶上,同時使用壓力傳感器實時測量藥物的重量,當(dāng)推送出的藥物重量達(dá)到處方所規(guī)定的藥物重量時,則步進(jìn)電機停止轉(zhuǎn)動并關(guān)閉電磁鐵門。
(4) 傳送帶上的藥材通過全自動打包機進(jìn)行打包處理。
(5) 打包完成后,藥品通過傳送帶傳送到柜臺上。
(6) 抓藥成功后,計算機端會收到反饋信息并將抓藥記錄上傳至數(shù)據(jù)庫中保存,同時控制打印機打印處方清單。
無人智能中藥柜的應(yīng)用,減少了藥劑科和護(hù)士的工作量,保證藥品使用的安全、有效、經(jīng)濟、適當(dāng)[4],同時減少了病人的等待時間和抓藥師抓藥時出錯的概率和風(fēng)險。
智能中藥柜系統(tǒng)的組成可以分為硬件部分和軟件部分。
2.1.1硬件部分
智能中藥柜系統(tǒng)采用以STM32F407ZGT6芯片作為單片機的主控芯片,結(jié)合步進(jìn)電機、渦輪減速機、同步帶、同步輪、編碼器、傳送帶、自動打包機、壓力傳感器、溫濕度傳感器、Wi-Fi模塊、蜂鳴器、繼電器、電磁鎖控制技術(shù)等外圍設(shè)備組合而成。
藥柜中的每個抽屜均采用STM32單片機作為主控制器。每個抽屜內(nèi)放入一種藥材,其底部安裝有壓力傳感器,頂部有溫濕度傳感器和蜂鳴器。
二維平面定位系統(tǒng)采用STM32單片機作為主控制器,結(jié)合步進(jìn)電機、渦輪減速機、同步帶、同步輪、編碼器、傳送帶、繼電器、變壓器等設(shè)備組合而成。
2.1.2軟件部分
下位機運用Keil uVision5軟件使用匯編及C語言混合編寫運行在STM32單片機上。
上位機運用Visual Studio 2019軟件使用C#語言編寫計算機上位機軟件運行在計算機上。運用Eclipse軟件使用Android語言編寫手機App上位機軟件運行在手機上。
無人智能藥柜系統(tǒng)的功能設(shè)計可以分為硬件功能設(shè)計和軟件功能設(shè)計。
2.2.1硬件功能設(shè)計
該系統(tǒng)的硬件功能是通過主控芯片連接其他控制模塊實現(xiàn)的。智能中藥柜控制系統(tǒng)原理,如圖1所示。
Wi-Fi模塊可以實現(xiàn)STM32單片機與計算機之間的數(shù)據(jù)信息交互,使單片機能夠控制電磁鎖的開啟和關(guān)閉,并將壓力傳感器、溫濕度傳感器的數(shù)據(jù)信息發(fā)送到計算機上。
每個抽屜的后面都安裝有電磁鐵門,只有當(dāng)相應(yīng)的抽屜接收到指令時,才會打開電磁鐵門。
抽屜中的壓力傳感器通過測量抽屜中的藥物重量能夠計算得到擺桿推出藥材的重量。
溫濕度傳感器監(jiān)控的溫濕度范圍用戶可以自己設(shè)定[5],如果測得的溫度或濕度的兩個值之中有一個超過其設(shè)定范圍,蜂鳴器會自動報警。
STM32單片機通過控制步進(jìn)電機實現(xiàn)擺桿對藥材的推送、二維平面定位系統(tǒng)的自動定位功能、傳送帶對藥材的傳送。
編碼器可以實時測量步進(jìn)電機的轉(zhuǎn)速,實現(xiàn)單片機對步進(jìn)電機的閉環(huán)控制。
2.2.2軟件功能設(shè)計
計算機上位機軟件主要包括藥柜信息管理、處方管理、抓藥記錄查詢、系統(tǒng)設(shè)置等功能。采用MySQL數(shù)據(jù)庫,用戶通過計算機上位機軟件可以對數(shù)據(jù)庫進(jìn)行信息存儲、檢索等操作。
中醫(yī)在計算機端提交藥方后,中藥柜端接收任務(wù),通過Wi-Fi模塊將抓藥信息發(fā)送到單片機,單片機接收到抓藥指令后,控制抽屜中的擺桿、傳送帶、同步帶以及自動打包機進(jìn)行抓藥。抓藥成功后,計算機端收到反饋信息,將抓藥記錄保存到數(shù)據(jù)庫中進(jìn)行后續(xù)管理,同時控制打印機打印出處方清單。軟件工作流程如圖2所示。
圖2 軟件工作流程
智能中藥柜系統(tǒng)的功能實現(xiàn)可以分為硬件功能實現(xiàn)和軟件功能實現(xiàn),具體介紹如下。
STM32單片機是由STM32F407ZGT6芯片、Wi-Fi模塊、蜂鳴器、壓力傳感器、溫濕度傳感器、電磁鎖、晶振、電阻、電容、發(fā)光二極管、繼電器、排針組成。
通信功能實現(xiàn):STM32單片機使用ESP8266芯片作為Wi-Fi模塊的主芯片,STM32單片機作為Wi-Fi STA站點,計算機作為Wi-Fi AP站點,Wi-Fi模塊通過路由器連接局域網(wǎng),計算機通過局域網(wǎng)實現(xiàn)與單片機之間的信息交互。
稱重功能實現(xiàn):采用HX711稱重傳感器采用將抽屜中的藥材重量發(fā)送給單片機,單片機根據(jù)接收到的數(shù)據(jù)變化進(jìn)行作差處理,藥材推出之前的重量減去藥材推出之后的重量即為所抓出藥材的重量,并將數(shù)據(jù)實時傳輸?shù)接嬎銠C端。
溫濕度監(jiān)控功能實現(xiàn):采用DHT22溫濕度傳感器,將其固定在抽屜內(nèi)的頂部,用杜邦線與單片機相連。單片機對所測數(shù)據(jù)與用戶設(shè)定的溫濕度值進(jìn)行作差運算,如果結(jié)果超過設(shè)定范圍,單片機就啟動蜂鳴器報警。
推送藥品功能實現(xiàn):無人智能藥柜系統(tǒng)中設(shè)計的藥柜抽屜如圖3所示。
圖3 藥柜抽屜
抽屜的內(nèi)部結(jié)構(gòu)為1/4圓形結(jié)構(gòu)內(nèi)倉,在使用時,第一步:將圓形內(nèi)倉7裝滿藥品,步進(jìn)電機和減速機2的轉(zhuǎn)動軸端安裝擺桿4。第二步:計算機端提交處方后,電磁門1打開,步進(jìn)電機和減速機2轉(zhuǎn)動擺桿3將藥品從孔8處推出。擺桿4只能在位置3和位置5之間進(jìn)行擺動,擺動角度為0~90度。為了安全,分別在位置3和位置5兩邊的外側(cè)安裝限位開關(guān),一旦擺桿觸碰到限位開關(guān),步進(jìn)電機直接斷電并進(jìn)行報警。第三步:當(dāng)推送出去的藥品達(dá)到所需要的藥品重量時,步進(jìn)電機和減速機2停止轉(zhuǎn)動,同時電磁門8自動關(guān)閉。第四步:擺桿4從位置5運動到位置3處后,需要進(jìn)行重新歸位即返回到位置5處。在其返回的過程中為了防止擺桿3被藥品卡住,在位置6處設(shè)計一個小孔使得多余的藥品落到抽屜9中進(jìn)行存儲以備下次使用。
自動取藥功能實現(xiàn):無人智能藥柜系統(tǒng)的總體設(shè)計結(jié)構(gòu)如圖4所示。
圖4 藥柜系統(tǒng)的總體設(shè)計結(jié)構(gòu)
二維平面定位系統(tǒng)的設(shè)計:藥柜1的左右兩端分別安裝滑塊導(dǎo)軌2和滑塊導(dǎo)軌22,滑塊導(dǎo)軌的兩邊又分別安裝同步帶和同步輪。步進(jìn)電機8和渦輪自鎖減速機9帶動同步輪10轉(zhuǎn)動,同步輪10通過同步帶帶動傳動軸16上的同步輪12和18轉(zhuǎn)動,同步輪18帶動同步帶19移動。同步帶19與滑塊導(dǎo)軌22上的滑塊、機架20,三者固定連接在一起,滑塊導(dǎo)軌2旁邊的同步帶與導(dǎo)軌2上的滑塊、機架20,三者固定連接在一起,從而能帶動機架20進(jìn)行上下移動。編碼器17可以實現(xiàn)對于傳動軸17轉(zhuǎn)速的實時監(jiān)控,從而能精準(zhǔn)定位機架20的位置。同理,在機架20上同樣安裝兩個滑塊導(dǎo)軌,滑塊導(dǎo)軌的兩邊同樣安裝同步帶、同步輪。通過步進(jìn)電機和渦輪自鎖減速機7帶動同步帶與同步輪進(jìn)行轉(zhuǎn)動。機架20上兩邊的同步帶與相鄰導(dǎo)軌上的滑塊和傳送帶6的底座之間進(jìn)行固定連接,傳送帶6和滑道5之間為固定連接,從而傳送帶6和滑道5能夠進(jìn)行水平方向上的左右運動。機架20上的編碼器21可以實時測得傳送帶6和滑道5的左右運動的速度,從而能夠精準(zhǔn)定位傳送帶6和滑道5的位置。由于傳送帶6和滑道5固定在機架20上,機架20固定在滑塊導(dǎo)軌2和滑塊導(dǎo)軌22的滑塊上,因此傳送帶6和滑道5既能夠?qū)崿F(xiàn)水平方向上的左右移動,又能夠?qū)崿F(xiàn)豎直方向上的上下移動。在各個滑塊導(dǎo)軌的末端均裝有限位開關(guān),能夠防止滑塊脫離導(dǎo)軌。當(dāng)滑塊運動到導(dǎo)軌末端時,會觸碰到限位開關(guān),然后直接對步進(jìn)電機斷電并報警,由于減速機為渦輪自鎖減速機,因此滑塊不能運動。步進(jìn)電機均采用STM32單片機作為主控制器。
無人智能藥柜系統(tǒng)在使用時,第一步:醫(yī)生在計算機端開好處方后,直接發(fā)送到無人智能藥柜端和二維平面定位系統(tǒng)端。第二步:無人智能藥柜端根據(jù)指令找到抽屜3,同時二維平面定位系統(tǒng)根據(jù)指令定位到抽屜3,定位完成后發(fā)送反饋信號給該抽屜3的STM32單片機。第三步:單片機收到反饋信號后打開電磁鐵門,并控制步進(jìn)電機帶動擺桿將藥品推出到傳送帶6上。推出的藥品達(dá)到處方所規(guī)定的重量時,步進(jìn)電機停止轉(zhuǎn)動,同時電磁鐵門關(guān)閉,并發(fā)送反饋信號給二維平面定位系統(tǒng)。第四步:二維平面定位系統(tǒng)接收到反饋信號后,停留在停靠點11處,開啟傳送帶6和傳送帶14,將藥品傳送到傳送帶14上。第五步:全自動打包機對傳送帶14上的藥品進(jìn)行打包,打包完成后通過傳送帶14傳送到柜臺15上,完成抓藥。
3.2.1下位機軟件功能實現(xiàn)
下位機抽屜端的STM32單片機的溫濕度采集程序流程如圖5所示,抽屜端總程序流程如圖6所示。
圖5 溫濕度采集程序流程圖
圖6 抽屜端總程序流程
下位機二維平面定位系統(tǒng)端程序流程如圖7所示。
圖7 二維平面定位系統(tǒng)端程序流程
二維平面定位系統(tǒng)提前對藥柜中的各個抽屜進(jìn)行位置標(biāo)定,并與藥材編號一一對應(yīng)起來。藥材編號是由柜編號、抽屜編號所組成的,總共4位。每種藥品都對應(yīng)一個藥材編號。計算機端發(fā)送藥材編號到單片機端實現(xiàn)二維平面定位系統(tǒng)自動定位并完成取藥。
3.2.2上位機軟件功能實現(xiàn)
通過AT指令將STM32單片機上Wi-Fi模塊的工作模式設(shè)置為STA模式,使其作為Wi-Fi STA站點,路由器作為Wi-Fi AP站點,計算機與STM32單片機均與路由器連接,組成局域網(wǎng)。計算機與STM32單片機之間建立TCP連接,Wi-Fi模塊設(shè)置為透傳模式傳輸數(shù)據(jù),實現(xiàn)計算機對STM32單片機的遠(yuǎn)程控制。設(shè)備連接方式如圖8所示。
圖8 設(shè)備連接方式
計算機端使用AT指令控制STM32單片機。以下為使用到的AT指令語句:
AT+RST
AT+CWMODE=1
AT+CWJAP=“路由器的賬號”,“密碼”
AT+CIFSR
AT+CIPMUX=1
AT+CIPSTART=“TCP”,“PC端IP”,“端口號”
AT+CIPSTATUS
AT+CIPMODE=1
AT+CIPSEND=5
AT+CIPCLOSE
AT+CIPSTO=時間(單位為秒)
計算機建立MySQL數(shù)據(jù)庫,對STM32單片機所發(fā)送的數(shù)據(jù)信息進(jìn)行收集、分類、儲存。數(shù)據(jù)庫中存有處方記錄、藥品信息、藥品溫濕度、藥品數(shù)量等信息。計算機端軟件界面如圖9所示。
圖9 計算機端軟件界面
在計算機軟件界面端,醫(yī)生可以進(jìn)行處方管理,藥品的入庫管理、上架管理、下架管理、盤點管理、查看藥品溫濕度等操作。同時,醫(yī)生還可以在計算機端查看藥品的運送狀態(tài)和具體的運送位置通過記錄豎向步進(jìn)電機和橫向步進(jìn)電機的轉(zhuǎn)速和運行時間,從而計算得到藥品的豎直方向和水平方向的具體位置,建立二維平面坐標(biāo)圖,對藥品的位置進(jìn)行打點記錄。圖10所示為藥品位置圖。
圖10 藥品位置圖
在云服務(wù)器端創(chuàng)建數(shù)據(jù)庫,計算機端通過寬帶連接云服務(wù)器端的IP地址,與云服務(wù)器之間進(jìn)行數(shù)據(jù)的雙向傳輸。在云服務(wù)器端創(chuàng)建數(shù)據(jù)庫可防止藥品數(shù)據(jù)資料的丟失,同時通過云服務(wù)器可以實現(xiàn)多臺計算機或者手機對無人智能藥柜的遠(yuǎn)程訪問和控制。
手機App上位機軟件連接云服務(wù)器端的IP地址,能夠與云服務(wù)器之間進(jìn)行數(shù)據(jù)的雙向傳輸,并通過云服務(wù)器將信息發(fā)送到計算機端。用戶在手機App上位機軟件中可以實現(xiàn)預(yù)約掛號、個人賬戶充值、查看藥品信息和訂單等多種操作。手機端界面如圖11所示。
圖11 手機端界面
無人智能中藥柜系統(tǒng)對中醫(yī)院的用藥模式進(jìn)行流程再造和流程優(yōu)化,提高了藥品管理效率,節(jié)約了人力資源,降低醫(yī)囑執(zhí)行時間,確?;颊哂盟幇踩?使醫(yī)護(hù)人員有更多的時間投入到患者醫(yī)護(hù)工作中,并且能有效降低藥物退還數(shù)量,減輕藥品退還而耗費的低效勞動力,使醫(yī)護(hù)人員能夠從繁重復(fù)雜的基數(shù)藥品人工清點與記錄中解脫出來,極大縮減了藥師用于藥品管理的時間,提高了藥師的工作效率,更好地為患者服務(wù)[6-9]。