基于TI2812 DSP的無刷直流電動機(jī)控制軟件設(shè)計_第1頁
基于TI2812 DSP的無刷直流電動機(jī)控制軟件設(shè)計_第2頁
基于TI2812 DSP的無刷直流電動機(jī)控制軟件設(shè)計_第3頁
基于TI2812 DSP的無刷直流電動機(jī)控制軟件設(shè)計_第4頁
基于TI2812 DSP的無刷直流電動機(jī)控制軟件設(shè)計_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、精選文檔三 江 學(xué) 院本科畢業(yè)設(shè)計(論文)題 目 基于TI2812 DSP的無刷直流電動機(jī) 控制軟件設(shè)計 電氣與自動化工程學(xué)院 院 電氣工程及其自動化 專業(yè)學(xué) 號 B05071006 學(xué)生姓名 邢小強(qiáng) 指導(dǎo)教師 熊 田 忠 起訖日期 2009年2月23日至2009年5月25日 設(shè)計地點 L422 摘 要 無刷直流電機(jī)既具有直流電機(jī)結(jié)構(gòu)簡單、運(yùn)行可靠、維護(hù)方便等一系列優(yōu)點,還具備交流電機(jī)運(yùn)行效率高、無勵磁損耗及調(diào)速性能好等諸多優(yōu)點,現(xiàn)已廣泛應(yīng)用于工業(yè)控制的各個領(lǐng)域。本文在對無刷直流電動機(jī)調(diào)速系統(tǒng)的發(fā)展及應(yīng)用綜述的基礎(chǔ)上,介紹了采用DSP芯片對無刷直流電動機(jī)進(jìn)行換向與轉(zhuǎn)速控制的微機(jī)控制系統(tǒng)。文中給

2、出了系統(tǒng)的總體設(shè)計方案,分析了無刷直流電機(jī)的工作原理、控制電路、驅(qū)動電路,提出了軟件控制無刷電機(jī)的策略。闡述了軟件框架的基本結(jié)構(gòu)以及各個模塊的具體設(shè)計方法。文中還對DSP芯片 (TMS320F2812)進(jìn)行了一些介紹。最后運(yùn)用實際的硬件平臺以及上位機(jī)軟件(LabVIEW)對無刷直流電動機(jī)進(jìn)行監(jiān)控,證明了該系統(tǒng)工作良好,達(dá)到了預(yù)期目標(biāo)。關(guān)鍵詞:無刷直流電動機(jī),DSP芯片,軟件控制AbstractBrushless DC motor with a DC motor is simple in structure, reliable operation, easy maintenance, such

3、as a series of advantages, also has high efficiency AC motor run, no excitation loss and good speed, and many other advantages, has been widely used in various industrial control field.This article in the brushless DC motor speed control system overview of the development and application on the basi

4、s of the paper introduces the DSP chip on the exchange of brushless DC motor and speed control to the Microcomputer Control System. In this paper, the overall design of the system program, analysis of the brushless DC motor working principle, control circuit, driver circuit, a software strategy for

5、brushless motor control. Framework set out the basic structure of software modules, as well as the specific design methods. The article also DSP Core (TMS320F2812) to introduce a number.Finally, the use of the actual hardware platform, as well as PC software (LabVIEW) for brushless DC motor control,

6、 show that the system is good, reaching the target.Keywords: brushless DC motor, DSP chips, Control Software目錄第一章 緒論- 1 -1.1 無刷直流電動機(jī)的發(fā)展現(xiàn)狀- 1 -1.2 DSP與無刷直流電動機(jī)的聯(lián)系- 2 -1.3 本文研究的內(nèi)容- 3 -第二章 無刷電動機(jī)的結(jié)構(gòu)及工作原理- 4 -2.1無刷直流電動機(jī)的結(jié)構(gòu)- 4 -2.2無刷直流電動機(jī)的工作原理- 4 -第三章 電機(jī)控制中的DSP的特點和選擇- 7 -3.1 TMS320F2812的簡介- 7 -3.2電機(jī)控制中的DSP

7、的特點- 8 -3.3 DSP軟件設(shè)計特點- 10 -3.3.1 DSP開發(fā)環(huán)境CCS2000- 10 -3.3.2 C語言與匯編語言的分析比較- 10 -第四章 電機(jī)控制中的DSP軟件設(shè)計- 12 -4.1 各模塊的程序及說明- 12 -4.1.1系統(tǒng)時鐘的初始化模塊- 12 -4.1.2 事件管理器EV的初始化模塊- 13 -4.1.3 串行通訊SCI的初始化模塊- 15 -4.1.4 輸入捕捉(CAP)中斷- 16 -4.1.5定時器T1- 19 -4.1.6 DSP與上位串口通信協(xié)議- 20 -4.2 DSP程序的總體框架- 21 -第五章 結(jié)論及展望- 22 -5.1 結(jié)論- 22

8、-5.2 展望- 22 -參考文獻(xiàn)- 23 -致謝- 24 -第一章 緒論1.1 無刷直流電動機(jī)的發(fā)展現(xiàn)狀直流電動機(jī)具有很多優(yōu)點,如優(yōu)秀的線性機(jī)械特性、寬的調(diào)速范圍、大的起動轉(zhuǎn)矩、簡單的控制電路等,長期以來一直廣泛地應(yīng)用在各種驅(qū)動裝置和伺服系統(tǒng)中。但是直流電動機(jī)的電刷和換向器卻成為阻礙它發(fā)展的障礙。機(jī)械電刷和換向器因強(qiáng)迫性接觸,造成其結(jié)構(gòu)復(fù)雜、可靠性差、變化的接觸電阻、火花、噪音等一系列問題,影響了直流電動機(jī)的調(diào)速精度和性能。因此,長期以來人們一直在研究一種不用電刷和換向器的直流電動機(jī)。隨著電子技術(shù)、功率半導(dǎo)體技術(shù)和高性能的磁材料制造技術(shù)的飛速發(fā)展,這種想法已經(jīng)能夠?qū)崿F(xiàn)。無刷直流電動機(jī)利用電子

9、換向器取代了機(jī)械電刷和機(jī)械換向器,因此使這種電動機(jī)不僅保留了直流電動機(jī)的優(yōu)點,而且又具有交流電動機(jī)的結(jié)構(gòu)簡單、運(yùn)行可靠、維護(hù)方便等優(yōu)點,使它一經(jīng)出現(xiàn)就以極快的速度得到發(fā)展和普及。無刷直流電動機(jī)用一套電子換向裝置代替了有刷直流電動機(jī)的機(jī)械換向裝置,保留了有刷直流電動機(jī)寬闊而平滑的優(yōu)良調(diào)速特性。同時又克服了有刷直流電動機(jī)機(jī)械換向帶來的一系列缺點,具有高能量密度,高轉(zhuǎn)矩慣性化,高效率等特點。2 0世紀(jì)8 0年代以后,隨著電力電子技術(shù)、微電子技術(shù)和現(xiàn)代電機(jī)控制理論的發(fā)展,使得交流調(diào)速系統(tǒng)也逐步具備了寬調(diào)速范圍、高調(diào)速精度、快速動態(tài)響應(yīng)以及四象限運(yùn)行等良好的技術(shù)性能,其取代直流調(diào)速系統(tǒng)已成為必然的發(fā)展趨

10、勢。交流調(diào)速系統(tǒng)一般說來由同步電動機(jī)調(diào)速系統(tǒng)和異步電動機(jī)調(diào)速系統(tǒng)兩大部分組成。但是近年來,永磁同步電動機(jī)因其突出的優(yōu)點而在中、小功率電氣傳動系統(tǒng)中獲得了廣泛的應(yīng)用。其中具有梯形波反電動勢的永磁同步電動機(jī),常被稱為無刷直流電動機(jī)(即方波電動機(jī));而具有正弦波反電動勢的永磁同步電動機(jī),則被稱為正弦波永磁同步電動機(jī)。由于無刷直流電動機(jī)的定子電流為方波驅(qū)動,它相對正弦波永磁同步電動機(jī)的正弦波驅(qū)動來講,在相同的條件下逆變器獲取方波要比獲取正弦波容易得多,再加上其控制方發(fā)法也比正弦波永磁同步電動機(jī)的簡單,而且我國稀土儲量世界第一,生產(chǎn)大容量的無刷直流電動機(jī)已成為可能。永磁無刷直流電動機(jī)控制系統(tǒng)是隨著永磁電

11、動機(jī)和電力電子技術(shù)的發(fā)展而不斷完善發(fā)展的,它主要具有以下的優(yōu)點:a.永磁無刷直流電動機(jī)出力大、重量輕、體積小、效率高并且轉(zhuǎn)動慣量小,目前它已成為高性能驅(qū)動場合的理想伺服電動機(jī)。b.與直流調(diào)速系統(tǒng)比較:無刷直流電動機(jī)無電刷和機(jī)械換向器、工作可靠、無電火花產(chǎn)生,同時它又具有類似于普通直流電動機(jī)的調(diào)速性能。由于無刷直流電動機(jī)的調(diào)速原理與普通直流電動機(jī)的相同,因此由它們組成的調(diào)速系統(tǒng)也較為類似,在無刷直流電動機(jī)調(diào)速系統(tǒng)中可以借鑒普通直流調(diào)速系統(tǒng)的成熟設(shè)計經(jīng)驗。c.與異步電動機(jī)調(diào)速系統(tǒng)比較:其控制方法簡單,功率變換器不必為電機(jī)提供無功功率,并且電機(jī)轉(zhuǎn)子無勵磁、效率高、低速性能好。d.與一般變頻調(diào)速的同步

12、電動機(jī)比較:它不存在失步問題,并且提高了動態(tài)性能,而與采用矢量控制的同步電動機(jī)相比,其控制結(jié)構(gòu)簡單,便于工程化。綜上所述,無刷直流電動機(jī)既具備交流電動機(jī)結(jié)構(gòu)簡單、工作可靠、維護(hù)方便、壽命長等優(yōu)點,也具備普通直流電動機(jī)運(yùn)行效率高、轉(zhuǎn)矩大、調(diào)速方便、動態(tài)性能快等優(yōu)點,同時克服了普通直流電動機(jī)機(jī)械換向所引起的電火花干擾,維護(hù)難等諸多缺點,它綜合了直流電動機(jī)和交流電動機(jī)的優(yōu)點,是新一代電氣傳動的發(fā)展方向之一。1.2 DSP與無刷直流電動機(jī)的聯(lián)系無刷直流電機(jī)與電力電子技術(shù)、數(shù)字信號處理技術(shù)、自動控制技術(shù)等密切相關(guān),其中的一個關(guān)鍵問題是要解決電子換向控制器的設(shè)計和實現(xiàn)。電子換向控制器的發(fā)展經(jīng)歷了模擬控制電

13、路、模擬數(shù)字混合控制電路、專用集成控制電路、微處理器控制電路、數(shù)字信號處理器控制電路等階段。從發(fā)展趨勢來看,以數(shù)字信號處理器DSP為核心的控制電路將代表無刷直流電機(jī)電子換向控制器的發(fā)展方向。隨著控制算法的日趨復(fù)雜,需要處理的數(shù)據(jù)量大大增加,加之實時性和精度要求的不斷提高,微處理器的處理速度己不能滿足要求,人們自然而然地想到了具有快速運(yùn)算能力的數(shù)字信號處理器。近年來,各種集成化單片DSP的性能得到很大的改善,軟件和開發(fā)工具越來越多,越來越好,價格卻大幅度降低,從而使得DSP器件及技術(shù)更容易使用,價格也能為廣大用戶接受。而各大DSP生產(chǎn)廠商紛紛推出自己的內(nèi)嵌式DSP電機(jī)控制專用集成電路,使得DSP

14、與無刷直流電機(jī)的結(jié)合成為一種必然趨勢。近年來,無刷直流電機(jī)的研究工作者正熱衷于研究取消位置傳感器,而實現(xiàn)無位置傳感器控制將是無刷直流電機(jī)研究的發(fā)展趨勢,并且無位置傳感器控制的實現(xiàn)常常和DSP聯(lián)系在一起。由TI公司所推出的TMS320F2812是專為電機(jī)控制應(yīng)用而優(yōu)化設(shè)計的單片DSP控制器,它不僅具有強(qiáng)大高速的運(yùn)算處理能力,而且在片內(nèi)集成了豐富的電機(jī)控制外圍部件(事件管理器、PWM產(chǎn)生電路、ADC轉(zhuǎn)換模塊等),這為實現(xiàn)無刷直流電機(jī)的無位置傳感器控制提供了極大的便利。針對目前人們在研究設(shè)計無刷直流電機(jī)系統(tǒng)時,大多仍習(xí)慣采用機(jī)械位置傳感器的情況,本文主要研究無位置傳感器的無刷直流電機(jī)數(shù)字控制系統(tǒng)的設(shè)

15、計及其實現(xiàn)。利用無刷直流電機(jī)運(yùn)行時各相繞組本身存在的反電動勢作為轉(zhuǎn)子位置的反饋信號代替機(jī)械位置傳感器的作用,在轉(zhuǎn)子位置檢測硬件電路的基礎(chǔ)上,借助TMS320F2812 DSP芯片的可編程助能,實現(xiàn)了無刷直流電機(jī)的無位置傳感器控制,克服了機(jī)械位置傳感器的存在給無刷直流電機(jī)所帶來的諸多不利影響。通過TMS320F2812 DSP芯片的采用,達(dá)到了“硬件軟化”的目的,簡化了整個控制系統(tǒng)的結(jié)構(gòu)設(shè)計,不僅降低了成本,而且提高了系統(tǒng)的可靠性。1.3 本文研究的內(nèi)容本課題以無刷直流電動機(jī)為被控對象,以TMS320F2812定點DSP芯片為處理器,結(jié)合上位軟件,實現(xiàn)上位機(jī)對無刷直流電動機(jī)的啟動、停止、速度的控

16、制,并實時的顯示無刷直流電動機(jī)的速度。本課題研究的主要內(nèi)容有以下幾個方面:A、 DSP對無刷直流電動機(jī)的霍爾捕獲、換向、及速度采樣的軟件設(shè)計B、 DSP和上位機(jī)通信協(xié)議的軟件設(shè)計第二章 無刷電動機(jī)的結(jié)構(gòu)及工作原理2.1無刷直流電動機(jī)的結(jié)構(gòu)無刷直流電動機(jī)的轉(zhuǎn)子是由永磁材料制成的、具有一定磁極對數(shù)的永磁體。與永磁同步伺服電動機(jī)非常類似,轉(zhuǎn)子的結(jié)構(gòu)分為兩種:第一種是將瓦片狀的永磁體貼在轉(zhuǎn)子外表上,稱為凸極式;另一種是將永磁體內(nèi)嵌到轉(zhuǎn)子鐵心中,稱為嵌入式。但與永磁同步伺服電動機(jī)的轉(zhuǎn)子有所區(qū)別,為了能產(chǎn)生梯形波感應(yīng)電動勢,無刷直流電動機(jī)的轉(zhuǎn)子磁鋼的形狀呈弧形(瓦片形),磁極下定轉(zhuǎn)子氣隙均勻,氣隙磁場呈梯

17、形分布。定子上有電樞,這一點與永磁有刷直流電動機(jī)正好相反,永磁有刷直流電動機(jī)的電樞裝在轉(zhuǎn)子上,而永磁體裝在定子上。無刷直流電動機(jī)的定子電樞繞組采用整距集中式繞組。繞組的相數(shù)有二、三、四、五相,但應(yīng)用最多的是三相和四相。各相繞組分別與外部的電子開關(guān)電路相連,開關(guān)電路中的開關(guān)管受位置傳感器的信號控制。無刷直流電動機(jī)的工作離不開電子開關(guān)電路,因此由電動機(jī)本體、轉(zhuǎn)子位置傳感器和電子開關(guān)電路三部分組成了無刷直流電動機(jī)控制系統(tǒng)。其原理框圖如圖2-1所示。圖中,直流電源通過開關(guān)電路向電動機(jī)定子繞組供電,位置傳感器隨時檢測到轉(zhuǎn)子所處的位置,并根據(jù)轉(zhuǎn)子的位置信號來控制開關(guān)管的導(dǎo)通和截止,從而自動地控制了哪些繞組

18、通電,哪些繞組斷電,實現(xiàn)了電子換向。圖2-1 無刷直流電動機(jī)的原理框圖2.2無刷直流電動機(jī)的工作原理普通直流電動機(jī)的電樞在轉(zhuǎn)子上,而定子產(chǎn)生固定不動的磁場。為了使直流電動機(jī)旋轉(zhuǎn),需要通過換向器和電刷不斷地改變電樞繞組中電流的方向,使兩個磁場的方向始終保持相互垂直,從而產(chǎn)生恒定的轉(zhuǎn)矩驅(qū)動電動機(jī)不斷旋轉(zhuǎn)。無刷直流電動機(jī)為了去掉電刷,將電樞放到定子上去,而轉(zhuǎn)子做成永磁體,這樣的結(jié)構(gòu)正好與普通直流電動機(jī)相反。然而即使這樣改變還不夠,因為定子上的電樞通入直流電以后,只能產(chǎn)生不變的磁場,電動機(jī)依然轉(zhuǎn)不起來。為了使電動機(jī)的轉(zhuǎn)子轉(zhuǎn)起來,必須使定子電樞各相繞組不斷的換相通電,這樣才能使定子磁場隨著轉(zhuǎn)子的位置不斷

19、的變化,使定子磁場與轉(zhuǎn)子永磁磁場始終保持90左右的空間角,產(chǎn)生轉(zhuǎn)矩推動轉(zhuǎn)子旋轉(zhuǎn)。為了詳細(xì)說明無刷直流電動機(jī)的工作原理,下面以三相無刷直流電動機(jī)為例,來分析它的轉(zhuǎn)動過程。圖2-2 無刷直流電動機(jī)原理圖 圖1-2所示是三相直流電動機(jī)的工作原理圖。采用霍爾位置傳感器,MOSFET電子開關(guān)電路為全橋式驅(qū)動。要讓電機(jī)轉(zhuǎn)動起來,首先DSP必須根據(jù)霍爾傳感器感應(yīng)到的電機(jī)轉(zhuǎn)子目前所在位置,然后依照定子繞線決定開啟(或關(guān)閉)MOSFET功率管的順序,如圖1-2中AH、BH、CH(這些稱為上臂功率管)及AL、BL、CL(這些稱為下臂功率管),使電流依序流經(jīng)電機(jī)線圈產(chǎn)生順向(或逆 向)旋轉(zhuǎn)磁場,并與轉(zhuǎn)子的磁鐵相互作

20、用,如此就能使電機(jī)順時/逆時轉(zhuǎn)動。當(dāng)電機(jī)轉(zhuǎn)子轉(zhuǎn)動到霍爾感應(yīng)出另一組信號的位置時,DSP又再開啟下一組功率管,如此循環(huán)電機(jī)就可以依同一方向繼續(xù)轉(zhuǎn)動直到DSP決定要電機(jī)轉(zhuǎn)子停止則關(guān)閉功率管(或只開下臂功率管);要電機(jī)轉(zhuǎn)子反向則功率管開啟順序相反。 基本上功率晶體管的開法可舉例如下: AH、BL一組AH、CL一組BH、CL一組BH、AL一組CH、AL一組CH、BL一組 但絕不能開成AH、AL或BH、BL或CH、CL。此外因為電子零件總有開關(guān)的響應(yīng)時間,所以功率管在關(guān)與開的交錯時間要將零件的響應(yīng)時間考慮進(jìn)去,否則當(dāng)上臂(或下臂)尚未完全關(guān)閉,下臂(或上臂)就已開啟,結(jié)果就造成上、下臂短路而使功率晶體管

21、燒毀。 無刷直流電動機(jī)有多種結(jié)構(gòu),每種電動機(jī)可分為半橋驅(qū)動和全橋驅(qū)動,全橋驅(qū)動又可分為星形和角形連接以及不同的通電方式。因此,不同的選擇會使電動機(jī)產(chǎn)生不同的性能并且成本也不相同。以下對此作一個對比。a.繞組利用率不像普通直流電動機(jī)那樣,無刷直流電動機(jī)的繞組是斷續(xù)通電的。適當(dāng)?shù)靥岣呃@組通電利用率將可以使同時通電半導(dǎo)體數(shù)增加,使電阻下降,提高效率。從這個角度來看,三相比四相好,四相比五相好,全橋比半橋好。b.轉(zhuǎn)矩的波動無刷直流電動機(jī)的輸出轉(zhuǎn)矩波動比普通的直流電動機(jī)的大。因此希望盡量減小轉(zhuǎn)矩波動。一般相數(shù)越多,轉(zhuǎn)矩的波動越小。全橋驅(qū)動比半橋驅(qū)動轉(zhuǎn)矩的波動小。c.電路成本相數(shù)越多,驅(qū)動電路所使用的開關(guān)

22、管越多,成本越高。全橋驅(qū)動所使用的開關(guān)管多一倍,因此成本要高。多相電動機(jī)的成本也高。綜合上述分析,目前以三相星形全橋驅(qū)動方式應(yīng)用最多。第三章 電機(jī)控制中的DSP的特點和選擇3.1 TMS320F2812的簡介 TMS320F281X系列DSP(數(shù)字信號處理器)是TI公司最新推出的數(shù)字信號處理器。而TMS320F2812是這一系列產(chǎn)品中最具代表性的產(chǎn)品。與本系統(tǒng)其他芯片相比,TMS320F2812片上資源最豐富,并有1MB的外設(shè)尋址空間。 TMS320F2812可達(dá)到每秒執(zhí)行1.5億次指令的速度(150MIPS),具有單周期32位*32位的乘和累加操作(MAC)功能。F2812片內(nèi)集成了128K

23、*16位的FLASH存儲器、1 6通道模擬輸入高速12位模/數(shù)轉(zhuǎn)換器(A/D),多個功能豐富的通用計時器,多路可編程脈寬調(diào)制(PWM)輸出,可編程脈寬調(diào)制死區(qū),多路信號輸入捕捉(CAP),光電編碼盤接口(QEP),以及業(yè)界通用的異步串行接口(SCI),串行(同步)外設(shè)接口(SPI)和(CAN)總線接口。這些豐富的片上資源使得TMS320F2812在工業(yè)控制中尤其是在電機(jī)控制應(yīng)用中比傳統(tǒng)的單片機(jī)有著無與倫比的優(yōu)勢。也正是這一點, TMS320F2812正在被越來越廣泛地應(yīng)用在工業(yè)控制和電機(jī)控制的不同領(lǐng)域。 TMS320F2812 DSP的結(jié)構(gòu)如圖 3-1它采用了改進(jìn)的哈佛結(jié)構(gòu),該結(jié)構(gòu)支持分離的程

24、序總線和數(shù)據(jù)總路線。這樣的總線結(jié)構(gòu)使取指令、執(zhí)行指令、數(shù)據(jù)傳送和外設(shè)控制可以并行進(jìn)行,因此可以極大地提高工作速度。這保證了指令系統(tǒng)中的大多數(shù)指令可以實現(xiàn)單指令操作,即一條指令可以實現(xiàn)多種操作。由上圖可見,F2812 DSP可分成三部分:DSP內(nèi)核、存儲器、外圍設(shè)備。DSP內(nèi)核是DSP的核心,它擔(dān)負(fù)著數(shù)據(jù)運(yùn)算、信號處理的任務(wù)。它包括了累加器、中央算術(shù)邏輯單元CALU、狀態(tài)寄存器ST0和ST1、輔助寄存器、乘法器、移位器、臨時寄存器T和乘法寄存器P。存儲器包括了128K字的Flash程序存儲大、1K 字的OPT型只讀存儲器、兩個4K字的單口隨機(jī)存儲器(SARAM)(L0和L1)、一塊8K字SARA

25、M(H0)、兩塊1K字SARAM(M0和M1) 。外圍設(shè)備指的是DSP芯片中集成的除內(nèi)核以外的功能模塊,習(xí)慣上稱之為外設(shè)。它包括事件管理器、CAN接口、ADC轉(zhuǎn)換器、SPI和SCI串行接口、McBSP(多通道緩沖串口)。圖 3-1 TMS320F2812 DSP的結(jié)構(gòu)圖3.2電機(jī)控制中的DSP的特點1.由于采用了高性能的靜態(tài)CMOS制造技術(shù),因此該DSP具有低功耗和高速度的特點,內(nèi)核工作電壓1.8V,外設(shè)工作電壓為3.3V,有4種低功耗工作方式,單指令周期最短為6.67ns(1500MHZ),最高運(yùn)算速度可達(dá)150MIPS,八級指令流水線,低功耗有利于電池供電的應(yīng)用場合;而高速度非常適用于電動

26、機(jī)的實時控制。2.兩個專用于電動機(jī)控制的事件管理器(EV),每一個都包括:4個1 6位通用定時器,12個16位脈寬調(diào)制(PWM)輸出通道,1個能夠快速封鎖輸出的外部引腳PDPINTX(其狀態(tài)可從COMMONX寄存器獲得),可防止上下橋臂直通的可編程死區(qū)功能,6個捕捉單元,2個QEP(正交編碼器脈沖電路)。3.可編程看門狗定時器,保證程序運(yùn)行安全。4.有串行接口SPI和SCI模塊。5.有基于鎖相環(huán)的時鐘發(fā)生器(PLL)。6.有1149.1-1990IEEE標(biāo)準(zhǔn)的JTAG仿真接口。根據(jù)以上分析,本次設(shè)計采用芯片TMS320F2812,如圖3-2所示圖3-2 TMS320F2812芯片圖3.3 DS

27、P軟件設(shè)計特點3.3.1 DSP開發(fā)環(huán)境CCS2000 CCS2000是TI公司的DSP集成開發(fā)環(huán)境。提供了環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等工具,可以幫助用戶在一個軟件環(huán)境下完成編輯、編譯鏈接、調(diào)試和數(shù)據(jù)分析等工作。與TI提供的早期軟件開發(fā)工具相比,利用CCS2000能夠加快軟件開發(fā)進(jìn)程,提高工作效率。 安裝完CCS2000后將USB仿真器插入PC機(jī)的USB插槽中,啟動計算機(jī)后識別SEED-XDSUSB2.0硬件,識別后安裝USB仿真器驅(qū)動 CCS2000的調(diào)試界面如圖3-3:圖3-3 CCS2000的調(diào)試界3.3.2 C語言與匯編語言的分析比較 DSP編程必然要面臨的一個問題就是

28、選擇使用何種編程方法。選擇的結(jié)果通常都是在匯編語言與高級語言如C或C+之間選擇其中一種。CC的好處包括模塊化、可移植性以及可復(fù)用性。此外,不僅大多數(shù)的嵌入式程序設(shè)計員使用過這種高級語言,而且己經(jīng)存在大量的代碼基礎(chǔ),可以通過一種相對簡單的方法將這些代碼從原來的微控制器或DSP移植到新的DSP平臺中。而匯編語言是針對特定體系結(jié)構(gòu)的,因此代碼重用僅限于同一系列的處理器。而采用高級語言開發(fā)可以不必知道處理器平臺。使用匯編語言編程困難的原因,還在于它過分專注于DSP寄存器組、運(yùn)算單元與存儲器之間的數(shù)據(jù)交流。而在CC+高級語言中,這一過程通常是通過調(diào)用變量、函數(shù)以及子程序的方法在一個更加抽象的層面來完成的

29、,因此使得編程更為簡單。對速度或存儲器要求特別高的子程序,可以考慮使用匯編語言,以提高程序在DSP上的運(yùn)行效率。盡管高級語言編譯器在程序優(yōu)化轉(zhuǎn)換方面做的很好,但在對DSP數(shù)據(jù)流與運(yùn)算進(jìn)行直接、仔細(xì)的控制時仍然存在不足之處。這也往往將高級語言與匯編語言結(jié)合使用的原因。高級語言在程序控制以及基本的數(shù)據(jù)處理方面有著不錯的表現(xiàn),而匯編語言則在高效的數(shù)學(xué)運(yùn)算與速度最為關(guān)鍵的中斷服務(wù)過程方面體現(xiàn)出明顯的優(yōu)勢??紤]到C的方便、簡單,匯編語言的高性能,將高級語言與匯編語言結(jié)合起來是最佳辦法。對于CCS2000的C語言編程除了要遵守編譯器的規(guī)定,還有些注意:裝載程序前注意要先清空程序RAM;C編譯器本身有入口函

30、數(shù),功能是建立C環(huán)境;除了特殊情況,一般要找到并調(diào)用庫函數(shù)。當(dāng)RAM空間或運(yùn)算時間不夠時,才考慮混合編程,主要是注意函數(shù)與中斷程序前后按要求保護(hù)。 第四章 電機(jī)控制中的DSP軟件設(shè)計通過驅(qū)動板控制無刷直流電動機(jī)的旋轉(zhuǎn),DSP本身的軟件設(shè)計包括:系統(tǒng)時鐘的初始化、外圍設(shè)備的配置、控制程序的設(shè)計以及程序整體架構(gòu)的編排。個模塊如下:4.1 各模塊的程序及說明4.1.1系統(tǒng)時鐘的初始化模塊void InitSysCtrl(void) Uint16 i; EALLOW; SysCtrlRegs.PLLCR = 0xA; /設(shè)置系統(tǒng)時鐘為150MHz for(i= 0; i< 5000; i+) /

31、等待系統(tǒng)時鐘PLL鎖相環(huán)穩(wěn)定 SysCtrlRegs.HISPCP.all = 0x0000; /設(shè)置高速外設(shè)的時鐘為150MHz SysCtrlRegs.LOSPCP.all = 0x0002; /設(shè)置低速外設(shè)的時鐘為37.5MHz SysCtrlRegs.PCLKCR.bit.EVAENCLK=1; /使能EV-A外設(shè)的高速時鐘(150MHz) SysCtrlRegs.PCLKCR.bit.EVBENCLK=1; /使能EV-B外設(shè)的高速時鐘(150MHz) SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1; /使能SCI-A的外設(shè)低速時鐘(37.5MHz) EDIS;

32、系統(tǒng)時鐘150MHz為DSP TMS320F2812的內(nèi)核時鐘頻率,該時鐘主要提供給CPU完成取指令、讀指令、完成指令操作等。外設(shè)時鐘的設(shè)置與系統(tǒng)時鐘是分開來的,這是DSP的一大特點。DSP的外設(shè)又分為低速外設(shè)(McBSP、SCI、SPI)和高速外設(shè)(ADC、EVA、EVB),在設(shè)計無刷電機(jī)驅(qū)動程序中,因為要用EVA事件管理器中的輸入捕捉和PWM功能,所以將EVA開啟且時鐘設(shè)置到最高(使PWM的調(diào)節(jié)范圍達(dá)到最大)4.1.2 事件管理器EV的初始化模塊void InitEv(void)EALLOW;/PWM1PWM6 GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0 = 1;

33、 GpioMuxRegs.GPAMUX.bit.PWM2_GPIOA1 = 1; GpioMuxRegs.GPAMUX.bit.PWM3_GPIOA2 = 1; /CAP1CAP3 GpioMuxRegs.GPAMUX.bit.CAP1Q1_GPIOA8 = 1; GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9 = 1; GpioMuxRegs.GPAMUX.bit.CAP3QI1_GPIOA10 = 1; /CAP4CAP6 GpioMuxRegs.GPBMUX.bit.CAP4Q1_GPIOB8 =1; GpioMuxRegs.GPBMUX.bit.CAP5Q2_

34、GPIOB9 =1; GpioMuxRegs.GPBMUX.bit.CAP6QI2_GPIOB10 =1; /設(shè)置CAP1CAP3 EvaRegs.CAPCON.bit.CAPRES = 0; /所有捕獲單元和正交編碼的寄存器清零 EvaRegs.CAPCON.bit.CAPQEPN = 1; /cap12使能 EvaRegs.CAPCON.bit.CAP3EN = 1; /cap3使能 EvaRegs.CAPCON.bit.CAP12TSEL = 0;/選擇定時器2作為時基 EvaRegs.CAPCON.bit.CAP3TSEL = 0; /選擇定時器2作為時基 EvaRegs.CAPCON

35、.bit.CAP1EDGE = 3; /雙沿捕獲 EvaRegs.CAPCON.bit.CAP2EDGE = 3; /雙沿捕獲 EvaRegs.CAPCON.bit.CAP3EDGE = 3; /雙沿捕獲 /設(shè)置CAP4CAP6 EvbRegs.CAPCONB.bit.CAPRES = 0; EvbRegs.CAPCONB.bit.CAPQEPN = 0; /cap45使能 EvbRegs.CAPCONB.bit.CAP6EN = 1; /cap6使能 / EvaRegs.EVAIFRC.bit.CAP1INT = 1; /清除中斷標(biāo)志 EvaRegs.EVAIFRC.bit.CAP2INT

36、= 1; EvaRegs.EVAIFRC.bit.CAP3INT = 1; EvaRegs.EVAIMRC.bit.CAP1INT = 1; /中斷使能 EvaRegs.EVAIMRC.bit.CAP2INT = 1; EvaRegs.EVAIMRC.bit.CAP3INT = 1; EvaRegs.CAPFIFO.bit.CAP1FIFO = 1; EvaRegs.CAPFIFO.bit.CAP2FIFO = 1; EvaRegs.CAPFIFO.bit.CAP3FIFO = 1; EDIS; /初始化定時器1和pwm16的輸出 EvaRegs.T1PR = t1prd; / 設(shè)定PWM載波

37、頻率20K EvaRegs.T1CNT = 0x0000; / 定時器1計數(shù)器 EvaRegs.T1CON.all = 0x0b40; /8 分頻,使能定時器操作,連續(xù)增減模式 EvaRegs.DBTCONA.all = 0x03f8; /32分頻,死區(qū)時間2.5us左右 EvaRegs.EVAIMRA.bit.T1PINT = 1; /定時器1周期中斷允許 EvaRegs.EVAIFRA.bit.T1PINT = 1; /清除標(biāo)志 / 使能 PWM1-PWM6 EvaRegs.CMPR1 = pwm; EvaRegs.CMPR2 = pwm; EvaRegs.CMPR3 = pwm; Eva

38、Regs.COMCONA.all = 0x8200; /使能比較操作pwm16由相應(yīng)的比較邏輯驅(qū)動 / 初始化定時器2 EvaRegs.T2PR = t2prd; / 定時器2的周期為20k EvaRegs.T2CNT = 0x0000; / Timer2 counter EvaRegs.T2CON.all = 0x1440; /16分頻,使能定時器操作,連續(xù)增模式 EvaRegs.EVAIMRB.bit.T2PINT = 1;/定時器2周期中斷允許 EvaRegs.EVAIFRB.bit.T2PINT = 1;/清除標(biāo)志 EvbRegs.T4PR = t2prd; / 定時器2的周期為20k

39、 EvbRegs.T4CNT = 0x0000; EvbRegs.T4CON.all = 0x1872; /1分頻,使能定時器操作,連續(xù)增模式 EvbRegs.EVBIMRB.bit.T4PINT = 1;/定時器2周期中斷允許 EvbRegs.EVBIFRB.bit.T4PINT = 1;/清除標(biāo)志 要讓無刷電機(jī)轉(zhuǎn)起來,首先要捕捉霍爾傳感器輸出的轉(zhuǎn)子位置信號,通過初始化EVA的輸入捕捉CAP13,捕捉霍爾的信號。接著根據(jù)位置信號通過PWM控制導(dǎo)通定子的下一相線圈。對電機(jī)速度的采用光電編碼器測量,通過初始化EVB的正交編碼器和定時器T4捕捉光電編碼器的速度信號,接著通過初始化T1定時器每隔50

40、us讀取T4的計數(shù)器寄存器,獲得速度值。4.1.3 串行通訊SCI的初始化模塊void InitSci(void)/ Initialize SCI-A:*UART_MODE = 0x44;EALLOW;GpioMuxRegs.GPFMUX.all = 0x0030;EDIS;/* loopback 8 bit data */SciaRegs.SCICCR.all = 0x07;/使用地址位模式協(xié)議 8位SciaRegs.SCICTL1.all = 0x03;/發(fā)送使能,接收到的字符送到SCIRXEMU和SCIXBUFSciaRegs.SCICTL2.all = 0x03;/使能RXRDY/BR

41、KDT中斷,使能TXRDY中斷SciaRegs.SCIHBAUD = 0x00;SciaRegs.SCILBAUD = 0xF3;/19200SciaRegs.SCICTL1.all = 0x23; /使能SCIPieCtrl.PIEIER9.bit.INTx1 = 1;/使能SCI寫中斷PieCtrl.PIEIER9.bit.INTx2 = 1; /使能SCI讀中斷int SciaTx_Ready(void)unsigned int i;if(SciaRegs.SCICTL2.bit.TXRDY = 1)i = 1;elsei = 0;return(i);int SciaRx_Ready(v

42、oid)unsigned int i;if(SciaRegs.SCIRXST.bit.RXRDY = 1)i = 1;elsei = 0;return(i); DSP通過串口和上位機(jī)進(jìn)行通訊,完成在上位機(jī)對電機(jī)的控制和速度的實時顯示。通過初試話SCI,實現(xiàn)對串口的波特率,傳輸位,截止位,串口號的配置。串口的讀與寫是采用中斷方式,避免了數(shù)據(jù)的丟失。4.1.4 輸入捕捉(CAP)中斷interrupt void cap_isr(void) /*以下用來檢測傳感器的輸出電平,用來換向*/ / Uint32 kk = t2prd; EALLOW; flag = 1; EvaRegs.CMPR1 = p

43、wm; EvaRegs.CMPR2 = pwm; EvaRegs.CMPR3 = pwm; GpioMuxRegs.GPAMUX.bit.CAP1Q1_GPIOA8 = 0;/設(shè)定cap13為gpio GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9 = 0; GpioMuxRegs.GPAMUX.bit.CAP3QI1_GPIOA10 = 0; GpioMuxRegs.GPADIR.bit.GPIOA8 = 0;/設(shè)定cap13為輸入 GpioMuxRegs.GPADIR.bit.GPIOA9 = 0; GpioMuxRegs.GPADIR.bit.GPIOA10 =

44、 0; capstastus = (GpioDataRegs.GPADAT.all&0x0700)>>8; if(dir=1) switch(capstastus)/ir2136 的hin和lin是反向的 case 1: EvaRegs.ACTR.all = 0x7fd;break;/h3 fall/50/1 case 2: EvaRegs.ACTR.all = 0xfd7;break;/h1 fall/21/7 case 3: EvaRegs.ACTR.all = 0x7df;break;/h2 rise/52/3 case 4: EvaRegs.ACTR.all = 0

45、xd7f;break;/h2 fall/43/4 case 5: EvaRegs.ACTR.all = 0xf7d;break;/h1 rise/30/0 case 6: EvaRegs.ACTR.all = 0xdf7;break;/h3 rise/41/6 else switch(capstastus)/ir2136 的hin和lin是反向的 case 1: EvaRegs.ACTR.all = 0xdf7;break;/h1 rise case 2: EvaRegs.ACTR.all = 0xf7d;break;/h3 fall case 3: EvaRegs.ACTR.all = 0x

46、d7f;break;/h2 rise case 4: EvaRegs.ACTR.all = 0x7df;break;/h1 fall case 5: EvaRegs.ACTR.all = 0xfd7;break;/h3 rise case 6: EvaRegs.ACTR.all = 0x7fd;break;/h2 fall /*/ GpioMuxRegs.GPAMUX.bit.CAP1Q1_GPIOA8 = 1;/重新設(shè)定cap13為gpio GpioMuxRegs.GPAMUX.bit.CAP2Q2_GPIOA9 = 1; GpioMuxRegs.GPAMUX.bit.CAP3QI1_GPI

47、OA10 = 1; EvaRegs.EVAIFRC.all = 7 ; / 清捕捉中斷 EvaRegs.CAPFIFO.all = 0x01500; / 清空捕捉堆棧 PieCtrl.PIEACK.bit.ACK3 = 1;/cap1中斷向cpu申請中斷輸入捕捉中斷完成對霍爾信號(圖4-1)的捕捉,完成 PWM波(圖4-2)的配置從而改變六個MOSFET的導(dǎo)通順序,達(dá)到無刷直流電機(jī)換向的作用。圖4-1 霍爾信號圖4-2 PWM波形4.1.5定時器T1interrupt void t1pint_isr(void) NO_pwm_v_M1+; if(NO_pwm_v_M1 = 2000) NO_p

48、wm_v_M1 = 0; Send_Flag1 = 0; T4cntj = EvbRegs.T4CNT; if(j = 0) speed_M1 = (T4cntj - T4cnt1)*10; /完成對速度的計算 j = 1; else speed_M1 = (T4cntj - T4cnt0)*10; j = 0; EvaRegs.EVAIFRA.bit.T1PINT = 1;/清除中斷標(biāo)志 EvaRegs.EVAIMRA.bit.T1PINT = 1;/中斷允許 PieCtrl.PIEACK.bit.ACK2 = 1;/向cpu申請中斷定時T1為50us中斷一次,完成對T4計數(shù)器寄存器值的讀取

49、,從而獲得無刷直流電動機(jī)的速度值。另外在和上位機(jī)進(jìn)行通信的過程中,為了避免上位機(jī)不能及時的讀取到DSP發(fā)過去的數(shù)據(jù),通過T1定時器完成對發(fā)送數(shù)據(jù)的控制,200ms發(fā)送一次數(shù)據(jù)。4.1.6 DSP與上位串口通信協(xié)議 為了上位機(jī)能正確的識別出DSP所發(fā)數(shù)據(jù)的含義,比如速度值和故障值的區(qū)別。還有DSP能識別上位機(jī)所發(fā)數(shù)據(jù)得具體含義。 協(xié)議的規(guī)定如下: 1-電機(jī)開關(guān):11開。22關(guān)。33正轉(zhuǎn)。44反轉(zhuǎn)。2-速度調(diào)節(jié)3-角度調(diào)節(jié)4-11軟件準(zhǔn)備好5-串口校驗(返回發(fā)送值)9-數(shù)據(jù)聯(lián)結(jié)9為開頭的數(shù)據(jù)加入到以后的數(shù)的后面,當(dāng)遇到2開頭時添加后結(jié)束。取速度的協(xié)議程序例子如下 if(SciaTx_Ready()

50、 = 1)&&(Send_Flag1 < 3) Send_Flag1+; if(k = 0) Sci_VarTxk = 0x20; /速度的標(biāo)志位 SciaRegs.SCITXBUF = Sci_VarTxk; k = 1; else if(k = 1) Sci_VarTxk = speed_M1&(0x00ff);/速度值的低八位 SciaRegs.SCITXBUF = Sci_VarTxk; k = 2; else if(k = 2) Sci_VarTxk = (speed_M1&(0xff00)>>8;/速度值的高八位 SciaRegs.SCITXBUF = Sci_VarTxk; k = 0; 4.2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論