初稿科技學院2011屆陸修遠_第1頁
初稿科技學院2011屆陸修遠_第2頁
初稿科技學院2011屆陸修遠_第3頁
初稿科技學院2011屆陸修遠_第4頁
初稿科技學院2011屆陸修遠_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、科技學院 2011 屆本科基于 Arduino 的步進電機控制設計專業(yè):電子信息科學與技術(shù) 指導教師:學生學生學號:072004110479中國貴陽2011 年 5 月目錄摘要Abstract第一章緒論11.1 題目說明11.2Arduino 的基本情況及步進電機發(fā)展情況21.2.1 Arduino 的基本情況21.2.2 步進電機發(fā)展情況31.3課題的意義與目標31.4的整體結(jié)構(gòu)安排4第二章系統(tǒng)架構(gòu)及說明52.1步進電機工作原理及特點52.1.1 步進電機種類及工作原理52.1.2 步進電機的頻率特性112.2Arduino 開發(fā)板的工作特性及特點142.2.1 Arduino 開發(fā)板的工作

2、特性142.2.2 Arduino特點142.3系統(tǒng)架構(gòu)142.3.1 步進電機控制原理142.3.2 控制系統(tǒng)程序流程圖15第三章系統(tǒng)設計實現(xiàn)173.1各個模塊的原理圖及接口細節(jié)173.1.1 L298 的原理圖173.2實驗程序183.3連接實物圖22第四章 總結(jié)與展望分析23參考文獻24致謝25基于 Arduino 的步進電機的控制設計摘要介紹了步進電機的發(fā)展史及國內(nèi)的現(xiàn)狀和 Arduino 開發(fā)板的基本情況,并且闡述步進電機的工作原理。步進電機是將電脈沖信號轉(zhuǎn)換成相應的角位移或直線位移的開環(huán)控制元件。在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化

3、的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步進角。這一線性關(guān)系的存在,加上步進電機只有周期性的誤差而無累積誤差,使得在諸如數(shù)控機床、某些光學儀器、計算機的打印機、磁盤驅(qū)動器等,用步進電機來控制變的非常的簡單。步進電機的調(diào)速一般是改變輸入步進電機的脈沖的轉(zhuǎn)動一個固定的角度,這樣就可以通過控制步進電機的一個脈沖到下一個脈沖的時間間隔來改變脈沖的頻率,延時的長短來控制步進角來改變電機的轉(zhuǎn)速,從而實現(xiàn)步進電機的調(diào)速。本設計闡述了一種步進電機控制的設計方案,并繪制了原理圖,撰寫了程序源代碼。實現(xiàn)對步進電機轉(zhuǎn)速的控制,并完成實物制作。這期間主要使用 Pro99繪制原理圖,最后通過計算機調(diào)試程序代碼的實

4、際功能,完成此設計。:步進電機;Arduino 開發(fā)板;控制、Based on Arduino stepmotor control designAbstractthe history of stepper motor and domestic situation andThis prroduArduino development board, and sets forth the basic working principle of stepmotor. Stepmotor is convertedo electrical impulses signal of the angulardispl

5、acement or linear displacement open loop control components.he overload ofthe cases, motor speed, stopition only depend on the pulse signal frequency andpulse count, and not under the influence of load changes, i.e. give motor add a pulsesignal, motor is turned a stephorns. The existence of a sexual

6、 relationship, plusthe stepmotor only cyclical error and no accumulative error, such as CNCmachines, make some optical instrument, computrers, disk drives, etc, with thestepmotor to controles very simple. The step motor speed control isgenerally change input pulse stepper motor roe a fixed Angle, wh

7、ich can throughcontrolling the step motor a pulse to the next pulseerval to change pulse frequency,delay length to control stepAngle to change the motor speed, so as to realize thestepper motor speed. This design expounds a kind of stepmotor control designscheme and mapped the principle diagram, com

8、e the source code. Realize thestepmotor speed control, and complete the making of objects. During this periodthe main use Pro99 software rendering principle diagram, finally through computerdebugging code, the actual function complete this design.Keyword:Stepmotor,Arduino development board,Control第一

9、章緒論1.1題目說明步進電機最早是在1920年由英國人所開發(fā)。1950年后期晶體管的發(fā)明也逐漸應用在步進電機上,這對于數(shù)字化的控制變得更為容易。以后經(jīng)過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解性能、高響應性、信賴性等靈活控制性高的機械系統(tǒng)中。在生產(chǎn)過程中要求自動化、省人力、效率高的機器中,很容易發(fā)現(xiàn)步進電機的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進電機用得最多。步進電機作為執(zhí)行元件,是機電的關(guān)鍵產(chǎn)品之一, 廣泛應用在各種自動化控制系統(tǒng)中。隨著微電子和計算機技術(shù)的發(fā)展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領域都有應用。步進電機是一種將電

10、脈沖信號轉(zhuǎn)變成相應的角位移或直線位移的開環(huán)控制元件??刂撇竭M電機的輸入脈沖數(shù)量、頻率及電機各相繞組的接通順序,就能得到各種需要的運行特性。步進電機在非超載的情況下,電機的轉(zhuǎn)速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉(zhuǎn)過一個步進角。這一線性關(guān)系的存在,加上步進電機只有周期性的誤差而無累積誤差,使得在諸如數(shù)控機床、某些光學儀器、計算機的、磁盤驅(qū)動器等,用步進電機來控制變的非常的簡單。而采用步進電機組成的控制系統(tǒng)還具有價格低廉、控制簡單、方便等優(yōu)點?,F(xiàn)在比較常用的步進電機包括反應式步進電機(VR)、永磁式步進電機(PM)、混合式步進電機(HB)

11、和單相式步進電機等。永磁式步進電機一般為兩相,轉(zhuǎn)矩和體積較小,步進角一般為7.5度 或15度;反應式步進電機一般為三相,可實現(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5度,但噪聲和振動都很大。反應式步進電機的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導的變化產(chǎn)生轉(zhuǎn)矩?;旌鲜讲竭M電機是指混合了永磁式和反應式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為1.8度而五相步進角一般為 0.72度。鑒于傳統(tǒng)的脈沖系統(tǒng)移植性不好,本設計提出微機控制系統(tǒng)代替脈沖發(fā)生器和脈沖分配器,用的方法產(chǎn)生控制脈沖,通過編程可以任意設定步進電機的轉(zhuǎn)速、旋轉(zhuǎn)角度、轉(zhuǎn)動次數(shù)和控制步進電機的運行狀態(tài)。以簡化控制電路,降低生產(chǎn)成本,

12、提高系統(tǒng)的運行效率和靈活性。本文一種基于Arduino設計的步進電機控制系統(tǒng),利用Arduino的通用的輸入輸出接口,可以編程支配。不僅操作簡單方便,而且容易實現(xiàn)。鑒于Arduino的特點,系統(tǒng)具有良好的通用性。1.21.2.1Arduino的基本情況及步進電機發(fā)展情況Arduino的基本情況Arduino是一個開放的硬件,包括一個簡單易用的I/O電路板,以及一個基于Eclipse的開發(fā)環(huán)境。Arduino是一塊基于開放源代碼的USB接口Simplei/o接口板(包括12通道數(shù)字GPIO,4通道輸出,6-8通道10bit ADC輸入通道),并且具有使用類似Java,C語言的IDE集成開發(fā)環(huán)境。

13、 Arduino可以被用來開發(fā)能夠獨立運行,并具備一定互動性的電子作品,也可以被用來開發(fā)與PC相連接的裝置,這些裝置甚至還能夠與運行在PC 上的( 如Flash ,Max/Msp,Director,Prosing等)。Arduino還具有以下優(yōu)點。低成本 和其它單片機相比,Arduino開發(fā)板相當便宜???Arduino可以運行在Windows,Macosh OSX,和Linux操作系統(tǒng)。大部分其它的單片機系統(tǒng)都只能運行在Windows上。簡易的編程環(huán)境 初學者很容易就能學會使用Arduino編程環(huán)境,同時它又能為高級用戶提供足夠多的高級應用。開源并可擴展 Arduino是開源的,對于程序員可

14、以對其進行擴展。Arduino編程語言可以通過C+庫進行擴展。硬件開源并可擴展 Arduino板基于 Atmel 的ATMEGA8 和ATMEGA168 單片機?;鵰ons協(xié)議。USB接口方面 不需外接電源,另外有9V DC輸入。應用廣泛 利用Arduino,突破以往只能使用鼠標,鍵盤,CCD等輸入的裝置的互動內(nèi)容,可以更簡單地達成單人或多人互動。Arduino 的開發(fā)團隊成員包括:Massizi,David Cuartielles,Tom Igoe,Gianluca Martino,David Mellis 和 Nicholas Zambetti。據(jù)說 Massizi 之前是意大利 Ivre

15、a 一家高科技設計學校的老師。他的學生們經(jīng)常抱怨找不到便宜好用的微控制器。2005 年冬天, Massizi 跟David Cuartielles了這個問題。David Cuartielles 是一個西班牙籍工程師,當時在這所學校做學者。兩人決定設計自己的電路板,并引入了Banzi 的學生 David Mellis 為電路板設計編程語言。兩天以后,David Mellis就寫出了程式碼。又過了三天,電路板就完工了。這塊電路板被命名為Arduino。幾乎任何人,即使不懂電腦編程,也能用 Arduino 做出很酷的東西,比如對傳感器作出回應,閃爍燈光, 還能控制馬達。隨后 Banzi ,Cuart

16、ielles,和 Mellis 把設計圖放到了網(wǎng)上。保持設計的開放源碼理念,因為法可以開源,卻很難用在硬件上,他們決定采用共享創(chuàng)意許可。共享創(chuàng)意是為保護開放行為而出現(xiàn)的類似 GPL 的一種license)。在共享創(chuàng)意下,任何人都被允許生產(chǎn)電路板的品,還能重新設計,甚至銷售原設計的品。你不需要付版稅,甚至不用取得 Arduino 團隊的許可。1.2.2步進電機發(fā)展情況我國步進電機的研究與制造起始于上世紀 50 年代后期。從 50 年代后期到 60年代后期,主要是高等院校和科研機構(gòu)為研究一些裝置二使用或開發(fā)少量產(chǎn)品。這些產(chǎn)品以多段機構(gòu)三相反應式步進電機為主。70 年代初期,步進電機的生產(chǎn)和研究有所

17、突破。除反映在驅(qū)動器設計方面的長足進步外,隊反應式步進電機本身的設計研究發(fā)展到一個較高水平。70 年代中期至 80 年代中期為成品發(fā)展階段,新品種高性能電機不斷被開發(fā)。自 80 年代中期以來,由于對步進電機精確模型做了大量研究工作,各種混合式步進電機及驅(qū)動器作為產(chǎn)品廣泛應用。1.3課題的意義與目標了解步進電機的結(jié)構(gòu)和工作原理。掌握步進電機控制系統(tǒng)的設計方法及其調(diào)試技術(shù)。本課題是以 Arduino 開發(fā)板為控制,實現(xiàn)對步進電機的正反轉(zhuǎn)控制,為進一步研究和優(yōu)化步進電機控制方法提供基礎?;贏rduino 的步進電機控制可以用Arduino 來為步進電機產(chǎn)生相應的脈沖信號,來精確地控制電機轉(zhuǎn)動的角度

18、和速度。通過本課題的設計與制作,掌握Arduino 編程方法,鞏固所學的相關(guān)知識,增強實際操作能力,學習已有的先進設計理念,另外希望通過這一系列的研究,尋找出一些與眾不同的設計思路,試著設計出一些具有自己思路的電子產(chǎn)品。培養(yǎng)綜合運用所學知識,獨立地分析問題和解決問題的能力。步進電機控制系統(tǒng)設計與實際應用聯(lián)系緊密,并且是跨學科的電子系統(tǒng)應用,對培養(yǎng)我以后的工程設計工作具有很強的參考意義。我希望通過此次設計能使工程設計水平邁向新的臺階,在實踐設計中復習好專業(yè)知識,并對電子相關(guān)的其他領域有一定的了解。隨著現(xiàn)代化工業(yè)進程的發(fā)展,控制系統(tǒng)與數(shù)據(jù)通信在各領域的運用也日益增加,其主導作用也逐漸體現(xiàn),因此通過

19、本次設計與學方面可以鍛煉自己的動手能力與學習能力,另一方面可以讓把握住現(xiàn)代信息社會脈搏,為以后工作和學習確立正確方向與目標。1.4.的整體結(jié)構(gòu)安排第一章緒論首先闡述步進電機和 Arduino 開發(fā)板的基本情況,然后介紹了它們各自的發(fā)展情況,最后給出了課題研究的目標和意義。第二章系統(tǒng)架構(gòu)及說明首先介紹了步進電機的工作原理,并對其特點進行描述,然后對 Arduino 的開發(fā)板的工作特性及其使用的特點進行說明,最后闡述系統(tǒng)整體架構(gòu)。第三章各個模塊的實現(xiàn)首先闡述程序設計實現(xiàn)驅(qū)動控制,然后著重說明各個接口的詳細特點和 L298,最后介紹實施細節(jié)和調(diào)試工作。第四章總結(jié)與展望分析首先對整個進行總結(jié)說明,然后

20、給出實物連接圖,最后對課題進行深入分析與展望。第二章系統(tǒng)架構(gòu)及說明2.1步進電機工作原理及特點2.1.1步進電機種類及工作原理現(xiàn)在比較常用的步進電機包括永磁(PM)式步進電機、可變磁阻(VR)式步進電機、混合(HB)式步進電機和單相式步進電機等。步進電機由三部分組成定子、轉(zhuǎn)子和機座,橫向剖面示意圖如圖 1 所示,外圈上的A、A、B、B、C、C為定子,上有多相勵磁繞組,中間帶齒狀結(jié)構(gòu)的部分為轉(zhuǎn)子,主要工作的部分為定子和轉(zhuǎn)子。處在垂直線上。如果繼續(xù)給這兩個線圈輸入電流,則轉(zhuǎn)子會由于磁場的吸引作用而一直停在這個位置上。使轉(zhuǎn)軸從它停留的位置離開所需的力矩稱為保持轉(zhuǎn)矩。圖 2(b)是另外一種情況。線圈

21、B 和 B受到激勵,而 A 和 A則繼續(xù)保持受勵狀態(tài)。假設線圈 B 成為 S 極,而線圈 B成為 N 極,則轉(zhuǎn)子將逆時針旋轉(zhuǎn)45,并停留在兩級之間與位置 2 對齊成一線。如果所有四個線圈中的電流都是反向的,則轉(zhuǎn)子也會翻轉(zhuǎn) 180。圖 2.3盤形永磁式步進電機可變磁阻(Variable Reluctance,簡稱 VR)式步進電機又稱為反應式步進電機,定轉(zhuǎn)子均采用齒狀結(jié)構(gòu),轉(zhuǎn)子磁路由軟磁材料制成,一般為三相,定子上有多相勵磁繞組,利用磁導的變化產(chǎn)生轉(zhuǎn)矩??蓪崿F(xiàn)大轉(zhuǎn)矩輸出,步進角一般為1.5 度,但噪聲和振動都很大。在歐美等發(fā)達國家 80 年代己被淘汰;可變磁阻(VR)式步進電機使用電磁體作為定子

22、極。它的轉(zhuǎn)子是盤狀的,外緣一周排列著齒和槽。軟鐵轉(zhuǎn)子是不會被磁化的。圖 4 中所示的是可變磁阻式步進電機的操作原理。它使用了六組定子線圈,形成了六個極對。每對磁極的位置相互正對著,且由于二者的線圈是串聯(lián)的,所以它們會同時受到激勵。又因為線圈纏繞的方向相反,所以每對磁極中兩個極的極性都是不同的。電機中一共有十二個定子極,它們兩兩相隔 30均勻排列一周。轉(zhuǎn)子上有八個齒,且兩兩相隔 45排列。因此,定子和轉(zhuǎn)子的排列間隔相差 15。和C獲得激勵同時撤去線圈B 和B的激勵,則轉(zhuǎn)子會再次旋轉(zhuǎn)步進15。按照A、B 和 C 的順次不斷激勵三組線圈對,轉(zhuǎn)子的步進動作會一直重復下去。每當步進 24 次,轉(zhuǎn)子就轉(zhuǎn)過

23、 360。這種遞次過程進展得越迅速,轉(zhuǎn)子就旋轉(zhuǎn)得越快。信號的該變量決定轉(zhuǎn)子轉(zhuǎn)動的距離。另外改變線圈激勵的次序,能夠使轉(zhuǎn)子按順時針方向旋轉(zhuǎn)。在實際應用中,一般采用的是南北極交替的多齒轉(zhuǎn)子,八個線圈繞組,它們按照四極定子的交替次序進行排列,如圖 5 所示。在轉(zhuǎn)子的一周一共有 50個加工齒,每一次脈沖讓轉(zhuǎn)子轉(zhuǎn)過 1 /4 齒的距離。由于需要四次步進才能轉(zhuǎn)過一個齒的寬度,要完成一周就需要200 步。因此用360除以200 步可以算出每一步的步進角(也成分辨率):360/200=1.8??勺兇抛枋讲竭M電機的轉(zhuǎn)子不需要磁化,因此它們可以做得很小很輕。轉(zhuǎn)子體積小會降低它的慣性,使得電機能夠?qū)刂菩盘栕龀鲅杆?/p>

24、的響應。圖 2.5高分辨率的可變磁阻步進電機混合(Hybrid,簡稱 HB)式步進電機又稱為感應式同步電機121314,它的轉(zhuǎn)子采用永磁體,是一種永磁式步進電,而同時定轉(zhuǎn)子的鐵心均為齒狀結(jié)構(gòu),具有小的齒距角,故又同可變磁阻(VR)式步進電機結(jié)構(gòu)相似,所以混合(HB)式步進電機可以看作是可變磁阻(VR)式和永磁(PM)式兩種步進電的組合,既具有可變磁阻(VR)式步進電機分辨率高,每轉(zhuǎn)步數(shù)比較多的特點,又具有永磁(PM)式步進電機的效率高、繞組電感比較小的特點,故稱為混合(HB)式步進電機。它又分為兩相和五相:兩相步進角一般為 1.8 度而五相步進角一般為0.72 度。目前,這種步進電機的應用最為

25、廣泛。下面,以兩相混合式步進電機為例,來說明混合式步進電機的工作原理。兩相混合式步進電機的定子一般有 8 個極或 4 個極,每極上均勻分布一定數(shù)量的小齒及控制繞組;控制繞組采用集中繞組,每相為兩對極,如圖 6 所示。按AB(-A)(-B)A的順序輪流通以正、負脈沖(也可在同一相的極上繞上兩套繞相相反的繞組,通以正脈沖);轉(zhuǎn)子是由環(huán)型磁鐵和兩端鐵芯組成,中間為環(huán)形軸向磁化的永磁體,磁體兩端各套有一段開有齒槽的鐵芯,兩段鐵芯錯開半個齒距,且轉(zhuǎn)子齒距與定子小齒的齒距相等。顯然,同一段轉(zhuǎn)子片上的所有齒都具有相同極性,而兩塊不同段的轉(zhuǎn)子片的極性相反。(3)失調(diào)角 失調(diào)角是指轉(zhuǎn)子偏離零位的角度。(4)精度

26、 步進電機的精度有兩種表示方法,一種用步距誤差最大值來表示,另一種用步距累計誤差最大值來表示。最大步距誤差是指電旋轉(zhuǎn)一周內(nèi)相鄰兩步之間的最大步距角和理想步距角的差值,用理想步距的百分數(shù)表示。最大累計誤差是指任意位置開始經(jīng)過任意步之間,角位移誤差的最大值。(5)轉(zhuǎn)矩 步進電機轉(zhuǎn)矩是一個重要的指標。它又包括定位轉(zhuǎn)矩、靜轉(zhuǎn)矩、動轉(zhuǎn)矩。定位轉(zhuǎn)矩是指在繞組不通電時電磁轉(zhuǎn)矩的最大值。通常反應式步進電機的定位轉(zhuǎn)矩為零,混合式步進電機有一定的定位轉(zhuǎn)矩。靜轉(zhuǎn)矩是指不改變繞組通電狀態(tài),即轉(zhuǎn)子不轉(zhuǎn)時的電磁轉(zhuǎn)矩。它是繞組電流及失調(diào)角的函數(shù)。對應某一失調(diào)角時靜轉(zhuǎn)矩最大,稱為最大靜轉(zhuǎn)矩。動轉(zhuǎn)矩是指轉(zhuǎn)子轉(zhuǎn)動情況下的最大輸出

27、轉(zhuǎn)矩值,它與運行頻率有關(guān)。在一定頻率下,最大靜轉(zhuǎn)矩越大,動轉(zhuǎn)矩也越大。(6)響應頻率 在某一頻率范圍內(nèi)步進電機可以任意運行而不會丟失一步,則這一最大頻率稱為響應頻率。通常用啟動頻率 fs 來作為衡量的指標,它是指在一定負載下直接啟動而不失步的極限頻率,稱為極限啟動頻率。(7)運行頻率 指拖動一定負載使頻率連續(xù)上升時,步進電機能不失步運行的極限頻率。通過分析,主要的技術(shù)指標中最重要的是步進率和步進角。步進率是電機在一秒鐘內(nèi)能夠完成的最大步進數(shù)。而步進角則代表電機步進一次所轉(zhuǎn)過的弧度。步進角由轉(zhuǎn)子齒的數(shù)量和定子極的個數(shù)決定。步進角和步進率共同決定了電機轉(zhuǎn)子的實際速度。可以通過下列公式進行計算:頻率

28、過高,超過步進電機的最大步進速度,就會產(chǎn)生失步。一般步進電機的通電頻率,即起動頻率為 50步秒到2000步秒。步進電機的頻率特性曲線,是步進電機的工作頻率及其對應轉(zhuǎn)動力矩所作出的曲線,典型的步進電機頻率特性曲線如圖2所示。步進電機的頻率特性曲線和很多有關(guān),這些包括步進電機的轉(zhuǎn)子直徑、轉(zhuǎn)子鐵心有效長、.控制線路的電壓、齒數(shù)、齒形、齒槽比、步進電機的磁路、繞組的繞線方式、定轉(zhuǎn)子間的氣隙、轉(zhuǎn)動一個齒距所需的拍數(shù)等。在使用中會影響到步進電機頻率特性而又能由用戶確定的有:控制拍數(shù)、控制線路的電壓、線路時間常數(shù)等。下面分析這幾種對步進電機頻率特性的影響。(1).工作方式對頻率特性的影響在步進電機應用中,它

29、的工作方式是以一個齒距所用的拍數(shù)來表示的。拍數(shù)本質(zhì)上也就是轉(zhuǎn)動一個齒距所需的電源電壓換相次數(shù),值得的是換相是指對步進電機各相繞組進行轉(zhuǎn)換,而電源電壓是單極性的固定的。一般而言反應式電機拍數(shù)越多矩頻特性就越好。因此設計中應選擇多拍的控制方式。(2).線路時間常數(shù)對頻率特性的影響步進電機的每相繞組供電都是通過功率開關(guān)電路進行的。步進電機一相繞組的開關(guān)電路如圖7所示。其中L為步進電機繞組電感;RL為繞組電阻;Rc為晶體管T的集電極電阻;D是續(xù)流二極管,它為繞組放電提供回路;晶體管T是大功率開關(guān)管。Rc也是個外接的功率電阻,它是一個消耗性負載,一一般為數(shù)歐姆。這時線路的時間常數(shù)圖2.7 步進電機一線繞

30、組的開關(guān)回路開關(guān)回路時間常數(shù)2.2Arduino 開發(fā)板的工作特性及其特點2.2.1Arduino 開發(fā)板的工作特性Arduino 板是一個微控制器 具有各種輸入管腳和輸出管腳的小型計算器。使用這些管腳,就可以創(chuàng)建無數(shù)交互式設備,包括像閃光燈一樣簡單的設備,以及通過各種輸入創(chuàng)建使用伺服系統(tǒng)和引擎的復雜行為的復雜設備。Arduino由兩部分組成:硬件(包括微控制器、電路板等)和(編程接口和語言)。的兩個部分都是開源的。如果需要,可以Arduino的圖表、需要的所有獨立、切割電路板并從頭開始制作一個電路板。有很多用于這一用途的各種項目(如 Freeduino)。圖表和 CAD 文件已經(jīng)在Creat

31、ive Commons Share-Alike下發(fā)布。用于編寫 Arduino 的也是開源的。它是用 Java 編程語言編寫的并且是在 GPL(有一些已經(jīng)在 LGPL下發(fā)布的 C/C+ 微控制器庫)下發(fā)布的。2.2.2Arduino特點Arduino 編程語言是以 setup()開頭,loop()作為主體的一個程序構(gòu)架。是這樣描述 setup()的:用來初始化變量,管腳模式,調(diào)用庫函數(shù)等等,此函數(shù)只運行一次。loop()函數(shù)是一個循環(huán)函數(shù),函數(shù)內(nèi)的語句周而復始的循環(huán)執(zhí)行,類似c 語言中的“while(1);”。2.3系統(tǒng)架構(gòu)2.3.1步進電機的控制原理步進電機是一種將電脈沖信號變?yōu)橄鄳闹绷魑?/p>

32、移的數(shù)字/模擬變換器。每當電機繞組接收一個脈沖時,轉(zhuǎn)子就轉(zhuǎn)過一個相應的角度(步距)。步進電機的角位移量和輸入脈沖的個數(shù)嚴格成正比。在時間上與輸入脈沖同步,因而只要控制輸入脈沖的數(shù)量、頻率和電機繞組的相序,即可獲得所需要的轉(zhuǎn)速和轉(zhuǎn)動方向。步進電機控制系統(tǒng)如圖 8 所示。圖 2.8步進電機控制系統(tǒng)負載步進電機L298Arduin o脈沖發(fā)生器是一個脈沖頻率由幾到幾十可連續(xù)變化的信號發(fā)生器,它為脈沖分配器提供脈沖序列。采用Arduino作為脈沖發(fā)生器來控制步進電機,則可以發(fā)出有規(guī)律的脈沖信號,經(jīng)過脈沖放大器后,為步進電機提供了一種可行的通電方式。每當步進電機從脈沖輸入線上得到一個脈沖,便沿時序脈沖所

33、確定的方向走一步。這里的脈沖發(fā)生器、分配器又稱為脈沖驅(qū)動器電源。2.3.2控制系統(tǒng)程序流程圖圖 2.3系統(tǒng)流程圖程序開始,設置控制步數(shù)與定時器初始值為1秒。如果正轉(zhuǎn),去正轉(zhuǎn)起始地址,如果不是正轉(zhuǎn),去反轉(zhuǎn)起始地址,這是開中斷并允許,接著起動定時,然后中斷等待。第三章系統(tǒng)設計實現(xiàn)3.1各個模塊的原理圖及接口細節(jié)3.1.1 L298的原理圖動( Dual Full-Bridge Driver ) ,包含 4 信道邏輯驅(qū)動電路,是一種L298 有Mutiwatt15 和erSO20 兩種封裝 MW.15 的1、15 和erSO 的2、19用法一樣,SEN1、SEN2 分別為兩個 H 橋的電流反饋腳,不

34、用時可以直接接地。(MW.15)2、3=(erSO)4、5,1Y1、1Y2 輸出端,與 A1 與 1Y1)同邏輯4=6,VS 驅(qū)動電壓,最小值須比輸入的低電平電壓高 2.5v 。5、7=7、9,1A1、1A2 輸入端,TTL 電平兼容 。6、11=8、14,1EN、2EN 使能端,低電平輸出 。8=1、10、11、20,GND 地 9=12,Vss 邏輯電源,4.5-7V 。10、12=13、15,2A1、2A2 輸入端,TTL 電平兼容。13、14=16、17,2Y1、2Y2輸出端 。=3、18,NC,無連接。圖 3.1L298與步進電機原理圖二相和四相步進電機的驅(qū)動器,可同時驅(qū)動2 個二相

35、或1 個四相步進電機,內(nèi)含二個H-Bridge 的高電壓、大電流雙全橋式驅(qū)動器,接收標準 TTL 邏輯準位邏輯準位信號,可驅(qū)動 46V、2A 以下的步進電機,且可以直接透過電源來調(diào)節(jié)輸出電壓;此可直接由單片機的 IO 端口來提供模擬時序信號L298N 為 SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進電機驅(qū)圖 3.2L298 引腳圖3.2實驗程序LeftI1 = 28;/連接電機驅(qū)動板的I1 接口LeftI2 = 22;/連接電機驅(qū)動板的I2 接口LeftEA = 8;/連接電機驅(qū)動板的EA 接口RightI1 = 36;/連接電機驅(qū)動板的I1 接口RightI2

36、 = 42;/連接電機驅(qū)動板的I2 接口RightEB = 6;/連接電機驅(qū)動板的EB 接口StepCount = 0;StepDelayTime=1500;void setup()peftI1, OUTPUT);/I1 和I2 都是數(shù)字信號peftI2, OUTPUT);/通過設置 I1 和I2 來控制電機旋轉(zhuǎn)方向peftEA, OUTPUT);/按占空比方式輸出的模擬信號pode(RightI1, OUTPUT);/I1 和I2 都是數(shù)字信號pode(RightI2, OUTPUT);/通過設置I1 和I2 來控制電機旋轉(zhuǎn)方向pode(RightEB, OUTPUT);/按占空比方式輸出的

37、模擬信號Serial.begin(9600);/設置波特率void ForwardInit()digitalWrieftEA, HIGH);digitalWrite(RightEB,HIGH );digitalWrieftI1, LOW);digitalWrieftI2,HIGH );digitalWrite(RightI1,HIGH);digitalWrite(RightI2, HIGH);StepCount=0;void BackwardInit()digitalWrieftEA, HIGH);digitalWrite(RightEB,HIGH );digitalWrieftI1, LOW

38、);digitalWrieftI2,LOW );digitalWrite(RightI1,LOW);digitalWrite(RightI2, HIGH);StepCount=0;void ForwardOneStep()delayMicroseconds(StepDelayTime);switch(StepCount)case 0:digitalWrite(RightI2,LOW);digitalWrieftI1,HIGH);break;case 1:digitalWrite(RightI1,LOW);digitalWrite(RightI2,HIGH);break;case 2:digit

39、alWrieftI2,LOW);digitalWrite(RightI1,HIGH);break;case 3:digitalWrieftI1,LOW);digitalWrieftI2,HIGH);break;StepCount=(StepCount + 1) % 4;void BackwardOneStep()delayMicroseconds(StepDelayTime);switch(StepCount)case 0:digitalWrite(RightI2,LOW);digitalWrieftI1,HIGH);break;case 1:digitalWrieftI1,LOW);digi

40、talWrieftI2,HIGH);break;case 2:digitalWrieftI2,LOW);digitalWrite(RightI1,HIGH);break;case 3:digitalWrite(RightI1,LOW);digitalWrite(RightI2,HIGH);break;StepCount=(StepCount + 1) % 4;void loop()while(1)ForwardInit();for(i=0;i200;i+)ForwardOneStep();delay(1000);BackwardInit();for(i=0;i200;i+)BackwardOn

41、eStep();delay(1000);3.3連接實物圖圖3.3連接實物圖第四章總結(jié)與展望分析本次設計的步進電機控制,應用Arduino開發(fā)板和L298N集成電路。減少了器件,可靠性高、占空間少、裝配成本低。通過Pro99等設計縮短了設計周期與成本。步進電機控制系統(tǒng)設計是一個跨學科并且是實踐性很強的課題,在設計過程中我不僅要利用自己的電子專業(yè)知識,還要對步進電機的電氣特性以及機械運動的磁電驅(qū)動過程進行詳細的了解。由于國家的步進電機行業(yè)還處于一個起步階段,對步進電機詳盡講解的書籍很少,我在網(wǎng)上查閱了大量的資料。在設計中原來在書本上很難理解的東西其實動手做了之后,并沒有想象中的那么難。并且發(fā)現(xiàn)在設計中其實有很多的樂趣,一個程序的驗證成功,一個小小的流水燈的閃爍都能給辛勤工作之后的我無限的快樂。在這次設計中,我積累了大量的實踐經(jīng)驗主要分為幾個方面:方面要多借鑒別人的功能模塊程序,

溫馨提示

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

評論

0/150

提交評論