基于AVR單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn)剖析_第1頁
基于AVR單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn)剖析_第2頁
基于AVR單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn)剖析_第3頁
基于AVR單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn)剖析_第4頁
基于AVR單片機(jī)控制步進(jìn)電機(jī)正反轉(zhuǎn)剖析_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、AVR單片機(jī)課程設(shè)計(jì)論文題目:基于AVR單片機(jī)的步進(jìn)電機(jī)驅(qū)動(dòng)器學(xué) 院:專 業(yè):班 級(jí):學(xué) 號(hào):學(xué)生姓名:指導(dǎo)教師:完成時(shí)間: 2016年 1 月目錄摘要 - 1 -設(shè)計(jì)題目及其要求 - 2 -第一章 引言 - 3 -1.1 步進(jìn)電機(jī)的定義 - 3 -1.2 我國步進(jìn)電機(jī)發(fā)展 - 3 -1 3 步進(jìn)電機(jī)的應(yīng)用前景 - 3 -第二章 步進(jìn)電機(jī)控制系統(tǒng) - 5 -2.1 基本控制框圖 - 5 -2.2 步進(jìn)電機(jī)的分類 - 5 -第三章 系統(tǒng)的硬件設(shè)計(jì) - 6 -3.1 系統(tǒng)的基本設(shè)計(jì)思路與設(shè)計(jì)要求 - 6 -3.2 系統(tǒng)的組成及其對(duì)應(yīng)功能的簡要概述 - 6 -3.3 各模塊介紹 - 6 -第四章 電

2、路設(shè)計(jì) - 11 -4.1 電路簡介 - 11 -第五章 主程序與流程圖 - 13 -5.1 流程圖 - 13 -5.2 主程序 - 14 -5.3 程序分析 - 15 -第六章 總結(jié) - 17 -摘要步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進(jìn)電機(jī)件。 在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù), 而不受負(fù)載變化的影響, 當(dāng)步進(jìn)驅(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í)可以通過控制脈沖頻率

3、來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度, 從而達(dá)到調(diào) 速的目的。步進(jìn)電機(jī)是一種感應(yīng)電機(jī), 它的工作原理是利用電子電路, 將直流電變成分 時(shí)供電的, 多相時(shí)序控制電流, 用這種電流為步進(jìn)電機(jī)供電, 步進(jìn)電機(jī)才能正常 工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器。AVR單片機(jī)是1997年由ATMEL公司 研發(fā)出的 增強(qiáng) 型內(nèi)置 Flash的RISC(Reduced Instruction Set CPU)精簡指令集高速 8位單片機(jī)。AVR的單片機(jī)可以廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備、工業(yè)實(shí)時(shí)控制、儀器儀表、通訊設(shè)備、家用 電器等各個(gè)領(lǐng)域。1997年,由Atmel公司挪威設(shè)計(jì)中心的A先生和V先生,利 用Atm

4、el公司的Flash新技術(shù),共同研發(fā)出RISC精簡指令集高速8位單片機(jī), 簡稱 AVR。關(guān)鍵字: avr 單片機(jī)、步進(jìn)電機(jī)、控制器- 3 -設(shè)計(jì)題目及其要求基于 avr 單片機(jī)的步進(jìn)電機(jī)控制1、通過 avr 單片機(jī)驅(qū)動(dòng)步進(jìn)電機(jī)旋轉(zhuǎn)2、通過按鍵控制電機(jī)的正反轉(zhuǎn)。3、速度自定。第一章 引言1.1 步進(jìn)電機(jī)的定義步進(jìn)電機(jī)又稱電動(dòng)機(jī)或階躍電動(dòng)機(jī), 國外一般稱為 Step motor 或 Stepping motor 等。步進(jìn)電機(jī)的機(jī)理是基于最基本的電磁鐵作用, 其原始模型起源于 1830 年至 1860 年間。1870 年前后開始以控制為目的的嘗試,應(yīng)用于氬弧燈的電極輸 送機(jī)構(gòu)中。 這被認(rèn)為是最初的步

5、進(jìn)電動(dòng)。 此后,在電話自動(dòng)交換機(jī)中廣泛使用了 步進(jìn)電動(dòng)機(jī)。 不久又在缺乏交流電源的船舶和飛機(jī)等獨(dú)立系統(tǒng)中廣泛使用。 20 世紀(jì) 60 年代后期,隨著永磁性材料的發(fā)展,各種實(shí)用性步進(jìn)電動(dòng)機(jī)應(yīng)運(yùn)而生, 而半導(dǎo)體技術(shù)的發(fā)展則推進(jìn)了步進(jìn)電動(dòng)機(jī)在眾多領(lǐng)域的應(yīng)用。在近 30 年間,步 進(jìn)電動(dòng)機(jī)迅速地發(fā)展并成熟起來。 從發(fā)展趨向來講, 步進(jìn)電動(dòng)機(jī)已經(jīng)能與直流電 動(dòng)機(jī)、異步電動(dòng)機(jī),以及同步電動(dòng)機(jī)并列,從而成為電動(dòng)機(jī)的一種基本類型。1.2 我國步進(jìn)電機(jī)發(fā)展我國步進(jìn)電動(dòng)機(jī)的研究及制造起始于本世紀(jì) 50 年代后期。從 50 年代后期 到 60 年代后期,主要是高等院校和科研機(jī)構(gòu)為研究一些裝置而使用或開發(fā)少量 產(chǎn)品。

6、這些產(chǎn)品以多段結(jié)構(gòu)三相反應(yīng)式步進(jìn)電動(dòng)機(jī)為主。 70 年代初期,步進(jìn)電 動(dòng)機(jī)的生產(chǎn)和研究有所突破。 除反映在驅(qū)動(dòng)器設(shè)計(jì)方面的長足進(jìn)步外, 對(duì)反應(yīng)式 步進(jìn)電動(dòng)機(jī)本體的設(shè)計(jì)研究發(fā)展到一個(gè)較高水平。 70 年代中期至 80 年代中期為 成品發(fā)展階段,新品種高性能電動(dòng)機(jī)不斷被開發(fā)。自 80 年代中期以來,由于對(duì) 步進(jìn)電動(dòng)機(jī)精確模型做了大量研究工作, 各種混合式步進(jìn)電動(dòng)機(jī)及驅(qū)動(dòng)器作為產(chǎn) 品廣泛利用。13 步進(jìn)電機(jī)的應(yīng)用前景目前,隨著電子技術(shù)、 控制技術(shù)以及電動(dòng)機(jī)本體的發(fā)展和變化, 傳統(tǒng)電機(jī)分 類間的界面越來越模糊。步進(jìn)電機(jī)必然會(huì)成為機(jī)電一體化元件組件的必然趨勢(shì)。 由于步進(jìn)電機(jī)具有控制方便、體積小等特點(diǎn),所

7、以在數(shù)控系統(tǒng)、自動(dòng)生產(chǎn)線、自 動(dòng)化儀表、 繪圖機(jī)和計(jì)算機(jī)外圍設(shè)備中得到廣泛應(yīng)用。 微電子學(xué)的迅速發(fā)展和微 型計(jì)算機(jī)的普及與應(yīng)用, 為步進(jìn)電動(dòng)機(jī)的應(yīng)用開辟了廣闊前景, 使得以往用硬件 電路構(gòu)成的龐大復(fù)雜的控制器得以用軟件實(shí)現(xiàn), 既降低了硬件成本又提高了控制的靈活性, 可靠性及多功能性。 市場上有很多現(xiàn)成的步進(jìn)電機(jī)控制機(jī)構(gòu), 但價(jià)格都偏高。應(yīng)用SGS公司推出的L297和L298兩芯片可方便的組成步 進(jìn)電機(jī)驅(qū)動(dòng) 器,并結(jié)合Atmega16L單片機(jī)可以構(gòu)成很好的步進(jìn)電機(jī)控制系統(tǒng)。第二章步進(jìn)電機(jī)控制系統(tǒng)2.1基本控制框圖控制模塊步進(jìn)電機(jī)圖2.1 avr單片機(jī)控制框圖2.2步進(jìn)電機(jī)的分類步進(jìn)電動(dòng)機(jī)的種類很

8、多,從廣義上講,步進(jìn)電機(jī)的類型分為機(jī)械式、電磁式 和組合式三大類型。按結(jié)構(gòu)特點(diǎn)電磁式步進(jìn)電機(jī)可分為反應(yīng)式(VR)、永磁式(PM) 和混合式(HB)三大類;按相數(shù)分則可分為單相、兩相和多相三種。目前使用最為 廣泛的為反應(yīng)式和混合式步進(jìn)電機(jī)。(1)反應(yīng)式步進(jìn)電機(jī)(Variable Reluctanee,簡稱VR)反應(yīng)式步進(jìn)電機(jī)的轉(zhuǎn)子是由軟磁材料制成的,轉(zhuǎn)子中沒有繞組。它的結(jié)構(gòu)簡單,成本低,步距角可以做得很小,但動(dòng)態(tài)性能較差。反應(yīng)式步進(jìn)電機(jī)有單段式和多段式兩種類型;(2)永磁式步進(jìn)電機(jī)(Perma nent Mag net,簡稱PM)永磁式步進(jìn)電機(jī)的轉(zhuǎn)子是用永磁材料制成的,轉(zhuǎn)子本身就是一個(gè)磁源。轉(zhuǎn)子

9、的極數(shù)和定子的極數(shù)相同,所 以一般步距角比較大。它輸出轉(zhuǎn)矩大,動(dòng)態(tài)性能好,消耗功率小(相比反應(yīng)式),但啟動(dòng)運(yùn)行頻率較低,還需要正負(fù)脈沖供電;(3)混合式步進(jìn)電機(jī)(Hybrid,簡稱HB)混合式步進(jìn)電機(jī)綜合了前兩者的優(yōu)點(diǎn)?;旌鲜脚c反應(yīng)式相比,結(jié)構(gòu)上轉(zhuǎn)子加有永磁體,以提供軟磁材料的工作點(diǎn), 而定子激磁只需提供變化的磁場而不必提供磁材料工作點(diǎn)的耗能,因此該電機(jī)效率高,電流小,發(fā)熱低。因永磁體的存在,該電機(jī)具有較強(qiáng)的反電勢(shì),其自身阻 尼作用比較好,使其在運(yùn)轉(zhuǎn)過程中比較平穩(wěn)、噪聲低、低頻振動(dòng)小。第三章 系統(tǒng)的硬件設(shè)計(jì)3.1 系統(tǒng)的基本設(shè)計(jì)思路與設(shè)計(jì)要求本設(shè)計(jì)采用單片機(jī)ATmega16來作為整個(gè)步進(jìn)電機(jī)控

10、制系統(tǒng)的運(yùn)動(dòng)控制核心 部件,采用了電機(jī)驅(qū)動(dòng)芯片 ULN2003及其外圍電路構(gòu)成了整個(gè)系統(tǒng)的驅(qū)動(dòng)部分, 再加上作為執(zhí)行部件的步進(jìn)電機(jī)來構(gòu)成了一個(gè)基本的步進(jìn)電機(jī)控制系統(tǒng)。 系統(tǒng)的 具體功能和要求如下:1. 單片機(jī)最小系統(tǒng)板的設(shè)計(jì)(采用完整AVR實(shí)驗(yàn)板實(shí)現(xiàn));2. 實(shí)現(xiàn)步進(jìn)電機(jī)的啟停、正轉(zhuǎn)、反轉(zhuǎn)控制;3. 驅(qū)動(dòng)電路可提供電壓為5V,電流為0.3A的驅(qū)動(dòng)信號(hào);4. 步進(jìn)電機(jī)轉(zhuǎn)速自己定義;3.2 系統(tǒng)的組成及其對(duì)應(yīng)功能的簡要概述整個(gè)系統(tǒng)需要單片機(jī)最小系統(tǒng)模塊, ULN2003 控制模塊、獨(dú)立按鍵以及步 進(jìn)電機(jī)本體。單片機(jī)最小系統(tǒng)作為整個(gè)系統(tǒng)的控制核心, 它主要負(fù)責(zé)產(chǎn)生控制步進(jìn)電機(jī)轉(zhuǎn) 動(dòng)的脈沖,通過單片機(jī)

11、的軟件編程代替環(huán)形脈沖分配器輸出控制步進(jìn)電機(jī)的脈沖 信號(hào),步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的角度大小與單片機(jī)輸出的脈沖數(shù)成正比步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的速 度與輸出的脈沖頻率成正比,而步進(jìn)電機(jī)轉(zhuǎn)動(dòng)的的方向與輸出的脈沖順序有關(guān)。3.3 各模塊介紹一、ATmega16ATmegal是基于增強(qiáng)的AVR RISC吉構(gòu)的低功耗8位CMO微控制器。由于 其先進(jìn)的指令集以及單時(shí)鐘周期指令執(zhí)行時(shí)間, ATmega16的數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。ATmega16 AVF內(nèi)核具有豐富的指令集和 32個(gè)通用工作寄存器。所有的寄 存器都直接與運(yùn)算邏單元 (ALU) 相連接,使得一條指令可以在一個(gè)時(shí)

12、鐘周期內(nèi)同 時(shí)訪問兩個(gè)獨(dú)立的寄存器。這種吉構(gòu)大大提高了代碼效率,并且具有比普通的 CISC 微控制器最高至 10 倍的數(shù)據(jù)吞吐率。ATmega16有如下特點(diǎn):16K字節(jié)的系統(tǒng)內(nèi)可編程 Flash(具有同時(shí)讀寫的能力,即RWV, 512字節(jié)EEPR0,M1K字節(jié)SRAM 32個(gè)通用I/O 口線,32個(gè)通 用工作寄存器,用于邊界掃描的JTAG接口,支持片內(nèi)調(diào)試與編程,三個(gè)具有比 較模式的靈活的定時(shí)器/計(jì)數(shù)器(T/C),片內(nèi)/外中斷,可編程串行 USART有起 始條件檢測器的通用串行接口, 8路10位具有可選差分輸入級(jí)可編程增益(TQFP 封裝)的ADC,具有片內(nèi)振蕩器的可編程看門狗定時(shí)器,一個(gè)SP

13、I串行端口,以及六個(gè)可以通過軟件進(jìn)行選擇的省電模式。工作于空閑模式時(shí)CPU停止工作,而USART兩線接口、A/D轉(zhuǎn)換器、SRAMT/C、SPI端口以及中斷系統(tǒng)繼續(xù)工作;掉電模式時(shí)晶體振蕩器停止振蕩,所有 功能除了中斷和硬件復(fù)位之外都停止工作; 在省電模式下,異步定時(shí)器繼續(xù)運(yùn)行, 允許用戶保持一個(gè)時(shí)間基準(zhǔn),而其余功能模塊處于休眠狀態(tài);ADC噪聲抑制模式時(shí)終止CPU和除了異步定時(shí)器與ADC以外所有I/O模塊的工作,以降低ADC 轉(zhuǎn)換時(shí)的開關(guān)噪聲;Standby模式下只有晶體或諧振振蕩器運(yùn)行,其余功能模 塊處于休眠狀態(tài),使得器件只消耗極少的電流,同時(shí)具有快速啟動(dòng)能力;擴(kuò)展 Standby模式下則允許

14、振蕩器和異步定時(shí)器繼續(xù)工作。PDIP(XCK)TO: PSO L(T1) PS1 匚 (INT27AINO) PB2 匚 (OCOAIM1) PB3 匚(SS) PB4 匚(MOSI) FB5 匚(MISO) FS6 匚(SCK) FB7 匚RESET 匚 VCC匸 GND匚XTAL2 匚 XTAL1 匸 RXD) PD0 匚 CTXD) PD1 匚 (INTO) PD2 亡 (INT1) PD3 匚 (OC1B; PD4 匚 (OC1A) PD5 匚 (IQP1) PD6 匚PAD (ADC0)PA1 (ADC1)PA2 (AD C2)PA3 (ADCS)PM (AD04)PAS (ADC5

15、)PA6 (ADC6)PV (ADC7) A REFGNDAVCCPC7 (TOSC2)PC6 (TOSC1)PC5 (TOOPC4 (TDO)PCS (TIJS)PC2 (TCK)PC1 (SOA)PCO (SCL)PD7 (0C2)ATmega16封裝、引腳圖及其功能說明- 7 -U1G-|$5 K5T丫】宀漏脈zzpcszzpcfilOpF3OsFS14誡動(dòng)開丟R15-EZ3|iv_:kPBO 敗MTGjPAO (ADC3PEI (TJ)PAI (ADC1PB2(AIN01iNT2)PAJ ADC打PB3 (AIN1 OCC1)PA3(ADC3PB4(SS)PA4UDC4)PA3PB6

16、(XUSO)PM ADC(SCK)RESETPA7 (ADC7 AREFVCCGXDAVOCXTAL2PC?fTOSC2XTAL1PDO (RD:iM5 TDDPDl (TXD)P-ITDOPD2(mro)PC3 (THS)PD3- (KT1)PC2(TCKJPIH- (OC1B)KI (SDAPD5 COCIA)PC0(SCLPDSjCP)PD7 (OC2如予?x尋-IQrl.Drrh.rrrLrnlr *j1C7ATitttES;lPT 如jffirtiLED|GNDATmega16最小系統(tǒng)二、電機(jī)驅(qū)動(dòng)電路模塊考慮要硬件設(shè)計(jì)驅(qū)動(dòng)電路的方法會(huì)電路復(fù)雜, 調(diào)試不方便,而且采用多個(gè)元 器件搭接,

17、成本高。而直接采用集成的驅(qū)動(dòng)芯片時(shí)電路穩(wěn)定, 成本低,易于控制, 所以最終本設(shè)計(jì)是直接采用電機(jī)驅(qū)動(dòng)芯片 ULN2003作為電機(jī)驅(qū)動(dòng)部分的核心部 件。ULN2003是一個(gè)非門電路,包含7個(gè)單元,但獨(dú)每個(gè)單元驅(qū)動(dòng)電流最大可達(dá) 350mA資料的最后有引用電路,9腳可以懸空。比如1腳輸入,16腳輸出,你的 負(fù)載接在VCC與16腳之間,不用9腳。ULN2003的作用:ULN2003是大電流驅(qū)動(dòng)陣列,多用于單片機(jī)、智能儀表、PLC數(shù)字量輸出卡 等控制電路中。可直接驅(qū)動(dòng)繼電器等負(fù)載。ULN2003是高耐壓、大電流達(dá)林頓陳列,由七個(gè)硅NPN達(dá)林頓管組成。該 電路的特點(diǎn)如下:ULN2003的每一對(duì)達(dá)林頓都串聯(lián)一

18、個(gè) 2.7K的基極電阻,在5V 的工作電壓下它能與TTL和CMO電路 直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏 輯緩沖器。ULN2003是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作 電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的 系統(tǒng)。- 17 -VM J2OON8IN22IN33IN44VM5VOC6XCC78IN1OUTITN2OUT2IN3OUT3IN4OITT4JN5OUT5JN6OUT61N7OLTT7GNDCOMIOULN2003HHCl O.luFM OUT I 5 OLE 14 行1”T?B01717PCON5OLTlOUT!OUT3 3OUI

19、iRP1WXi-RP4m gLED04出住DULN2003接線圖引腳1: CPU脈沖輸入端,端口對(duì)應(yīng)一個(gè)信號(hào)輸出端。引腳2: CPU脈沖輸入端。引腳3: CPU脈沖輸入端。引腳4: CPUt沖輸入端。引腳5: CPU脈沖輸入端。引腳6: CPU脈沖輸入端。引腳7: CPU脈沖輸入端。引腳8:接地。引腳9:該腳是內(nèi)部7個(gè)續(xù)流二極管負(fù)極的公共端,各二極管的正極分別接各達(dá)林頓管的集電極引腳引腳引腳引腳引腳引腳引腳10:脈沖信號(hào)輸出端,對(duì)應(yīng)11:脈沖信號(hào)輸出端,對(duì)應(yīng)12:脈沖信號(hào)輸出端,對(duì)應(yīng)13:脈沖信號(hào)輸出端,對(duì)應(yīng)14:脈沖信號(hào)輸出端,對(duì)應(yīng)15:脈沖信號(hào)輸出端,對(duì)應(yīng)16:脈沖信號(hào)輸出端,對(duì)應(yīng)7腳信號(hào)

20、輸入端。6腳信號(hào)輸入端。5腳信號(hào)輸入端。4腳信號(hào)輸入端。3腳信號(hào)輸入端。2腳信號(hào)輸入端。1腳信號(hào)輸入端crop view)1B TJ1C1162B 2152C3B3143C4B 4134C5B 5125C6B 6116C7B7107CE89COM0ULN2003引腳圖四、步進(jìn)電機(jī)步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元步進(jìn)電機(jī)件。 在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù), 而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào), 它就驅(qū)動(dòng)步進(jìn)電機(jī) 按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度 一步一步運(yùn)行的??梢酝ㄟ^控制脈沖

21、個(gè)數(shù)來控制角位移量, 從而達(dá)到準(zhǔn)確定位的 目的;同時(shí)可以通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,從而達(dá)到調(diào)速的目的。步進(jìn)電機(jī)是一種感應(yīng)電機(jī),它的工作原理是利用電子電路,將直流電變成分 時(shí)供電的,多相時(shí)序控制電流,用這種電流為步進(jìn)電機(jī)供電,步進(jìn)電機(jī)才能正常 工作,驅(qū)動(dòng)器就是為步進(jìn)電機(jī)分時(shí)供電的,多相時(shí)序控制器。第四章電路設(shè)計(jì)4.1電路簡介電路采用ATmegal6勺AVR實(shí)驗(yàn)板外接N2003控制模塊以帶動(dòng)步進(jìn)電機(jī),具體操 作如下:使用 ULN2003勺 IN1IN4 接 ATmegal6勺 PA0PA4、電源接到 ATmegal6勺電源 正負(fù)極即可,A、B、C、D按順序接步進(jìn)電機(jī)。實(shí)物圖如下

22、:AVR單片機(jī)PCB圖VM?EDO*1CED?KZS3TKTAL2 THAUOKE- OKE-La a|- 03iD;二至.姜“姜A*tt*丄:一丄復(fù)IBBBB嗣FAS (ADCl.i KAZi.JOK. FA5.AOO-. K.ADO*. dJdXiiPAI APHraztMSMnnJS! , OCO:- 冷威 Mi rUOH:. FKMXi* M :-pkiq ptu-iDrrh Hm cseii:- FD2 sMA? ngg. 血卻*整體電路圖第五章主程序與流程圖5.1流程圖夬斷key是否按下步進(jìn)電機(jī)停止m key是否按下機(jī)反轉(zhuǎn)尹蜥妬是苦披下機(jī)停止I5.2 主程序#include#def

23、ine uchar unsigned char#define uint unsigned int#define key (PIND&(1PD3)uchar come4 =0x08,0x04,0x02,0x01;/ 正轉(zhuǎn) 電機(jī)導(dǎo)通相序 D-C-B-Auchar back4=0x01,0x02,0x04,0x08;/ 反轉(zhuǎn) 電機(jī)導(dǎo)通相序 A-B-C-D void delay(uint x)uint i,j;for(i=0;ix;i+)for(j=0;j112;j+);void with(void)/ 正轉(zhuǎn)uchar i;for(i=0;i4;i+)PORTA=comei;delay(4);/ 轉(zhuǎn)速

24、調(diào)節(jié)void inverse(void)uchar i;for(i=0;i4;i+)PORTA=backi;delay(4);/ 轉(zhuǎn)速調(diào)節(jié)void stop(void)PORTA=0x00;void main()DDRA=0x0f;while(1)while(key)順時(shí)針轉(zhuǎn)動(dòng)with(); /while(!key)while(key)while(!key)while(key)inverse(); / 逆時(shí)針轉(zhuǎn)動(dòng)while(!key) while(key) while(!key)5.3 程序分析一、定義步進(jìn)電機(jī)正反轉(zhuǎn)的電機(jī)導(dǎo)通步序 uchar come4 =0x08,0x04,0x02,0x0

25、1; uchar back4=0x01,0x02,0x04,0x08;二、正轉(zhuǎn)子程序 void with(void)uchar i;for(i=0;i4;i+)PORTA=comei;delay(4);三、反轉(zhuǎn)子程序void inverse(void)uchar i;for(i=0;i4;i+)PORTA=backi;delay(4);四、按鍵控制while(1)while(key)with(); / 順時(shí)針轉(zhuǎn)動(dòng)while(!key)while(key)while(!key)while(key)inverse(); / 逆時(shí)針轉(zhuǎn)動(dòng)while(!key)while(key)while(!key)五、程序優(yōu)缺點(diǎn)這個(gè)程序的優(yōu)點(diǎn)是: 短而精簡, 采用一個(gè)獨(dú)立按鍵控制電機(jī)的正轉(zhuǎn)、 反轉(zhuǎn)和 停止,容易操作。 缺點(diǎn)是: 獨(dú)立按鍵控制電機(jī)正反轉(zhuǎn)時(shí)按鍵按下的速度與間隔要 小一點(diǎn),不然有可能會(huì)無法達(dá)到預(yù)期的目的。 推測是按鍵按下之間有干擾, 需要 加入一個(gè)消抖程序。這里就不再外加程序

溫馨提示

  • 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)論