08通信何琛畢業(yè)論文_第1頁
08通信何琛畢業(yè)論文_第2頁
08通信何琛畢業(yè)論文_第3頁
08通信何琛畢業(yè)論文_第4頁
08通信何琛畢業(yè)論文_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、科技學(xué)院2011屆本科畢業(yè)論文基于arduino的步進(jìn)電機(jī)的控制設(shè)計(jì)專 業(yè): 通 信 工 程 指導(dǎo)教師: 周 驊 學(xué)生姓名: 何 琛 學(xué)生學(xué)號(hào): 082004110499 中國貴州貴陽2012年5月目錄摘要iiiabstractiv第一章 緒論11.1設(shè)計(jì)背景及意義11.2 現(xiàn)狀和發(fā)展趨勢(shì)21.3 設(shè)計(jì)內(nèi)容及目標(biāo)2第二章 采用技術(shù)簡介32.1 arduino概述32.1.1 arduino的特色32.1.2 arduino語言基本結(jié)構(gòu)42.1.3 開發(fā)一個(gè)項(xiàng)目的基本流程42.2 arduino duemilanove簡介52.3 easydriver簡介62.4 步進(jìn)電機(jī)簡介72.5 步進(jìn)電機(jī)

2、的工作原理82.5.1.電機(jī)固有步距角82.5.2步進(jìn)電機(jī)的相數(shù)82.5.3 保持轉(zhuǎn)矩(holding torque)82.5.4 detent torque:9第三章 控制步進(jìn)電機(jī)設(shè)計(jì)103.1 方案論證103.2 系統(tǒng)總體結(jié)構(gòu)103.3 系統(tǒng)設(shè)計(jì)使用芯片123.4 系統(tǒng)工作原理133.5 步進(jìn)電機(jī)控制程序133.6 系統(tǒng)設(shè)計(jì)實(shí)體圖163.7 實(shí)驗(yàn)問題及解決16第四章 總結(jié)與展望184.1 總結(jié)184.2 展望18參考文獻(xiàn)19致謝20基于arduino的步進(jìn)電機(jī)控制系統(tǒng)摘要近年來隨著科學(xué)技術(shù)的不斷提高,arduino的應(yīng)用正在不斷地走向深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)日新月異更新。隨著國民經(jīng)濟(jì)的快

3、速發(fā)展,有很多平臺(tái)可以控制步進(jìn)電機(jī),目前的步進(jìn)電機(jī)控系統(tǒng)大多采用plc控制器或8051單片機(jī)來控制。plc控制器是一款可編程邏輯控制器,它工作環(huán)境要求低,操作簡單,穩(wěn)定性也比較好,但是它的成本很高。而8051單片機(jī)雖然成本較低,靈活性很好,但是8051單片機(jī)的工作環(huán)境要求較高,操作起來也復(fù)雜得多。在本設(shè)計(jì)介紹了arduino控制步進(jìn)電機(jī)的系統(tǒng)。在科技高速發(fā)展的今天,電動(dòng)機(jī)一直在現(xiàn)代化的生產(chǎn)和生活中起著十分重要的作用。步進(jìn)電機(jī)是機(jī)電控制中常用的一種執(zhí)行機(jī)構(gòu),其原理是通過對(duì)它的每相線圈中的電流和順序切換來使步進(jìn)電機(jī)轉(zhuǎn)動(dòng)。本系統(tǒng)的硬件組成主要有:arduino duemilanove微控制器板、ea

4、sydriver驅(qū)動(dòng)、12v直流電源和電腦。本設(shè)計(jì)用easydriver驅(qū)動(dòng)與arduino duemilanove微控制器板、12v直流外接電源連接,并用arduino duemilanove微控制器板與電腦連接,用程序控制步進(jìn)電機(jī)實(shí)現(xiàn)轉(zhuǎn)向、轉(zhuǎn)速等控制。本設(shè)計(jì)具有結(jié)構(gòu)簡單、可靠性強(qiáng)、操作簡單、程序設(shè)計(jì)簡便和實(shí)用性強(qiáng)等特點(diǎn),具有較高的通用性和應(yīng)用推廣價(jià)值。關(guān)鍵詞:arduino; easydriver;步進(jìn)電機(jī)based on the arduino stepping motor control systemabstractin recent years, with the science a

5、nd technology unceasing enhancement, the application of the arduino is continuously to the deepening, and push the traditional control test rapidly updated. along with the rapid economic development, there are many platform can control the stepping motor, the current step electric system equipped mo

6、st plc controller is used to control or the single chip microcomputer 8051. plc controller is a programmable logic controller, it working environment low demand, simple operation, and stability are relatively good, but its very expensive. and the single chip microcomputer 8051 although cost is low,

7、flexibility is good, but the single chip microcomputer 8051 work environment of the demand is higher, operate up also is much more complicated.in this design introduced the arduino control the step motor system. the high speed of development in science and technology today, motor has been the modern

8、ization of production and life plays a very important role. stepping motor is mechanical and electrical control of a common actuators, its principle is to it through of each phase is the current coil switch and order to make stepping motor rotation. this system hardware mainly has: arduino duemilano

9、ve micro controller board, easydriver drive, 12 v dc power and computer. this design with easydriver drive and arduino duemilanove micro controller board, 12 v dc external power supply connection, and arduino duemilanove micro controller board connected with the computer, with process control steppi

10、ng motor rotation speed control to realize,. this design is simple in structure, reliability, simple operation, convenient and practical program design characteristics, it is of high popularization value universality and application.keywords: arduino; easydriver; stepping motor第一章 緒論1.1設(shè)計(jì)背景及意義在科技飛速發(fā)

11、展的今天,出現(xiàn)了各種嵌入式硬件平臺(tái),而arduino是一款相對(duì)價(jià)格不高、易于使用的嵌入式硬件平臺(tái)。arduino是一塊基于開放源代碼的usb接口simple i/o接口板,包括12通道數(shù)字gpio,4通道pwm輸出,6-8通道10bit adc輸入通道,并且具有使用類似java,c語言的ide集成開發(fā)環(huán)境。包括硬件和軟件在內(nèi)的整個(gè)平臺(tái)是完全開源的,并且使用的是松散地基于c/c+的語言。arduino是為希望嘗試創(chuàng)建交互式物理對(duì)象的實(shí)踐者、喜歡創(chuàng)造發(fā)明的人構(gòu)建的。arduino可以作為一塊atmegaxx8系列單片機(jī)開發(fā)板使用,可以連接多種電子元件外設(shè),其中就有步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種將電脈沖信

12、號(hào)轉(zhuǎn)換成相應(yīng)的角位移或線位移的電磁機(jī)械裝置,是一種輸出與輸入數(shù)字脈沖對(duì)應(yīng)的增量驅(qū)動(dòng)元件,具有快速啟動(dòng)和停止的能力。當(dāng)負(fù)荷不超過步進(jìn)電機(jī)所提供的動(dòng)態(tài)轉(zhuǎn)矩值時(shí),它就可能在一瞬間實(shí)現(xiàn)啟動(dòng)和停止。它的步矩角和轉(zhuǎn)速不受電壓波動(dòng)和負(fù)載變化的影響,也不受環(huán)境條件(如溫度、氣壓、沖擊和振動(dòng)等)的影響,僅與脈沖頻率有關(guān)。它每轉(zhuǎn)1 周步數(shù)都事固定的,在不丟步的情況下運(yùn)行,它的步距誤差不會(huì)長期積累。正是因?yàn)椴竭M(jìn)電機(jī)具備上述優(yōu)點(diǎn),它已經(jīng)被廣泛地用于自動(dòng)控制系統(tǒng)中作為執(zhí)行元件。隨著科學(xué)技術(shù)的不斷提高,有很多平臺(tái)可以控制步進(jìn)電機(jī),目前的步進(jìn)電機(jī)控系統(tǒng)大多采用plc控制器或8051單片機(jī)來控制。plc控制器是一款可編程邏輯

13、控制器,它工作環(huán)境要求低,操作簡單,穩(wěn)定性也比較好,但是它的成本很高。而8051單片機(jī)雖然成本較低,靈活性很好,但是8051單片機(jī)的工作環(huán)境要求較高,操作起來也復(fù)雜得多。而arduino的開發(fā)板不僅成本較低,而且靈活性很好,同時(shí)它操作也很簡單,因?yàn)樗幸粋€(gè)簡單的開發(fā)環(huán)境,底層的函數(shù)不用自己寫,已經(jīng)有集成的函數(shù)可以直接調(diào)用。因此開發(fā)和研制利用arduino的開發(fā)板來控制步進(jìn)電機(jī)的控制系統(tǒng)是十分必要的。本文是以arduino作為主系統(tǒng)控制步進(jìn)電機(jī)轉(zhuǎn)的圈數(shù)以及控制電機(jī)的啟動(dòng)和停止、正反轉(zhuǎn)。 1.2 現(xiàn)狀和發(fā)展趨勢(shì)在科技飛速發(fā)展的今天,出現(xiàn)了各種嵌入式硬件平臺(tái),而arduino是一款相對(duì)價(jià)格不高、易于

14、使用的嵌入式硬件平臺(tái)。arduino是一塊基于開放源代碼的usb接口simple i/o接口板,包括12通道數(shù)字gpio,4通道pwm輸出,6-8通道10bit adc輸入通道,并且具有使用類似java,c語言的ide集成開發(fā)環(huán)境。包括硬件和軟件在內(nèi)的整個(gè)平臺(tái)是完全開源的,并且使用的是松散地基于c/c+的語言。arduino是為希望嘗試創(chuàng)建交互式物理對(duì)象的實(shí)踐者、喜歡創(chuàng)造發(fā)明的人構(gòu)建的。arduino可以作為一塊atmegaxx8系列單片機(jī)開發(fā)板使用,可以連接多種電子元件外設(shè),其中就有步進(jìn)電機(jī)。步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成相應(yīng)的角位移或線位移的電磁機(jī)械裝置,是一種輸出與輸入數(shù)字脈沖對(duì)應(yīng)的增

15、量驅(qū)動(dòng)元件,具有快速啟動(dòng)和停止的能力。當(dāng)負(fù)荷不超過步進(jìn)電機(jī)所提供的動(dòng)態(tài)轉(zhuǎn)矩值時(shí),它就可能在一瞬間實(shí)現(xiàn)啟動(dòng)和停止。它的步矩角和轉(zhuǎn)速不受電壓波動(dòng)和負(fù)載變化的影響,也不受環(huán)境條件(如溫度、氣壓、沖擊和振動(dòng)等)的影響,僅與脈沖頻率有關(guān)。它每轉(zhuǎn)1 周步數(shù)都事固定的,在不丟步的情況下運(yùn)行,它的步距誤差不會(huì)長期積累。正是因?yàn)椴竭M(jìn)電機(jī)具備上述優(yōu)點(diǎn),它已經(jīng)被廣泛地用于自動(dòng)控制系統(tǒng)中作為執(zhí)行元件。1.3 設(shè)計(jì)內(nèi)容及目標(biāo)本設(shè)計(jì)是以arduino作為主系統(tǒng)控制步進(jìn)電機(jī)轉(zhuǎn)的圈數(shù)以及控制電機(jī)的啟動(dòng)和停止、正反轉(zhuǎn)。使得系統(tǒng)達(dá)到對(duì)步進(jìn)電機(jī)的啟動(dòng)、停止、正轉(zhuǎn)、反轉(zhuǎn)和運(yùn)行距離的控制。隨著科學(xué)技術(shù)的不斷提高,目前有很多平臺(tái)可以作為

16、驅(qū)動(dòng)控制步進(jìn)電機(jī),目前的步進(jìn)電機(jī)控制系統(tǒng)大多采用plc控制器或8051單片機(jī)來控制。plc控制器是一款可編程邏輯控制器,它工作環(huán)境要求低,操作簡單,穩(wěn)定性也比較好,但是它的成本很高。而8051單片機(jī)雖然成本較低,靈活性很好,但是8051單片機(jī)的工作環(huán)境要求較高,操作起來也復(fù)雜得多。而arduino的開發(fā)板不僅成本較低,而且靈活性很好,同時(shí)它操作也很簡單,可以說它是集8051單片機(jī)和plc控制器的優(yōu)點(diǎn)于一身的開發(fā)平臺(tái)。它有一個(gè)簡單的開發(fā)環(huán)境,底層的函數(shù)不用自己寫,已經(jīng)有集成的函數(shù)可以直接調(diào)用。因此開發(fā)和研制利用arduino的開發(fā)板來控制步進(jìn)電機(jī)的控制系統(tǒng)是十分必要的。第二章 采用技術(shù)簡介2.1

17、 arduino概述“arduino”源自11世紀(jì)北意大利國王的名字。這個(gè)開發(fā)項(xiàng)目最早是由massimo banzi、daviod cuartielles、david mellis和 nichoals zambetti等人發(fā)起,目前已經(jīng)有許多不同版本。arduino是一塊基與開放原始代碼的simple i/o 平臺(tái),它具有使用類似java,c 語言的語言開發(fā)環(huán)境??梢允褂胊rduino語言與flash或processing等軟件,作出互動(dòng)作品。arduino 能夠使用開發(fā)完成的電子元件例如switch或sensors 或其他控制器、步進(jìn)電機(jī)、led、紅外傳感器或其他輸出裝置。不僅如此,ardu

18、ino還能夠獨(dú)立運(yùn)作成為一個(gè)可以跟軟件溝通的平臺(tái),例如說:flash、processing、max/msp、vvvv 或其他互動(dòng)軟件arduino所有的軟件與硬件資源都可以在網(wǎng)絡(luò)上找到,而且它基于開放源碼的概念,讓我們可以以arduino為基礎(chǔ),擴(kuò)展各種硬件。arduino的結(jié)構(gòu)如圖2.1所示。圖2.1 arduino結(jié)構(gòu)圖2.1.1 arduino的特色1、開放源代碼的電路圖設(shè)計(jì),程序開發(fā)接口和編程軟件免費(fèi)下載,也可依照自己的需求進(jìn)行修改。2、使用低價(jià)格的微處理控制器(atmega128或atmega8)。不需使用外接電源,可以直接采用usb接口供電。當(dāng)然也可以使用外部9vdc輸入。3、ar

19、duino支持isp在線燒板,可以將新的“bootloader”燒入atmega8或atmega128芯片。有了bootloader之后,可以通過usb線更新固件。4、可依據(jù)官方網(wǎng)站提供的eagle格式pcb和sch電路圖,簡化arduino模組,完成獨(dú)立運(yùn)作的微處理控制??珊唵蔚嘏c傳感器或各式各樣的電子元件連接(例如:紅外線、藍(lán)牙、超音波、光敏電阻、熱敏電阻、步進(jìn)電機(jī)、伺服馬達(dá)等)。5、支持多種互動(dòng)程序,如:flash、pd、max/msp、processing、vvvv、c/c+等。6、應(yīng)用方面,利用arduino可以突破以往只能使用鍵盤、鼠標(biāo)、ccd等輸入的裝置的互動(dòng)內(nèi)容,能夠更簡單地達(dá)

20、成單人或多人游戲互動(dòng)。2.1.2 arduino語言基本結(jié)構(gòu)arduino語言是建立在c/c+基礎(chǔ)上的,其實(shí)也就是基礎(chǔ)的c語言,arduino語言只不過把a(bǔ)vr單片機(jī)(微控制器)相關(guān)的一些寄存器參數(shù)設(shè)置等都函數(shù)化了,不用我們?nèi)チ私馑牡讓?,可以直接調(diào)用。 arduino中最基本的兩個(gè)結(jié)構(gòu):void setup()和void loop()。void setup()用以初始化變量,引腳模式,調(diào)用庫函數(shù)等。在運(yùn)行過程中僅調(diào)用一次,即在最開始的開啟階段或者在重啟階段被調(diào)用。void loop()用于在setup被創(chuàng)建之后,連續(xù)執(zhí)行該函數(shù)內(nèi)的語句。即寫在loop函數(shù)中的元素會(huì)被重復(fù)性的執(zhí)行,以實(shí)現(xiàn)程序的

21、狀態(tài)改變與回應(yīng),從而動(dòng)態(tài)的控制arduino板。2.1.3 arduino的基本參數(shù)1.微控制器核心:avrmega168-20pu(處理速度可20mips)2.外部輸入電壓:7v12v(建議)3.工作電壓:+5v4.外部輸入電壓(極值):+6vvin20v5.數(shù)字信號(hào) i/o 接口:14個(gè)(其中有6個(gè)pwm輸出口)6.模擬信號(hào)輸入接口:6個(gè)7.dc i/o 接口電流:40 ma8.flash 容量:16 kb (其他 2k 用bootloader)9.sram 靜態(tài)存儲(chǔ)容量:1kb10.eeprom 存儲(chǔ)容量:512 bytes11.時(shí)鐘頻率:16mhz2.1.4 arduino開發(fā)環(huán)境的安

22、裝于使用1.準(zhǔn)備 arduion 板和 usb 線2.下載軟件環(huán)境下載完畢后,解壓縮.3. usb 線將電腦和 arduino 板連接起來.可以發(fā)現(xiàn)綠燈閃爍4. 安裝驅(qū)動(dòng)程序(1)進(jìn)入新的硬件向?qū)В?2)選擇“是”,點(diǎn)擊下一步;(3)選擇“從列表或指定位置安裝”,點(diǎn)擊下一步;(4)選擇“在這些位置上搜索最佳驅(qū)動(dòng)程序”“在搜索中包括這個(gè)位置”指定目錄:剛解壓縮軟件目錄下的driversftdi usb drivers(比如:d:arduinoarduino-0021 driversftdi usb drivers),點(diǎn)擊下一步;(5)點(diǎn)擊“完成”;5.直接雙擊編譯軟件arduino;6.選擇“f

23、ileexamples任意一個(gè)”7.選擇“toolsboard對(duì)應(yīng)的arduino板”8.選擇“toolsserial port對(duì)應(yīng)的端口”9.選擇“verify”,軟件自動(dòng)查錯(cuò)10.對(duì)程序中的錯(cuò)誤進(jìn)行修改11.循環(huán)執(zhí)行910,直到顯示無錯(cuò)誤12.選擇“upioad”,軟件將程序燒入arduino板中自動(dòng)運(yùn)行2.2 arduino duemilanove簡介arduino duemilanove是基于atmega168 ( datasheet ) 或 atmega328 ( datasheet )上的一個(gè)微控制器板。它有14個(gè)數(shù)字輸入/輸出引腳(其中有6個(gè)引腳用于pwm輸出),6個(gè)模擬輸入、1

24、個(gè)16mhz的晶體振蕩器、1個(gè)電源插孔、1個(gè)usb接頭、1個(gè)icsp插頭和1個(gè)復(fù)位按鈕。它包含支持微控制器運(yùn)行所需的一切,只需要用usb線連接到電腦或電源a ac-dc適配器就可以使用了。它的工作電壓為5v,每個(gè)i/o引腳需要40ma的直流電流。圖2.2 arduino duemilanove微控制器2.3 easydriver簡介一個(gè)easydriver 能夠?yàn)閮杉?jí)步進(jìn)電機(jī)提供大約每相750ma的驅(qū)動(dòng)。它被設(shè)置為固定的8步細(xì)分模式。即本設(shè)計(jì)中選用的是每圈200步的步進(jìn)電機(jī),使用easydriver時(shí)每圈為1600步。這是一種基于allegro a3967驅(qū)動(dòng)芯片的細(xì)分?jǐn)嗦菲鳌asydriv

25、er的最大電流從150ma到750ma,它可以采用最大驅(qū)動(dòng)電壓大約為30v,其中包括板載5v的調(diào)壓器,所以只需要一個(gè)電源。easydriver的實(shí)物圖如圖2.3圖2.3 easydriver實(shí)物圖easydriver中主要的芯片是a3967slb。a3967slb是一個(gè)完整的微步內(nèi)置式電動(dòng)機(jī)的驅(qū)動(dòng)器。它的設(shè)計(jì)可操作雙極步進(jìn)電機(jī)在全,半,季,和第八步模式下運(yùn)行。它的輸出驅(qū)動(dòng)電壓為30v,電流為750ma。a3967slb包括一個(gè)固定的監(jiān)控系統(tǒng),可以通過對(duì)電流脈沖間隔調(diào)節(jié)步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度的快慢。a3967slb具有電流衰減控制,電流衰減控制能減少發(fā)聲馬達(dá)噪音,增加步進(jìn)電機(jī)的步進(jìn)精度,并降低功耗。a

26、3967slb易于實(shí)現(xiàn)語言的轉(zhuǎn)換。在step輸入,只需輸入一個(gè)脈沖,電機(jī)走一步(全,半,季,或第八取決于兩個(gè)邏輯輸入)。它有沒有相位順序表、高頻率控制行或復(fù)雜的程序接口。a3967slb運(yùn)用較簡單的芯片,是對(duì)初學(xué)者和不喜歡復(fù)雜編程的人們的理想選擇。a3967slb有24個(gè)銅制的引腳,不需要在固定溫度下運(yùn)行,a3967slb的實(shí)物圖如圖2.3.1所示。圖2.3.1 a3967slb實(shí)物圖2.4 步進(jìn)電機(jī)簡介步進(jìn)電機(jī)步進(jìn)電機(jī)也叫步進(jìn)器,是一種將電脈沖信號(hào)轉(zhuǎn)換成相應(yīng)的角位移或線位移的電磁機(jī)械裝置,是一種輸出與輸入數(shù)字脈沖對(duì)應(yīng)的增量驅(qū)動(dòng)元件,具有快速啟動(dòng)和停止的能力。當(dāng)負(fù)荷不超過步進(jìn)電機(jī)所提供的動(dòng)態(tài)轉(zhuǎn)

27、矩值時(shí),它就可能在一瞬間實(shí)現(xiàn)啟動(dòng)和停止。它的步矩角和轉(zhuǎn)速不受電壓波動(dòng)和負(fù)載變化的影響,也不受環(huán)境條件(如溫度、氣壓、沖擊和振動(dòng)等)的影響,僅與脈沖頻率有關(guān)。它每轉(zhuǎn)1 周步數(shù)都事固定的,在不丟步的情況下運(yùn)行,它的步距誤差不會(huì)長期積累。正是因?yàn)椴竭M(jìn)電機(jī)具備上述優(yōu)點(diǎn),它已經(jīng)被廣泛地用于自動(dòng)控制系統(tǒng)中作為執(zhí)行元件。人們?cè)缭?0年前就開始使用這種電機(jī)。隨著嵌入式系統(tǒng)(例如打印機(jī)、磁盤驅(qū)動(dòng)器、玩具、雨刷、震動(dòng)尋呼機(jī)和錄像機(jī)等)的日益流行,步進(jìn)電機(jī)的使用也開始越來越頻繁的出現(xiàn)在我們的生活中。不論在工業(yè)、軍事、醫(yī)療、汽車還是娛樂業(yè)中,只要是需要把某件物體從一個(gè)位置移動(dòng)到另一個(gè)位置的時(shí)候,步進(jìn)電機(jī)就一定能派上用

28、場(chǎng)。步進(jìn)電機(jī)有許多種形狀和尺寸,但不論形狀和尺寸如何,步進(jìn)電機(jī)都可分為三類:永磁式(pm) ,反應(yīng)式(vr)和混合式(hb):1. 永磁式步進(jìn)電機(jī)一般為兩相步進(jìn)電機(jī),轉(zhuǎn)矩和體積都較小,步進(jìn)角一般為7.5度或15度;2. 反應(yīng)式步進(jìn)電機(jī)一般為三相步進(jìn)電機(jī),可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,步進(jìn)角一般為1.5度。它的噪聲和振動(dòng)都很大。它的轉(zhuǎn)子磁路由軟磁材料制成,定子上有多相勵(lì)磁繞組,利用磁導(dǎo)的變化產(chǎn)生轉(zhuǎn)矩。3. 混合式步進(jìn)電動(dòng)機(jī)綜合了反應(yīng)式、永磁式步進(jìn)電動(dòng)機(jī)兩者的優(yōu)點(diǎn),它的動(dòng)態(tài)性能好、步距角小、出力大,是目前性能最高的步進(jìn)電動(dòng)機(jī)。它有時(shí)也稱作永磁感應(yīng)子式步進(jìn)電動(dòng)機(jī)?;旌鲜讲竭M(jìn)電機(jī)又分為兩相步進(jìn)電機(jī)和五相步進(jìn)電機(jī):

29、混合式兩相步進(jìn)電機(jī)的步進(jìn)角一般為1.8度,而混合式五相步進(jìn)電機(jī)的步進(jìn)角一般為 0.72度。這種步進(jìn)電機(jī)的應(yīng)用最為廣泛。本設(shè)計(jì)中使用的是混合式步進(jìn)電機(jī)。2.5 步進(jìn)電機(jī)的工作原理工作原理是利用電子電路,將直流電變成分時(shí)供電的多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常工作。驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的多相時(shí)序控制器。2.5.1電機(jī)固有步距角當(dāng)步進(jìn)電機(jī)的驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)方式是以固定的角度一步一步運(yùn)行的??梢酝ㄟ^控制脈沖的個(gè)數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過控制脈沖頻率(即每個(gè)脈沖

30、的間隔時(shí)間)來控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)整步進(jìn)電機(jī)轉(zhuǎn)動(dòng)速度的目的。電機(jī)出廠時(shí)給出了一個(gè)步距角的值,如86byg250a型電機(jī)給出的值為0.9/1.8(表示半步工作時(shí)為0.9、整步工作時(shí)為1.8),這個(gè)步距角可以稱之為電機(jī)固有步距角,它不一定是電機(jī)實(shí)際工作時(shí)的真正步距角,真正的步距角和驅(qū)動(dòng)器有關(guān)。通常步進(jìn)電機(jī)步距角的一般計(jì)算按下式計(jì)算。=360/(zmk)式中 步進(jìn)電機(jī)的步距角;z轉(zhuǎn)子齒數(shù);m步進(jìn)電動(dòng)機(jī)的相數(shù);k控制系數(shù),是拍數(shù)與相數(shù)的比例系數(shù)2.5.2步進(jìn)電機(jī)的相數(shù)步進(jìn)電機(jī)的相數(shù)是指電機(jī)內(nèi)部的線圈組數(shù),目前常見的有二相、三相、四相、五相步進(jìn)電機(jī)。步進(jìn)電機(jī)相數(shù)不同,其步距角也不同

31、,一般二相電機(jī)的步距角為0.9/1.8、三相的為0.75/1.5、五相的為0.36/0.72。在沒有細(xì)分驅(qū)動(dòng)器時(shí),用戶主要靠選擇不同相數(shù)的步進(jìn)電機(jī)來滿足自己步距角的要求。如果使用細(xì)分驅(qū)動(dòng)器,則相數(shù)將變得沒有意義,用戶只需在驅(qū)動(dòng)器上改變細(xì)分?jǐn)?shù),就可以改變步距角。2.5.3 保持轉(zhuǎn)矩(holding torque)保持轉(zhuǎn)矩(holding torque)是指步進(jìn)電機(jī)通電但沒有轉(zhuǎn)動(dòng)時(shí),定子鎖住轉(zhuǎn)子的力矩。它是步進(jìn)電機(jī)最重要的參數(shù)之一。步進(jìn)電機(jī)在低速時(shí)的力矩接近保持轉(zhuǎn)矩。由于步進(jìn)電機(jī)的輸出力矩隨速度的增大而不斷衰減,輸出功率也隨速度的增大而變化,所以保持轉(zhuǎn)矩就成為了衡量步進(jìn)電機(jī)最重要的參數(shù)之一。比如,

32、當(dāng)人們說2n.m的步進(jìn)電機(jī),在沒有特殊說明的情況下是指保持轉(zhuǎn)矩為2n.m的步進(jìn)電機(jī)。2.5.4 detent torque:detent torque是指步進(jìn)電機(jī)沒有通電的情況下,定子鎖住轉(zhuǎn)子的力矩。由于反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子不是永磁材料,所以它沒有detent torque。第三章 控制步進(jìn)電機(jī)設(shè)計(jì)3.1 方案論證可控制步進(jìn)電機(jī)的平臺(tái)有很多種,其中常見的有51單片機(jī)和plc。51單片機(jī)具有內(nèi)部結(jié)構(gòu)簡單、體積小、成本低、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn),但是它的穩(wěn)定性差,抗干擾能力也較差,需要自己設(shè)計(jì)電路圖和編程,而且電路圖和編程都相當(dāng)?shù)膹?fù)雜,比如:很多的八位單片機(jī)都不具備乘法功能,作乘法時(shí)還得編上一段子程序調(diào)用

33、,十分不便。而51單片機(jī)控制起來也相當(dāng)?shù)牟环奖?,由于電路很?fù)雜,往往給檢修也帶來很大的不便,所以51單片機(jī)一般運(yùn)用在家用電器和商業(yè)上。plc是可編程邏輯控制器programmable logic controller的簡稱,它具有抗干擾能力強(qiáng)、可靠性強(qiáng)、編程簡單的優(yōu)點(diǎn),但是它的價(jià)格昂貴,而擴(kuò)展性差,結(jié)構(gòu)相對(duì)復(fù)雜,比較不容易學(xué)習(xí),所以plc往往只適用于大型工業(yè)設(shè)備。而arduino是一種目前比較先進(jìn)的技術(shù),它具有體積小、擴(kuò)展性強(qiáng)、結(jié)構(gòu)簡單、編程簡單、價(jià)格較低、可靠性高等優(yōu)勢(shì),而且它不用自己設(shè)計(jì)電路圖,因此很容易學(xué)習(xí)??梢哉farduino是集51單片機(jī)和plc的優(yōu)點(diǎn)與一身的平臺(tái),因此在本設(shè)計(jì)中我選

34、用了arduino作為控制步進(jìn)電機(jī)的平臺(tái)。在本設(shè)計(jì)中的控制器選擇了easydriver, 雖然l289n也可以實(shí)現(xiàn)步進(jìn)電機(jī)的控制,但是l298n接線與編程都比easydriver復(fù)雜很多。所以本設(shè)計(jì)選用了接線和編程都較簡單的easydriver控制器。3.2 系統(tǒng)總體結(jié)構(gòu)本設(shè)計(jì)對(duì)于步進(jìn)電機(jī)控制系統(tǒng)硬件部分按功能大致可以分為以下幾個(gè)部分:arduino duemilanove模塊、easydriver控制器、步進(jìn)電機(jī)和電源。首先將這幾樣器材通過焊接與導(dǎo)線連接起來,在將連接好的arduino duemilanove板通過usb數(shù)據(jù)線與電腦連接,在電腦上打開相對(duì)應(yīng)的arduino軟件,在arduin

35、o軟件中打開相對(duì)應(yīng)的c語音程序進(jìn)行查錯(cuò)和修改。完成程序修改后進(jìn)行程序運(yùn)行,并將c語音程序通過arduino軟件考入arduino duemilanove板中,這時(shí)可以看到步進(jìn)電機(jī)按照程序命令轉(zhuǎn)動(dòng)起來。根據(jù)步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)快慢和正/反轉(zhuǎn)與圈數(shù)對(duì)程序進(jìn)行反復(fù)修改和考入,最終得到滿意的轉(zhuǎn)動(dòng)效果。硬件總體結(jié)構(gòu)如圖3.2.1所示。結(jié)構(gòu)框圖如圖3.2.2所示。圖3.2.1 硬件總體結(jié)構(gòu)arduino程序arduino duemil-anoven模板e(cuò)asyd-river控制器12v直流電源步進(jìn)電機(jī)圖3.2.2 結(jié)構(gòu)框圖3.3 系統(tǒng)設(shè)計(jì)使用芯片在對(duì)于基于arduino系統(tǒng)設(shè)計(jì)實(shí)體中,使用的微控制器是ardui

36、no duemilanove,其arduino duemilanove微控制器實(shí)體圖如下圖3.3.1所示圖3.3.1 arduino duemilanove實(shí)物圖在本次設(shè)計(jì)中,使用的驅(qū)動(dòng)是easydriver驅(qū)動(dòng)器,其easydriver驅(qū)動(dòng)器的實(shí)體圖如下圖3.3.2圖3.3.2 easydriver實(shí)物圖3.4 系統(tǒng)工作原理(1)利用usb接口將arduino duemilanove板和電腦連接,在電腦上利用arduino軟件將程序拷入arduino duemilanove板中,系統(tǒng)自動(dòng)啟動(dòng),進(jìn)行檢查步進(jìn)電機(jī)是否正常轉(zhuǎn)動(dòng);(2) arduino擴(kuò)展板通過easydriver將信號(hào)傳輸?shù)讲竭M(jìn)電

37、機(jī)中;(3)通過arduino板中的程序控制步進(jìn)電機(jī)的轉(zhuǎn)速和正/反轉(zhuǎn)的圈數(shù),并將信號(hào)再次通過arduino擴(kuò)展板傳輸?shù)讲竭M(jìn)電機(jī)中。這時(shí)就可以看到步進(jìn)電機(jī)按照程序設(shè)定的結(jié)果正轉(zhuǎn)5圈,然后反轉(zhuǎn)5圈最后停止。3.5 步進(jìn)電機(jī)控制程序c語言參考程序:int dirpin = 6;int stepperpin = 5;int switch1 = 14;int switch2 = 15;int value;void setup() pinmode(dirpin, output); pinmode(stepperpin, output); pinmode(switch1, input); pinmode(s

38、witch2, input);void step(boolean dir,int steps) digitalwrite(dirpin,dir); for(int i=0; i steps; i +) digitalwrite(stepperpin, high); delaymicroseconds(500); digitalwrite(stepperpin, low); delaymicroseconds(500); / speed control delaymicroseconds(100); void loop() value = digitalread(switch1); if (hi

39、gh = value) step(true,1600 * 5); value = digitalread(switch2); if (high = value) step(false,1600 * 5); 按照連線,控制電機(jī)轉(zhuǎn)動(dòng)的脈沖信號(hào)是通過arduino上的數(shù)字i/o引腳5來提供的,而電機(jī)轉(zhuǎn)動(dòng)方向的控制則是通過數(shù)字i/o引腳6來實(shí)現(xiàn)的。兩個(gè)按鈕開關(guān)分別接在a0和a1號(hào)引腳上,對(duì)于數(shù)字i/o引腳14和15:int dirpin = 6;int stepperpin = 5;int switch1 = 14;int switch2 = 15;步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)主要是通過step()函數(shù)來實(shí)現(xiàn),該函

40、數(shù)有兩個(gè)參數(shù):第一個(gè)是轉(zhuǎn)動(dòng)的方向,分別代表正轉(zhuǎn)和反轉(zhuǎn);第二個(gè)是步進(jìn)數(shù)目,即給的控制脈沖的數(shù)目。通過修改每個(gè)脈沖間隔之間的時(shí)間長度,可以非常容易地調(diào)整電機(jī)轉(zhuǎn)動(dòng)的速度:/ speed controldelaymicroseconds(100);兩個(gè)對(duì)step()函數(shù)的調(diào)用,分別控制電機(jī)正轉(zhuǎn)/反轉(zhuǎn)相應(yīng)的圈數(shù),由于每種電機(jī)步進(jìn)的角度數(shù)不同,旋轉(zhuǎn)一圈所需要的脈沖數(shù)也是不一樣的,本設(shè)計(jì)中選用的是每圈200步的步進(jìn)電機(jī),使用easydriver時(shí)每圈為1600步,要使步進(jìn)電機(jī)正轉(zhuǎn)5圈,然后反轉(zhuǎn)5圈,控制其這樣轉(zhuǎn)動(dòng)的程序應(yīng)為:step(true,1600 * 5);step(false,1600 * 5);在

41、將代碼下載到arduino中并運(yùn)行起來如圖 3.5 程序運(yùn)行圖圖3.5 程序運(yùn)行圖3.6 系統(tǒng)設(shè)計(jì)實(shí)體圖在畢業(yè)論文的編輯其間,完成了對(duì)于相關(guān)步進(jìn)電機(jī)的控制設(shè)計(jì)與實(shí)現(xiàn),其主要目的是通過對(duì)步進(jìn)數(shù)目的調(diào)節(jié)和函數(shù)調(diào)用,完成步進(jìn)電機(jī)轉(zhuǎn)速快慢、圈數(shù)和正/反轉(zhuǎn)的調(diào)節(jié),其具體連線方式如文中所示,其具體實(shí)體圖如下圖(3.6設(shè)計(jì)實(shí)體圖)所示圖3.6 設(shè)計(jì)實(shí)體圖3.7 實(shí)驗(yàn)問題及解決1.線路連接問題,出現(xiàn)錯(cuò)誤提示,如圖3.7.1 運(yùn)行錯(cuò)誤1圖3.7.1 運(yùn)行錯(cuò)誤1解決方法:重新連接線路后,設(shè)備正常。2.端口和板子沒選對(duì),出現(xiàn)錯(cuò)誤提示,如圖3.7.2 運(yùn)行錯(cuò)誤2圖3.7.2 運(yùn)行錯(cuò)誤2解決辦法:在設(shè)備管理器里面查看當(dāng)

42、前arduino使用端口號(hào),確認(rèn)使用arduino板型號(hào),在設(shè)置里面將端口號(hào)和板子型號(hào)更換正確。3.步進(jìn)電機(jī)不能正常轉(zhuǎn)動(dòng),而是在原地抖動(dòng)。解決方法:經(jīng)研究步進(jìn)電機(jī)抖動(dòng)而不能轉(zhuǎn)動(dòng)是因?yàn)槊}沖頻率過高,所以將原程序:digitalwrite(stepperpin, high);delaymicroseconds(50);digitalwrite(stepperpin, low);delaymicroseconds(50);改為:digitalwrite(stepperpin, high);delaymicroseconds(500);digitalwrite(stepperpin, low);del

43、aymicroseconds(500);從而增大每個(gè)脈沖間隔之間的時(shí)間長度,使步進(jìn)電機(jī)轉(zhuǎn)速降低,這樣步進(jìn)電機(jī)就能夠正常轉(zhuǎn)動(dòng)了。第四章 總結(jié)與展望4.1 總結(jié)剛開始導(dǎo)師給我選定這個(gè)題目時(shí),我根本就不知道arduino和步進(jìn)電機(jī)是什么東西,更別說步進(jìn)電機(jī)的工作原理了。我上網(wǎng)查閱了許多關(guān)于arduino和步進(jìn)電機(jī)的資料,以及查看導(dǎo)師幫我找的相關(guān)資料后,才知道arduino和步進(jìn)電機(jī)是什么以及步進(jìn)電機(jī)的工作原理。從而才寫出了這篇設(shè)計(jì)。 本設(shè)計(jì)采用的是目前比較先進(jìn)的技術(shù)arduino來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。簡易的過程描述:連接好線路后利用arduino軟件編譯器進(jìn)行程序編譯,把編譯好的程序燒入arduino duemilanove板中,arduino duemilanove微控制器通過控制easydriver驅(qū)動(dòng)器來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。將設(shè)計(jì)程序燒入arduino duemilanove上調(diào)試運(yùn)行后,最終結(jié)果與預(yù)期結(jié)果基本一致,即步進(jìn)電機(jī)實(shí)現(xiàn)正轉(zhuǎn)5圈,然后反轉(zhuǎn)5圈,最后停止。本次的畢業(yè)設(shè)計(jì)雖然系統(tǒng)相對(duì)比較簡單,但也比較實(shí)用。在此次的步進(jìn)電機(jī)控制設(shè)計(jì)過程中,更進(jìn)一步地熟悉有關(guān)步進(jìn)電機(jī)控制電路的知識(shí)和具體應(yīng)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論