當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]本文介紹了由AVR單片機(jī)實(shí)現(xiàn)的核磁共振儀床體檢測(cè)系統(tǒng)的硬件與軟件設(shè)計(jì),深入分析和研究了床體橫向運(yùn)動(dòng)和縱向運(yùn)動(dòng)的精確控制問題。

摘要:本文介紹了由AVR單片機(jī)實(shí)現(xiàn)的核磁共振儀床體檢測(cè)系統(tǒng)的硬件與軟件設(shè)計(jì),深入分析和研究了床體橫向運(yùn)動(dòng)和縱向運(yùn)動(dòng)的精確控制問題。
關(guān)鍵詞:AVR單片機(jī);檢測(cè)系統(tǒng);電機(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)控制與檢測(cè)系統(tǒ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單片機(jī)和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ì)

主控制板主要由AVR單片機(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)床體的簡單運(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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉