新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AVR單片機(jī)的核磁共振儀床體檢測(cè)系統(tǒng)

基于AVR單片機(jī)的核磁共振儀床體檢測(cè)系統(tǒng)

作者: 時(shí)間:2008-06-27 來源:網(wǎng)絡(luò) 收藏
摘要:本文介紹了由實(shí)現(xiàn)的儀床體的硬件與軟件設(shè)計(jì),深入分析和研究了床體橫向運(yùn)動(dòng)和縱向運(yùn)動(dòng)的精確控制問題。
關(guān)鍵詞:;;電機(jī)控制;

1 引言

近年來隨著醫(yī)學(xué)技術(shù)的快速發(fā)展,儀已經(jīng)在大中型醫(yī)院中被廣泛的應(yīng)用。目前,在儀的生產(chǎn)過程中,床體部分要與磁體一起搬入電磁屏蔽室組裝后才能進(jìn)行檢測(cè),這對(duì)人員和物資都是很大的浪費(fèi)。針對(duì)這種狀況,本文設(shè)計(jì)出了一套核磁共振儀床體部分的運(yùn)動(dòng)控制與,它能夠?qū)Υ搀w部分獨(dú)立進(jìn)行檢測(cè),而不必將全部系統(tǒng)在屏蔽室安裝后檢測(cè),從而降低了核磁共振儀床體部分的生產(chǎn)和檢測(cè)成本,縮短了生產(chǎn)周期。

本設(shè)計(jì)以通用醫(yī)療集團(tuán)的Ovation5型核磁共振儀的床體為對(duì)象,對(duì)驅(qū)動(dòng)床體做橫向運(yùn)動(dòng)的直流步進(jìn)電機(jī)和驅(qū)動(dòng)床體做縱向運(yùn)動(dòng)的直流伺服電機(jī)的精確控制問題進(jìn)行較為深入的分析和研究。系統(tǒng)主要采用了ATMEL公司的Atmega128和ALTRA公司的EPM240T100型CPLD芯片作為主控制部分,實(shí)現(xiàn)了對(duì)床體縱向和橫向運(yùn)動(dòng)的精確控制和檢測(cè)。主控電路采用了全數(shù)字控制方式和抗干擾設(shè)計(jì),具有很高的抗干擾性能。

2 檢測(cè)系統(tǒng)的硬件設(shè)計(jì)

2.1 系統(tǒng)硬件結(jié)構(gòu)

本檢測(cè)系統(tǒng)主要由主控制板、顯示部分、按鍵開關(guān)、傳感器、串行通信和電機(jī)控制部分構(gòu)成。床體的運(yùn)動(dòng)分為橫向運(yùn)動(dòng)和縱向運(yùn)動(dòng)兩種狀態(tài),分別由直流步進(jìn)電機(jī)和直流伺服電機(jī)實(shí)現(xiàn)。本系統(tǒng)的硬件結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)硬件結(jié)構(gòu)示意圖

從圖1可以看出,電機(jī)的邏輯控制由主控制板實(shí)現(xiàn)。系統(tǒng)經(jīng)過初始化之后,當(dāng)開關(guān)或按鍵發(fā)出通斷信號(hào)給主控制板時(shí),由單片機(jī)判斷床體當(dāng)前的狀態(tài),如果床體沒有處于極限位置,則單片機(jī)向相應(yīng)的電機(jī)發(fā)出驅(qū)動(dòng)信號(hào),驅(qū)動(dòng)床體向相應(yīng)的方向運(yùn)動(dòng),否則床體停止運(yùn)動(dòng)。橫向運(yùn)動(dòng)采用開環(huán)控制,運(yùn)動(dòng)位置由單片機(jī)發(fā)出的脈沖個(gè)數(shù)決定??v向運(yùn)動(dòng)采用閉環(huán)控制,由連接在直流伺服電機(jī)上的編碼器反饋位置信號(hào)給主控制板。

2.2 主控制板硬件設(shè)計(jì)

主控制板主要由單片機(jī)、CPLD、濾波電路、電平轉(zhuǎn)換電路和串口通信電路等構(gòu)成。AVR單片機(jī)主要實(shí)現(xiàn)控制功能,CPLD主要實(shí)現(xiàn)I/O口擴(kuò)展、邏輯判斷和對(duì)輸入、輸出信號(hào)的編碼解碼功能。

本系統(tǒng)采用的AVR Atmega128單片機(jī)是一種高性能、低功耗的8位微處理器,采用先進(jìn)的 RISC 結(jié)構(gòu),133 條指令大多數(shù)可以在一個(gè)時(shí)鐘周期內(nèi)完成,滿足了本系統(tǒng)對(duì)執(zhí)行速度的要求。它具有非易失性的程序和數(shù)據(jù)存儲(chǔ)器,128K 字節(jié)的系統(tǒng)內(nèi)可編程Flash。由于本系統(tǒng)在對(duì)縱向距離的增減,橫向距離的增減,鍵盤掃描等程序設(shè)計(jì)均需要使用定時(shí)器。而此單片機(jī)分別提供了兩個(gè)具有獨(dú)立的預(yù)分頻器和比較器功能的8 位定時(shí)器/ 計(jì)數(shù)器,以及兩個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16 位定時(shí)器/ 計(jì)數(shù)器。它具有兩路8 位PWM和6路分辨率可編程(2 到16 位)的PWM輸出比較調(diào)制器。它具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器,能夠有效防止程序跑飛。

圖2 主控制板硬件框圖

主控制板硬件框圖如圖2所示,系統(tǒng)初始化后,當(dāng)有運(yùn)動(dòng)按鍵信號(hào)輸入單片機(jī)時(shí),單片機(jī)將輸出相應(yīng)的縱向或橫向控制信號(hào)。單片機(jī)接收經(jīng)過濾波后的縱向電機(jī)編碼器的信號(hào),由內(nèi)部程序計(jì)算當(dāng)前的橫向和縱向位置,并將當(dāng)前的位置信息輸出到CPLD,由CPLD驅(qū)動(dòng)顯示部分,顯示當(dāng)前的橫向和縱向位置。在壽命測(cè)試模式下,縱向顯示部分也同時(shí)可以顯示壽命測(cè)試計(jì)數(shù)。本系統(tǒng)具有串行通信功能,能夠通過串行接口與PC機(jī)或其他設(shè)備通信。

3 控制系統(tǒng)的軟件設(shè)計(jì)

主控制板首先接收來自用戶的操作信號(hào),然后根據(jù)這些信號(hào)的狀態(tài),通過AVR單片機(jī)和CPLD內(nèi)部程序?qū)崿F(xiàn)對(duì)電機(jī)的控制和顯示功能。在本檢測(cè)系統(tǒng)中,由于需要控制和顯示的信息很多,并且關(guān)聯(lián)性很強(qiáng),因此需要對(duì)單片機(jī)進(jìn)行復(fù)雜的編程才能實(shí)現(xiàn)各個(gè)功能。對(duì)本系統(tǒng)而言,AVR單片機(jī)固化程序的質(zhì)量,直接影響到了整個(gè)系統(tǒng)的運(yùn)行穩(wěn)定性和控制精度,因此AVR單片機(jī)固化程序的編程技術(shù)就成為系統(tǒng)控制的關(guān)鍵,這同時(shí)也是本系統(tǒng)的設(shè)計(jì)重點(diǎn)之一。通過分析床體的設(shè)計(jì)要求和實(shí)際運(yùn)行情況,設(shè)計(jì)開發(fā)出一套床體運(yùn)動(dòng)測(cè)試程序,使得測(cè)試系統(tǒng)能夠?qū)Υ搀w實(shí)際運(yùn)行中所有的運(yùn)動(dòng)狀態(tài)、運(yùn)動(dòng)精度和運(yùn)動(dòng)壽命進(jìn)行測(cè)試。

3.1 電機(jī)控制策略

本系統(tǒng)對(duì)步進(jìn)電機(jī)采用了開環(huán)控制,對(duì)直流伺服電機(jī)采用了閉環(huán)控制。

3.1.1 步進(jìn)電機(jī)的控制

直流步進(jìn)電機(jī)由主控制板發(fā)出脈沖驅(qū)動(dòng)信號(hào)給直流步進(jìn)電機(jī)驅(qū)動(dòng)器,從而驅(qū)動(dòng)步進(jìn)電機(jī)動(dòng)作。電機(jī)的轉(zhuǎn)動(dòng)角度和位置由主控制板發(fā)出的脈沖個(gè)數(shù)決定。單片機(jī)是通過控制向驅(qū)動(dòng)器輸出脈沖的數(shù)量,經(jīng)過計(jì)算后判斷當(dāng)前床體橫向位置。橫向位置通過數(shù)碼管顯示在用戶界面上。由于步進(jìn)電機(jī)具有誤差不累積的特性,所以通過這種開環(huán)的控制方式能夠?qū)崿F(xiàn)步進(jìn)電機(jī)的精確控制。

3.1.2 伺服電機(jī)的控制

直流伺服電機(jī)是由單片機(jī)發(fā)出的PWM驅(qū)動(dòng)信號(hào)經(jīng)過放大后驅(qū)動(dòng)電機(jī)動(dòng)作。通過接在電機(jī)上的編碼器的反饋信號(hào)和前后極限位置傳感器判斷床體當(dāng)前的縱向位置,實(shí)現(xiàn)了直流伺服電機(jī)的閉環(huán)控制??刂齐姍C(jī)驅(qū)動(dòng)信號(hào),就可以實(shí)現(xiàn)電機(jī)的起/停、正/反轉(zhuǎn)和加/減速功能,從而實(shí)現(xiàn)床體的簡(jiǎn)單運(yùn)動(dòng)、復(fù)雜運(yùn)動(dòng)和指定運(yùn)動(dòng)狀態(tài)。伺服電機(jī)的驅(qū)動(dòng)是由主控制板發(fā)出控制信號(hào),由驅(qū)動(dòng)電路驅(qū)動(dòng)直流伺服電機(jī)動(dòng)作,配以脈沖發(fā)生器(編碼器)測(cè)量電機(jī)的轉(zhuǎn)角,經(jīng)濾波后反饋給單片機(jī),從而構(gòu)成了電機(jī)的閉環(huán)控制系統(tǒng),實(shí)現(xiàn)了對(duì)直流伺服電機(jī)的精確控制。

3.2 AVR單片機(jī)固化程序

AVR單片機(jī)固化程序采用ICC語言編寫,并使用模塊化的設(shè)計(jì)方法,分為主程序、鍵盤掃描模塊、顯示模塊、運(yùn)動(dòng)控制模塊、橫向運(yùn)動(dòng)測(cè)試模塊、縱向運(yùn)動(dòng)測(cè)試模塊和壽命測(cè)試模塊。模塊化設(shè)計(jì)使軟件更加靈活,便于調(diào)用和移植,并且在錯(cuò)誤發(fā)生的時(shí)候,可以很快的找到錯(cuò)誤,極大的提高了系統(tǒng)的可靠性和穩(wěn)定性。

3.2.1 主程序

主程序要完成系統(tǒng)的初始化,中斷設(shè)置,全局變量設(shè)置和看門狗設(shè)置等。在初始化結(jié)束后,系統(tǒng)進(jìn)入主查詢循環(huán)過程,判斷當(dāng)前進(jìn)行的操作,并進(jìn)入相應(yīng)的功能模塊。系統(tǒng)程序中采用了狀態(tài)位的方式,實(shí)現(xiàn)主程序和各個(gè)功能模塊,以及各個(gè)功能模塊之間的運(yùn)動(dòng)狀態(tài)的通信,保證了在各個(gè)功能模塊之間切換時(shí),系統(tǒng)的安全和穩(wěn)定性。系統(tǒng)主程序的流程圖如圖3所示。

圖3 主程序流程圖

圖4 鍵盤掃描模塊程序流程圖

3.2.2 鍵盤掃描模塊

由于對(duì)系統(tǒng)響應(yīng)速度要求不高,所以鍵盤掃描采用了查詢的方式。鍵盤掃描模塊程序流程圖如圖4所示,縱向運(yùn)動(dòng)的優(yōu)先級(jí)大于橫向運(yùn)動(dòng)的優(yōu)先級(jí),當(dāng)縱向按鍵和橫向按鍵同時(shí)按下時(shí),床體將會(huì)縱向運(yùn)動(dòng),橫向運(yùn)動(dòng)按鍵被屏蔽。

3.2.3 壽命測(cè)試模塊

壽命測(cè)試部分是本系統(tǒng)中結(jié)構(gòu)最復(fù)雜,涉及變量最多的一個(gè)功能模塊,并且同時(shí)存在系統(tǒng)狀態(tài)位和壽命測(cè)試狀態(tài)位變量,所以各個(gè)功能模塊之間的狀態(tài)通信也比其他功能模塊復(fù)雜。在這個(gè)模塊中,主要實(shí)現(xiàn)了床體自動(dòng)進(jìn)行復(fù)雜運(yùn)動(dòng)的功能,并且能夠?qū)Ω鞣N預(yù)先設(shè)定的循環(huán)運(yùn)動(dòng)計(jì)數(shù),從而實(shí)現(xiàn)對(duì)床體的壽命測(cè)試。

圖5 壽命測(cè)試模塊

3.3 CPLD固化程序

CPLD固化程序采用VHDL語言編寫。主要功能為:

① 驅(qū)動(dòng)“縱向位置”數(shù)碼管顯示當(dāng)前縱向位置或壽命測(cè)試計(jì)數(shù);

② 對(duì)極限位置傳感器的差分信號(hào)解碼后,輸出給MCU;

③ 接收橫向位置信號(hào),并驅(qū)動(dòng)“橫向位置”數(shù)碼管,顯示橫向位置;

④ 驅(qū)動(dòng)極限位置指示LED;

4 結(jié)論

通過在核磁共振儀的床體上進(jìn)行的實(shí)際應(yīng)用,證明本系統(tǒng)能夠完全實(shí)現(xiàn)對(duì)床體的控制功能,并且滿足對(duì)床體各種測(cè)試的要求,具有較高的穩(wěn)定可靠性。本系統(tǒng)能夠獨(dú)立對(duì)核磁共振儀的床體進(jìn)行檢測(cè),大大降低了生產(chǎn)成本,縮短了生沒產(chǎn)周期,具有較高的應(yīng)用價(jià)值。

獻(xiàn)

[1]王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社.2002.

[2]馬潮.高檔8位單片機(jī)ATmega128原理與開發(fā)應(yīng)用指南(上)[M].北京:北京航空航天大學(xué)出版社.2004.

[3]周立功,夏宇聞等.單片機(jī)與CPLD綜合應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社.2003.

[4]王向周,任月慧,鄭戍華等.MB90F549單片機(jī)的直流伺服電機(jī)調(diào)速系統(tǒng)[J].電測(cè)與儀表.2003,40(450):59-61,21

伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理




評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉