版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科畢業(yè)設(shè)計(jì)(論文)</p><p><b> ?。ǘ?屆)</b></p><p><b> 懸掛控制系統(tǒng)的設(shè)計(jì)</b></p><p> 所在學(xué)院 </p><p> 專業(yè)班級(jí) 電子信息工程
2、 </p><p> 學(xué)生姓名 學(xué)號(hào) </p><p> 指導(dǎo)教師 職稱 </p><p> 完成日期 年 月 </p><p><b> 摘 要</b></p&g
3、t;<p> 本設(shè)計(jì)是制作一個(gè)懸掛控制系統(tǒng),能夠在平面上進(jìn)行簡(jiǎn)單的圓和直線的制作,方便操作和使用。主要運(yùn)用AVR單片機(jī),核心芯片由ATMEGA16、TPL521-1、L298N、MAX232組成。ATmega16是一種基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器,TLP521是可控制光電藕合器件。其中利用到了步進(jìn)電機(jī),步進(jìn)電機(jī)是將脈沖電信號(hào)變換成相應(yīng)的角位移或者直線位移,即給一個(gè)脈沖電信號(hào),電動(dòng)機(jī)就會(huì)轉(zhuǎn)動(dòng)
4、一個(gè)角度或者前進(jìn)一步。</p><p> 運(yùn)用單片機(jī)來控制步進(jìn)電機(jī)從而達(dá)到預(yù)期目的。</p><p> 關(guān)鍵詞:AVR 、ATMEGA16、TPL521-1、L298N、MAX232、步進(jìn)電機(jī)。</p><p> Suspension Control System</p><p><b> Abstract<
5、/b></p><p> The design of a suspension control system ,that in the plane of the circle and line a simple production, easy operation and use. Main use AVR microcontroller, the core chip from the ATMEGA16,
6、 TPL521-1, L298N, MAX232 composition. ATmega16 is a structure based on the enhanced low-power AVR RISC 8-bit CMOS microcontroller, TLP521 is to control optical coupling devices. One advantage of a stepper motor, stepper
7、motor pulse signal is converted into the corresponding angular displacement or linear dis</p><p> Microcontroller to control the stepper motor used to achieve the desired objectives. </p><p>
8、Keywords: AVR 、ATMEGA16、TPL521-1、L298N、MAX232、Stepper motor.</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p><b> 1
9、緒論1</b></p><p> 1.1課題的來源1</p><p> 1.2課題的背景、意義1</p><p> 1.3相關(guān)研究的最新成果及動(dòng)態(tài)2</p><p> 1.4課題研究的主要內(nèi)容3</p><p> 2 懸掛控制系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)方式及相關(guān)技術(shù)4</p><
10、;p> 2.1系統(tǒng)的具體設(shè)計(jì)與實(shí)現(xiàn)4</p><p> 1、設(shè)計(jì)的實(shí)現(xiàn)方式4</p><p> 2 設(shè)計(jì)方案的選擇與論證4</p><p> ?。?)、單片機(jī)的選擇4</p><p> ?。?)、執(zhí)行元件電動(dòng)機(jī)的選擇5</p><p> 2.2、系統(tǒng)硬件設(shè)計(jì)與計(jì)算5</p>&l
11、t;p> 2.3、系統(tǒng)軟件設(shè)計(jì)及數(shù)學(xué)運(yùn)算12</p><p> ?。?)、控制物體運(yùn)動(dòng)算法12</p><p> ?。?)系統(tǒng)主程序流程框圖13</p><p> ?。?)物體位置控制部分圖14</p><p> ?。?)、利用多邊形逼近畫圓法來實(shí)現(xiàn)畫圓算法15</p><p> 3、部分測(cè)試結(jié)果及
12、其分析18</p><p> ?。?)測(cè)試設(shè)備18</p><p> ?。?)走自行運(yùn)動(dòng)實(shí)際的測(cè)量結(jié)果19</p><p> ?。?)畫圓實(shí)際測(cè)量的結(jié)果19</p><p> (4)直線制作實(shí)際測(cè)量結(jié)果20</p><p><b> 4、結(jié)論22</b></p>&l
13、t;p> 5、主要參考文獻(xiàn)23</p><p> 致 謝錯(cuò)誤!未定義書簽。</p><p><b> 附件24</b></p><p><b> 1 緒論</b></p><p><b> 1.1課題的來源</b></p><p>
14、; 現(xiàn)如今在各行各業(yè)中為了實(shí)際生產(chǎn)的需要,大部分地方都運(yùn)用到了各種控制系統(tǒng),它們主要用于對(duì)工作,生產(chǎn)的操作控制。自從單片機(jī)問世以來,利用單片機(jī)來制作各種控制系統(tǒng)已經(jīng)成為了主流。懸掛控制系統(tǒng)便是其中常見的一種,該系統(tǒng)的利用十分廣泛,在各行各業(yè)中都有所利用。此處的設(shè)計(jì)在于利用單片機(jī)來控制步進(jìn)電機(jī)制作一個(gè)控制系統(tǒng),用來進(jìn)行簡(jiǎn)單的圓和直線的制作。</p><p> 1.2課題的背景、意義</p><
15、;p> 首先,控制系統(tǒng)自問世以來廣泛應(yīng)用于各行各業(yè)。在許多的設(shè)備中都運(yùn)用了此系統(tǒng),關(guān)于此系統(tǒng)的運(yùn)用在不同的設(shè)備與不同的項(xiàng)目中具有不同的簡(jiǎn)稱。此處主要是關(guān)于利用AVR單片機(jī)與步進(jìn)電機(jī)來做一個(gè)懸掛控制系統(tǒng),將此運(yùn)用于畫直線與畫圓。</p><p> 其次,在各行各業(yè)中AVR單片機(jī)的利用都非常廣泛例如軍事、工業(yè)等重要行業(yè)以及家用電器、智能玩具、便攜式智能儀表等生活方面、其中也包括機(jī)器人制作等各大領(lǐng)域。其在產(chǎn)品
16、的功能,精度,和質(zhì)量的提升上面有著非常大的作用,并且在設(shè)計(jì)制作的過程中電路簡(jiǎn)單,故障率低,可靠性高,成本低廉【1】。AVR單片機(jī)在許多的領(lǐng)域的運(yùn)用使得整個(gè)的系統(tǒng)的設(shè)計(jì)變得簡(jiǎn)單易行。AT90S8535內(nèi)含可反復(fù)編程的Flash程序存儲(chǔ)器。并且具有兩種數(shù)據(jù)存儲(chǔ)器其分別為SRAM和EEPROM。由于具有這兩種存儲(chǔ)器所以在很多方面得到了運(yùn)用,一般的應(yīng)用系統(tǒng)只需此一塊芯片即可實(shí)現(xiàn)智能化【2】。</p><p> 再次,近
17、幾十年來,數(shù)字技術(shù)和電子計(jì)算機(jī)的迅速發(fā)展為此次所用的步進(jìn)電動(dòng)機(jī)的應(yīng)用開辟了廣闊的前景。就目前而言,我國(guó)已較多地方將步進(jìn)電機(jī)用于機(jī)械加工的數(shù)字程序控制機(jī)床中【3】。在現(xiàn)代工業(yè),特別是航空,導(dǎo)彈,無線電等軍用工業(yè)中,要求加工的機(jī)械零件形狀復(fù)雜,數(shù)量多,精度高,人工加工已經(jīng)很難到達(dá)要求,而且生產(chǎn)效率低。此時(shí)步進(jìn)電機(jī)在這方面就可以顯示出自己的優(yōu)勢(shì)。例如現(xiàn)在隨處可見的打字機(jī)就運(yùn)用了步進(jìn)電機(jī)。</p><p> 通過AVR
18、單片機(jī)的運(yùn)用與步進(jìn)電機(jī)的結(jié)合,來進(jìn)行簡(jiǎn)單的直線與圓的制作,從而將一些書本的知識(shí)快速方便的運(yùn)用到實(shí)際生活中,在實(shí)際生活中隨處可見運(yùn)用這兩種知識(shí)的地方。利用他們的特點(diǎn)可以制作出簡(jiǎn)單易行切便宜的系統(tǒng)。</p><p> 1.3相關(guān)研究的最新成果及動(dòng)態(tài)</p><p> 隨著時(shí)代的不斷進(jìn)步懸掛控制系統(tǒng)的發(fā)展也十分迅速,從最初的簡(jiǎn)單的機(jī)械運(yùn)用上到達(dá)現(xiàn)在的各行各業(yè)。就比如今的汽車行業(yè),現(xiàn)在的汽車發(fā)
19、展速度之快讓人難以想象。在汽車的內(nèi)部構(gòu)造中懸掛系統(tǒng)運(yùn)用十分的廣泛,各種汽車幾乎全部都運(yùn)用到了該系統(tǒng)。就拿常見的豐田汽車而言,其內(nèi)部運(yùn)用懸掛系統(tǒng)的地方就十分的常見。</p><p> 關(guān)于此處的懸掛控制系統(tǒng)其主要利用單片機(jī)來控制步進(jìn)電機(jī)以達(dá)到預(yù)期所要達(dá)到的目的,在一定規(guī)格的紙張上面進(jìn)行簡(jiǎn)單的直線圓弧的制作。</p><p> 單片微控制器是AVR單片機(jī)的一種簡(jiǎn)稱,它的作用是將一個(gè)計(jì)算機(jī)系
20、統(tǒng)集成到一個(gè)芯片上,概括的講:一臺(tái)簡(jiǎn)易計(jì)算機(jī)只需要一塊芯片就成了【4】。單片機(jī)技術(shù)可以說是計(jì)算機(jī)技術(shù)的一個(gè)重要的分支,是簡(jiǎn)易機(jī)器人的核心元件。1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡(jiǎn)指令集的高速8位單片機(jī),簡(jiǎn)稱AVR。相對(duì)于出現(xiàn)較早也較為成熟的51系列單片機(jī),AVR系列單片機(jī)片內(nèi)資源更為豐富,接口也更為強(qiáng)大,同時(shí)由于其價(jià)格低等優(yōu)勢(shì),在很多場(chǎng)合已經(jīng)可以替代51系
21、列的單片機(jī)。通常在單片機(jī)C程序里的延時(shí)模塊為一個(gè)計(jì)數(shù)循環(huán),延時(shí)時(shí)間的長(zhǎng)短往往是先估計(jì),后通過實(shí)驗(yàn)或仿真等方法來驗(yàn)證【5】。這個(gè)在對(duì)于控制步進(jìn)電機(jī)方面是個(gè)相當(dāng)好的選擇。</p><p> 而設(shè)計(jì)所需要的步進(jìn)電機(jī)作為系統(tǒng)的執(zhí)行元件。步進(jìn)電機(jī)是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,在各種自動(dòng)化、半自動(dòng)化系統(tǒng)中得到了運(yùn)用。微電子和計(jì)算機(jī)技術(shù)的快速發(fā)展使得步進(jìn)電機(jī)的需求量大大的增加,同時(shí)步進(jìn)電機(jī)的發(fā)展也變得更加快速,各個(gè)國(guó)民經(jīng)濟(jì)為了
22、更加快速的發(fā)展也運(yùn)用了許多的步進(jìn)電機(jī)。</p><p> 步進(jìn)電機(jī)其主要作用是將脈沖電信號(hào)變換成相應(yīng)的角位移或者直線位移,即給一個(gè)脈沖電信號(hào),電動(dòng)機(jī)就會(huì)轉(zhuǎn)動(dòng)一個(gè)角度或者前進(jìn)一步。由于步進(jìn)電機(jī)具有其精準(zhǔn)度高,可以簡(jiǎn)單易行的控制的特點(diǎn)于是在很多民用工業(yè)與軍工業(yè)上得到了顯著的運(yùn)用。步進(jìn)電機(jī)的角位移量與直線位移量與脈沖數(shù)成正比的關(guān)系,所以在運(yùn)用中我們可以通過控制電信號(hào)的脈沖數(shù)來控制步進(jìn)電機(jī)的運(yùn)動(dòng),從而達(dá)到人們預(yù)期想要得
23、到的效果。</p><p> 步進(jìn)電機(jī)具有眾多的參數(shù)例如:相數(shù),拍數(shù),固有步距角,定位轉(zhuǎn)矩,最大靜轉(zhuǎn)矩等【7】。對(duì)于相數(shù)即為產(chǎn)生不同對(duì)極N、S磁場(chǎng)的激磁線圈對(duì)數(shù),是指電機(jī)內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機(jī)。通常情況下二相電機(jī)的步距角為0.9°/1.8°、電機(jī)相數(shù)不同,其步距角也不同,其中三相的為0.75°/1.5°、五相的為0.36°/0
24、.72°,與二相步進(jìn)電機(jī)有著較大的區(qū)別 。用戶在沒有細(xì)分驅(qū)動(dòng)器的時(shí)候,主要靠選擇不同相數(shù)的步進(jìn)電機(jī)來滿足自己步距角所要達(dá)到的要求。如果使用細(xì)分驅(qū)動(dòng)器,選擇‘相數(shù)’將變得沒有較大的實(shí)際意義,用戶只需在驅(qū)動(dòng)器上改變細(xì)分?jǐn)?shù),就可以改變步距角。目前應(yīng)用最廣泛的是兩相和四相,四相電機(jī)一般用作兩相,五相的成本較高【8】。固在眾多運(yùn)用到步進(jìn)電機(jī)的系統(tǒng)與設(shè)備中都需要嚴(yán)格的注意其參數(shù),以及對(duì)其參數(shù)的有效運(yùn)用。</p><p&
25、gt; 利用單片機(jī)作為控制中心,運(yùn)用步進(jìn)電機(jī)作為執(zhí)行元件來設(shè)計(jì)系統(tǒng)已經(jīng)在當(dāng)今社會(huì)變得常見了。 </p><p> 1.4課題研究的主要內(nèi)容</p><p> 本課題研究的主要內(nèi)容是如何利用單片機(jī)作為控制中心來控制步進(jìn)電機(jī),用其來制作一個(gè)可以進(jìn)行簡(jiǎn)單的圓和直線的制作的懸掛控制系統(tǒng)。</p><p> 其中利用到AVR單片機(jī)制作的最小系統(tǒng),用其作為整個(gè)設(shè)計(jì)的控制
26、中心,利用到的芯片有ATMEGA16、TPL521-1,通過AVR單片機(jī)來控制驅(qū)動(dòng)電路讓其工作達(dá)到預(yù)期的工作目的。</p><p> 驅(qū)動(dòng)電路是一個(gè)L298N來作為驅(qū)動(dòng)模塊驅(qū)動(dòng)步進(jìn)電機(jī),充分的利用步進(jìn)電機(jī)的工作特性與優(yōu)點(diǎn)。利用到的芯片有L298N、MAX232。</p><p> 2 懸掛控制系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)方式及相關(guān)技術(shù)</p><p> 2.1系統(tǒng)的具體設(shè)計(jì)
27、與實(shí)現(xiàn)</p><p><b> 1、設(shè)計(jì)的實(shí)現(xiàn)方式</b></p><p> 如圖2.1.1所采用的是一款單片機(jī)來作為運(yùn)動(dòng)物體的控制中心,進(jìn)行數(shù)學(xué)計(jì)算、對(duì)外部輸入信號(hào)進(jìn)行處理來控制物體的運(yùn)動(dòng)方向,計(jì)算物體的坐標(biāo)位置等。利用步進(jìn)電機(jī)作為系統(tǒng)的執(zhí)行元件。</p><p> 圖2.1.1 系統(tǒng)原理圖</p><p>
28、 從原理圖上我們可以看出,在利用單片機(jī)作為控制中心的基礎(chǔ)上,根據(jù)外部輸入信號(hào),用其控制驅(qū)動(dòng)電路,驅(qū)動(dòng)步進(jìn)電機(jī)來畫圓和畫直線。</p><p> 2 設(shè)計(jì)方案的選擇與論證</p><p> (1)、單片機(jī)的選擇</p><p> 方案一:采用傳統(tǒng)8位的89C51單片機(jī)來作為整個(gè)運(yùn)動(dòng)物體的控制中心。51單片機(jī)其具有價(jià)格低廉、使用簡(jiǎn)單等特點(diǎn),然而其運(yùn)算速度較低、功能
29、相對(duì)單一、RAM與ROM空間小等缺點(diǎn)也使其的使用有所限制。本設(shè)計(jì)在確定圓周運(yùn)動(dòng)的坐標(biāo)值時(shí),需要進(jìn)行比較大量的浮點(diǎn)數(shù)運(yùn)算,如果采用89C51來作為控制中心則需要做RAM、ROM來擴(kuò)展其內(nèi)存空間,其硬件的工作量就會(huì)大大的增多。</p><p> 方案二:采用8位單片機(jī)AVR 的ATMEGA16芯片作為整個(gè)運(yùn)動(dòng)物體的控制中心。AVR單片機(jī)具有豐富的資源:RAM,ROM空間大、運(yùn)算速度快、功耗低、低電壓、易于編寫和調(diào)試
30、等優(yōu)點(diǎn)。尤其是它在復(fù)雜的數(shù)學(xué)運(yùn)算上面,具有運(yùn)算速度快,精度高等特點(diǎn),在控制步進(jìn)電機(jī)時(shí)運(yùn)行速度比一般51單片機(jī)快。</p><p> 基于對(duì)上述優(yōu)缺點(diǎn)的分析,設(shè)計(jì)選擇方案二。</p><p> ?。?)、執(zhí)行元件電動(dòng)機(jī)的選擇</p><p> 方案一:采用帶旋轉(zhuǎn)編碼器控制的直流電機(jī),這種電機(jī)運(yùn)轉(zhuǎn)較平穩(wěn),精度高。但是其驅(qū)動(dòng)的電路比較復(fù)雜,在較短時(shí)間內(nèi)難以實(shí)現(xiàn)。<
31、;/p><p> 方案二:采用步進(jìn)電機(jī)來實(shí)現(xiàn)物體的精確定位和方向的控制。步進(jìn)電機(jī)是一種脈沖控制電機(jī),它是一種能將脈沖信號(hào)轉(zhuǎn)換為角位移的數(shù)模轉(zhuǎn)換器,能夠廣泛的用于不需反饋控制但是要求有精確位置的場(chǎng)合。</p><p> 所以在本題中由于控制畫筆畫圖準(zhǔn)確性和電路的要求較高比較復(fù)雜,故選擇選用方案二,并采用控制性能高的步進(jìn)電機(jī)來控制運(yùn)動(dòng)物體。</p><p> 2.2、
32、系統(tǒng)硬件設(shè)計(jì)與計(jì)算</p><p> ?。?)單片機(jī)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 如圖2.2.1所示為整個(gè)單片機(jī)控制系統(tǒng)的原理圖其中包括電源模塊,驅(qū)動(dòng)模塊。其3D圖如2.2.2所示。</p><p> 圖2.2.1單片機(jī)控制系統(tǒng)的原理圖</p><p> 圖2.2.2單片機(jī)控制系統(tǒng)的3D圖</p><p&g
33、t; 此原理主要以一個(gè)最小系統(tǒng)為基礎(chǔ),根據(jù)芯片的作用于實(shí)際設(shè)計(jì)的需要來改變一些電路從而達(dá)到設(shè)計(jì)需要??刂葡到y(tǒng)的實(shí)物如圖2.2.3</p><p> 2.2.3系統(tǒng)實(shí)物圖</p><p> 其中利用的ATMEGA16芯片如圖2.2.4。該芯片是一種是基于增強(qiáng)的AVR RISC結(jié)構(gòu)。它在功耗方面的體現(xiàn)為:低功耗8位COMS微控制器。它具備先進(jìn)的指令集和單時(shí)鐘周期指令執(zhí)行時(shí)間,ATmega
34、16 芯片在數(shù)據(jù)吞吐率上可高達(dá)1 MIPS/MHz這個(gè)是其它的芯片不具備的特點(diǎn),這個(gè)特點(diǎn)可以用來為了緩減系統(tǒng)在功耗和處理速度之間所存在的一些矛盾。在系統(tǒng)編程上面它具有16K字節(jié)的系統(tǒng),在存儲(chǔ)發(fā)的其它方面它具備:512 字節(jié)EEPROM,1K 字節(jié)SRAM,32 個(gè)通用I/O 口線,32 個(gè)通用工作寄存器,用于邊界掃描的JTAG 接口等。</p><p> 圖2.2.4 ATMEGA16芯片</p>
35、<p> 圖2.2.5內(nèi)部結(jié)構(gòu)圖</p><p><b> JTAG接口如圖:</b></p><p> TPL521是可控制的光電藕合器件,光電耦合器廣泛作用在電腦終端機(jī),可控硅系統(tǒng)設(shè)備,測(cè)量?jī)x器,影印機(jī),自動(dòng)售票等。</p><p> 電路之間的信號(hào)傳輸,使之前端與負(fù)載完全隔離,目的在于增加安全性,減小電路干擾,減化電路
36、設(shè)計(jì)。</p><p> 集電極-發(fā)射極電壓: 55V(最小值)</p><p> 經(jīng)常轉(zhuǎn)移的比例: 50 %(最?。?lt;/p><p> 隔離電壓: 2500 Vrms (最?。?lt;/p><p> MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。我們這里利用它來通過單片機(jī)電源為
37、步進(jìn)電機(jī)提供電源使其能夠不需要外加電源而能夠正常運(yùn)轉(zhuǎn)。該芯片管腳以及外觀如圖2.2.6。其內(nèi)部結(jié)構(gòu)基本可劃分三個(gè)部分如下: </p><p> 由1、2、3、4、5、6腳和4只電容構(gòu)成的第一部分電荷泵電路。其功能主要為產(chǎn)生+12v和-12v兩個(gè)電源,提供給電腦與單片機(jī)之間連接串口電平的需要。而我們這里不需要+12V和-12V電壓。主要是利用其特性。由7、8、9、10、11、12、13、14腳構(gòu)成轉(zhuǎn)換通道用來轉(zhuǎn)換
38、電壓等數(shù)據(jù)也就是第二部分。其中11腳(T1IN)、12腳(R1OUT)、13腳(R1IN)、14腳(T1OUT)為第一個(gè)數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二個(gè)數(shù)據(jù)通道。從T1IN、T2IN輸入TTL/CMOS數(shù)據(jù)然后將其轉(zhuǎn)換成轉(zhuǎn)換成串口數(shù)據(jù)數(shù)據(jù)從T1OUT、T2OUT送到電腦DP9的這個(gè)插頭;將R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)需要運(yùn)用到DP9插頭,然后通過R1OUT
39、以及R2OUT來輸出。</p><p> 而第三部分就是供電。15腳DNG、16腳VCC(+5v)。20%PR </p><p> 圖2.2.6 MAX232芯片</p><p> 系統(tǒng)的電源模塊在整個(gè)系統(tǒng)中較為重要其供電模塊的原理圖如圖2.2.7。</p><p><b> 圖2.2.7</b></p&g
40、t;<p> 該供電模塊我通過一個(gè)9V的適配器進(jìn)行整體的供電從9V電源中拉出兩端9V供電機(jī)使用再另一段通過一個(gè)LM7805穩(wěn)壓到5V供單片機(jī)使用。</p><p> ?。?)步進(jìn)電機(jī)的驅(qū)動(dòng)電路的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 圖2.2.8電機(jī)驅(qū)動(dòng)電路</p><p><b> 圖2.2.9實(shí)物圖</b></p>
41、<p> 具體電路如圖2.2.8,該電路采用L298驅(qū)動(dòng)芯片,在小型直流電機(jī)的各種驅(qū)動(dòng)芯片中,L298驅(qū)動(dòng)芯片在性能有其獨(dú)特的優(yōu)越性。它可以用來直接驅(qū)動(dòng)兩個(gè)直流電機(jī),2個(gè)二相步進(jìn)電機(jī)或者是一個(gè)四相步進(jìn)電機(jī)。我們只需要給他提供電壓范圍在4到46V的電壓之間,就可以產(chǎn)生2A的驅(qū)動(dòng)電流來驅(qū)動(dòng)電機(jī)。另外L298還具有一個(gè)比較獨(dú)特的功能,這個(gè)功能就是在系統(tǒng)產(chǎn)生大量的熱量的時(shí)候它會(huì)自動(dòng)關(guān)斷使得系統(tǒng)暫時(shí)失去作用從而起到系統(tǒng)的保護(hù)作用,并且
42、具有一個(gè)電流檢測(cè)的功能,檢測(cè)的是反饋電流,這些都是電機(jī)驅(qū)動(dòng)所需要具備的條件。驅(qū)動(dòng)電路的實(shí)物圖如圖2.2.9所示。</p><p> 由于采用的是步進(jìn)電機(jī),所以對(duì)電機(jī)的驅(qū)動(dòng)必須是采用脈沖控制。</p><p> 本作品中的控制系統(tǒng)采用5V電源,電機(jī)驅(qū)動(dòng)L298的電源也使用5V。基于穩(wěn)定性考慮,我們運(yùn)用了TLP521光耦集成塊,將主控制部分電源與電機(jī)驅(qū)動(dòng)部分的電源隔離開來,這樣減少電機(jī)對(duì)主
43、控制電路的干擾。</p><p> 步進(jìn)電機(jī)的實(shí)物圖如圖2.2.10所示:</p><p> 圖2.2.10步進(jìn)電機(jī)實(shí)物圖</p><p> 2.3、系統(tǒng)軟件設(shè)計(jì)及數(shù)學(xué)運(yùn)算</p><p> (1)、控制物體運(yùn)動(dòng)算法</p><p> 方案一:采用直線插補(bǔ)的方法。這種方法是一種在繪圖系統(tǒng)中較為常用的逐點(diǎn)比較的
44、算法。它的原理是:執(zhí)行機(jī)構(gòu)每走一步,都需要和給定軌跡上的坐標(biāo)值進(jìn)行一次比較,看當(dāng)前位置和軌跡位置的關(guān)系,從而確定下一步的進(jìn)給方向。如果當(dāng)前運(yùn)動(dòng)位置在給定軌跡的下方,那么下一步向給定軌跡的上方走,反之則相反。如果當(dāng)前位置在給定軌跡的里面,那么下一步向給定軌跡的外面走,反之則相反。這樣就可以走一步看一步,比較一步,然后決定下一步走向,形成“逐點(diǎn)比較”, 使走線逼近所給定的軌跡。</p><p> 方案二:采用簡(jiǎn)易直
45、線算法。在計(jì)算機(jī)圖形學(xué)中直線的顯示可以通過不同的方法來改變,這里運(yùn)用到的就是其演變而來的一種算法,基本原理也是“逐個(gè)逐個(gè)的點(diǎn)的比較”,根據(jù)當(dāng)前位置與變化所需要的軌跡位置兩者之間的關(guān)系來影響執(zhí)行機(jī)構(gòu),從而確定下一步的進(jìn)給方向,但是兩者的差距在于數(shù)據(jù)的處理過程不同。在直線插補(bǔ)法中,在一次循環(huán)的過程中只能確定一個(gè)走向(X向或Y向),而在直線簡(jiǎn)易算法中,一次循環(huán)可以走兩步,這樣可以大大提高效率。同時(shí),直線插補(bǔ)法要考慮象限的問題,不同的象限有不同
46、的計(jì)算公式,而直線簡(jiǎn)易算法繞開了象限的問題,可以節(jié)省很多代碼。 </p><p> 結(jié)合軟件編程的難易和上面的比較,擬選擇選用方案二。</p><p> ?。?)系統(tǒng)主程序流程框圖</p><p> 如下圖3.2.1為系統(tǒng)主程序流程框圖。圖中反應(yīng)出了整個(gè)程序運(yùn)行過程。</p><p> 圖3.2.1 主程序流程圖</p>
47、<p> ?。?)物體位置控制部分圖</p><p> 圖3.3.1物體位置示意圖</p><p> 初步利用器件搭定一個(gè)物體電機(jī)運(yùn)動(dòng)的框架,在此設(shè)定兩步進(jìn)電機(jī)間距為100cm,低端距頂端距離115cm,從而利用以下方式進(jìn)行計(jì)算。</p><p> 將黑色畫筆所處的位置設(shè)定為整個(gè)物體的所處位置。如圖3.3.1設(shè)定物體位置的初始坐標(biāo)為(X,Y)則如圖可
48、以利用三角公式計(jì)算出L1、L2的長(zhǎng)度,其運(yùn)用X、Y表示如下:</p><p><b> L1=</b></p><p><b> L2=</b></p><p> 設(shè)電機(jī)A 的步進(jìn)值為a cm, 設(shè)電機(jī)B的步進(jìn)值為b cm,物體的高度值為h cm。</p><p> 如圖3.2.1為一物體在
49、畫板的某一位置,那么則有:</p><p> 從而解得X軸點(diǎn)的位置和h的值為</p><p> 從圖(3.3.1)可知Y軸點(diǎn)位置為:</p><p><b> Y=115-h</b></p><p> 控制物體從圖中的一點(diǎn)到達(dá)另圖中的另一點(diǎn)的實(shí)現(xiàn)就是當(dāng)X、Y已知條件,求電機(jī)的步進(jìn)過程。由圖(3.3.1)解得:&l
50、t;/p><p><b> 解得: </b></p><p><b> (cm)</b></p><p><b> ?。╟m)</b></p><p> 從而,我們利用軟件可以實(shí)現(xiàn)以上算法,來分別控制兩個(gè)步進(jìn)電機(jī)的步進(jìn)運(yùn)動(dòng)a,b,這樣就可以事先固定好物體的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo),
51、然后通過鍵盤向控制系統(tǒng)輸入物體的起點(diǎn)坐標(biāo)和終點(diǎn)坐標(biāo)從而讓物體在畫板位置任意行走。所以物體可以在自行設(shè)定的兩點(diǎn)的坐標(biāo)來走直線。同樣可以將曲線劃分為多點(diǎn)坐標(biāo),采用直線逼近法來走曲線。</p><p> (4)、利用多邊形逼近畫圓法來實(shí)現(xiàn)畫圓算法</p><p> 大家都知道如果有一個(gè)正多邊形,當(dāng)它的邊數(shù)n達(dá)到足夠大時(shí),即為每條邊所對(duì)應(yīng)的圓心角△達(dá)到足夠小的時(shí)候,它就非常接近或者可等同一個(gè)圓
52、。這樣我們就可以把畫圓的問題轉(zhuǎn)變成一個(gè)畫多邊形、畫直線的問題。因此我們只需要確定n和角的大小,以及該多邊形頂點(diǎn)所在的坐標(biāo)位置,就可以避開非常煩瑣的象限問題,從而直接利用上面的簡(jiǎn)易的畫直線算法來實(shí)現(xiàn)畫圓。</p><p> 1)、n和角的大小的確定</p><p> 在利用正多邊形來逼近圓的時(shí)候,假設(shè)多邊形每一個(gè)頂點(diǎn)都落在一個(gè)圓周外側(cè),但是每一條邊的中點(diǎn)卻落在這個(gè)圓周的內(nèi)側(cè),并且假設(shè)它們
53、在偏離這個(gè)圓周的絕對(duì)誤差值為一個(gè)ε,如圖3.4.1所示,只要ε<0.5或者更加小,那么我們就可以忽略弧線與這個(gè)邊線之間的差別。在圖9中,R設(shè)定為圓的半徑,正多邊形的邊數(shù)n與每邊所對(duì)應(yīng)的圓心角△的關(guān)系為:</p><p> n=2π/△ </p><p> 根據(jù)圓弧的的幾何計(jì)算關(guān)系,我們不難得到:</p><p> ?。≧+ε)-(R+
54、ε)cos(△/2)=2ε (1)</p><p> 一般△遠(yuǎn)遠(yuǎn)小于1弧度,cos(△/2)≈1-(△)2/8,故上式可簡(jiǎn)化為:</p><p> ?。≧+ε)(△)2/8=2ε (2)</p><p> 由上面式(1)和式(2)可以解得:</p><p> n=0.51π≈0.51π (3)</p>
55、<p> 如果取ε<0.51或者更小,代入上面的式(3)可得</p><p><b> n≥2.51π</b></p><p> 當(dāng)設(shè)定圓心的坐標(biāo)為(m,n)時(shí),我們將圓等分成360份,假設(shè)物體走到第 份時(shí),以圓心為原點(diǎn),物體的坐標(biāo)(X,Y) 計(jì)算為的角度為: </p><p> 物體的位置為: </p>
56、<p> 在求得物體的坐標(biāo)位置后,就可以利用以上坐標(biāo)點(diǎn)參數(shù)的計(jì)算得出來的結(jié)果,來控制物體在兩點(diǎn)坐標(biāo)間走直線。當(dāng)多邊形的邊數(shù)n的取值越大時(shí),畫出來的圓其精度就會(huì)比n值取得小的時(shí)候高。反之取得的n值不夠大,則圓的精度就很低。</p><p> 2)、利用多邊形的逼近法來畫圓的流程框圖</p><p> 在上面我們的討論中,知道了多邊形邊數(shù)n值,同時(shí)也知道了多邊形頂點(diǎn)值的推導(dǎo)方
57、法,這樣可以利用上面畫直線所運(yùn)用到的簡(jiǎn)易算法來實(shí)現(xiàn)畫圓。以圓心在(X1,Y1),起點(diǎn)在(X1-r,Y1),在順時(shí)針方向上來畫圓。這個(gè)畫圓的流程框圖如下圖3.3.2。</p><p> 圖3.3.2 多邊形逼近法畫圓流程圖</p><p> 由于系統(tǒng)在直線的這個(gè)簡(jiǎn)易算法處理的過程中,起點(diǎn)設(shè)為坐標(biāo)(X1-R,Y1)。所以在這個(gè)多邊行的逼近過程中,我們每畫一條直線,都需要把該點(diǎn)的坐標(biāo)平移,把
58、起點(diǎn)的xi和yi放到起點(diǎn),然后再來調(diào)用直線的簡(jiǎn)易算法來實(shí)現(xiàn)預(yù)期目標(biāo)。</p><p> 這種運(yùn)用的方法簡(jiǎn)單而易行,在直線的簡(jiǎn)易算法的基礎(chǔ)上,經(jīng)過比較簡(jiǎn)單的數(shù)學(xué)計(jì)算方法來處理,采取多次畫線的方法就可以實(shí)現(xiàn)預(yù)期的畫圓。相比較利用圓弧插補(bǔ)方法而言,采用多邊形逼近法所需要的程序代碼較少,這樣我們可以大大的節(jié)省內(nèi)存的空間;并且程序流程簡(jiǎn)單,容易編寫和調(diào)試;運(yùn)行的速度也相對(duì)圓弧插補(bǔ)的方法有較大的提高。</p>
59、<p><b> 3)、軟件編程</b></p><p> 軟件編程在利用單片機(jī)做設(shè)計(jì)的利用中較為重要,程序的編寫關(guān)系到設(shè)計(jì)的正常運(yùn)轉(zhuǎn),此次軟件編程使用AVR單片機(jī)編輯平臺(tái)來進(jìn)行編輯,該平臺(tái)集程序的編輯、編譯、鏈接、調(diào)試以及仿真等功能為一體,通過使用C語(yǔ)言來進(jìn)行編程達(dá)到預(yù)期所要達(dá)到的目標(biāo),該編譯,編譯效率高,并且在線調(diào)試較為方便。具體程序代碼見附件。</p>&
60、lt;p> 3、部分測(cè)試結(jié)果及其分析</p><p><b> ?。?)測(cè)試設(shè)備</b></p><p> 模擬物體行使的路線:示意圖</p><p> 卷尺的精度:0.01m</p><p> 秒表的精度:0.01s</p><p> 坐標(biāo)紙采用噴塑的坐標(biāo)紙(調(diào)試過程中易于擦洗產(chǎn)
61、生的無用的畫筆軌跡)</p><p> ?。?)走自行運(yùn)動(dòng)實(shí)際的測(cè)量結(jié)果</p><p> 多次測(cè)試,得出實(shí)際的測(cè)量結(jié)果統(tǒng)計(jì)計(jì)算出每次的運(yùn)動(dòng)軌跡與預(yù)期軌跡的最大偏差,用于檢測(cè)設(shè)計(jì)的準(zhǔn)確性與精準(zhǔn)度。這個(gè)過程中需要謹(jǐn)慎認(rèn)真的操作和數(shù)據(jù)的準(zhǔn)確記錄。</p><p> 設(shè)計(jì)第一次走實(shí)際測(cè)量的結(jié)果:到達(dá)目的地的坐標(biāo),得到的運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.6cm,運(yùn)行所
62、使用時(shí)間為124秒。</p><p> 設(shè)計(jì)第二次走實(shí)際測(cè)量的結(jié)果:離達(dá)目的地的坐標(biāo)1.4 cm,得到運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.5cm,運(yùn)行所使用時(shí)間為131秒。</p><p> 設(shè)計(jì)第三次走實(shí)際測(cè)量的結(jié)果:離達(dá)目的地的坐標(biāo)1.2 cm,得到運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.4cm,運(yùn)行所使用時(shí)間為147秒。</p><p> 設(shè)計(jì)第四次走實(shí)際測(cè)
63、量的結(jié)果:離達(dá)目的地的坐標(biāo)1.4 cm,得到運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.1cm,運(yùn)行所使用時(shí)間為118秒。</p><p> 設(shè)計(jì)第五次走實(shí)際測(cè)量的結(jié)果:離達(dá)目的地的坐標(biāo)0.7 cm,得到運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.2cm,運(yùn)行所使用時(shí)間為138秒。</p><p> 設(shè)計(jì)第六次走實(shí)際測(cè)量的結(jié)果:離達(dá)目的地的坐標(biāo)1.5 cm,得到運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.8c
64、m,運(yùn)行所使用時(shí)間為128秒。</p><p> 六次運(yùn)行物體離達(dá)目的地的坐標(biāo)最大誤差為1.4 cm,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差1.8cm。平均運(yùn)行所使用的時(shí)間約為130秒?;具_(dá)到了預(yù)期的效果。</p><p> ?。?)畫圓實(shí)際測(cè)量的結(jié)果</p><p> 畫圓測(cè)試結(jié)果如下表:</p><p> 第一次畫圓設(shè)定以(40,50)
65、為圓心,對(duì)圓周進(jìn)行了8個(gè)點(diǎn)采樣</p><p> 最大的誤差為1.8cm,運(yùn)行的時(shí)間為225秒,畫筆曲線基本接近圓。</p><p> 第二次畫圓設(shè)定以(40,50)為圓心,對(duì)圓周進(jìn)行了8個(gè)點(diǎn)采樣</p><p> 最大的誤差為2.2cm,運(yùn)行的時(shí)間為224秒畫,畫筆曲線基本接近圓。</p><p> 第三次畫圓設(shè)定以(40,50)為
66、圓心,對(duì)圓周進(jìn)行了8個(gè)點(diǎn)采樣</p><p> 最大的誤差為1.7cm,運(yùn)行的時(shí)間為221秒,畫筆曲線基本接近圓。</p><p> 經(jīng)過三次的畫圓,運(yùn)動(dòng)的軌跡與預(yù)期的軌跡之間的最大偏差為2.2cm,平均的運(yùn)行時(shí)間約為224秒,達(dá)到了預(yù)期的效果。</p><p> (4)直線制作實(shí)際測(cè)量結(jié)果</p><p> 第一次走直線走完連續(xù)線段
67、,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.7cm,連續(xù)線段運(yùn)行時(shí)間為95秒。</p><p> 第二次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差2.2cm,連續(xù)線段運(yùn)行時(shí)間為98秒。</p><p> 第三次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.5cm,連續(xù)線段運(yùn)行時(shí)間為101秒。</p><p> 第四次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間
68、的偏差0.8cm,連續(xù)線段運(yùn)行時(shí)間為94秒。</p><p> 第五次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差2.3cm。走過第一個(gè)斷點(diǎn),走斷續(xù)線段運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差2.4cm,連續(xù)線段運(yùn)行時(shí)間為95秒,第一個(gè)間斷線段運(yùn)行時(shí)間為45秒。</p><p> 第六次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.6cm。走過第一個(gè)斷點(diǎn),走斷續(xù)線段運(yùn)動(dòng)軌跡與預(yù)期軌跡之間
69、的偏差2.2cm,連續(xù)線段運(yùn)行時(shí)間為97秒,第一個(gè)間斷線段運(yùn)行時(shí)間為54秒。</p><p> 第七次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.5cm。走過第二個(gè)斷點(diǎn),走斷續(xù)線段運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.6cm,連續(xù)線段運(yùn)行時(shí)間為92秒,兩個(gè)間斷線段運(yùn)行時(shí)間共為96秒。</p><p> 第八次走直線走完連續(xù)線段,運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.3cm。走過第二個(gè)斷點(diǎn),
70、走斷續(xù)線段運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的偏差1.8cm,連續(xù)線段運(yùn)行時(shí)間為96秒,兩個(gè)間斷線段運(yùn)行時(shí)間共為102秒。</p><p> 八次運(yùn)行物體運(yùn)動(dòng)軌跡與預(yù)期軌跡之間的最大偏差2.6cm,連續(xù)線段平均運(yùn)行時(shí)間約為95秒,間斷線段平均運(yùn)行時(shí)間約為98秒,達(dá)到了預(yù)期的效果。</p><p><b> 4、結(jié)論</b></p><p> 本設(shè)計(jì)是
71、制作一個(gè)懸掛控制系統(tǒng),能夠在平面上進(jìn)行簡(jiǎn)單的圓和直線的制作,方便操作和使用。利用AVR單片機(jī)與步進(jìn)電機(jī)來實(shí)現(xiàn)硬件的設(shè)計(jì),簡(jiǎn)單方便易行。設(shè)計(jì)中采用多邊形的逼近法畫圓和優(yōu)化的算法進(jìn)行的自動(dòng)控制,這種方法實(shí)現(xiàn)了準(zhǔn)確的定位。經(jīng)過整個(gè)設(shè)計(jì)的操作基本達(dá)到的預(yù)期的對(duì)圓和直線的制作。</p><p><b> 5、主要參考文獻(xiàn)</b></p><p> [1] 周興華,AVR單片
72、機(jī)C語(yǔ)言高級(jí)編程設(shè)計(jì),2008,(03)</p><p> [2] 丁化成, 耿德根, 李君凱,AVR單片機(jī)應(yīng)用設(shè)計(jì),2002,(2)</p><p> [3] 陳隆昌,閻治安,劉新正,控制電機(jī),2000,(03)</p><p> [4] 金春林,邱慧芳,張皆喜.AVR系列單片機(jī)C語(yǔ)言編程與應(yīng)用實(shí)例.清華大學(xué)出版社.2003 年11<
73、;/p><p> [5] 劉昭斌. 單片機(jī)控制的溫度控制系統(tǒng)[J]. 蘭州石化職業(yè)技術(shù)學(xué)院學(xué)報(bào) , 1999,(02)</p><p> [6] 李健云, 張振輝, 訾壯輝. 一種新型恒溫控制系統(tǒng)[J]. 黑龍江大學(xué)自然科學(xué)學(xué)報(bào) , 1998,(01)</p><p> [7] 黃偉, 張軍. SR70A 系列 PID 調(diào)節(jié)器[J]. 儀表技術(shù)與傳感器 , 199
74、8,(02)</p><p> [8]Extraction of Chip Power Delivery Current and Activity Variations I. Kantorovich, V. Drabkin, C. Houghton, and J. St. Laurent Intel Corporation, USA </p><p> [9] 李國(guó)勇. 一種改進(jìn)的自適
75、應(yīng)PID控制器[J]. 太原理工大學(xué)學(xué)報(bào) , 2003,(01) </p><p> [10] 劉國(guó)光. 基于模糊算法的自適應(yīng)溫度控制器[J]. 儀器儀表用戶 , 2002,(02) </p><p> [11]朱彤, 任慶昌. PID一模糊控制的應(yīng)用探討[J]. 電氣傳動(dòng)自動(dòng)化 , 2002,(03)</p><p> [12] N Yang, X Y Ya
76、ng, B Wu and S H Ye State Key Lab of Precision Measuring Technology & Instruments of Tianjin</p><p> University, Tianjin, China, 300072</p><p> [13] 黃天戍, 羅璠, 徐長(zhǎng)寶, 任清珍. 一種可靈活使用的溫度控制系統(tǒng)設(shè)計(jì)方法研究
77、[J]. 中國(guó)儀器儀表 , 2003,(07) </p><p> [14] 陳偉明, 劉業(yè)異. 物鏡恒溫水控制的算法研究[J]. 微細(xì)加工技術(shù) , 1998,(03)</p><p> [15] 李泓.AVR單片機(jī)入門與實(shí)踐.北京航空航天大學(xué)出版社. 2008年05</p><p><b> 附件</b></p><
78、p> #include <iom16.h></p><p> #include <macros.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> int i,y,x,r,buj1,buj
79、2,v,w,key;</p><p> char flag=0;</p><p> //sbit cp1 = PB0;</p><p> //sbit cw1 = PB1;</p><p> //sbit cp2 = PB2;</p><p> //sbit cw2 = PB3;</p><
80、;p> float step(float x1,float y1,float x2,float y2)</p><p><b> {</b></p><p> float buj;</p><p> float chd1;</p><p> chd1 = sqrt((x1) * (x1) + y1 * y
81、1) - sqrt((x2) * (x2) + y2 * y2);</p><p> buj = chd1 / 0.01;</p><p> return buj;</p><p><b> }</b></p><p> void delay(int i)</p><p><b>
82、; {</b></p><p> while(i --);</p><p><b> }</b></p><p> void buj(float buj1,float buj2)</p><p><b> {</b></p><p> int i,j,
83、y,b;</p><p> if(buj1 < 0)</p><p><b> {</b></p><p> PORTB|= 0X02; </p><p> buj1 = -buj1;</p><p><b> }</b></p><p&g
84、t;<b> else</b></p><p> PORTB= 0XFC;</p><p> if(buj2 < 0)</p><p><b> {</b></p><p> PORTB|= 0X04;</p><p> buj2 = -buj2; <
85、/p><p><b> }</b></p><p><b> else</b></p><p> PORTB= 0XFB;</p><p> if(buj1 > buj2){</p><p> b = buj1/buj2;</p><p>
86、 y = buj1 - b * buj2;</p><p> for(i = 1; i <= buj2; i ++){</p><p> for(j = 1; j <= b; j ++){</p><p> PORTB|= 0;</p><p> delay(100);</p><p> POR
87、TB= 0XFE;</p><p> delay(100);</p><p><b> }</b></p><p> PORTB= 0XFD;</p><p> delay(100);</p><p> PORTB|= 0X02;</p><p> delay(
88、100); </p><p> if(y != 0){</p><p> PORTB|= 0;</p><p> delay(100);</p><p> PORTB= 0XFE;</p><p> delay(100);</p><p> y --; <
89、;/p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p><b> else{</b></p><p> b = buj2 / buj1;<
90、;/p><p> y = buj2 - buj1 * b;</p><p> for(i = 1; i <= buj1; i ++){</p><p> for(j = 1; j <= b; j ++){</p><p> PORTB= 0XFD;</p><p> delay(100);</p
91、><p> PORTB|= 0X02;</p><p> delay(100); </p><p><b> }</b></p><p> PORTB|= 0;</p><p> delay(100);</p><p> PORTB= 0XFE;</p>
92、;<p> delay(100); </p><p> if(y != 0){</p><p> PORTB= 0XFD;</p><p> delay(100);</p><p> PORTB|= 0X02;</p><p> delay(100); </p><p&g
93、t; y --; </p><p> } </p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p>
94、void delay10ms()</p><p><b> {</b></p><p> unsigned int i,j;</p><p> for(j = 10; j != 0; j --)</p><p> for(i = 125; i != 0; i--);</p><p><
95、;b> }</b></p><p> void yuan(){//畫圓</p><p><b> r = 20;</b></p><p><b> x = 40;</b></p><p><b> y = 30;</b></p><
96、;p> for(i = -1.5707963; i <= 4.85; i = i + 3.1415926 / 180){</p><p> w = 40 + r * cos(i);</p><p> v = 50 + r * sin(i);</p><p> buj1 = step(x + 15,115 - y,w + 15,115 - v);&
97、lt;/p><p> buj2 = step(95 - x,115 - y,95 - w,115 - v);</p><p> buj(buj1,buj2);</p><p><b> x = w;</b></p><p><b> y = v;</b></p><p>
98、<b> }</b></p><p><b> }</b></p><p> void list() //直線</p><p><b> {</b></p><p> buj1 = step(54 + 15,115 - 50,40 + 15,115 - 30);<
99、;/p><p> buj2 = step(95 - 54,115 - 50,95 - 40,115 - 30);</p><p> buj(buj1,buj2);</p><p><b> }</b></p><p> void main()</p><p><b> { <
100、/b></p><p> DDRB = 0XFF;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> do{</b></p><p> while(key);</p&
101、gt;<p> delay10ms();</p><p> if(key == 0)</p><p><b> { </b></p><p><b> flag = 0;</b></p><p><b> mysin();</b></p>
102、<p><b> }</b></p><p><b> else</b></p><p><b> flag = 1;</b></p><p> }while(flag);</p><p><b> do{</b></p>
103、;<p> while(key);</p><p> delay10ms();</p><p> if(key == 0)</p><p><b> { </b></p><p><b> flag = 0;</b></p><p><b&g
104、t; star();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> flag = 1;</b></p><p> }while(flag);</p><p>&l
105、t;b> do{</b></p><p> while(key);</p><p> delay10ms();</p><p> if(key == 0)</p><p><b> { </b></p><p><b> flag = 0;</b&
106、gt;</p><p><b> list();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> flag = 1;</b></p><p> }whil
107、e(flag);</p><p><b> do{</b></p><p> while(key);</p><p> delay10ms();</p><p> if(key == 0)</p><p><b> { </b></p><p
108、><b> flag = 0;</b></p><p><b> yuan();</b></p><p><b> }</b></p><p><b> else</b></p><p><b> flag = 1;</b&
109、gt;</p><p> }while(flag);</p><p><b> do{</b></p><p> while(key);</p><p> delay10ms();</p><p> if(key == 0)</p><p><b>
110、{ </b></p><p><b> flag = 0;</b></p><p><b> san();</b></p><p><b> }</b></p><p><b> else</b></p><p&
111、gt;<b> flag = 1;</b></p><p> }while(flag);</p><p><b> }</b></p><p><b> }</b></p><p><b> 文獻(xiàn)綜述</b></p><p&g
112、t;<b> 懸掛控制系統(tǒng)的設(shè)計(jì)</b></p><p><b> 前言</b></p><p><b> 設(shè)計(jì)的目的:</b></p><p> 通過運(yùn)用 AVR單片機(jī)與步進(jìn)電機(jī),來實(shí)現(xiàn)步進(jìn)電機(jī)在AVR單片機(jī)的控制與驅(qū)動(dòng)下來進(jìn)行簡(jiǎn)單的在規(guī)定的區(qū)域下對(duì)直線與圓的制作,從而使同學(xué)能夠更加的對(duì)單片
113、機(jī)與步進(jìn)電機(jī)有更深入的了解同時(shí)將所學(xué)的知識(shí)快速運(yùn)用到實(shí)際生活工作中。</p><p><b> 選題的意義:</b></p><p> 首先,控制系統(tǒng)目前應(yīng)用于各個(gè)行業(yè)。在許多設(shè)備中都運(yùn)用了此系統(tǒng),關(guān)于此系統(tǒng)的運(yùn)用在不同的設(shè)備與不同的項(xiàng)目中具有不同的簡(jiǎn)稱。此處主要是關(guān)于利用AVR單片機(jī)與步進(jìn)電機(jī)來做一個(gè)懸掛控制系統(tǒng),將此運(yùn)用于畫直線與圓。</p>&
114、lt;p> 其次,所運(yùn)用的AVR單片機(jī)已廣泛地應(yīng)用于軍事、工業(yè)、家用電器、智能玩具、便攜式智能儀表和機(jī)器人制作等領(lǐng)域,使產(chǎn)品功能、精度和質(zhì)量大幅度提升,且電路簡(jiǎn)單,故障率低,可靠性高,成本低廉[1]。在許多的領(lǐng)域AVR單片機(jī)的運(yùn)用使得整個(gè)的系統(tǒng)的設(shè)計(jì)變得簡(jiǎn)單易行。AT90S8535內(nèi)含可反復(fù)編程的Flash程序存儲(chǔ)器、SRAM和EEPROM兩種數(shù)據(jù)存儲(chǔ)器、定時(shí)器/計(jì)數(shù)器、方向可定義的I/O口、同步串行口、異步串行口、A/D轉(zhuǎn)換器
115、及PWM等豐富的內(nèi)部資源。一般的應(yīng)用系統(tǒng)只需此一塊芯片即可實(shí)現(xiàn)智能化[2]。</p><p> 在次,近幾十年來,數(shù)字技術(shù)和電子計(jì)算機(jī)的迅速發(fā)展為此次所用的步進(jìn)電動(dòng)機(jī)的應(yīng)用開辟了廣闊的前景。目前,我國(guó)已較多地方將步進(jìn)電機(jī)用于機(jī)械加工的數(shù)字程序控制機(jī)床中[3]。在現(xiàn)代工業(yè),特別是航空,導(dǎo)彈,無線電等工業(yè)中,要求加工的機(jī)械零件形狀復(fù)雜,數(shù)量多,精度高,人工加工很難到達(dá)要求,而且生產(chǎn)效率低。步進(jìn)電機(jī)在這方面可以顯示出
116、自己的優(yōu)勢(shì)。例如現(xiàn)在隨處可見的打字機(jī)就運(yùn)用了步進(jìn)電機(jī)。</p><p> 通過AVR單片機(jī)的運(yùn)用與步進(jìn)電機(jī)的結(jié)合,來進(jìn)行簡(jiǎn)單的直線與圓的制作,從而將一些書本的知識(shí)快速方便的運(yùn)用到實(shí)際生活中,在實(shí)際生活中隨處可見運(yùn)用這兩種知識(shí)的地方。利用他們的特點(diǎn)可以制作出簡(jiǎn)單易行切便宜的系統(tǒng)。</p><p><b> AVR單片機(jī):</b></p><p&g
117、t; 又稱單片微控制器,它是將一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上,概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)技術(shù)可以說是計(jì)算機(jī)技術(shù)的一個(gè)分支,是簡(jiǎn)易機(jī)器人的核心元件。1997年,由ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生利用ATMEL公司的Flash新技術(shù), 共同研發(fā)出RISC精簡(jiǎn)指令集的高速8位單片機(jī),簡(jiǎn)稱AVR。相對(duì)于出現(xiàn)較早也較為成熟的51系列單片機(jī),AVR系列單片機(jī)片內(nèi)資源更為豐富,接口也更為 強(qiáng)大,同時(shí)由于其價(jià)格低等優(yōu)勢(shì),在很
118、多場(chǎng)合可以替代51系列單片機(jī)。通常在單片機(jī)C 程序里的延時(shí)模塊為一個(gè)計(jì)數(shù)循環(huán),延時(shí)時(shí)間的長(zhǎng)短往往是先估計(jì),后通過實(shí)驗(yàn)或仿真等方法來驗(yàn)證[4]。這個(gè)在對(duì)于控制步進(jìn)電機(jī)方面是個(gè)相當(dāng)好的選擇。</p><p> 對(duì)于一些初學(xué)者來說AVR單片機(jī)的開發(fā)門欖非常低,只要會(huì)操作電腦就可以學(xué)習(xí)AVR單片機(jī)的開發(fā)。同時(shí)AVR單片機(jī)便于升級(jí)。AVR單片機(jī)費(fèi)用低廉,學(xué)習(xí)AVR單片機(jī)可使用ISP在線下載編程方式(即把PC機(jī)上編譯好的程
119、序?qū)懙絾纹瑱C(jī)的程序存儲(chǔ)器中),不需購(gòu)買仿真器、編 程器、擦抹器和芯片適配器等,即可進(jìn)行所有AVR單片機(jī)的開發(fā)應(yīng)用,這可節(jié)省很多開發(fā)費(fèi)用。程序存儲(chǔ)器擦寫可達(dá)10000次以上,不會(huì)產(chǎn)生報(bào)廢品。</p><p><b> 步進(jìn)電機(jī):</b></p><p> 步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一, 廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展
120、,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。</p><p> 它是將脈沖電信號(hào)變換成相應(yīng)的角位移或者直線位移,即給一個(gè)脈沖電信號(hào),電動(dòng)機(jī)就會(huì)轉(zhuǎn)動(dòng)一個(gè)角度或者前進(jìn)一步。由于步進(jìn)電機(jī)具有其精準(zhǔn)度高,可以簡(jiǎn)單易行的控制的特點(diǎn)于是在很多民用工業(yè)與軍工業(yè)上得到了顯著的運(yùn)用。步進(jìn)電機(jī)的角位移量與直線位移量與脈沖數(shù)成正比的關(guān)系,所以在運(yùn)用中我們可以通過控制電信號(hào)的脈沖數(shù)來控制步進(jìn)電機(jī)的運(yùn)動(dòng),從而達(dá)到人們預(yù)期想要
121、得到的效果。</p><p> 步進(jìn)電機(jī)具有眾多的參數(shù)例如:相數(shù),拍數(shù),固有步距角,定位轉(zhuǎn)矩,最大靜轉(zhuǎn)矩等[5]。對(duì)于相數(shù)即為產(chǎn)生不同對(duì)極N、S磁場(chǎng)的激磁線圈對(duì)數(shù),是指電機(jī)內(nèi)部的線圈組數(shù),目前常用的有二相、三相、四相、五相步進(jìn)電機(jī)。電機(jī)相數(shù)不同,其步距角也不同,一般二相電機(jī)的步距角為0.9°/1.8°、三相的為0.75°/1.5°、五相的為0.36°/0.72&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 懸掛控制系統(tǒng)的設(shè)計(jì)【文獻(xiàn)綜述】
- 多工位玻璃壓機(jī)控制系統(tǒng)設(shè)計(jì)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 懸掛控制系統(tǒng)的設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 懸掛控制系統(tǒng)的設(shè)計(jì)【開題報(bào)告】
- 電阻爐溫度控制系統(tǒng)硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于plc的水廠加藥控制系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 多旋翼飛行器控制系統(tǒng)設(shè)計(jì)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 三維運(yùn)動(dòng)平臺(tái)控制系統(tǒng)的硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 消聲器自動(dòng)除塵控制系統(tǒng)設(shè)計(jì)——電氣控制系統(tǒng)硬件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于單片機(jī)的教室照明控制系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于組態(tài)技術(shù)和plc的電梯控制系統(tǒng)設(shè)計(jì)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 基于mcu的交通信號(hào)控制系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 伺服油壓切斷機(jī)——伺服控制系統(tǒng)設(shè)計(jì)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的懸掛運(yùn)動(dòng)控制系統(tǒng)畢業(yè)設(shè)計(jì)開題報(bào)告
- 病房呼叫系統(tǒng)設(shè)計(jì)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 畢業(yè)論文-開題報(bào)告-文獻(xiàn)綜述步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)
- 電阻爐溫度控制系統(tǒng)軟件設(shè)計(jì)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】
- 基于plc的物料傳送分揀控制系統(tǒng)的實(shí)現(xiàn)【開題報(bào)告+文獻(xiàn)綜述+畢業(yè)設(shè)計(jì)】
- 機(jī)器人控制系統(tǒng)設(shè)計(jì)(畢業(yè)設(shè)計(jì))文獻(xiàn)綜述
- 畢業(yè)論文-開題報(bào)告-文獻(xiàn)綜述步進(jìn)電機(jī)控制系統(tǒng)的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論