李 露 ,楊 鵬 ,2,宣伯凱 ,2
(1.河北工業大學 控制學院,天津 300130;
2.智能康復裝置與檢測技術教育部工程研究中心,天津 300130)
多功能護理床作為醫療器械,已被廣泛地應用于醫院、療養院、養老院等眾多領域。不僅提高了病人的自理能力,同時也減輕了護理人員的工作強度[1]。因此,針對醫療護理床的應用需求,提出了一種基于CAN總線的多功能電動護理床。該護理床基于模塊化的思想,分為驅動控制模塊、生理參數采集模塊、顯示模塊等,各模塊之間通過CAN總線進行通信。本文主要針對驅動控制模塊進行研究。
本設計用AT90CAN128來仿真PLC控制,能結合單片機控制和PLC控制的優點。單片機控制作為嵌入式系統的核心技術,具有高可靠性和高性價比,且成本低廉;PLC控制中的邏輯梯形圖編程與繼電接觸控制電路原理圖相似,抗干擾性強且簡單易學[2]。
驅動模塊以一片AT90CAN128單片機作為核心控制單元,繼電器及其外圍電路組成驅動器,分別驅動5個電機,帶動護理床床體的可調部位運動,分別完成背部升降、腿部屈伸、左右側翻等動作。
軟件設計采用了PLC的循環掃描的編程思想,提高了程序執行的可靠性。通過護理床這些多體位的變換,可以減少各種由于長期臥床所帶來的并發癥,如褥瘡等,有利于受護理人的肌體健康。
本系統中CAN總線作為通信網絡的結構如圖1所示。

圖1 護理床CAN網絡結構
把CAN總線應用在護理床控制系統中,組成多主站的分布式控制系統,取代了傳統電動床采用的集中式控制結構及主從式網絡結構,克服了傳統護理床可擴展性、可維護性以及抗單點故障能力較差的缺點[3]。護理床系統采用這種總線型網絡拓撲結構,便于實時監測,及時處理事件。例如當生理參數檢測模塊檢測到病人的生理信息后能夠把數據進行采樣,并通過自己的CAN接口實時地將本節點的數據發送到CAN總線。其他模塊如顯示模塊,及時通過匹配地址從總線上接收信息并顯示結果。
由于在AT90CAN128內部已經集成了CAN總線協議控制器,且完全兼容CAN2.OA和2.0B標準協議,所以在設計硬件電路時就沒有必要外擴,只需添加CAN總線收發器就能完成通信[4]。CAN通信接口電路中選用ATA6660控制CAN總線通信過程的數據傳輸。經過實驗測試,無論是穩定性還是傳輸的正確性方面都達到了很好的效果。
護理床驅動模塊的控制芯片采用ATMEAL公司的AT90CAN128,AT90CAN128是一個高性能、低功耗的 8位單片機,具有128 KB在系統可重復編程Flash,64個引腳,52個I/O口,用一個單片機完全可以同時控制5路驅動機構工作。驅動模塊整體框圖如圖2所示。

圖2 驅動模塊整體框圖
驅動模塊在運行時,一方面接收CAN總線的報文信息,經過分析處理,驅動床體運動;另一方面還加入了按鍵輸入模塊,更方便直接地實現不同位姿。運動機構所采用的是直流線性驅動器。該線性執行器將普通直流電機的轉動通過適當的機械結構轉化成直線推桿的伸縮運動,從而驅動起居床的各個關節運動,幫助病人實現自己無法完成的動作。當電動床運動到達極限位置時,電動床的限位傳感器可以給控制提供一個卡位信號[5]。
驅動模塊的輸入電路采用結構簡單、電路配置靈活的獨立按鍵構成。由單片機的 PB0~PB7和 PF1~PF2十個I/O口作為輸入口,10個按鍵的狀態分別對應護理床的十種功能。包括:(1)背部上升/下降;(2)腿部彎曲/伸展;(3)左/右翻身;(4)床體上升/下降;(5)便孔開/合。按鍵未按下時,輸入的是高電平;當按下按鍵時電壓就通過開關加到I/O口,輸入的是低電平。
以上各位姿之間的轉換和完成均采用機械式繼電器驅動電機的正反轉來實現,它可靠性高,控制功率大。如圖3所示,單片機的 I/O口通過控制光耦(TIL113)的通斷來控制繼電器。同時,將電機邏輯控制信號經過光耦隔離器,可以將高低電平信號(5 V和 24 V)隔離,增強了系統的抗干擾性。

圖3 驅動模塊輸出電路
由于電路本身的特點,即電機的兩個端子接到兩個繼電器的公共端,而繼電器的常閉觸點接地,常開觸點接電源,避免了由繼電器觸點的抖動而造成的短路。此外,加入了正反控制信號的互鎖保護電路,最后信號經繼電器模塊驅動電機帶動負載。
繼電器線圈并聯反向二極管,用來提供繼電器線圈的放電回路,從而起到保護線圈的目的。在電機的兩端并接阻容吸收電路,用以緩沖電機起停或反向時的電流。
軟件設計采用了仿真PLC的循環掃描工作方式。PLC工作時,將采集到的輸入信號狀態存放在輸入映象區對應的位上,PLC在執行用戶程序時所需輸入/輸出的數據取用于輸入/輸出映像區,而不與外部設備發生關系[6]。為了配合這種工作方式,采用單片機系統中的I/O數據寄存器對應PLC中的輸入/輸出映象寄存器,存放現場數據和運算處理結果。
在輸入采樣階段(即按鍵掃描),單片機以掃描方式按順序將I/O接口的開關量輸入信號(按鍵信號)讀入對應的輸入映象寄存器(單片機各輸入I/O對應的數據寄存器)中寄存起來(輸入刷新);邏輯控制程序處理階段,單片機按順序進行邏輯程序的運算與處理,并根據結果刷新輸出映象寄存器(單片機各輸出I/O數據寄存器)的內容;在輸出控制階段,將輸出映象寄存器中的狀態以控制信號的形式送到輸出接口電路,從而控制外部負載。軟件整體流程如圖4所示。

圖4 軟件整體流程
采用這種工作方式,在一個程序循環周期內,即使實際輸入信號狀態發生變化,也不會影響到單片機程序的正確執行,從而提高了程序執行的可靠性。
位置控制程序即對應了PLC中的邏輯梯形圖。位置控制程序一方面接收控制鍵盤指令,另一方面要保證電機能準確地完成相應的動作,即使在程序復位等非正常狀態下也能保證電機本身、護理床和病人的安全。設置可靠的限位、動作互鎖等都可以起到保護作用[7]。本護理床動作操作也有相應的互鎖限制,例如,側翻未到水平位置,即處于側翻中間狀態時,需要一個標志位標明床面狀態。此時,床體若要進行其他動作,通過判斷此標志位來決定是否可以動作。本系統動作互鎖可簡單歸結為主要以下幾點:
(1)起背狀態時不能左右側翻;
(2)落腿狀態時不能左右側翻;
(3)上下升降時不能左右側翻;
(4)坐便器打開時不能左右側翻;
(5)左右側翻時,背部或腿部不能上升,坐便器不能打開。
位置邏輯控制程序的流程圖如圖5所示。

圖5 位置邏輯控制流程圖
本設計硬件電路簡單緊湊、調試方便、可靠性高,解決了護理床的自動控制問題,滿足了受護理人對多種體位的要求;軟件上采用仿真PLC的編程方式,避免了使用者的誤操作,提高了系統的抗干擾性;護理床整體系統采用CAN總線通信方式,使得系統本身具有了很強的移植性和模塊化功能。從實際的運行情況來看,床面的各種姿勢都能滿足預期要求,并能有效地避免操作人員的誤動作。驗證了控制方案和通信策略的實用性和可靠性,顯現出廣闊的市場前景。
[1]田志宏,白穩峰.殘障人生活起居床控制系統的設計[J].計算機測量與控制,2011,19(3):579-582.
[2]俞國亮.一種用Atmel89c2051仿真PLC控制的方法[J].微計算機信息,2005(9):130-132.
[3]楊鵬,王曉雷,許曉云,等.基于 CAN總線的電動護理床控制系統研究[J].控制工程,2008,15(6):699-702.
[4]柳吉齡,張宇河,張潔.基于CAN總線的運動控制系統的設計[J].計算機測量與控制,2005,13(7):683-685.
[5]曹愛萍,劉衛國,韓英桃.電動醫療床用無刷直流電機控制系統[J].微電機,2005(3):56-57.
[6]陳宇,段鑫.可編程控制器基礎及編程技巧[M].廣州:華南理工大學出版社,2002.
[7]汪燁,多功能電動護理床控制系統研制[J].制造業自動化,2009(6):70-72.