基于A(yíng)VR單片機的核磁共振儀床體檢測系統
關(guān)鍵詞:AVR單片機;檢測系統;電機控制;
1 引言
近年來(lái)隨著(zhù)醫學(xué)技術(shù)的快速發(fā)展,核磁共振儀已經(jīng)在大中型醫院中被廣泛的應用。目前,在核磁共振儀的生產(chǎn)過(guò)程中,床體部分要與磁體一起搬入電磁屏蔽室組裝后才能進(jìn)行檢測,這對人員和物資都是很大的浪費。針對這種狀況,本文設計出了一套核磁共振儀床體部分的運動(dòng)控制與檢測系統,它能夠對床體部分獨立進(jìn)行檢測,而不必將全部系統在屏蔽室安裝后檢測,從而降低了核磁共振儀床體部分的生產(chǎn)和檢測成本,縮短了生產(chǎn)周期。
本設計以通用醫療集團的Ovation5型核磁共振儀的床體為對象,對驅動(dòng)床體做橫向運動(dòng)的直流步進(jìn)電機和驅動(dòng)床體做縱向運動(dòng)的直流伺服電機的精確控制問(wèn)題進(jìn)行較為深入的分析和研究。系統主要采用了ATMEL公司的Atmega128單片機和ALTRA公司的EPM240T100型CPLD芯片作為主控制部分,實(shí)現了對床體縱向和橫向運動(dòng)的精確控制和檢測。主控電路采用了全數字控制方式和抗干擾設計,具有很高的抗干擾性能。
2 檢測系統的硬件設計
2.1 系統硬件結構
本檢測系統主要由主控制板、顯示部分、按鍵開(kāi)關(guān)、傳感器、串行通信和電機控制部分構成。床體的運動(dòng)分為橫向運動(dòng)和縱向運動(dòng)兩種狀態(tài),分別由直流步進(jìn)電機和直流伺服電機實(shí)現。本系統的硬件結構如圖1所示。
圖1 系統硬件結構示意圖
從圖1可以看出,電機的邏輯控制由主控制板實(shí)現。系統經(jīng)過(guò)初始化之后,當開(kāi)關(guān)或按鍵發(fā)出通斷信號給主控制板時(shí),由單片機判斷床體當前的狀態(tài),如果床體沒(méi)有處于極限位置,則單片機向相應的電機發(fā)出驅動(dòng)信號,驅動(dòng)床體向相應的方向運動(dòng),否則床體停止運動(dòng)。橫向運動(dòng)采用開(kāi)環(huán)控制,運動(dòng)位置由單片機發(fā)出的脈沖個(gè)數決定??v向運動(dòng)采用閉環(huán)控制,由連接在直流伺服電機上的編碼器反饋位置信號給主控制板。
2.2 主控制板硬件設計
主控制板主要由AVR單片機、CPLD、濾波電路、電平轉換電路和串口通信電路等構成。AVR單片機主要實(shí)現控制功能,CPLD主要實(shí)現I/O口擴展、邏輯判斷和對輸入、輸出信號的編碼解碼功能。
本系統采用的AVR Atmega128單片機是一種高性能、低功耗的8位微處理器,采用先進(jìn)的 RISC 結構,133 條指令大多數可以在一個(gè)時(shí)鐘周期內完成,滿(mǎn)足了本系統對執行速度的要求。它具有非易失性的程序和數據存儲器,128K 字節的系統內可編程Flash。由于本系統在對縱向距離的增減,橫向距離的增減,鍵盤(pán)掃描等程序設計均需要使用定時(shí)器。而此單片機分別提供了兩個(gè)具有獨立的預分頻器和比較器功能的8 位定時(shí)器/ 計數器,以及兩個(gè)具有預分頻器、比較功能和捕捉功能的16 位定時(shí)器/ 計數器。它具有兩路8 位PWM和6路分辨率可編程(2 到16 位)的PWM輸出比較調制器。它具有獨立片內振蕩器的可編程看門(mén)狗定時(shí)器,能夠有效防止程序跑飛。
圖2 主控制板硬件框圖
主控制板硬件框圖如圖2所示,系統初始化后,當有運動(dòng)按鍵信號輸入單片機時(shí),單片機將輸出相應的縱向或橫向控制信號。單片機接收經(jīng)過(guò)濾波后的縱向電機編碼器的信號,由內部程序計算當前的橫向和縱向位置,并將當前的位置信息輸出到CPLD,由CPLD驅動(dòng)顯示部分,顯示當前的橫向和縱向位置。在壽命測試模式下,縱向顯示部分也同時(shí)可以顯示壽命測試計數。本系統具有串行通信功能,能夠通過(guò)串行接口與PC機或其他設備通信。
3 控制系統的軟件設計
主控制板首先接收來(lái)自用戶(hù)的操作信號,然后根據這些信號的狀態(tài),通過(guò)AVR單片機和CPLD內部程序實(shí)現對電機的控制和顯示功能。在本檢測系統中,由于需要控制和顯示的信息很多,并且關(guān)聯(lián)性很強,因此需要對單片機進(jìn)行復雜的編程才能實(shí)現各個(gè)功能。對本系統而言,AVR單片機固化程序的質(zhì)量,直接影響到了整個(gè)系統的運行穩定性和控制精度,因此AVR單片機固化程序的編程技術(shù)就成為系統控制的關(guān)鍵,這同時(shí)也是本系統的設計重點(diǎn)之一。通過(guò)分析床體的設計要求和實(shí)際運行情況,設計開(kāi)發(fā)出一套床體運動(dòng)測試程序,使得測試系統能夠對床體實(shí)際運行中所有的運動(dòng)狀態(tài)、運動(dòng)精度和運動(dòng)壽命進(jìn)行測試。
3.1 電機控制策略
本系統對步進(jìn)電機采用了開(kāi)環(huán)控制,對直流伺服電機采用了閉環(huán)控制。
3.1.1 步進(jìn)電機的控制
直流步進(jìn)電機由主控制板發(fā)出脈沖驅動(dòng)信號給直流步進(jìn)電機驅動(dòng)器,從而驅動(dòng)步進(jìn)電機動(dòng)作。電機的轉動(dòng)角度和位置由主控制板發(fā)出的脈沖個(gè)數決定。單片機是通過(guò)控制向驅動(dòng)器輸出脈沖的數量,經(jīng)過(guò)計算后判斷當前床體橫向位置。橫向位置通過(guò)數碼管顯示在用戶(hù)界面上。由于步進(jìn)電機具有誤差不累積的特性,所以通過(guò)這種開(kāi)環(huán)的控制方式能夠實(shí)現步進(jìn)電機的精確控制。
3.1.2 伺服電機的控制
直流伺服電機是由單片機發(fā)出的PWM驅動(dòng)信號經(jīng)過(guò)放大后驅動(dòng)電機動(dòng)作。通過(guò)接在電機上的編碼器的反饋信號和前后極限位置傳感器判斷床體當前的縱向位置,實(shí)現了直流伺服電機的閉環(huán)控制??刂齐姍C驅動(dòng)信號,就可以實(shí)現電機的起/停、正/反轉和加/減速功能,從而實(shí)現床體的簡(jiǎn)單運動(dòng)、復雜運動(dòng)和指定運動(dòng)狀態(tài)。伺服電機的驅動(dòng)是由主控制板發(fā)出控制信號,由驅動(dòng)電路驅動(dòng)直流伺服電機動(dòng)作,配以脈沖發(fā)生器(編碼器)測量電機的轉角,經(jīng)濾波后反饋給單片機,從而構成了電機的閉環(huán)控制系統,實(shí)現了對直流伺服電機的精確控制。
3.2 AVR單片機固化程序
AVR單片機固化程序采用ICC語(yǔ)言編寫(xiě),并使用模塊化的設計方法,分為主程序、鍵盤(pán)掃描模塊、顯示模塊、運動(dòng)控制模塊、橫向運動(dòng)測試模塊、縱向運動(dòng)測試模塊和壽命測試模塊。模塊化設計使軟件更加靈活,便于調用和移植,并且在錯誤發(fā)生的時(shí)候,可以很快的找到錯誤,極大的提高了系統的可靠性和穩定性。
3.2.1 主程序
主程序要完成系統的初始化,中斷設置,全局變量設置和看門(mén)狗設置等。在初始化結束后,系統進(jìn)入主查詢(xún)循環(huán)過(guò)程,判斷當前進(jìn)行的操作,并進(jìn)入相應的功能模塊。系統程序中采用了狀態(tài)位的方式,實(shí)現主程序和各個(gè)功能模塊,以及各個(gè)功能模塊之間的運動(dòng)狀態(tài)的通信,保證了在各個(gè)功能模塊之間切換時(shí),系統的安全和穩定性。系統主程序的流程圖如圖3所示。
圖3 主程序流程圖
圖4 鍵盤(pán)掃描模塊程序流程圖
3.2.2 鍵盤(pán)掃描模塊
由于對系統響應速度要求不高,所以鍵盤(pán)掃描采用了查詢(xún)的方式。鍵盤(pán)掃描模塊程序流程圖如圖4所示,縱向運動(dòng)的優(yōu)先級大于橫向運動(dòng)的優(yōu)先級,當縱向按鍵和橫向按鍵同時(shí)按下時(shí),床體將會(huì )縱向運動(dòng),橫向運動(dòng)按鍵被屏蔽。
3.2.3 壽命測試模塊
壽命測試部分是本系統中結構最復雜,涉及變量最多的一個(gè)功能模塊,并且同時(shí)存在系統狀態(tài)位和壽命測試狀態(tài)位變量,所以各個(gè)功能模塊之間的狀態(tài)通信也比其他功能模塊復雜。在這個(gè)模塊中,主要實(shí)現了床體自動(dòng)進(jìn)行復雜運動(dòng)的功能,并且能夠對各種預先設定的循環(huán)運動(dòng)計數,從而實(shí)現對床體的壽命測試。
圖5 壽命測試模塊
3.3 CPLD固化程序
CPLD固化程序采用VHDL語(yǔ)言編寫(xiě)。主要功能為:
① 驅動(dòng)“縱向位置”數碼管顯示當前縱向位置或壽命測試計數;
② 對極限位置傳感器的差分信號解碼后,輸出給MCU;
③ 接收橫向位置信號,并驅動(dòng)“橫向位置”數碼管,顯示橫向位置;
④ 驅動(dòng)極限位置指示LED;
4 結論
通過(guò)在核磁共振儀的床體上進(jìn)行的實(shí)際應用,證明本系統能夠完全實(shí)現對床體的控制功能,并且滿(mǎn)足對床體各種測試的要求,具有較高的穩定可靠性。本系統能夠獨立對核磁共振儀的床體進(jìn)行檢測,大大降低了生產(chǎn)成本,縮短了生沒(méi)產(chǎn)周期,具有較高的應用價(jià)值。
參 考 文 獻
[1]王曉明.電動(dòng)機的單片機控制[M].北京:北京航空航天大學(xué)出版社.2002.
[2]馬潮.高檔8位單片機ATmega128原理與開(kāi)發(fā)應用指南(上)[M].北京:北京航空航天大學(xué)出版社.2004.
[3]周立功,夏宇聞等.單片機與CPLD綜合應用技術(shù)[M].北京:北京航空航天大學(xué)出版社.2003.
[4]王向周,任月慧,鄭戍華等.基于MB90F549單片機的直流伺服電機調速系統[J].電測與儀表.2003,40(450):59-61,21
伺服電機相關(guān)文章:伺服電機工作原理
評論