熊晨陽,趙瑞領,隋首鋼
1. 臨沂市計量檢定所,山東 臨沂 276003;2. 山東建筑大學 信息與電氣工程學院,山東 濟南 250101
離心機是生物學教學、實驗室、醫用科研領域中常見的儀器,其原理是利用旋轉轉頭產生的離心力,使懸浮液或乳濁液中不同密度、不同顆粒大小的物質分離開來[1]。醫用離心機分高速、中速和低速三大類,每分鐘在5000轉以下為低速離心機,每分鐘在5000轉至10000轉內為中速離心機,10000轉以上為高速離心機[2]。轉速是離心機的核心參數,離心效果完全取決于轉速,因而對其參數的測量十分必要。檢測的方法有多種,目前普遍的檢測方法是在轉盤上粘貼反射貼,用手持式轉速表對準反射貼,待轉速表讀數穩定后的數值即為離心機的轉速。此種檢測方法存在以下問題:① 必須開蓋檢測,一些型號的離心機有安全設置,在開蓋的情況下停止轉動,無法檢測[3];② 開蓋檢測在轉盤高速旋轉的情況下存在安全隱患;③ 開蓋檢測受到外界環境的影響,容易產生較大誤差;④ 手持轉速表的穩定性較差,在轉盤高速旋轉的情況下,無法準確對準反射貼;⑤ 醫用離心機為避免污染等原因,不容許開蓋。基于以上情況,醫用離心機轉速的檢測必須在盒蓋密閉條件下實現。本系統根據霍爾元器件的測速原理與工作過程,采用脈沖計數以及模塊化編程的方法,實現了對醫用離心機轉速精確測量,有效地解決了醫用離心機的轉速檢測問題。
轉盤轉速檢測系統利用霍爾測速傳感器,將所采集的脈沖信號經單片機處理后,通過數據傳輸最終顯示在LCD上。該系統將帶有轉盤的裝置放在測速模塊的接入口,將所測數據以脈沖的形式傳入到單片機中斷系統進行計數,再將所測數據通過無線發射模塊進行傳輸,最后在LCD觀察所得到的數據值,為控制裝置通過對器件的調節來控制電機的轉速提供測量基礎[4]。
本系統的主要任務是利用單片機系統實現轉盤轉速檢測功能,并結合現場應用情況,利用無線傳輸功能實現轉盤測量的轉速傳輸至接收端,實現LCD顯示,并完成以下設計任務:① 完成轉盤轉速檢測原理設計,利用霍爾傳感器完成對轉盤轉速的采集,選擇元器件的型號并搭建電路;② 完成系統軟件設計,包括系統主程序、測速模塊子程序、定時器/計數器子程序、報警子程序、顯示模塊子程序;③ 完成數據無線傳輸功能,實現數據顯示功能設計,利用無線傳輸將檢測的轉盤轉速顯示在LCD1602上。
本設計對電機的轉速進行研究,采用了數字式的測量方法,以STC89C52單片機為中央控制單元,利用霍爾元器件進行電機轉速的測量,然后利用無線發射模塊進行數據傳輸,將實時數據顯示在LCD中。其中霍爾測速傳感器在整個系統中工作過程為:將電機的同軸轉軸與霍爾測速傳感器連接起來,電機每轉一圈經傳感器采集后就會產生相應的脈沖,然后傳感器將脈沖傳輸給單片機主機模塊,經單片機的定時/計數器處理后,將實時數據顯示在LCD中[5]。
系統的總體設計圍繞著核心控制部件STC89C52,由霍爾傳感器采集實時的電機轉速,再使用顯示模塊LCD1602的電位器調節電機的轉速。整個系統由無線發射傳輸模塊、轉速測量模塊、核心控制模塊、轉速顯示模塊等組成。本設計的最小系統的硬件電路主要包括:晶振電路、復位電路[6]等,并將所用到的硬件元件在電路圖中提及。系統核心部分主要包括:被測直流電機、單片機最小系統部分、霍爾傳感器模塊、Zigbee模塊、LCD1602顯示模塊等。系統框圖如圖1所示。

圖1 系統框圖
電源電路作為單片機的供電電路,在整個單片機的運行當中起著至關重要的作用,本設計采用AMS1117系列的穩壓器,用于交換式電源5 V至3.3 V線性穩壓器,其優點是在最大輸出電流時,AMS1117器件的最小壓差保證不超過1.3 V,并隨負載電流的減小而逐漸降低,片上微調把基準電壓調整到1.5%的誤差以內,而且電流限制也得到了調整,以盡量減少因穩壓器和電源電路超載而造成的壓力。STC89C52單片機的工作電壓為3.8~5.5 V,因此,AMS1117比較適用于STC89C52單片機的電源電路。單片機的電源電路如圖2所示。

圖2 電源電路原理圖
晶振電路、復位電路等電路組成了單片機的最小系統,一個單片機包含這些主要部件是一個單片機正常操作運行的前提條件。單片機的最小系統是整個測速系統的核心部分。最小系統原理圖如圖3所示。
在時鐘電路部分,本系統采用的是內部時鐘方式,時鐘電路電路圖如圖3所示,在單片機的XTAL1和XTAL2引腳上外接一個晶振,晶振的頻率選擇的是11.0592 MHz,再將兩個引腳分別接入C2和C3兩個電容,C1和C2的值都為22 pF。
在復位電路部分,本次設計采用的按鍵式手動復位,將按鍵按下,此時單片機的RST引腳會與電源Vcc接通,通過單片機的RST的引腳接入一個高電平,單片機會進行復位操作。
霍爾傳感器[7]是利用霍爾效應的原理來進行工作,其具有穩定性好、精度高、寬帶高、使用方便、價格便宜、抗干擾能力特別強、能夠適應較惡劣的環境因素的優良性能,已被廣泛應用于信息技術、測量和計算機等諸多領域[8]。在本系統設計中,選用測量電機轉速的3144型號測速傳感器。
當電機轉動時,帶動傳感器轉動,產生對應頻率的脈沖信號,經過信號處理后輸出到計數器或其他脈沖計數裝置,進行轉速測量,霍爾元件在使用時,在垂直于平面方向上施加外電場,在沿平面方向上兩端加外電場,則使電子在磁場中運動,結果在器件的兩側面之間產生霍爾電勢、其大小與外磁場及電流大小成比例[9]。脈沖間的相互轉換如圖4所示。
霍爾測速傳感器的原理圖如圖5所示。

圖5 霍爾測速傳感器的原理圖
本系統設計采用了M(測頻)法[10],利用檢測采集的脈沖信號頻率進行電機轉速的檢測,將采集的脈沖信號傳輸到單片機,經過處理后得到了對電機轉速測量的實時數據。由于電機的運動是重復的且具有規律,所以所測的轉速是利用單位時間內的轉軸的轉數來衡量的。具體的方法:在電機的轉軸的轉盤上固定一塊永久磁鋼,轉軸、轉盤和磁鋼進行同步旋轉,在轉盤旁安裝一個磁鋼平行的霍爾元件,當磁鋼隨轉軸與轉盤轉動時,就會產生磁場,受到磁場的影響,霍爾傳感器就會相對應的脈沖信號,此時的脈沖信號的頻率隨轉速的變化而變化,脈沖信號的頻率周期與轉速成以下關系:

式中S代表電機的轉速;M代表電機轉一圈的脈沖數;T為輸出信號的周期[11]。
LCD1602是工業型顯示屏,可同時顯示32個字符,是用來顯示數字、符號、字母的點陣型顯示模塊。為使電路簡單,占用的I/O少,因此選擇了LCD1602作為顯示模塊。
本設計的顯示模塊采用5 V的電源供電,顯示模塊的引腳7~14引腳接單片機的P0(P0.0~P0.7),控制端口的引腳RD、WR、LCDE分別接入單片機的P2.6、P2.5、P2.7,電源Vcc與電容C8、C9相連接,滑動變阻器起到上下拉電阻的作用,起到了限流與穩定電平的作用。如圖6所示。

圖6 LCD1602顯示模塊的引腳示意圖
ZigBee是一種基于IEEE802.15.4規范的無線技術。它具有在802.15.4規范上創建的安全和應用層接口、工作于免授權頻段、超低功耗、超低成本、極大可伸縮的網格和星型網絡拓撲等諸多優點,是基于標準的遠程監控、控制和傳感器的短距離、低速率網絡應用技術[12]。
本設計中采用DL-20型號的Zigbee模塊,主要實現電機測速系統與電腦之間的通信。Zigbee具有完全集成的壓控振蕩器,只需要天線、16 MHz晶振等極少數外圍電路就能在2.4 GHz的頻段上工作[13]。
DL-20無線串口透傳模塊是一款基于UART接口的全雙工無線透明傳輸模塊,UART串口傳輸數據支持串口不間斷發送,不限包長,傳輸速率最高可達3300 Bps,可以工作在2400~2450 MHz公用頻段。Zigbee模塊上的CC2530芯片提供一個SPI接口與微處理器連接,通過這個接口經過簡單的配置即可完成寄存器的設置和收發數據的任務。
Zigbee模塊是本設備唯一的通信模塊,負責與通信控制器聯系,進行數據收發。測得的轉速值可以由Zigbee發出,到達顯示終端,這樣就能實現實時遠程監控。實現Zigbee無線發射模塊與顯示終端之間的通信后,對系統初始化后,串口中斷,Zigbee傳輸數據,在傳輸完一組完整的數組,就是傳輸的一個速度值,然后顯示在LCD1602上完成實時速度檢測[14]。
系統硬件部分及CPU周邊電路設計實物照片如圖7所示。
本設計將STC89C52單片機作為整個測速系統的核心控制單元,在測速系統初始化后,由單片機所控制的霍爾元器件測速電路對電機的轉速進行檢測,將所采集的脈沖信號傳輸給單片機,單片機在接收到該脈沖信號后,經中斷系統處理將脈沖信號轉換為轉速,然后通過無線傳輸模塊(Zigbee)發送到PC機,并將實時數據顯示在顯示模塊的LCD1602顯示屏上。系統控制程序設計流程如圖8所示[15]。

圖7 硬件部分實物圖
將霍爾傳感器與電動機的轉軸同軸連接,轉軸每轉一圈,霍爾元件就會采集到一定數量的脈沖信號,并由霍爾測速傳感器輸送到單片機,脈沖信號經過單片機的CPU處理后,最后電機轉速在LCD1602液晶顯示屏上顯示出來。本系統設計使用單片機中斷系統中的INT0中斷對脈沖信號進行計數,定時器T0的工作于定時模式,工作于方式1,每經過1 s讀一次對外部中斷的INT0計數值,此時讀的計數值即為脈沖信號的頻率。電動機轉動時通過轉軸帶動轉盤的旋轉,此時轉軸與轉盤處于同一旋轉頻率,在電機的轉軸的轉盤上固定一塊永久磁片,轉軸、轉盤和磁片進行同步旋轉,在轉盤旁安裝一個磁片平行的霍爾元件,當磁片隨轉軸與轉盤轉動時,就會產生磁場,受到磁場的影響,霍爾傳感器就會采集到相對應的脈沖信號,此時的脈沖信號的頻率隨轉速的變化而變化,霍爾傳感器采集到的脈沖信號傳輸到單片機中斷系統中的定時/計數器INT0進行計數,定時器T0定時。定時器T0溢出中斷100次所用的時間T與所測脈沖數M的比,然后進行單位換算,所得的結果就是電機的旋轉速度[16]。單片機外部中斷計數流程圖如圖9所示。
霍爾傳感器測完轉速時,內部定時器T0在有外部中斷時便讀取TH0、TL0,為了使定時器再次計算脈沖信號,定時器T0要清零;設定各定時器的初始值后,判斷系統是否啟動進行轉速測量,若是,那么測速系統啟動進行測速;若否,則系統等待啟動。測速系統啟動后,定時器接收到霍爾傳感器采集的脈沖后,則啟動外部中斷,接收到一個脈沖信號時,中斷一次,以這種方式來記錄脈沖個數,同時啟動定時器T0工作,定時每秒中斷一次,此時得到的脈沖信號的個數就是電機的轉速。定時器中斷流程如圖10所示。

圖8 程序設計流程圖

圖9 外部中斷計數流程圖
Zigbee無線串口模塊與PC機配對好以后,給串口一個中斷程序,就能實現無線發射模塊與PC機之間的通信,將AT命令用于無線串口中,可以使無線串口更加簡便。
實現Zigbee無線發射模塊與PC機之間的通信后,對系統初始化后,串口中斷,Zigbee傳輸數據,在傳輸完一組完整的數組,就是傳輸的一個速度值,然后顯示在LCD1602上完成實時速度檢測。程序流程圖如圖11所示。

圖10 定時器中斷流程圖

圖11 Zigbee程序流程圖
轉盤轉速檢測系統首先要對電機轉盤轉速檢測,通過Zigbee模塊傳輸所測電機的轉速,然后LCD1602顯示屏上顯示數據。在設計思路與方案確定的情況下,然后著手對硬件器件的選擇,選擇3144霍爾元件、單片機STC89C52、Zigbee模塊、LCD1602顯示模塊等核心的硬件,將各硬件的原理圖用Altium Designer軟件進行設計,根據電路的簡便性、資源的充分利用、各接口的便利度來進行硬件電路的設計,為保證設計的正確性,遵循先局部后全局的原則,先進行單個模塊的電路設計,確保單個模塊正常工作,再將所有的模塊進行設計連線,最后整合到一塊進行調試。將系統的原理圖生成PCB圖,根據PCB圖進行硬件的焊接。
在進行硬件電路焊接的時候,首先保證所用元器件的質量的好壞,先對各元件的質量進行檢測,在放置元器件的時候,遵循先小后大、先低后高、先易后難的原則進行元件的放置,然后進行焊接,減少焊接的錯誤率。
首先,進行參數的選定,系統采用的是STC89C52芯片的單片機;其次將文件選擇生成HEX文件;然后將代碼運行確認程序是否正確。若不正確,則逐句調試;若正確,則直接寫入系統硬件板,然后檢查所實現的功能是否齊全,是否滿足要求。
程序檢測過程中,主要對主機部分上的錯誤進行主要檢查,重點放在的程序修改上面,系統的程序分為初始化程序,中斷程序,延時程序,顯示程序,測速程序,主程序。修改完程序后,下載到主機的STC89C52單片機上,給主從機上電后,主機上面有顯示了,添加了一個while語句之后才時時更新顯示,基本上完成了整個設計。
按照設計思路,對離心機的轉速進行檢測驗證,驗證的方法采用低速2000 r/min、中速5000 r/min、高速10000 r/min分別檢測,取檢測6次的均值作為一次檢測結果,計算轉速誤差率[17],并將此結果與計量部門出具的檢定證書進行數據驗證,驗證結果滿意,檢測數據見表1。

表1 離心機轉速檢測結果
本系統是集硬件、軟件相結合的一體化設計,具有如下優點:① 設計中使用的硬件電路較少,功能實現主要通過C語言編寫程序實現,使整個系統具有很好的靈活性,又大大節省了硬件資源;② 測速系統采用霍爾器件作為測速傳感器,具有靈敏度高,抗干擾能力強等特點,系統的測量誤差在5%以內,并且在測量范圍內轉速越高測量精度越高,高中低轉速檢測均穩定可靠;③ 采用LCD1206顯示測速值,具有直觀、穩定易于實現的特點。
利用本系統對不同型號的醫用離心機進行密閉檢測讀數,并與法定計量技術機構出具的數據驗證后表明,該系統檢測數據準確、靈敏度高、穩定性好,操作簡單,達到了預期設計目的。在后期功能設計中還可以增加報警功能,實現轉速超范圍時啟動蜂鳴器,實現及時報警,方便臨檢需要。