基于STM32的步進(jìn)電機控制系統(tǒng)(共60頁)_第1頁
基于STM32的步進(jìn)電機控制系統(tǒng)(共60頁)_第2頁
基于STM32的步進(jìn)電機控制系統(tǒng)(共60頁)_第3頁
基于STM32的步進(jìn)電機控制系統(tǒng)(共60頁)_第4頁
基于STM32的步進(jìn)電機控制系統(tǒng)(共60頁)_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于STM32的步進(jìn)電機控制系統(tǒng)沈陽航空航天大學(xué)2010年6月專心-專注-專業(yè)摘 要本文的主要工作是基于STM32步進(jìn)電機控制系統(tǒng)的設(shè)計。隨著越來越多的高科技產(chǎn)品逐漸融入了日常生活中,步進(jìn)電機控制系統(tǒng)發(fā)生了巨大的變化。單片機、C語言等前沿學(xué)科的技術(shù)的日趨成熟與實用化,使得步進(jìn)電機的控制系統(tǒng)有了新的的研究方向與意義。本文描述了一個由STM32微處理器、步進(jìn)電機、LCD顯示器、鍵盤等模塊構(gòu)成的,提供基于STM32的PWM細(xì)分技術(shù)的步進(jìn)電機控制系統(tǒng)。該系統(tǒng)采用STM32微處理器為核心,在MDK的環(huán)境下進(jìn)行編程,根據(jù)鍵盤的輸入,使STM32產(chǎn)生周期性PWM信號,用此信號對步進(jìn)

2、電機的速度及轉(zhuǎn)動方向進(jìn)行控制,并且通過LCD顯示出數(shù)據(jù)。結(jié)果表明該系統(tǒng)具有結(jié)構(gòu)簡單、工作可靠、精度高等特點.關(guān)鍵詞:STM32微處理器;步進(jìn)電機;LCD顯示;PWM信號;細(xì)分技術(shù)AbstractAs well as the high-tech products gradually integrated into the daily life, servo control system has undergone tremendous changes. SCM and C language of the frontier disciplines such mature technology an

3、d practical, steering control system is a new research direction and meaning. This paper describes a STM32 microprocessors, steering, LCD display and keyboard, Based on the STM32 servo control system of PWM signal,This system uses STM32 microprocessor as the core, MDK in the environment, according t

4、o the keyboard input , STM32 produce periodic PWM signal, with this signal to the velocity and Angle of steering gear control, and through the LCD display data. The features of the simple hardware, stable operation and high precision are incarnated in the proposed system. Keywords: STM32 microproces

5、sors; Steering system; LCD display;pulse width modulation signal;Subdivide technology目 錄第1章 緒 論11.1 課題背景11.2 課題目標(biāo)及意義21.3 課題任務(wù)及要求31.4 課題內(nèi)容分析與實現(xiàn)31.5 課題論文安排介紹3第2章 步進(jìn)電機控制系統(tǒng)的總體方案論證52.1 總體方案52.2 步進(jìn)電機控制系統(tǒng)硬件方案52.3 步進(jìn)電機控制系統(tǒng)軟件方案6第3章 系統(tǒng)的硬件設(shè)計73.1 STM32開發(fā)板簡介73.2 步進(jìn)電機模塊83.2.1 步進(jìn)電機驅(qū)動模塊83.2.2 步進(jìn)電機驅(qū)動控制模塊103.2.3 步進(jìn)電機

6、的一些特點113.2.4 步進(jìn)電機的一些基本參數(shù)123.2.5 步進(jìn)電機的驅(qū)動方法133.3 A/D轉(zhuǎn)換模塊133.3.1 模擬/數(shù)字轉(zhuǎn)換(ADC)介紹133.3.2 模擬/數(shù)字轉(zhuǎn)換(ADC)主要特性133.3.3 模擬/數(shù)字轉(zhuǎn)換(ADC)功能描述143.4 LCD顯示模塊163.5 硬件電路17第4章 控制系統(tǒng)軟件設(shè)計184.1 控制系統(tǒng)軟件設(shè)計步驟184.2 Keil for ARM軟件開發(fā)環(huán)境194.3 PWM細(xì)分技術(shù)簡介204.3.1 PWM細(xì)分技術(shù)簡介204.3.2 PWM細(xì)分技術(shù)驅(qū)動原理204.3.3 PWM細(xì)分調(diào)壓調(diào)速原理224.4 主程序設(shè)計234.5 各模塊程序設(shè)計254.5

7、.1系統(tǒng)初始化254.5.2A/D轉(zhuǎn)換程序設(shè)計264.5.3 PWM細(xì)分程序設(shè)計294.5.4電機控制程序設(shè)計304.5.5 LCD顯示程序設(shè)計32第5章 步進(jìn)電機控制系統(tǒng)綜合調(diào)試與分析335.1 硬件電路調(diào)試335.2 軟件電路調(diào)試345.3 系統(tǒng)聯(lián)調(diào)結(jié)果與分析34結(jié)論35社會經(jīng)濟(jì)效益分析36參考文獻(xiàn)37致 謝38附錄I 電路原理圖39附錄 程序清單41附錄IV 元器件清單56第1章 緒 論隨著電力電子技術(shù)、微電子技術(shù)、控制理論以及永磁材料的快速發(fā)展,步進(jìn)電機得以迅速發(fā)展。在現(xiàn)代工業(yè)生產(chǎn)中,生產(chǎn)機械一般都用電動機拖動。隨著現(xiàn)代化的發(fā)展,工業(yè)自動化水平不斷提高,各種自動控制系統(tǒng)中也日益廣泛地應(yīng)

8、用各種控制電機。為了提高生產(chǎn)率和保證產(chǎn)品質(zhì)量,大量的生產(chǎn)機械要求步進(jìn)電機以不同的速度工作。這就要求人們采用一定的方法來改變機組的轉(zhuǎn)速,即對步進(jìn)電機進(jìn)行調(diào)速。對電機的轉(zhuǎn)速不僅要能調(diào)節(jié),而且要求調(diào)節(jié)的范圍寬廣,過程平滑,調(diào)節(jié)的方法要簡單、經(jīng)濟(jì)。步進(jìn)電機在上述方面都具有獨到的優(yōu)點,使它得到廣泛的應(yīng)用。本文針對步進(jìn)電機具有起動轉(zhuǎn)距大、體積小、重量輕、轉(zhuǎn)矩和轉(zhuǎn)速容易控制以及效率高等十分優(yōu)良的特點, 根據(jù)自動控制原理, 采用PWM細(xì)分控制方式, 設(shè)計了一個步進(jìn)電機控制系統(tǒng),以更好地對步進(jìn)電機進(jìn)行精確而又迅速的控制。1.1 課題背景STM32系列32位閃存微控制器使用來自于ARM公司具有突破性的Cortex

9、-M3內(nèi)核,該內(nèi)核是專門設(shè)計于滿足集高性能、低功耗、實時應(yīng)用、具有競爭性價格于一體的嵌入式領(lǐng)域的要求。Cortex-M3在系統(tǒng)結(jié)構(gòu)上的增強,讓STM32受益無窮;Thumb-2®指令集帶來了更高的指令效率和更強的性能;通過緊耦合的嵌套矢量中斷控制器,對中斷事件的響應(yīng)比以往更迅速;所有這些又都融入了業(yè)界領(lǐng)先的功耗水準(zhǔn)。STM32系列給MCU用戶帶來了前所未有的自由空間,提供了全新的32位產(chǎn)品選項,結(jié)合了高性能、實時、低功耗、低電壓等特性,同時保持了高集成度和易于開發(fā)的優(yōu)勢。由于集成了更豐富的資源、方便使用的架構(gòu)以及低功耗的特性,加上有競爭力的價格,使得從16位升級到32位變得容易。在工

10、業(yè)生產(chǎn)中,常常要用到步進(jìn)電機在一些對位置控制要求不高的電機控制系統(tǒng)如傳動控制系統(tǒng)中,傳統(tǒng)電機如步進(jìn)電機仍有很大的優(yōu)勢,而要對其進(jìn)行精確而又迅速的控制,就需要復(fù)雜的控制系統(tǒng)。步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。通過細(xì)分來控制步進(jìn)電機可以更加精確。細(xì)分的基本概念為:步進(jìn)電機通過細(xì)分驅(qū)動器的驅(qū)動,其步距角變小了。如驅(qū)動器工作

11、在10細(xì)分狀態(tài)時,其步距角只為電機固有步距角的十分之一,也就是:當(dāng)驅(qū)動器工作在不細(xì)分的整步狀態(tài)時,控制系統(tǒng)每發(fā)一個步進(jìn)脈沖,電機轉(zhuǎn)動1.8°;而用細(xì)分驅(qū)動器工作在10細(xì)分狀態(tài)時,電機只轉(zhuǎn)動了0.18°。細(xì)分功能完全是由驅(qū)動器靠精確控制電機的相電流所產(chǎn)生的,與電機無關(guān)。 步進(jìn)電機的細(xì)分技術(shù)實質(zhì)上是一種電子阻尼技術(shù),其主要目的是提高電機的運轉(zhuǎn)精度,實現(xiàn)步進(jìn)電機步距角的高精度細(xì)分。其次,細(xì)分技術(shù)的附帶功能是減弱或消除步進(jìn)電機的低頻振動,低頻振蕩是步進(jìn)電機(尤其是反應(yīng)式電機)的固有特性,而細(xì)分是消除它的唯一途徑,如果步進(jìn)電機有時要在共振區(qū)工作(如走圓弧),選擇細(xì)分驅(qū)動器是唯一的選擇

12、。 驅(qū)動器細(xì)分后的主要優(yōu)點為:完全消除了電機的低頻振蕩;提高了電機的輸出轉(zhuǎn)矩,尤其是對三相反應(yīng)式電機,其力矩比不細(xì)分時提高約30-40% ;提高了電機的分辨率,由于減小了步距角、提高了步距的均勻度,提高電機的分辨率是不言而喻的。 1.2 課題目標(biāo)及意義STM32是近年來發(fā)展非常迅速的處理器,有很好的應(yīng)用前景。將其應(yīng)用于步進(jìn)電機的調(diào)速控制,有極大的使用價值。以脈寬調(diào)制技術(shù)為代表的電機數(shù)字驅(qū)動技術(shù)也在迅猛發(fā)展,將計算機應(yīng)用于這一領(lǐng)域正好可以發(fā)揮其在數(shù)字控制方面的優(yōu)勢.微電子技術(shù)和計算機技術(shù)的發(fā)展,為計算機控制技術(shù)的發(fā)展和應(yīng)用奠定了堅實的基礎(chǔ)??梢赃@樣說,沒有微處理器的儀器不能稱其為儀器,沒有微型機

13、的控制系統(tǒng)更談不上現(xiàn)代工業(yè)控制系統(tǒng)。隨著微型計算機、超大規(guī)模集成電路、新型電力電子開關(guān)器件和傳感器的出現(xiàn),以及自動控制理論、電力電子技術(shù)、計算機控制技術(shù)的深入發(fā)展,電氣傳動裝置日新月異地更新?lián)Q代,直流傳動系統(tǒng)也在不斷地更新和發(fā)展。步進(jìn)電機是常用的動力提供元件,在日常生活中占據(jù)著重要的地位。步進(jìn)電機是最常見的一種電機,在各領(lǐng)域中得到廣泛應(yīng)用。研究步進(jìn)電機的速度控制,有著非常重要的意義。研究直流電機的控制方法,對提高控制精度、節(jié)約能源等都具有重要意義。本方案以STM32為控制核心,實現(xiàn)普通步進(jìn)電機的轉(zhuǎn)速、正反轉(zhuǎn)調(diào)節(jié)功能,為進(jìn)一步研究和優(yōu)化步進(jìn)電機控制方法提供基礎(chǔ)。1.3 課題任務(wù)及要求通過STM3

14、2實現(xiàn)對步進(jìn)電機的精確控制,通過按鍵實現(xiàn)正轉(zhuǎn)、反轉(zhuǎn)、加速、減速,并將這些信息通過TFT彩色LCD顯示出來。1.4 課題內(nèi)容分析與實現(xiàn)本設(shè)計是一種采用STM32為核心實現(xiàn)步進(jìn)電機控制系統(tǒng)。基于設(shè)計目標(biāo)的要求,本設(shè)計需要實現(xiàn)的硬件部分是系統(tǒng)的SPGT62C19B電機控制模組以及整個控制系統(tǒng)的編程。首先,根據(jù)課題背景綜合成本和控制精度指標(biāo)等因素,選擇需要的步進(jìn)電機。其次,基于成本和結(jié)構(gòu)復(fù)雜的原因,本設(shè)計通過A/D轉(zhuǎn)換代替鍵盤輸入,將電壓模擬信號轉(zhuǎn)換為數(shù)字信號并通過LCD顯示出來。再次,設(shè)計SPGT62C19B電機控制模組,并完成硬件搭建。最后,整體硬件和軟件聯(lián)調(diào),實現(xiàn)任務(wù)要求。1.5 課題論文安排介

15、紹本文的主要工作是基于STM32的步進(jìn)電機控制系統(tǒng)的設(shè)計,介紹了整個控制系統(tǒng)的設(shè)計思想、主要模塊的電路原理、程序結(jié)構(gòu)以及測試結(jié)果等內(nèi)容,整體上分為軟件和硬件的兩大部分來設(shè)計。本次課題設(shè)計內(nèi)容安排可分為三部分:第一部分是硬件設(shè)計,包括方案主要模塊的電路設(shè)計、元器件的選擇等。具體的硬件電路是SPGT62C19B電機控制模組步進(jìn)電機驅(qū)動模塊和STM32開發(fā)板兩大電路模塊。先對每一個模塊的各個芯片測試成功后,再焊接其對應(yīng)的整個模塊電路,且每一部分都要進(jìn)行單獨調(diào)試,各個部分調(diào)試成功后,聯(lián)接調(diào)試整個硬件電路,對在途中出現(xiàn)的錯誤進(jìn)行分析和改正,最后得出結(jié)論。第二部分是軟件設(shè)計,軟件采用C語言編寫,軟件設(shè)計的

16、思想主要是自頂向下,模塊化設(shè)計,逐一設(shè)計各個子模塊,分別進(jìn)行調(diào)試,最后的連調(diào)整個程序,判斷是否達(dá)到預(yù)期的要求,做出結(jié)論。第三部分在軟硬件模塊調(diào)試都成功的前提下,進(jìn)行硬、軟件連調(diào),這是整個控制系統(tǒng)設(shè)計的關(guān)鍵,也是設(shè)計的重點、難點所在。本文對步進(jìn)電機控制系統(tǒng)的設(shè)計進(jìn)行了詳細(xì)的介紹,共分五章。第1章簡要介紹了整個課題的研究背景、目的、意義及整個任務(wù)的要求安排;第2章是針對此次課題的任務(wù)進(jìn)行總體方案介紹;第3章具體介紹了步進(jìn)電機控制系統(tǒng)的硬件設(shè)計,包括SPGT62C19B電機控制模塊電路的設(shè)計;第4章闡述了步進(jìn)電機控制系統(tǒng)的軟件設(shè)計,包括PWM細(xì)分等子程序的設(shè)計;第5章是針對硬件調(diào)試、軟件調(diào)試和整機連

17、調(diào)的結(jié)果進(jìn)行了具體的分析和說明。第2章 步進(jìn)電機控制系統(tǒng)的總體方案論證步進(jìn)電機控制系統(tǒng)的整個設(shè)計中最重要的部分是利用PWM細(xì)分實現(xiàn)步進(jìn)電機調(diào)速的處理,雖然PWM調(diào)速很早就開始研究應(yīng)用,但如何用PWM細(xì)分調(diào)速的快速性和準(zhǔn)確性至今仍是生產(chǎn)和科研的課題。隨著微電子技術(shù)的發(fā)展與普及,更多高性能的單片機應(yīng)用使得PWM細(xì)分實現(xiàn)步進(jìn)電機PWM調(diào)速的快速性和準(zhǔn)確性都有了極大的提高。2.1 總體方案根據(jù)課題要求,本設(shè)計采用STM32cortex-M3處理器,由SPGT62C19B電機控制模塊作為直流電機的驅(qū)動芯片,由ADC輸入電位器產(chǎn)生調(diào)速命令,用TFT彩色LCD作為顯示模塊。2.2 步進(jìn)電機控制系統(tǒng)硬件方案本

18、系統(tǒng)主要由一塊STM32平臺、SPGT62C19B型步進(jìn)電機驅(qū)動模塊構(gòu)成,以STM32為核心,包括電機驅(qū)動、電機、A/D轉(zhuǎn)換、LCD顯示等模塊。系統(tǒng)的結(jié)構(gòu)框圖如圖 2.1所示。STM32作為主控芯片,通過I/O端口來控制SPGT62C19B型步進(jìn)電機驅(qū)動芯片,從而實現(xiàn)對步進(jìn)電機的控制。通過ADC輸入電位器產(chǎn)生調(diào)速命令反饋給STM32,STM32調(diào)節(jié)SPGT62C19B型步進(jìn)電機驅(qū)動模塊的狀態(tài),從而使電機改變轉(zhuǎn)速和方向。同時,電機轉(zhuǎn)速可由彩色液晶LCD顯示出來,用ADC輸入電位器來對步進(jìn)電機的轉(zhuǎn)動方向和轉(zhuǎn)速等進(jìn)行設(shè)定。圖2.1控制系統(tǒng)結(jié)構(gòu)框圖2.3 步進(jìn)電機控制系統(tǒng)軟件方案硬件功能的實現(xiàn)離不開軟

19、件的設(shè)計與完成。軟件設(shè)計是步進(jìn)電機控制系統(tǒng)設(shè)計中最重要、最關(guān)鍵的部分,也是本次畢業(yè)設(shè)計的難點之處。由于本系統(tǒng)使用STM32平臺,運用Keil for ARM開發(fā)環(huán)境,在Keil u Vision軟件平臺進(jìn)行開發(fā)。本課題軟件設(shè)計的思想主要是自頂向下,模塊化設(shè)計,逐一設(shè)計各個子模塊,分別進(jìn)行調(diào)試,最后的連調(diào)整個程序,判斷是否達(dá)到預(yù)期的要求,做出結(jié)論。各個部分函數(shù)都可相互調(diào)用又相對獨立可調(diào),保證調(diào)試的便利與程序的可讀性。第3章 系統(tǒng)的硬件設(shè)計本系統(tǒng)采用STM32作為主控制器,采用ADC輸入電位器作為輸入部分,步進(jìn)電機及其驅(qū)動電路采用SPGT62C19B型步進(jìn)電機驅(qū)動模塊。下面分別對STM32以及相關(guān)

20、模塊的特性進(jìn)行具體介紹。3.1 STM32開發(fā)板簡介根據(jù)本課題設(shè)計的任務(wù)要求,須采用STM32作為開發(fā)平臺,因此本課題設(shè)的控制電路由采用 ST 的STM32F103RB 芯片及其外圍電路組成。芯片的引腳圖如圖3.1所示。圖3.1STM32F103RB芯片引腳排列圖1.1.2 STM32F103RB開發(fā)板硬件資源特性采用 ST 的STM32F103RB 芯片*(72MHz,128KB Flash,20KB SRAM,2×SPI,2×I2C,USB,CAN,PWM,2×ADC,3×USART,3 個16 位定時器8 位/16 位單片機的終結(jié)者)⣷

21、27; 工業(yè)級設(shè)計,可穩(wěn)定運行于-40 到85 攝氏度􀂗 1 個串口􀂗 1 個CAN 端口􀂗 1 個USB 接口􀂗 1 個SD 卡插槽􀂗 1 個160x128 圖形點陣彩色TFT LCD􀂗 標(biāo)準(zhǔn) 20 針JTAG 口,用于下載與調(diào)試􀂗 1 個可調(diào)模擬電壓控制用于ADC 輸入,用來測試 STM32F103 的模數(shù)轉(zhuǎn)換特性。􀂗 1 只揚聲器用于測試PWM 輸出。􀂗 1 只五向游戲桿,作為開關(guān)量輸入用。 1 片I2C 器件24C02已經(jīng)將芯

22、片所有信號引出,方便二次開發(fā) 。STM32 系列32 位閃存微控制器基于突破性的ARM Cortex-M3 內(nèi)核,這是一款專為嵌入式應(yīng)用而開發(fā)的內(nèi)核。Cortex-M3 內(nèi)核:英國ARM 公司力推內(nèi)核,致力于替代8 位/16 位單片機。使用THUMB-2 指令集,32 位性能,16 位密度,與ARM7TDMI 相比,Cortex-M3 內(nèi)核要快35%,代碼減少45%。STM32 系列產(chǎn)品得益于Cortex-M3 在架構(gòu)上進(jìn)行的多項改進(jìn),包括提升性能的同時又提高了代碼密度的 Thumb-2 指令集,大幅度提高的中斷響應(yīng),而且所有新功能都同時具有業(yè)界最優(yōu)的功耗水平。3.2 步進(jìn)電機模塊3.2.1

23、步進(jìn)電機驅(qū)動模塊本設(shè)計選用專用的電機驅(qū)動芯片SPGT62C19B。SPGT62C19B電機控制模組是為學(xué)生以及單片機愛好者學(xué)習(xí)步進(jìn)電機和直流電機控制而設(shè)計的學(xué)習(xí)套件。模組采用凌陽SPGT62C19B電機驅(qū)動芯片,配置兩相步進(jìn)電機和直流電機各一臺,并提供4位LED數(shù)碼管用來顯示電機轉(zhuǎn)速等信息。模組針對SPCE061A單片機設(shè)計,可以方便地用排線與SPCE061A精簡開發(fā)板(即“61板”)連接,可作為單片機教學(xué)、產(chǎn)品開發(fā)前期驗證等輔助工具使用。模組配備的步進(jìn)電機為35BYJ26型永磁步進(jìn)電機,工作方式為雙極性兩相四拍。步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進(jìn)電機接收到一個脈沖信號,它就

24、按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”)。可以通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率實現(xiàn)步進(jìn)電機的調(diào)速。SPGT62C19B是低電壓單片式步進(jìn)電機驅(qū)動器集成電路芯片,可驅(qū)動一臺兩相步進(jìn)電機,或者兩臺直流電機。它帶有雙路H橋,可分別驅(qū)動兩個獨立的PNP功率管。每一個H橋都有各自獨立的使能引腳,因此非常適合于需要獨立控制的步進(jìn)電機驅(qū)動系統(tǒng)。SPGT62C19B輸出電壓可達(dá)40v,輸出電流可達(dá)750mA,由輸入的邏輯電平來決定輸出脈沖的寬度及頻率,所以由這款芯片組成的電機驅(qū)動系統(tǒng)將脈沖發(fā)生器、脈沖分配器、脈沖放大器合為一體,省去了很多外圍器件。SPG

25、T62C19B的內(nèi)部由兩組完全相同的控制電路組成了兩路輸出通道。輸入控制信號經(jīng)前級緩沖后送入片內(nèi)控制器,然后由控制部分進(jìn)行處理并驅(qū)動晶體管,最后由OUT端口輸出驅(qū)動信號以控制電機的運行。SPGT62C19B的控制腳有如下6個:表3.2.1SPGT62C19B的控制引腳引腳 名稱 用途 20 I01 通道1的電流大小控制17 I11 通道1的電流大小控制16 PHASE1 通道1的電流方向控制8 I02 通道2的電流大小控制9 I12 通道2的電流大小控制10 PHASE2 通道2的電流方向控制以通道1為例,控制口I01與I11的不同邏輯組合可使通道1輸出端產(chǎn)生不同大小的電流輸出: 表3.2.2

26、控制腳I01與I11邏輯組合與輸出電流的關(guān)系I01邏輯值I11邏輯值輸出電流 0 0 Imax 1 0 2/3*Imax 0 1 1/3*Imax 1 1 0 上表中,Imax是輸出電流的上限值,它與圖 2.3中Vref和Rs的值有關(guān)。其關(guān)系式為: Imax = Vref /10*Rs: PHASE1的邏輯電平值決定了該通道的電流輸出方向。PHASE1與電流方向的對應(yīng)關(guān)系表3.2.3 控制腳PHASE1與輸出電流的關(guān)系PHASE1邏輯值輸出電流方向 0 OUT1B -> OUT1A 1 OUT1A -> OUT1B 3.2.2 步進(jìn)電機驅(qū)動控制模塊步進(jìn)電機作為執(zhí)行元件,是機電一體化

27、的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進(jìn)電機的需求量與日俱增,在各個國民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進(jìn)電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度(稱為“步距角”),它的旋轉(zhuǎn)是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時可以通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步距角。這一線性關(guān)

28、系的存在,加上步進(jìn)電機只有周期性的誤差而無累積誤差等特點。使得在速度、位置等控制領(lǐng)域用步進(jìn)電機來控制變的非常的簡單。雖然步進(jìn)電機已被廣泛地應(yīng)用,但步進(jìn)電機并不能象普通的直流電機,交流電機在常規(guī)下使用。它必須由雙環(huán)形脈沖信號、功率驅(qū)動電路等組成控制系統(tǒng)方可使用。因此用好步進(jìn)電機卻非易事,它涉及到機械、電機、電子及計算機等許多專業(yè)知識。步進(jìn)電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為100%)的特點,廣泛應(yīng)用于各種開環(huán)控制?,F(xiàn)在比較常用的步進(jìn)電機包括反應(yīng)式步進(jìn)電機(VR)、永磁式步進(jìn)電機(PM)、混合式步進(jìn)電機(HB)和單相式步進(jìn)電機等。永磁式步進(jìn)電機一般為兩相,轉(zhuǎn)矩和體積較小,步

29、進(jìn)角一般為7.5度或15度;反應(yīng)式步進(jìn)電機一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度,但噪聲和振動都很大。反應(yīng)式步進(jìn)電機的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩。混合式步進(jìn)電機是指混合了永磁式和反應(yīng)式的優(yōu)點。它又分為兩相和五相:兩相步進(jìn)角一般為1.8度而五相步進(jìn)角一般為 0.72度。這種步進(jìn)電機的應(yīng)用最為廣泛,也是本次細(xì)分驅(qū)動方案所選用的步進(jìn)電機。3.2.3 步進(jìn)電機的一些特點1一般步進(jìn)電機的精度為步進(jìn)角的3-5%,且不累積。2步進(jìn)電機外表允許的最高溫度。步進(jìn)電機溫度過高首先會使電機的磁性材料退磁,從而導(dǎo)致力矩下降乃至于失步,因此電機外表允許的最高溫度應(yīng)取

30、決于不同電機磁性材料的退磁點;一般來講,磁性材料的退磁點都在攝氏130度以上,有的甚至高達(dá)攝氏200度以上,所以步進(jìn)電機外表溫度在攝氏80-90度完全正常。3步進(jìn)電機的力矩會隨轉(zhuǎn)速的升高而下降。當(dāng)步進(jìn)電機轉(zhuǎn)動時,電機各相繞組的電感將形成一個反向電動勢;頻率越高,反向電動勢越大。在它的作用下,電機隨頻率(或速度)的增大而相電流減小,從而導(dǎo)致力矩下降。4步進(jìn)電機低速時可以正常運轉(zhuǎn),但若高于一定速度就無法啟動,并伴有嘯叫聲。步進(jìn)電機有一個技術(shù)參數(shù):空載啟動頻率,即步進(jìn)電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動頻率應(yīng)更低。

31、如果要使電機達(dá)到高速轉(zhuǎn)動,脈沖頻率應(yīng)該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉(zhuǎn)速從低速升到高速)。步進(jìn)電動機以其顯著的特點,在數(shù)字化制造時代發(fā)揮著重大的用途。伴隨著不同的數(shù)字化技術(shù)的發(fā)展以及步進(jìn)電機本身技術(shù)的提高,步進(jìn)電機將會在更多的領(lǐng)域得到應(yīng)用。3.2.4 步進(jìn)電機的一些基本參數(shù)電機固有步距角:它表示控制系統(tǒng)每發(fā)一個步進(jìn)脈沖信號,電機所轉(zhuǎn)動的角度。電機出廠時給出了一個步距角的值,如86BYG250A型電機給出的值為0.9°/1.8°(表示半步工作時為0.9°、整步工作時為1.8°),這個步距角可以稱之為電機固有步距角,它不一

32、定是電機實際工作時的真正步距角,真正的步距角和驅(qū)動器有關(guān)。步進(jìn)電機的相數(shù):是指電機內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機。電機相數(shù)不同,其步距角也不同,一般二相電機的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72° 。在沒有細(xì)分驅(qū)動器時,用戶主要靠選擇不同相數(shù)的步進(jìn)電機來滿足自己步距角的要求。如果使用細(xì)分驅(qū)動器,則相數(shù)將變得沒有意義,用戶只需在驅(qū)動器上改變細(xì)分?jǐn)?shù),就可以改變步距角。保持轉(zhuǎn)矩(HOLDING TORQUE):是指步進(jìn)電機通電但沒有轉(zhuǎn)動時,定子鎖住轉(zhuǎn)子的力矩。它是

33、步進(jìn)電機最重要的參數(shù)之一,通常步進(jìn)電機在低速時的力矩接近保持轉(zhuǎn)矩。由于步進(jìn)電機的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進(jìn)電機最重要的參數(shù)之一。比如,當(dāng)人們說2N.m的步進(jìn)電機,在沒有特殊說明的情況下是指保持轉(zhuǎn)矩為2N.m的步進(jìn)電機。3.2.5 步進(jìn)電機的驅(qū)動方法不能直接接到工頻交流或直流電源上工作,而必須使用專用的驅(qū)動器,如圖3.5.1所示,它由脈沖發(fā)生控制單元、功率驅(qū)動單元、保護(hù)單元等組成。圖中點劃線所包圍的二個單元可以用微機控制來實現(xiàn)。圖3.5.1 步進(jìn)電機驅(qū)動控制器框圖3.3 A/D轉(zhuǎn)換模塊本次設(shè)計采用ADC輸入電位器作為輸入部分。3.3

34、.1 模擬/數(shù)字轉(zhuǎn)換(ADC)介紹12 位ADC 是一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有18 個通道,可測量16 個外部和2 個內(nèi)部信號源。各通道的A/D 轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模式執(zhí)。ADC 的結(jié)果可以左對齊或右對齊方式存儲在16 位數(shù)據(jù)寄存器中。3.3.2 模擬/數(shù)字轉(zhuǎn)換(ADC)主要特性 12-位分辨率 轉(zhuǎn)換結(jié)束,注入轉(zhuǎn)換結(jié)束和發(fā)生模擬看門狗事件時產(chǎn)生中斷 單次和連續(xù)轉(zhuǎn)換模式 從通道0 到通道n 的自動掃描模式 自校準(zhǔn) 帶內(nèi)嵌數(shù)據(jù)一致的數(shù)據(jù)對齊 通道之間采樣間隔可編程 規(guī)則轉(zhuǎn)換和注入轉(zhuǎn)換均有外部觸發(fā)選項 間斷模式 雙重模式(帶2 個ADC 的器件) ADC 轉(zhuǎn)換時間: STM32F

35、103xx 增強型產(chǎn)品:ADC 時鐘為56MHz 時為1s(ADC 時鐘為72MHz 為1.17s) STM32F101xx 基本型產(chǎn)品:ADC 時鐘為28MHz 時為1s(ADC 時鐘為36MHz 為1.55s) ADC 供電要求:2.4V 到3.6V ADC 輸入范圍:VREF- VIN VREF+ 規(guī)則通道轉(zhuǎn)換期間有DMA 請求產(chǎn)生。3.3.3 模擬/數(shù)字轉(zhuǎn)換(ADC)功能描述ADC開關(guān)控制通過設(shè)置ADC_CR1 寄存器的ADON 位可給ADC 上電。當(dāng)?shù)谝淮卧O(shè)置ADON 位時,它將ADC 從斷電狀態(tài)下喚醒。ADC 上電延遲一段時間后(tSTAB),再次設(shè)置ADON 位時開始進(jìn)轉(zhuǎn)換。通過

36、清除ADON 位可以停止轉(zhuǎn)換,并將ADC 置于斷電模式。在這個模式中,ADC 幾乎耗電(僅幾個A)。單次轉(zhuǎn)換模式單次轉(zhuǎn)換模式,ADC 只執(zhí)一次轉(zhuǎn)換。這個模式既可通過設(shè)置ADC_CR2 寄存器的ADON 位(只適用于規(guī)則通道)啟動也可通過外部觸發(fā)啟動(適用于規(guī)則通道或注入通道),這時CONT 位為0。一旦選擇通道的轉(zhuǎn)換完成: 如果一個規(guī)則通道被轉(zhuǎn)換: 轉(zhuǎn)換數(shù)據(jù)被儲存在 16 位ADC_DR 寄存器中 EOC(轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置 如果設(shè)置 EOCIE,則產(chǎn)生中斷。 如果一個注入通道被轉(zhuǎn)換: 轉(zhuǎn)換數(shù)據(jù)被儲存在 16 位的ADC_DRJ1 寄存器中 JEOC(注入轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置 如果設(shè)置 JE

37、OCIE 位,則產(chǎn)生中斷。然后ADC 停止。連續(xù)轉(zhuǎn)換模式在連續(xù)轉(zhuǎn)換模式中,當(dāng)前面ADC 轉(zhuǎn)換一結(jié)束馬上就啟動另一次轉(zhuǎn)換。此模式可通過外部觸發(fā)啟動或通過設(shè)置ADC_CR2 寄存器上的ADON 位啟動,此時CONT位是1。每個轉(zhuǎn)換后: 如果一個規(guī)則通道被轉(zhuǎn)換: 轉(zhuǎn)換數(shù)據(jù)被儲存在 16 位的ADC_DR 寄存器中 EOC(轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置 如果設(shè)置 EOCIE,則產(chǎn)生中斷。 如果一個注入通道被轉(zhuǎn)換: 轉(zhuǎn)換數(shù)據(jù)被儲存在 16 位的ADC_DRJ1 寄存器中 JEOC(注入轉(zhuǎn)換結(jié)束)標(biāo)志被設(shè)置 如果設(shè)置 JEOCIE 位,則產(chǎn)生中斷。ADC 管腳:名稱信號類型注解VREF+輸入,模擬參考正極ADC使

38、用的高端/正極參考電壓,2.4V VREF+ VDDAVDDA輸入,模擬電源等效于VDD的模擬電源且:2.4V VDDA VDD(3.6V)VREF-輸入,模擬參考負(fù)極ADC使用的低端/負(fù)極參考電壓,VREF- = VSSAVSSA輸入,模擬電源地等效于VSS的模擬電源地ADC_IN15:0模擬輸入信號16個模擬輸入通道3.4 LCD顯示模塊顯示電路是本設(shè)計硬件的主要構(gòu)成部分,STM32外接TFT模塊,MzT24彩色TFT模塊是一個2.4英寸的TFT模塊,內(nèi)置TFT控制器,對外連接直接通過8位的8080總線進(jìn)行指令和數(shù)據(jù)的傳輸。MzT24有像素點數(shù)為240×320,色彩深度為16位色

39、,也就是每一個像素點需要用16位的數(shù)據(jù)來表示其顯示的內(nèi)容。MzT24模塊的顯示操作非常簡便,需要改變某一個像素點的顏色時,只需要對該點所對應(yīng)的2個字節(jié)的顯存進(jìn)行操作即可。這部分電路連接時主要是把數(shù)據(jù)準(zhǔn)確穩(wěn)定的顯示出來,因此連接電路時需注意端口對應(yīng)的準(zhǔn)確連接,否則嚴(yán)重影響數(shù)據(jù)顯示的穩(wěn)定,甚至出現(xiàn)顯示不出來數(shù)據(jù)。在外接LCD顯示時,需在LED_A端口外接一個電路放大電壓,否則無法達(dá)到需要的電壓值,使電壓由3.3V放大到5V,這樣才能夠點亮LCD顯示器,當(dāng)鍵盤的輸入量經(jīng)過AD轉(zhuǎn)換和STM32微處理器進(jìn)行數(shù)據(jù)的處理,由模擬量轉(zhuǎn)換成數(shù)據(jù)量,傳給LCD進(jìn)行數(shù)據(jù)的顯示。本系統(tǒng)采用型號為MzT24彩色TFT模

40、塊的LCD,因為STM32開發(fā)板Z32R所使用的LCD也為此型號,技術(shù)資料齊全,縮短開發(fā)周期。擴(kuò)展LCD接口原理圖如圖所示。3.5 硬件電路硬件電路實物圖如圖3.5所示:第4章 控制系統(tǒng)軟件設(shè)計4.1 控制系統(tǒng)軟件設(shè)計步驟對于一個完整的嵌入式應(yīng)用系統(tǒng)的開發(fā),硬件的設(shè)計與調(diào)試工作僅占整個工作量的一半,應(yīng)用系統(tǒng)的程序設(shè)計也是嵌入式系統(tǒng)設(shè)計一個非常重要的方面,程序的質(zhì)量直接影響整個系統(tǒng)功能的實現(xiàn),好的程序設(shè)計可以克服系統(tǒng)硬件設(shè)計的不足,提高應(yīng)用系統(tǒng)的性能,反之,會使整個應(yīng)用系統(tǒng)無法正常工作。不同于基于PC平臺的程序開發(fā),嵌入式系統(tǒng)的程序設(shè)計具有其自身的特點,在編寫嵌入式系統(tǒng)應(yīng)用程序時,可采取如下幾個

41、步驟:(1) 明確所要解決的問題:根據(jù)問題的要求,將軟件分成若干個相對獨立的部分,并合理設(shè)計軟件的總體結(jié)構(gòu)(2) 合理配置系統(tǒng)的資源:與基于8位或16位微控制器的系統(tǒng)相比較,基于32位微控制器的系統(tǒng)資源要豐富得多,但合理的資源配置可最大的限度發(fā)揮系統(tǒng)的硬件潛能,提高系統(tǒng)的性能。對于一個特定的系統(tǒng)來說,其系統(tǒng)資源,如Flash、EEPROM、SDRAM、中斷控制等,都是有限的,應(yīng)合理配置系統(tǒng)資源。(3) 程序的設(shè)計、調(diào)試與優(yōu)化:根據(jù)軟件的總體結(jié)構(gòu)編寫程序,同時采用各種調(diào)試手段,找出程序的各種語法和邏輯錯誤,最后應(yīng)使各功能程序模塊化,縮短代碼長度以節(jié)省存儲空間并減少程序的執(zhí)行時間。此外,由于嵌入式

42、系統(tǒng)一般都應(yīng)用在環(huán)境比較惡劣的場合,易受各種干擾,從而影響到系統(tǒng)的可靠性,因此,應(yīng)用程序的抗干擾技術(shù)也是必須考慮的,這也是嵌入式系統(tǒng)應(yīng)用程序不同于其他應(yīng)用程序的一個重要特點。系統(tǒng)的軟件程序是通過對硬件設(shè)備的控制來完成控制任務(wù)的,只有充分了解硬件系統(tǒng)的工作過程才能確定軟件的任務(wù),最終達(dá)到完美的統(tǒng)一。在進(jìn)行軟件程序編寫之前首先要進(jìn)行系統(tǒng)的需求分析,以確定系統(tǒng)要實現(xiàn)的功能,明確系統(tǒng)最終的任務(wù)指標(biāo)。在本課題中,軟件主要實現(xiàn)的是驅(qū)動電機、數(shù)據(jù)處理、通信、PWM信號產(chǎn)生等功能。因為直接編寫整套程序很煩瑣并且容易出現(xiàn)錯,所以我們可以采用自上向下逐層分解的方式,把復(fù)雜的系統(tǒng)進(jìn)行合理分解。將軟件劃分為若干個相互

43、獨立的部分,再根據(jù)各部分的關(guān)系設(shè)計出軟件的整體框架。在程序設(shè)計時盡可能采用結(jié)構(gòu)化模塊設(shè)計,根據(jù)軟件任務(wù)導(dǎo)出軟件模塊,每個軟件模塊功能要單一,盡量把各個模塊之間的聯(lián)系減少到最底。4.2 Keil for ARM軟件開發(fā)環(huán)境Keil uVision調(diào)試器可以幫助用戶準(zhǔn)確的調(diào)試ARM器件的片內(nèi)外圍功能(中斷、I/O口、A/D轉(zhuǎn)換器和PWM模塊等功能)ULINK USB-JTAG轉(zhuǎn)換器將PC機的USB端口與用戶的目標(biāo)硬件相連(通過JTAG或OCD),使用戶可在目標(biāo)硬件上調(diào)試代碼。通過使用Keil uVision IDE/調(diào)試器和ULINK USB-JTAG轉(zhuǎn)換器,用戶可以很方便地編輯、下載和在實際的目

44、標(biāo)硬件上測試嵌入式程序。圖4.1 Keil軟件開發(fā)平臺4.3 PWM細(xì)分技術(shù)簡介步進(jìn)電機的細(xì)分控制,從本質(zhì)上講是通過對步進(jìn)電機的勵磁繞組中電流的控制,使步進(jìn)電機內(nèi)部的合成磁場為均勻的圓形旋轉(zhuǎn)磁場,從而實現(xiàn)步進(jìn)電機步距角的細(xì)分。一般情況下,合成磁場矢量的幅值決定了步進(jìn)電機旋轉(zhuǎn)力矩的大小,相鄰兩合成磁場矢量之間夾角的大小決定了步距角的大小。因此,要想實現(xiàn)對步進(jìn)電機恒轉(zhuǎn)矩的均勻細(xì)分控制,必須合理控制電機繞組中的電流,使步進(jìn)電機內(nèi)部合成磁場的幅值恒定,且每個進(jìn)給脈沖所引起的合磁場的角度變化也要均勻。4.3.1 PWM細(xì)分技術(shù)簡介細(xì)分的基本概念為:步進(jìn)電機通過細(xì)分驅(qū)動器的驅(qū)動,其步距角變小了。如驅(qū)動器工

45、作在10細(xì)分狀態(tài)時,其步距角只為電機固有步距角的十分之一,也就是:當(dāng)驅(qū)動器工作在不細(xì)分的整步狀態(tài)時,控制系統(tǒng)每發(fā)一個步進(jìn)脈沖,電機轉(zhuǎn)動1.8°;而用細(xì)分驅(qū)動器工作在10細(xì)分狀態(tài)時,電機只轉(zhuǎn)動了0.18°。細(xì)分功能完全是由驅(qū)動器靠精確控制電機的相電流所產(chǎn)生的,與電機無關(guān)。 步進(jìn)電機的細(xì)分技術(shù)實質(zhì)上是一種電子阻尼技術(shù),其主要目的是提高電機的運轉(zhuǎn)精度,實現(xiàn)步進(jìn)電機步距角的高精度細(xì)分。其次,細(xì)分技術(shù)的附帶功能是減弱或消除步進(jìn)電機的低頻振動,低頻振蕩是步進(jìn)電機(尤其是反應(yīng)式電機)的固有特性,而細(xì)分是消除它的唯一途徑,如果步進(jìn)電機有時要在共振區(qū)工作(如走圓?。x擇細(xì)分驅(qū)動器是唯一的選

46、擇。4.3.2 PWM細(xì)分技術(shù)驅(qū)動原理所謂細(xì)分驅(qū)動就是把機械步距角細(xì)分成若干個電的步距角,當(dāng)轉(zhuǎn)子從一個位置轉(zhuǎn)到下一個位置的時候,會出現(xiàn)一些“暫態(tài)停留點”。這樣使得電機啟動時的過調(diào)量或 者停止時的過調(diào)量就會減小,電機軸的振動也會減小,使電機轉(zhuǎn)子旋轉(zhuǎn)過程變得更加平滑,更加細(xì)膩,從而減小了噪聲。其電機驅(qū)動示意圖如圖4.2所示。圖4.2 電機驅(qū)動示意圖當(dāng)分別給各相繞組通電時,各相繞組產(chǎn)生的旋轉(zhuǎn)磁場如下:僅有A相導(dǎo)通時,旋轉(zhuǎn)磁場指向A;僅有B相導(dǎo)通時,旋轉(zhuǎn)磁場指向B;僅有C相導(dǎo)通時,旋轉(zhuǎn)磁場指向 C;僅有D相導(dǎo)通時,旋轉(zhuǎn)磁場指向D。依次為各相繞組通電,每切換一次,旋轉(zhuǎn)磁場矢量轉(zhuǎn)過90°,電機轉(zhuǎn)

47、過一個步距角1.8°。當(dāng)旋轉(zhuǎn)磁場矢量轉(zhuǎn)過 360°時,電機轉(zhuǎn)過一個齒距,這種工作方式稱為整步工作。      如果改變上述加電過程,采用四相八拍工作,即通電順序依次為:  此工作方式稱半步工作,旋轉(zhuǎn)磁場的矢量變化如圖4.3所示。每改變一次通電狀態(tài),旋轉(zhuǎn)磁場的矢量轉(zhuǎn)過45°。圖4.3 四細(xì)分驅(qū)動磁場矢量圖同理,旋轉(zhuǎn)磁場轉(zhuǎn)過360°,電機轉(zhuǎn)過一個齒距。 由半步原理給予啟發(fā),如果讓旋轉(zhuǎn)磁場矢量每次轉(zhuǎn)過22.5°,這樣就實現(xiàn)了四細(xì)分驅(qū)動。其旋轉(zhuǎn)磁場矢量變化如圖4.4所示。圖4.4 電機四細(xì)分驅(qū)

48、動磁場矢量圖為了使電機輸出轉(zhuǎn)距大小一致,也就是使電機勻速轉(zhuǎn)動,我們控制流入A,B,C,D各相電流的大小,具體按公式sin2+cos2=1來計算。圖4.5給出了四細(xì)分驅(qū)動時各相電機輸入電流值的變換曲線。圖4.5 四細(xì)分驅(qū)動轉(zhuǎn)距均勻輸出原理圖4.3.3 PWM細(xì)分調(diào)壓調(diào)速原理電流矢量恒幅均勻旋轉(zhuǎn)細(xì)分驅(qū)動方法。同時改變兩相電流的大小,使電流合成矢量恒幅均勻旋轉(zhuǎn)。這種方式可稱為步進(jìn)電機的模擬運行,它是一種基于交流同步電機概念的特殊細(xì)分技術(shù),實質(zhì)是對運行于交流同步電機狀態(tài)的步進(jìn)電機所受的交流模擬信號在一個周期內(nèi)細(xì)分,即每個細(xì)分點對應(yīng)于一個交流值。當(dāng)細(xì)分?jǐn)?shù)相當(dāng)大時,例如本系統(tǒng)中將一個四分之一周期分成409

49、6個點,電機繞組的電流信號就逼近模擬連續(xù)信號。這種細(xì)分技術(shù)可以極大地提高步進(jìn)電機的分辨率和運行穩(wěn)定性。電流合成矢量的旋轉(zhuǎn)示意圖如圖4.6所示。圖4.6 電流合成矢量的旋轉(zhuǎn)示意圖步進(jìn)電動機的細(xì)分控制函數(shù)數(shù)學(xué)模型: iaim*cosX ib=im*sinX 式中: iaA相繞組電流 ibB相繞組電流 x控制參數(shù) im電流幅值 cosx控制參數(shù)余弦值 sinx控制參數(shù)正弦值 4.4 主程序設(shè)計本次設(shè)計的軟件部分采用模塊化的設(shè)計思想,將各個功能都編成了相應(yīng)的子程序。程序運行時,通過主程序的調(diào)用及相應(yīng)模塊之間的嵌套調(diào)用,實現(xiàn)系統(tǒng)的整體功能。開始運行程序,系統(tǒng)時鐘、GPIO、NVIC、A/D轉(zhuǎn)換分別進(jìn)行初

50、始化,讀取A/D轉(zhuǎn)換值判斷,如果轉(zhuǎn)換值大于0,則步進(jìn)電機正轉(zhuǎn),否則步進(jìn)電機反轉(zhuǎn)。如果轉(zhuǎn)換值大于170,則步進(jìn)電機最大速度正轉(zhuǎn)。如果轉(zhuǎn)換值小于-170,則步進(jìn)電機最大速度反轉(zhuǎn)。如果讀取的A/D轉(zhuǎn)換值與顯示的值一樣,則繼續(xù)讀取A/D值。如果讀取值與顯示值不一樣,則重新計算顯示。主程序流程圖如圖4.7所示。4.5 各模塊程序設(shè)計本次課程設(shè)計軟件程序包括A/D轉(zhuǎn)換子程序、PWM細(xì)分子程序、電機控制子程序、LCD顯示子程序構(gòu)成。4.5.1系統(tǒng)初始化本設(shè)計所需的STM32的外設(shè)包括PA口、PB口、PC口和定時器端口,所以也要對外設(shè)的時鐘進(jìn)行設(shè)置。由于PA口、PB口、PC口在APB1系統(tǒng)總線外設(shè)上,定時器T

51、IM2和TIM3在APB2系統(tǒng)總線外設(shè)上,所以要對APB1和APB2總線的時鐘頻率進(jìn)行設(shè)置。經(jīng)過APB1與APB2的分頻,將SYSCLK轉(zhuǎn)換成可以進(jìn)行外設(shè)及TIM可以接收的系統(tǒng)時鐘。在時鐘初始化子程序中先對系統(tǒng)時鐘的模式進(jìn)行選擇,即將系統(tǒng)時鐘設(shè)置為HSE模式(外部時鐘模式),然后設(shè)置AHB時鐘等于系統(tǒng)時鐘,且設(shè)置了低速或高速AHB,最后使能的時鐘,時鐘初始化子程序的流程圖如下圖。開始設(shè)置PLL時鐘源及倍頻系數(shù)使能外部高速晶振HSE設(shè)置AHB時鐘HSE設(shè)置成功?是檢查指定的RCC標(biāo)志位設(shè)置與否選PLL作為系統(tǒng)的時鐘否否是圖4.8 時鐘初始化流程圖本課設(shè)中需要對STM32的端口進(jìn)行程序的配置,下為

52、PA口的配置程序,GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7| GPIO_Pin_2 | GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure)根據(jù)指定的參數(shù)初始化外設(shè)GPIOA寄存器,首先GPIO_InitStru

53、cture.GPIO_Pin選擇待設(shè)置的GPIOA管腳,通過使用操作符“|”一次選中了多個管腳,選擇了PA0端口、PA2端口,PA6端口、PA7端口,GPIO_Speed用以設(shè)置選中管腳的速率,管腳的速率有三種:10MHz、2MHz和50MHz,由于STM32強大的處理能力,為了能夠達(dá)系統(tǒng)速率的提高,選擇了端口的最高輸出速率為50MHz,GPIO_Mode用以設(shè)置選中管腳的工作狀態(tài)。,GPIO 端口有八種工作狀態(tài):GPIO_Mode_AIN 模擬輸入, GPIO_Mode_IN_FLOATING 浮空輸入, GPIO_Mode_IPD 下拉輸入, GPIO_Mode_IPU 上拉輸入, GPI

54、O_Mode_Out_OD 開漏輸出, GPIO_Mode_Out_PP 推挽輸出, GPIO_Mode_AF_OD 復(fù)用開漏輸出, GPIO_Mode_AF_PP 復(fù)用推挽輸出。由于選擇的PA2端口和PA6端口需要產(chǎn)生PWM信號,因此選擇了復(fù)用推挽輸出的工作狀態(tài),需要設(shè)置注意:當(dāng)某管腳設(shè)置為上拉或者下拉輸入模式,使用寄存器Px_BSRR和PxBRR 。GPIO_Mode允許同時設(shè)置GPIO方向(輸入/輸出)和對應(yīng)的輸入/輸出設(shè)置。當(dāng)I/O端口被配置為輸出時: (1) 輸出緩沖器被激活 開漏模式:輸出寄存器上的0激活N-MOS,而輸出寄存器上的1將端口置于高阻狀態(tài)(P-MOS從不被激活)。 推

55、挽模式:輸出寄存器上的0激活N-MOS,而輸出寄存器上的1將激活P-MOS。 (2)施密特觸發(fā)輸入被激活 (3) 弱上拉和下拉電阻被禁止 (4) 出現(xiàn)在I/O腳上的數(shù)據(jù)在每個APB2時鐘被采樣到輸入數(shù)據(jù)寄存器 (5) 在開漏模式時,對輸入數(shù)據(jù)寄存器的讀訪問可得到I/O狀態(tài) (6) 在推挽式模式時,對輸出數(shù)據(jù)寄存器的讀訪問得到最后一次寫的值。4.5.2A/D轉(zhuǎn)換程序設(shè)計在開始ADC轉(zhuǎn)換和14個時鐘周期后,EOC標(biāo)志被設(shè)置,16位ADC數(shù)據(jù)寄存器包含轉(zhuǎn)換的結(jié)果,ADC在開始精確轉(zhuǎn)換前需要一個穩(wěn)定時間TSTAB。時序圖如下圖,圖4.9 時序圖在ADC初始化設(shè)置時,首先開啟AHB外設(shè)時鐘使能寄存器DMA1時鐘,定義轉(zhuǎn)換數(shù)據(jù)量,設(shè)置DMA的通道1的初始化,獨立地選擇通道的采樣時間,在通道1設(shè)置看門狗,開啟ADC1并啟動轉(zhuǎn)換,應(yīng)用連續(xù)轉(zhuǎn)換模式,使用DMA模式,接著便開始轉(zhuǎn)換規(guī)則通道,完成由模擬量到數(shù)據(jù)量的轉(zhuǎn)變。void adc_Init (void) / GPIOA->CRL &= 0xF; /* set PIN1 analog input (see stm32_Init.c) *

溫馨提示

  • 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

提交評論