畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、南京郵電大學(xué)畢 業(yè) 設(shè) 計(jì)(論 文)題 目: 基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì) 專(zhuān) 業(yè): 電氣信息 學(xué)生姓名: 班級(jí)學(xué)號(hào): b06050927 指導(dǎo)教師: 指導(dǎo)單位: 自動(dòng)化學(xué)院 日期:2010年 3月15日至2010年 6月 2日摘 要隨著自動(dòng)控制系統(tǒng)的發(fā)展和對(duì)高精度控制的要求,步進(jìn)電機(jī)在自動(dòng)化控制中扮演著越來(lái)越重要的角色,區(qū)別于普通的直流電機(jī)和交流電機(jī),步進(jìn)電機(jī)可以對(duì)旋轉(zhuǎn)角度和轉(zhuǎn)動(dòng)速度進(jìn)行高精度控制。步進(jìn)電機(jī)作為控制執(zhí)行元件,是機(jī)電一體化的關(guān)鍵組成之一, 廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)和精密機(jī)械等領(lǐng)域。凡需要對(duì)轉(zhuǎn)角和速度進(jìn)行精確控制的情況下,使用步進(jìn)電機(jī)最為理想。隨著集成電路和計(jì)算機(jī)技術(shù)的發(fā)

2、展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有廣泛應(yīng)用。原來(lái)的步進(jìn)電機(jī)控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調(diào)試安裝復(fù)雜,要消耗大量元器件,而且定型之后,要改變控制系統(tǒng)方案就要重新設(shè)計(jì)控制電路。計(jì)算機(jī)則通過(guò)軟件來(lái)控制步進(jìn)電機(jī),更好地挖掘出電動(dòng)機(jī)的潛力。因此,用計(jì)算機(jī)控制步進(jìn)電機(jī)已經(jīng)成為了一種必然的趨勢(shì),不僅方便調(diào)試,而且功能更加靈活。本課題主要涉及步進(jìn)電機(jī)的原理,驅(qū)動(dòng)電路設(shè)計(jì),控制系統(tǒng)設(shè)計(jì)。通過(guò)對(duì)步進(jìn)電機(jī)的控制系統(tǒng)設(shè)計(jì),可以充分了解步進(jìn)電機(jī)的運(yùn)行原理及控制方法。詳細(xì)介紹步進(jìn)電機(jī)的原理,幾種驅(qū)動(dòng)方案的區(qū)別和優(yōu)缺點(diǎn),控制流程,控制方案選擇,步進(jìn)電機(jī)的選擇等,代碼的實(shí)現(xiàn)等??梢栽?/p>

3、不改變外部器件的前提下,通過(guò)鍵盤(pán)和改變程序參數(shù)來(lái)實(shí)現(xiàn)各種各樣的功能,具有很大的靈活性。關(guān)鍵詞:步進(jìn)電機(jī)、控制流程、驅(qū)動(dòng)abstractwith the development of automatic control systems and the requirements of high-precision control,stepper motor control in automation plays an increasingly important role,different from the common dc and ac motor,stepper motor can rot

4、ate the angle and rotation speed of high-precision control. as the implementation of stepper motor control components, stepper motor is a key component of mechanical and electrical integration, widely used in a variety of automatic control systems, and precision machinery and other fields. where the

5、 need for precise control of angle and speed of the case, stepper motor is of the best. with the development of integrated circuits and computer technology, there is increasing demand for stepper motor, and are widely used in various economic fields . the original stepper motor control system compos

6、ed of discrete components or integrated circuit control loop.it not only increases the debug installation complexity, spends a lot of components, and once after setting, to change the control scheme had to be re-designed control circuit. computer can be used to control stepper motors, can better dig

7、 out the motors potential. thus, computer-controlled stepper motor has become an inevitable trend, not only to facilitate debugging, and functions more flexible. these issue mainly relate to the principle of stepper motor, drive circuit design, control system design. by stepping motor control system

8、 design, we can fully understand the principle and operation of stepper motor control. details of the stepper motor principle, several advantages and disadvantages of the difference between driving programs, control flow, control plan selection, selection of the stepper motor, the code realization.

9、not to change the premise of the external device but through the keyboard and change the program parameters to achieve a variety of functions, which has great flexibility.keywords : stepper motor, control flow, drive circuit 目 錄摘 要iiabstractiii第一章 緒論11.1步進(jìn)電機(jī)的發(fā)展概況11.2步進(jìn)電機(jī)的原理及控制11.2.1步進(jìn)電機(jī)的原理11.2.2步進(jìn)電機(jī)

10、的特點(diǎn)61.2.3步進(jìn)電機(jī)的控制7第二章 步進(jìn)電機(jī)的加減速控制82.步進(jìn)電機(jī)加速方案的提出82.2 線性加速82.3 指數(shù)型加速102.4 s型加速112.5 步進(jìn)電機(jī)失步的原因11第三章 控制系統(tǒng)設(shè)計(jì)123.1 控制流程簡(jiǎn)介123.2 鍵盤(pán)掃描143.2.1 線反轉(zhuǎn)法163.2.2 行掃描法163.2.3 循環(huán)掃描173.2.4 中斷法173.2.5 定時(shí)器掃描法183.2.6 鍵盤(pán)的消抖193.2.7 幾種鍵盤(pán)掃描法的比較223.3 脈沖的產(chǎn)生方法233.3.1 定時(shí)器產(chǎn)生脈沖233.3.2 函數(shù)延時(shí)法24第四章 步進(jìn)電機(jī)的驅(qū)動(dòng)方式244.1步進(jìn)電機(jī)的運(yùn)行方式介紹244.2 不同運(yùn)行方式的

11、優(yōu)缺點(diǎn)264.3如何選擇合適的步進(jìn)電機(jī)27第五章 硬件電路測(cè)試與實(shí)驗(yàn)結(jié)果285.1基本功能的實(shí)現(xiàn)情況28結(jié)束語(yǔ)28參考文獻(xiàn)30附錄31第一章 緒論步進(jìn)電機(jī)是將脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、轉(zhuǎn)動(dòng)感的角度、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角。這一線性關(guān)系的存在,加上步進(jìn)電機(jī)在不超載情況下只有周期性的誤差而無(wú)累積誤差等特點(diǎn),使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來(lái)控制變的非常的簡(jiǎn)單1.1步進(jìn)電機(jī)的發(fā)展概況步進(jìn)電機(jī)最早是在1920年代由英國(guó)人發(fā)明。50年代后期,晶體管的發(fā)明也促進(jìn)了在步進(jìn)

12、電機(jī)的發(fā)展使其對(duì)于數(shù)字化的精確控制變得更為容易。此后經(jīng)過(guò)不斷改良,使得今日步進(jìn)電機(jī)已廣泛運(yùn)用在需要高定位精度、高分解能、高響應(yīng)性、信賴(lài)性等靈活控制性高的機(jī)械系統(tǒng)中。在生產(chǎn)過(guò)程中要求效率高、自動(dòng)化、省人力的機(jī)械中,我們很容易發(fā)現(xiàn)步進(jìn)電機(jī)的蹤跡,尤其以位置控制、重視速度、需要精確操作各項(xiàng)指令動(dòng)作的靈活控制性場(chǎng)合步進(jìn)電機(jī)最為常見(jiàn)。1.2步進(jìn)電機(jī)的原理及控制1.2.1步進(jìn)電機(jī)的原理步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開(kāi)環(huán)控制元件,一般情況下并不需要閉環(huán)控制。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角。這一線性關(guān)系的存在,以

13、及步進(jìn)電機(jī)只有周期性的誤差而無(wú)累積誤差的特點(diǎn),使得在速度、位置等控制領(lǐng)域用步進(jìn)電機(jī)來(lái)控制變的非常的簡(jiǎn)單,同時(shí)電路無(wú)需閉環(huán)反饋,電路簡(jiǎn)單。下面簡(jiǎn)要介紹一下步進(jìn)電機(jī)的構(gòu)造,圖1和圖2為四相步進(jìn)電機(jī)的內(nèi)部構(gòu)造。圖 1 步進(jìn)電機(jī)內(nèi)部構(gòu)造開(kāi)始時(shí),開(kāi)關(guān)sb接通,sa、sc、sd斷開(kāi),b相和0、3號(hào)齒對(duì)齊,同時(shí),轉(zhuǎn)子的1、4號(hào)齒就和c、d相繞組磁極產(chǎn)生錯(cuò)齒,2、5號(hào)齒就和d、a相繞組磁極產(chǎn)生錯(cuò)齒。當(dāng)sc接通,sb、sa、sd斷開(kāi)時(shí),由于c相繞組的磁力線和1、4號(hào)齒之間磁力線的作用,使轉(zhuǎn)子轉(zhuǎn)動(dòng),1、4號(hào)齒和c相繞組的磁極對(duì)齊。而2、5號(hào)齒就和a、d相繞組磁極產(chǎn)生錯(cuò)齒, 0、3號(hào)齒和a、b相繞組產(chǎn)生錯(cuò)齒。依次類(lèi)

14、推,a、b、c、d四相繞組輪流供電,則轉(zhuǎn)子會(huì)沿著a、b、c、d方向轉(zhuǎn)動(dòng)。如果按照相反的方向來(lái)發(fā)送脈沖,則步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)方向正好相反。單四拍、雙四拍和八拍工作方式的電源通電時(shí)序與波形分別如圖2.a、b、c所示:圖2.步進(jìn)電機(jī)工作時(shí)序波形圖力矩: 電機(jī)一旦通電,在定轉(zhuǎn)子間將產(chǎn)生磁場(chǎng)(磁通量)當(dāng)轉(zhuǎn)子與定子錯(cuò)開(kāi)一定角度產(chǎn)生力f與(d/d)成正比其磁通量=br*sbr為磁密,s為導(dǎo)磁面積 f與l*d*br成正比 l為鐵芯有效長(zhǎng)度,d為轉(zhuǎn)子直徑 br=ni/rni為勵(lì)磁繞阻安匝數(shù)(電流乘匝數(shù))r為磁阻。力矩=力*半徑力矩與電機(jī)有效體積*安匝數(shù)*磁密 成正比(只考慮線性狀態(tài))因此,電機(jī)有效體積越大,勵(lì)磁安匝

15、數(shù)越大,定轉(zhuǎn)子間氣隙越小,電機(jī)力矩越大,反之亦然。這次選用的的步進(jìn)電機(jī)的牽入轉(zhuǎn)矩40mn,自定位轉(zhuǎn)矩34mn。步進(jìn)電機(jī)的分類(lèi):步進(jìn)電機(jī)依其構(gòu)造上的差異可分為三大類(lèi):可變磁阻式(vr型):轉(zhuǎn)子以軟鐵加工成齒狀,當(dāng)定子線圈不加激磁電壓時(shí),保持轉(zhuǎn)矩為零,故其轉(zhuǎn)子慣性小、響應(yīng)性佳,但其容許負(fù)荷慣性并不大。其步進(jìn)角通常為15。無(wú)保持轉(zhuǎn)矩,所以定位性不好,應(yīng)用場(chǎng)合不大。永久磁鐵式(pm型):轉(zhuǎn)子由永久磁鐵構(gòu)成,其磁化方向?yàn)檩椣虼呕?,無(wú)激磁時(shí)有保持轉(zhuǎn)矩。依轉(zhuǎn)子材質(zhì)區(qū)分,其步進(jìn)角有45、90及7.5、11.25、15、18等幾種。混和式(hb型):轉(zhuǎn)子由軸向磁化的磁鐵制成,磁極做成復(fù)極的形式,其乃兼采可變磁阻

16、式步進(jìn)電機(jī)及永久磁鐵式步進(jìn)電機(jī)的優(yōu)點(diǎn),精確度高、轉(zhuǎn)矩大、步進(jìn)角度小。目前市場(chǎng)上所使用的工業(yè)用步進(jìn)電機(jī),以混和式最為普遍步進(jìn)電機(jī)動(dòng)態(tài)指標(biāo)及術(shù)語(yǔ):1、步距角精度: 步進(jìn)電機(jī)每轉(zhuǎn)過(guò)一個(gè)步距角的實(shí)際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運(yùn)行拍數(shù)其值不同,四拍運(yùn)行時(shí)應(yīng)在5%之內(nèi),八拍運(yùn)行時(shí)應(yīng)在15%以?xún)?nèi)。2、失步: 電機(jī)運(yùn)轉(zhuǎn)時(shí)運(yùn)轉(zhuǎn)的步數(shù),不等于理論上的步數(shù)。稱(chēng)之為失步。3、失調(diào)角: 轉(zhuǎn)子齒軸線偏移定子齒軸線的角度,電機(jī)運(yùn)轉(zhuǎn)必存在失調(diào)角,由失調(diào)角產(chǎn)生的誤差,采用細(xì)分驅(qū)動(dòng)是不能解決的。4、最大空載起動(dòng)頻率: 電機(jī)在某種驅(qū)動(dòng)形式、電壓及額定電流下,在不加負(fù)載的情況下,能夠直接起動(dòng)的最大頻

17、率。5、最大空載的運(yùn)行頻率: 電機(jī)在某種驅(qū)動(dòng)形式,電壓及額定電流下,電機(jī)不帶負(fù)載的最高轉(zhuǎn)速頻率。6、運(yùn)行矩頻特性: 電機(jī)在某種測(cè)試條件下測(cè)得運(yùn)行中輸出力矩與頻率關(guān)系的曲線稱(chēng)為運(yùn)行矩頻特性,這是電機(jī)諸多動(dòng)態(tài)曲線中最重要的,也是電機(jī)選擇的根本依據(jù)。如圖3所示:圖 2 步進(jìn)電機(jī)力矩頻率特性其它特性還有慣頻特性、起動(dòng)頻率特性等。 電機(jī)一旦選定,電機(jī)的靜力矩確定,而動(dòng)態(tài)力矩卻不然,電機(jī)的動(dòng)態(tài)力矩與電機(jī)運(yùn)行時(shí)的平均電流有關(guān)系,平均電流越大,電機(jī)輸出力矩越大,則電機(jī)的頻率特性曲線越硬。如圖4所示:圖 4步進(jìn)電機(jī)力矩頻率特性其中,曲線3電流最大、或電壓最高;曲線1電流最小、或電壓最低,曲線與負(fù)載的交點(diǎn)為負(fù)載的

18、最大速度點(diǎn)。要使平均電流大,盡可能提高驅(qū)動(dòng)電壓,使采用小電感大電流的電機(jī)。7、電機(jī)的共振點(diǎn):步進(jìn)電機(jī)均有固定的共振區(qū)域,二、四相感應(yīng)子式步進(jìn)電機(jī)的共振區(qū)一般在180-250pps之間(步距角1.8度)或在400pps左右(步距角為0.9度),電機(jī)驅(qū)動(dòng)電壓越高,電機(jī)電流越大,負(fù)載越輕,電機(jī)體積越小,則共振區(qū)向上偏移,反之亦然,為使電機(jī)輸出電矩大,不失步和整個(gè)系統(tǒng)的噪音降低,一般工作點(diǎn)均應(yīng)偏移共振區(qū)較多。8、電機(jī)正反轉(zhuǎn)控制: 對(duì)于不同的步進(jìn)電機(jī)當(dāng)需要控制正反轉(zhuǎn)的時(shí)候發(fā)送的脈沖也是不同的,對(duì)于這次選的步進(jìn)電機(jī),正轉(zhuǎn)的脈沖次序?yàn)?x01,0x02,0x04,0x08,當(dāng)需要反轉(zhuǎn)的時(shí)候,發(fā)送的脈沖次序?yàn)?/p>

19、0x08,0x04,0x02,0x01。當(dāng)需要反轉(zhuǎn)次序的時(shí)候,只需要改變脈沖即可1.2.2步進(jìn)電機(jī)的特點(diǎn) 步進(jìn)電機(jī)由于其特殊的構(gòu)造使其相對(duì)于普通電機(jī)有一些優(yōu)越的特點(diǎn),簡(jiǎn)要介紹如下:高精度的定位:步進(jìn)電機(jī)最大特征即是能夠簡(jiǎn)單的做到高精度的定位控制。以5相步進(jìn)電機(jī)為例:其分辨率為0.72(全步級(jí))/0.36(半步級(jí)),是非常細(xì)小的;停止定位精度誤差皆在0.05以?xún)?nèi),因?yàn)椴竭M(jìn)電機(jī)的特點(diǎn),無(wú)累積誤差,故可達(dá)到很高的控制精度。位置及速度控制:步進(jìn)電機(jī)在輸入脈沖信號(hào)時(shí),可以依輸入的脈沖數(shù)做固定角度的回轉(zhuǎn)進(jìn)而得到靈活的位置控制,并可得到與該脈沖信號(hào)頻率成比例的回轉(zhuǎn)速度。開(kāi)回路控制、不必依賴(lài)傳感器定位:步進(jìn)電

20、機(jī)的控制系統(tǒng)構(gòu)造簡(jiǎn)單,無(wú)累積誤差,不需要速度感應(yīng)器及位置傳感器,無(wú)需復(fù)雜的反饋電路,就能以輸入的脈波做速度及位置的控制。也因其屬開(kāi)回路控制,故最適合于短距離、高頻度、高精度之定位控制的場(chǎng)合下使用。具定位保持力:步進(jìn)電機(jī)在停止?fàn)顟B(tài)下,雖然沒(méi)有脈沖輸入,仍具有激磁保持力,故即使不依靠機(jī)械式的剎車(chē),也能做到停止位置的保持,所以定位很精確。動(dòng)作靈敏:步進(jìn)電機(jī)因?yàn)榫哂袃?yōu)異的加速性能,選擇不同的加速方案,可以可做到瞬時(shí)停止、起動(dòng)、正反轉(zhuǎn)和快速、頻繁的定位動(dòng)作。高信賴(lài)性:使用步進(jìn)電機(jī)裝置與使用離合器、減速機(jī)及極限開(kāi)關(guān)等其它裝置相較,步進(jìn)電機(jī)的故障及誤動(dòng)作少,所以在檢查及保養(yǎng)時(shí)也較簡(jiǎn)單容易。小型、高功率:步進(jìn)

21、電機(jī)扭力大、體積小,可以方便的安裝和調(diào)試,同時(shí)能夠提供很高的轉(zhuǎn)矩。步進(jìn)電機(jī)的速度轉(zhuǎn)矩特性速度-轉(zhuǎn)矩特性曲線取決于電機(jī)和驅(qū)動(dòng)器,其中驅(qū)動(dòng)器占主要的角色,一個(gè)好的驅(qū)動(dòng)器可以提供很高的驅(qū)動(dòng)電流和很短相應(yīng)時(shí)間,因此選擇一個(gè)合適的驅(qū)動(dòng)器尤為重要。1.2.3步進(jìn)電機(jī)的控制步進(jìn)電機(jī)的控制是本次設(shè)計(jì)的一個(gè)重要組成部分,對(duì)步進(jìn)電機(jī)的控制主要是對(duì)脈沖信號(hào)的控制。脈沖的產(chǎn)生有兩種方法,一種是用專(zhuān)用的驅(qū)動(dòng)芯片來(lái)產(chǎn)生脈沖信號(hào)。這些芯片稱(chēng)為脈沖分配器。這些芯片已經(jīng)高度集成化,不僅可以提供步進(jìn)電機(jī)工作需要的工作電流,而且還可以根據(jù)指令來(lái)選擇不同的驅(qū)動(dòng)方案。例如廣泛使用的ta8435h芯片,這是單片正弦細(xì)分二相步進(jìn)電機(jī)驅(qū)動(dòng)專(zhuān)

22、業(yè)芯片,輸出電流可達(dá)1.5a,峰值2.5a。工作電壓寬10v-40v,具有整步,半步,1/4細(xì)分,1/8細(xì)分,運(yùn)行方式可供選擇,采用脈寬調(diào)制式斬波驅(qū)動(dòng)方式,具有復(fù)位和使能引腳,可選擇使用單時(shí)鐘輸入或雙時(shí)鐘輸入。外部信號(hào)只需要提供一個(gè)時(shí)鐘脈沖信號(hào)來(lái)控制速度,和一個(gè)方向信號(hào)來(lái)控制方向,不需要額外的脈沖分配電路。采用ta8435h 構(gòu)成步進(jìn)電機(jī)驅(qū)動(dòng)器, 利用此芯片輸出步進(jìn)脈沖的設(shè)計(jì)方案具有占用cpu時(shí)間 短、編程容易、結(jié)構(gòu)簡(jiǎn)單、成本低、可靠性好、抗干擾 能力強(qiáng)等優(yōu)點(diǎn), 因此可在控制和測(cè)量領(lǐng)域中得到廣 泛應(yīng)用。但是其成本很高,只適合工業(yè)要求較為嚴(yán)格的場(chǎng)所。另一種控制方法是用單片機(jī)提供控制脈沖,提供給驅(qū)

23、動(dòng)芯片,由驅(qū)動(dòng)芯片來(lái)驅(qū)動(dòng)電機(jī)。這里的驅(qū)動(dòng)電路只是用來(lái)提供單片機(jī)工作所需要的電流,并沒(méi)有脈沖分配功能,其作用相當(dāng)于一個(gè)繼電器。常用的驅(qū)動(dòng)芯片為uln2003,又稱(chēng)為達(dá)林頓管,為雙列16腳,最大驅(qū)動(dòng)電壓為50v,最大驅(qū)動(dòng)電流500ma,適用于ttl和cmos電路。由七個(gè)硅npn 達(dá)林頓管組成。uln2003 的每一對(duì)達(dá)林頓都串聯(lián)一個(gè)2.7k 的基極電阻,在5v 的工作電壓下它能與ttl 和cmos 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來(lái)處理的數(shù)據(jù)。uln2003 工作電壓高,工作電流大,灌電流可達(dá)500ma,并且能夠在關(guān)態(tài)時(shí)承受50v 的電壓,輸出還可以在高負(fù)載電流并行運(yùn)行。在有單片機(jī)

24、驅(qū)動(dòng)時(shí),只需要一個(gè)2k的上拉電阻。uln2003是高電壓,大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高,工作電壓高,溫度范圍寬,帶負(fù)載能力強(qiáng)扥特點(diǎn),適用于各類(lèi)要求告訴大功率驅(qū)動(dòng)系統(tǒng)。在本次實(shí)驗(yàn)中采用的便是這個(gè)方案,單片機(jī)的口接uln2003,用來(lái)驅(qū)動(dòng)步進(jìn)電機(jī),脈沖由軟件產(chǎn)生,p20p23口接uln2003,然后來(lái)驅(qū)動(dòng)步進(jìn)電機(jī)。 第二章 步進(jìn)電機(jī)的加減速控制2.步進(jìn)電機(jī)加速方案的提出從步進(jìn)電機(jī)的矩頻特性可知,步進(jìn)電機(jī)的輸出轉(zhuǎn)矩隨著轉(zhuǎn)速的不斷上升而下降,啟動(dòng)速度越高,啟動(dòng)轉(zhuǎn)矩就越小,負(fù)載的能力越差,可能造成啟動(dòng)失步,而在停止時(shí)又會(huì)發(fā)生過(guò)沖,造成定位不準(zhǔn)。為了使步進(jìn)電機(jī)迅速的達(dá)到所要求的速度,并且

25、而又不過(guò)沖或失步,其關(guān)鍵在于使加速過(guò)程中加速度所要求的轉(zhuǎn)矩既能充分利用步進(jìn)電機(jī)在各個(gè)運(yùn)行頻率下所提供的轉(zhuǎn)矩,又不允許超過(guò)這個(gè)轉(zhuǎn)矩,否則造成失步。因此,步進(jìn)電機(jī)的運(yùn)行一般要經(jīng)過(guò)加速、勻速、減速三個(gè)階段,要求加減速過(guò)程時(shí)間盡量的短,恒速時(shí)間盡量長(zhǎng)。尤其是在要求響應(yīng)時(shí)間比較小的過(guò)程中,從開(kāi)始到終點(diǎn)運(yùn)行的時(shí)間要求最短,這就必須要求縮小加速、減速時(shí)間,而使恒速運(yùn)行時(shí)的速度最高。2.2 線性加速 線性加-減速控制法的快速性好,且較易獲得解析解,對(duì)mcu的占用率小,并可將其進(jìn)一步離散化,從而便于計(jì)算機(jī)實(shí)現(xiàn)。而其他兩種方法難以進(jìn)行直接離散化,計(jì)算機(jī)實(shí)現(xiàn)較為困難。因此 ,本次設(shè)計(jì)統(tǒng)選擇采用線性加-減速控制技術(shù)來(lái)

26、達(dá)到電機(jī)的高速轉(zhuǎn)動(dòng)。電機(jī)的轉(zhuǎn)速可由公式 (1)給出。 v =v0+ at ( 1)其中,v為電機(jī)轉(zhuǎn)速;v0為電機(jī)啟動(dòng)轉(zhuǎn)速;a為電機(jī)加速度;t為電機(jī)加速時(shí)間。若ti為相鄰兩個(gè)進(jìn)給脈沖之間的時(shí)間間隔(單位: s) ,vi為進(jìn)給一步后的末速度(單位:步/秒)。a為進(jìn)給一步的加速度(單位:步/秒2 )。則有: (2)由此可計(jì)算出相鄰兩個(gè)進(jìn)給脈沖間的時(shí)間間隔為: ( 3)其中, t0可取電機(jī)的啟動(dòng)頻率,在系統(tǒng)中取250hz。減速過(guò)程為其逆過(guò)程。線性加減速控制快速性較好,且算法較為簡(jiǎn)單,容易實(shí)現(xiàn),缺點(diǎn)是加速時(shí)間較長(zhǎng),電機(jī)通過(guò)其諧振點(diǎn)加速可能會(huì)有困難。在步進(jìn)電機(jī)不失步的前提下,驅(qū)動(dòng)脈沖頻率變化的加速度和步進(jìn)

27、電機(jī)轉(zhuǎn)子的角加速度成正比。在步進(jìn)電機(jī)的轉(zhuǎn)矩隨脈沖頻率的上升保持恒定時(shí),直線規(guī)律的升降速才是理想的升降速曲線,但是實(shí)際上步進(jìn)電機(jī)的轉(zhuǎn)矩隨轉(zhuǎn)速的的不斷上升而下降,所以其加速曲線線就不是理想的升降速曲線。因此,按直線規(guī)律升降速來(lái)計(jì)算加速 這種方法雖然實(shí)現(xiàn)簡(jiǎn)單,但是它不能保證在升降速的過(guò)程中步進(jìn)電機(jī)的輸出力矩與轉(zhuǎn)子的角加速度相適應(yīng),不能讓電機(jī)的加速性能最大發(fā)揮。2.3 指數(shù)型加速這種方法是從步進(jìn)電機(jī)的矩頻特性出發(fā),根據(jù)轉(zhuǎn)矩隨頻率的變化規(guī)律推導(dǎo)出來(lái)的。它符合步進(jìn)電機(jī)加減速過(guò)程的運(yùn)動(dòng)規(guī)律,能充分利用步進(jìn)電機(jī)的有效轉(zhuǎn)矩,快速響應(yīng)性能較好,升降時(shí)間短。指數(shù)升降控制具有較強(qiáng)的跟蹤能力,其缺點(diǎn)是當(dāng)速度變化較大時(shí)平

28、衡性較差,一般適用于跟蹤響應(yīng)要求較高的切削加工中。本次單片機(jī)使用使用分頻器的方式來(lái)控制步進(jìn)電機(jī)的速度,升降速控制實(shí)際上是不斷改變分頻器初載值的大小。指數(shù)曲線由于無(wú)法通過(guò)程序編制來(lái)實(shí)現(xiàn),可以用階梯曲線來(lái)逼近升速曲線,不一定每步都計(jì)算裝載值。圖 5 步進(jìn)電機(jī)理想升速和實(shí)際升速曲線如圖5所示,縱坐標(biāo)為頻率,單位是步/秒,其實(shí)反映了轉(zhuǎn)速的高低。橫坐標(biāo)為時(shí)間,各段時(shí)間內(nèi)走過(guò)的步數(shù)用n來(lái)表示,步數(shù)其實(shí)反映了行程。圖中標(biāo)出理想升速曲線和實(shí)際升速曲線。程序執(zhí)行過(guò)程中,對(duì)每檔速度都要計(jì)算在這檔速度應(yīng)走的步數(shù),然后以遞減方式檢查,即每走一步,每檔步數(shù)減1。當(dāng)減至零時(shí),表示該檔速度應(yīng)走的步數(shù)己走完,應(yīng)進(jìn)入下一檔速度

29、。一直循環(huán)到給出的速度大于或等于給定的速度為止。減速過(guò)程與升速過(guò)程剛好相反。2.4 s型加速s型加減速曲線,其加減速過(guò)程比較復(fù)雜,分為7個(gè)階段,加加速運(yùn)動(dòng)階段、加速運(yùn)動(dòng)階段、減加速運(yùn)動(dòng)階段、勻速運(yùn)動(dòng)階段、加減速運(yùn)動(dòng)階段、減速運(yùn)動(dòng)階段、減減速運(yùn)動(dòng)階段。其主要適用于對(duì)加減速平穩(wěn)性要求較高的工業(yè)環(huán)境里。 圖 6 s型加速曲線圖6為s型加速曲線,實(shí)際中要是步進(jìn)電機(jī)按照*8級(jí)進(jìn)行分段,根據(jù)設(shè)定的加速的總時(shí)間,求出每級(jí)運(yùn)行頻率的運(yùn)運(yùn)行時(shí)間,就能確定需要的脈沖數(shù),可以將其寫(xiě)入到一個(gè)表中,待給定時(shí)器初始化的時(shí)候在寫(xiě)入到定時(shí)值。2.5 步進(jìn)電機(jī)失步的原因步進(jìn)電機(jī)的失步有兩種原因。第一種原因是轉(zhuǎn)子的加速度慢于步進(jìn)

30、電機(jī)的旋轉(zhuǎn)磁場(chǎng)的加速度,也即是低于換相速度而產(chǎn)生的。這時(shí)是因?yàn)檩斎穗姍C(jī)的電能不足。定子磁場(chǎng)產(chǎn)生的同步力矩?zé)o法驅(qū)動(dòng)轉(zhuǎn)子跟隨磁場(chǎng)換相的旋轉(zhuǎn)速度,從而引起失步。而且凡是大于此時(shí)頻率的工作頻率都必將失步。這種失步說(shuō)明了步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)力矩不夠??梢酝ㄟ^(guò)減少負(fù)載,或者提高繞組中的激磁電流,就有可能克服步進(jìn)電機(jī)的失步。 第二種原因是轉(zhuǎn)子的平均速度比磁場(chǎng)換相的平均旋轉(zhuǎn)速度快。由于定子通電激磁的時(shí)間較長(zhǎng),大于轉(zhuǎn)子步進(jìn)一步所需的時(shí)間。 則轉(zhuǎn)子在步進(jìn)過(guò)程中獲得了額外的能量, 從而產(chǎn)生前沖和后沖的擺動(dòng)振蕩。當(dāng)振蕩足夠嚴(yán)重時(shí)就導(dǎo)致失步。所以, 在步進(jìn)電機(jī)的起始時(shí)刻,加速度要小防止失步。然后逐漸加速至高速運(yùn)行, 可避免失

31、步。第三章 控制系統(tǒng)設(shè)計(jì)3.1 控制流程簡(jiǎn)介下面簡(jiǎn)要介紹一下這次步進(jìn)電機(jī)控制系統(tǒng)的控制流程:控制流程如下:剛上電的時(shí)候?qū)纹瑱C(jī)進(jìn)行初始化,主要完成開(kāi)定時(shí)中斷,對(duì)定時(shí)器1的初始化,設(shè)定鍵盤(pán)掃描的間隔時(shí)間為20ms,同時(shí)完成對(duì)全局靜態(tài)變量的定義與初始化。初始化介紹之后定時(shí)器1開(kāi)始運(yùn)行,周期掃描鍵盤(pán),如果有鍵盤(pán)按下則進(jìn)入鍵值處理程序keydeal(),然后處理每一次按鍵。鍵盤(pán)的布局為4*4的16鍵鍵盤(pán),前10個(gè)鍵表示09共10個(gè)數(shù)字,其余的鍵功能如下圖所示:0124456789a 啟動(dòng)b 停止c 設(shè)置d 確定e 換向f 模式轉(zhuǎn)換啟動(dòng)按鈕是用來(lái)啟動(dòng)定時(shí)器0,以產(chǎn)生產(chǎn)生定時(shí)脈沖,才控制步進(jìn)電機(jī)的運(yùn)行。停

32、止按鈕式用來(lái)關(guān)閉定時(shí)器0,當(dāng)需要停止時(shí),按動(dòng)此按鈕便可停止步進(jìn)電機(jī)的運(yùn)行。設(shè)置按鈕式用來(lái)設(shè)置步進(jìn)電機(jī)的運(yùn)行速度或者旋轉(zhuǎn)角度的,其工作模式又f鍵來(lái)控制,默認(rèn)的工作模式是勻速運(yùn)轉(zhuǎn),當(dāng)按下f鍵是,步進(jìn)電機(jī)便進(jìn)入定位模式,可以按照設(shè)定的角度來(lái)工作。當(dāng)需要換向的時(shí)候,在設(shè)置速度之前,按下?lián)Q向按鈕便可以。步進(jìn)電機(jī)的脈沖函數(shù)是由paulse(unchar d)函數(shù)提供的,入口函數(shù)是方向位,用它來(lái)控制脈沖的發(fā)送方向。如果d為1,則步進(jìn)電機(jī)倒轉(zhuǎn),默認(rèn)是正轉(zhuǎn),其方向可由鍵盤(pán)來(lái)控制3.2 鍵盤(pán)掃描鍵盤(pán)掃描是本次設(shè)計(jì)的關(guān)鍵部分,鍵盤(pán)是電機(jī)的參數(shù)輸入設(shè)備。鍵盤(pán)是由若干個(gè)按鍵開(kāi)關(guān)組成,鍵的多少根據(jù)單片機(jī)應(yīng)用系統(tǒng)的用途而定

33、。鍵盤(pán)由許多鍵組成,而每個(gè)鍵相當(dāng)于一個(gè)機(jī)械開(kāi)關(guān)觸點(diǎn),當(dāng)鍵按下時(shí),觸點(diǎn)閉合,當(dāng)鍵松開(kāi)時(shí),觸點(diǎn)斷開(kāi)。單片機(jī)接收到按鍵的觸點(diǎn)信號(hào)后作相應(yīng)的功能處理。在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少i/o口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤(pán)中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如p1口)就可以構(gòu)成4*4= 16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。除了矩陣式鍵盤(pán)外還有獨(dú)立式鍵盤(pán)。獨(dú)立式鍵盤(pán)的每個(gè)按鍵都與單片機(jī)電路相連,所有按鍵都通過(guò)一個(gè)公共端與高電平相

34、連,鍵之間相互獨(dú)立互不影響。如下圖所示,當(dāng)按下鍵1時(shí),無(wú)論其它鍵是否按下,鍵1的信號(hào)線就由1變0;當(dāng)松開(kāi)鍵1時(shí),無(wú)論其它鍵是否按下,鍵1的信號(hào)線就由0變1。圖7獨(dú)立式鍵盤(pán)常用電路:圖 7 獨(dú)立式鍵盤(pán)電路由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的,所以本次實(shí)驗(yàn)用的是4*4的矩陣式鍵盤(pán)。圖8為本次實(shí)驗(yàn)用的4*4鍵盤(pán)圖 8 矩陣式鍵盤(pán)電路鍵盤(pán)掃描程序一直以來(lái)都占有這較大的cpu資源,因此選擇一個(gè)合適的掃描方案十分重要。下面是幾種常用的掃描方案,常用的鍵盤(pán)掃描電路如下:3.2.1 線反轉(zhuǎn)法線反轉(zhuǎn)法是比較常用的鍵盤(pán)掃描法,其掃描流程如下 1:將列線作為輸出線,行線作為輸入線。置輸出線全部

35、為0,此時(shí)行線中呈低電平0的為按鍵所在行,如果全部都不是0,則沒(méi)有按鍵按下。 2:將第一步反過(guò)來(lái),即將行線作為輸出線,列線作為輸入線。置輸出線全部為0,此時(shí)列線呈低電平的為按鍵所在的列。這樣,就可以確定了按鍵的位置(x,y)。3:key=x*4+y.key即為多得到的鍵值。線反轉(zhuǎn)法原理簡(jiǎn)單,實(shí)現(xiàn)方便,代碼簡(jiǎn)短,是比行掃描法更快更穩(wěn)定的方法,本次實(shí)驗(yàn)就是用的線反轉(zhuǎn)法。 此外還要注意去抖動(dòng),去抖動(dòng)的方法比較多,在下一部分介紹,另外還需要在行線上加上拉電阻,就是焊接電路中的四個(gè)電阻。3.2.2 行掃描法1 判斷鍵盤(pán)中有無(wú)鍵按下將全部行線 p10-p13 置低電平,然后檢測(cè)列線的狀態(tài),只要有一列的電平

36、為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中若所有列線均為高電平則表示鍵盤(pán)中無(wú)鍵按下2 判斷閉合鍵所在的位置在確認(rèn)有鍵按下后 即可進(jìn)入確定具體閉合鍵的過(guò)程 其方法是 依次將行線置為低電平即在 置某根行線為低電平時(shí) 其它線為高電平當(dāng)確定某根行線為低電平后 再逐行檢測(cè)各列線的電平狀態(tài)若某列為低 則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵3.2.3 循環(huán)掃描查詢(xún)方式是指在程序中用一段專(zhuān)門(mén)的掃描和讀按鍵程序不停查詢(xún)有無(wú)按鍵按下,確定鍵值。這種方式電路簡(jiǎn)單,但需要占用單片機(jī)的機(jī)器時(shí)間。一直占用著mcu的時(shí)間,效率很低,一般不采用。只在一些簡(jiǎn)單的程序中才會(huì)

37、用到。3.2.4 中斷法中斷法就是利用單片機(jī)的外部中斷來(lái)進(jìn)入鍵盤(pán)掃描程序,此時(shí)則需要對(duì)鍵盤(pán)電路做一下改動(dòng),因?yàn)槔玫氖峭獠恐袛?,同時(shí)中斷觸發(fā)方式選擇下降沿觸發(fā),因此改動(dòng)后的鍵盤(pán)電路如圖9:圖 9 中斷式矩陣掃描鍵盤(pán)電路當(dāng)任何一個(gè)鍵被按下時(shí),都會(huì)在p14p17產(chǎn)生一個(gè)下降沿電平,同時(shí)4與門(mén)的輸出口也會(huì)產(chǎn)生一個(gè)下降沿,在單片機(jī)的p32口產(chǎn)生一個(gè)外部中斷,同時(shí)進(jìn)入中斷服務(wù)程序,進(jìn)行鍵盤(pán)的掃描和處理。其余的鍵盤(pán)掃描程序跟循環(huán)掃描一樣。其優(yōu)點(diǎn)是不占用mcu時(shí)間,只有在有鍵盤(pán)輸入的時(shí)候才進(jìn)入中斷處理程序,進(jìn)行鍵值確認(rèn)和處理,實(shí)時(shí)性高,不會(huì)出現(xiàn)定時(shí)方式時(shí)的檢測(cè)不到鍵盤(pán)的情況。這種方式硬件電路上必須要產(chǎn)生中

38、斷線,需要額外的邏輯門(mén)來(lái)產(chǎn)生中斷信號(hào),線路相對(duì)查詢(xún)式和定時(shí)掃描時(shí)比較復(fù)雜,但是由于他的優(yōu)點(diǎn)很明確,所以應(yīng)用場(chǎng)合很廣泛。3.2.5 定時(shí)器掃描法定時(shí)掃描方式是指利用單片機(jī)內(nèi)的定時(shí)器來(lái)產(chǎn)生定時(shí)中斷,然后在定時(shí)中斷的服務(wù)程序中設(shè)置鍵盤(pán)掃描程序,檢查有無(wú)按鍵按下,確定鍵值。這種方式的電路也比較簡(jiǎn)單,跟普通的查詢(xún)式鍵盤(pán)的硬件是一樣的。其優(yōu)點(diǎn)是不占用單片機(jī)的機(jī)器時(shí)間,軟件開(kāi)銷(xiāo)少,但需要占用一個(gè)定時(shí)器,同時(shí)定時(shí)的時(shí)間應(yīng)該設(shè)置好,不能太長(zhǎng)也不能太短,長(zhǎng)了可能檢測(cè)不到相應(yīng)得按鍵,短了的話會(huì)加重機(jī)器開(kāi)銷(xiāo)。對(duì)本次實(shí)驗(yàn)來(lái)說(shuō),采用的就是這種方案,定時(shí)器用的是定時(shí)器1,定時(shí)掃描間隔為20ms,定時(shí)器0用來(lái)產(chǎn)生控制步進(jìn)電機(jī)

39、的驅(qū)動(dòng)脈沖。3.2.6 鍵盤(pán)的消抖通常的按鍵所用開(kāi)關(guān)材料為彈性材料,當(dāng)機(jī)械觸點(diǎn)斷開(kāi)、閉合時(shí),由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開(kāi)關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,并且在斷開(kāi)時(shí)也不會(huì)一下子斷開(kāi)。因而在閉合及斷開(kāi)的瞬間均伴隨有一連串的抖動(dòng),如圖10所示。抖動(dòng)時(shí)間的長(zhǎng)短由按鍵的機(jī)械特性決定,一般為5ms10ms。這是一個(gè)很重要的時(shí)間參數(shù),在很多場(chǎng)合尤其是軟件消抖方面都要用到。圖 10 消抖原理圖按鍵穩(wěn)定閉合時(shí)間的長(zhǎng)短則是由操作人員的按鍵動(dòng)作決定的,一般為零點(diǎn)幾秒至數(shù)秒。如果沒(méi)有消抖,就會(huì)產(chǎn)生錯(cuò)誤信號(hào),導(dǎo)致解析出的鍵值出錯(cuò)或者重復(fù)輸出鍵值。為確保cpu對(duì)鍵的一次閉合僅作一次處理,必須去除鍵抖動(dòng)。在鍵閉合穩(wěn)定

40、時(shí)讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵的抖動(dòng),可用硬件或軟件兩種方法。1,、硬件消抖在鍵數(shù)較少時(shí)可用硬件方法消除鍵抖動(dòng)。常用rs觸發(fā)器作為去抖硬件。如圖11所示:圖 11 雙穩(wěn)態(tài)觸發(fā)器消抖電路圖中兩個(gè)“與非”門(mén)構(gòu)成一個(gè)rs觸發(fā)器。其實(shí)在這個(gè)地方,此rs觸發(fā)器的作用就是雙穩(wěn)態(tài)觸發(fā)器。當(dāng)按鍵未按下時(shí),輸出為1;當(dāng)鍵按下時(shí),輸出為0。此時(shí)即使因?yàn)榘存I的機(jī)械性能,使按鍵因彈性抖動(dòng)而產(chǎn)生瞬時(shí)斷開(kāi)和閉合,只要按鍵不返回原始狀態(tài)a,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出不改變保持為0,因此不會(huì)產(chǎn)生抖動(dòng)的波形。也就是說(shuō),即使b點(diǎn)的電壓波形是抖動(dòng)的,但經(jīng)觸發(fā)器之后,其輸出為正規(guī)的矩形波。這一點(diǎn)通過(guò)分析r

41、s觸發(fā)器的工作原理很容易得到驗(yàn)證。另一種方法是利用電容的放電延時(shí),如圖12采用并聯(lián)電容法。這實(shí)際上也是個(gè)低通濾波器,將高頻的抖動(dòng)信號(hào)過(guò)濾掉,只留下低頻的輸入信號(hào),也可以實(shí)現(xiàn)硬件消抖:圖12電容式消抖電路硬件消抖適合應(yīng)用在按鍵不多,鍵盤(pán)電路比較簡(jiǎn)單的場(chǎng)合,但是因?yàn)橛布缎枰~外的電路,所以應(yīng)用場(chǎng)合不然軟件消抖。下面簡(jiǎn)要介紹一下軟件消抖2、軟件消抖軟件消抖也有不少方法的。如果按鍵較多,常用軟件方法去抖,即檢測(cè)出鍵閉合后執(zhí)行一個(gè)延時(shí)程序,產(chǎn)生5ms10ms的延時(shí),讓前沿抖動(dòng)穩(wěn)定后再一次檢測(cè)鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認(rèn)為真正有鍵按下,然后再進(jìn)入鍵值檢測(cè)程序。當(dāng)檢測(cè)到按鍵釋放后,也要給5m

42、s10ms的延時(shí),待后沿抖動(dòng)消失后才能轉(zhuǎn)入該鍵的處理程序,防止再次進(jìn)入鍵值判斷程序。軟件消抖的另一種方法是循環(huán)比較法。第一次掃描,將鍵值存儲(chǔ)在寄存器中,繼續(xù)掃描,然后和寄存器中的值比較,如果相同,繼續(xù)掃描,在比較??梢赃x一個(gè)比較次數(shù),如60h,在比較次數(shù)滿60h前,如果有一次,比較不相同,此次掃描失敗,如果60h相同,就承認(rèn)次鍵值。這個(gè)方法是相比較而言非常可靠的方法,基本上避免了抖動(dòng)對(duì)程序的干擾。還有一種比較復(fù)雜的方法就是邏輯運(yùn)算法,配合定時(shí)中斷讀取按鍵,通過(guò)運(yùn)算邏輯表達(dá)式:keradyn=kt ki+krn-1 (kt ki) (1)kt=ki (2)可以獲得消除抖動(dòng)的按鍵消息。這種方法效率

43、高,不需耗時(shí)的循環(huán)等待,而且算法簡(jiǎn)單、使用方便。一、基本原理 由于按鍵的按下與抬起都會(huì)有10ms左右的抖動(dòng)毛刺存在,因此,為了獲取穩(wěn)定的按鍵信息,必須要避開(kāi)這個(gè)抖動(dòng)期,待其穩(wěn)定后再讀鍵值。 設(shè)置3個(gè)變量kr、kt和ki,并設(shè)置定時(shí)器中斷周期為20ms。在定時(shí)中斷服務(wù)程序中讀取按鍵,并把讀取的數(shù)據(jù)存于變量ki中。變量kr中是所需要的穩(wěn)定的按鍵信息;kt是中間變量,它的值是上一次的ki。 根據(jù)當(dāng)前按鍵的狀態(tài),考慮到kr中是20ms抖動(dòng)后的有效鍵信息,則kr、kt和ki之間,在不同時(shí)刻的狀態(tài)關(guān)系如表1所列。表1時(shí) 刻 kr kt ki1 0 0 02 0 0 13 0 1 04 0015 1 116

44、 1 1 17 1 1 08 10 19 1 1 0100 0 011 0 0 0 時(shí)刻1為沒(méi)有鍵按下的初始狀態(tài);時(shí)刻2的ki為1,但時(shí)刻3的ki又變?yōu)?,說(shuō)明時(shí)刻2的ki為1并不是有鍵按下,可能只是干擾,所以kreqdy為0;時(shí)刻4同時(shí)刻2的情況類(lèi)似,但是時(shí)刻4和時(shí)刻5時(shí)ki都為1,說(shuō)明有按鍵按下,在時(shí)刻5時(shí)kr為1;雖然時(shí)刻7時(shí)ki為0,但時(shí)刻5、6、8時(shí)ki都為1,說(shuō)明按鍵一直按下,只不過(guò)有干擾,kr保持為1;時(shí)刻9、10連續(xù)兩個(gè)時(shí)刻ki為0,表示按鍵抬起,時(shí)刻10時(shí)kr為0。通過(guò)分析可以看出,kr中是消除了抖動(dòng)并在一定程度上排除了干擾的有效按鍵信息。3.2.7 幾種鍵盤(pán)掃描法的比較1、

45、硬件消抖:此種方法不消耗mcu資源,不需要在軟件中添加消抖程序,軟件開(kāi)銷(xiāo)小,消抖效果穩(wěn)定,適合程序?qū)cu要求比較大的程序。但是因?yàn)樾枰布?,所以增加了電路的?fù)雜度和提高了成本,因此不適合大規(guī)模生產(chǎn)。2、軟件消抖:此種方法需要在鍵值判定后添加消抖程序,需要消耗mcu資源,在一些程序?qū)cu消耗較少的情況下,此種方法最為簡(jiǎn)單,并且消抖效果很好。由于不需要額外的電路,只需要普通的4*4矩陣鍵盤(pán)就成,所以降低了成本。缺點(diǎn)是軟件開(kāi)銷(xiāo)比較大,在一些負(fù)載比較重的程序里會(huì)加重消耗,但是因?yàn)殡娐泛?jiǎn)單,實(shí)現(xiàn)方法方便,所以用處很廣。本次實(shí)驗(yàn)用的是軟件消抖的方法,經(jīng)過(guò)實(shí)際檢驗(yàn)后,消抖效果很好,很穩(wěn)定,沒(méi)有出現(xiàn)多

46、處重復(fù)按鍵的情況。3.3 脈沖的產(chǎn)生方法 對(duì)步進(jìn)電機(jī)的速度的控制就是對(duì)輸入到步進(jìn)電機(jī)脈沖的控制,脈沖的產(chǎn)生方法有兩種,一種延時(shí)法,即通過(guò)延時(shí)函數(shù)來(lái)實(shí)現(xiàn)其脈沖間隔輸出。另一只方法則是通過(guò)單片機(jī)上所帶的定時(shí)器產(chǎn)生脈沖下面簡(jiǎn)要介紹一下兩種計(jì)時(shí)方式3.3.1 定時(shí)器產(chǎn)生脈沖89c52芯片帶有三個(gè)定時(shí)器,定時(shí)器0和定時(shí)器1是普通定時(shí)器,功能一樣,既可以做定時(shí)器,又可以做計(jì)數(shù)器。定時(shí)器2是一個(gè)功能較強(qiáng)的定時(shí)器/計(jì)數(shù)器,它是一個(gè)16為的,具有自動(dòng)裝載和捕獲能力的定時(shí)/計(jì)數(shù)器。定時(shí)器有4種工作方式:工作方式0:13位定時(shí)器/計(jì)數(shù)器thx的高8位(做計(jì)數(shù)器)和tlx的低5位(32分頻的定標(biāo)器)構(gòu)成。tlx的高3

47、位未用。計(jì)數(shù)時(shí),tlx的低5位溢出后向thx進(jìn)位,thx溢出后講tfx置位,向申請(qǐng)中斷。工作方式:位定時(shí)器計(jì)數(shù)器計(jì)數(shù)時(shí),tlx溢出后向置位,溢出后將置位,如果中斷允許,cpu響應(yīng)中斷并轉(zhuǎn)入中斷服務(wù)程序。工作方式:定時(shí)常數(shù)自動(dòng)重裝的位定時(shí)器計(jì)數(shù)器在工作方式2,只有低8位參與計(jì)數(shù),而高8位不參與計(jì)數(shù),用作預(yù)置數(shù)的存放。當(dāng)tlx溢出時(shí),一方面將tfx置位,并向cpu申請(qǐng)中斷,另一方面將多次連續(xù)裝入。,它可以實(shí)現(xiàn)每隔預(yù)定時(shí)間發(fā)出控制信號(hào)。工作方式3:這種工作方式是將定時(shí)器/計(jì)數(shù)器t0分為位定時(shí)器計(jì)數(shù)器和一個(gè)位定時(shí)器計(jì)數(shù)器,th0用于位定時(shí)器。在本次設(shè)計(jì)中我用的是用定時(shí)器定時(shí)方式產(chǎn)生定時(shí)脈沖的方法,每次

48、定時(shí)結(jié)束,進(jìn)入中斷服務(wù)程序后將重新寫(xiě)入新的定時(shí)值,然后通過(guò)pulse()函數(shù)來(lái)發(fā)出驅(qū)動(dòng)信號(hào)。定時(shí)方式1定時(shí)范圍很大,其16為寄存器可以最大實(shí)現(xiàn)65.536ms的定時(shí),可以充分滿足定時(shí)需要,并且定時(shí)準(zhǔn)確,控制速度精確。3.3.2 函數(shù)延時(shí)法函數(shù)延時(shí)法就是通過(guò)循環(huán)函數(shù)來(lái)控制其時(shí)間間隔的,如果是一個(gè)8m的晶振,考慮到其他因素,1ms可以執(zhí)行123條指令,于是1ms的延時(shí)函數(shù)可以寫(xiě)成123次循環(huán)函數(shù)。其優(yōu)點(diǎn)是編程方便,執(zhí)行快速,不需要定時(shí)中斷,更改定時(shí)值簡(jiǎn)單。但是也存在著硬傷,由于其延時(shí)方式是通過(guò)循環(huán)計(jì)數(shù)來(lái)實(shí)現(xiàn)的,加上晶振頻率的偏移,計(jì)算定時(shí)值時(shí)也是約數(shù),所以定時(shí)時(shí)間間隔越大,其誤差越大,精度越小。所

49、以這個(gè)方法在一些對(duì)定時(shí)要求不嚴(yán)格的場(chǎng)合應(yīng)用的較多,例如鍵盤(pán)的軟件消抖的程序里。 第四章 步進(jìn)電機(jī)的驅(qū)動(dòng)方式步進(jìn)電機(jī)在運(yùn)行中由于是脈沖驅(qū)動(dòng),工作在低頻時(shí),會(huì)產(chǎn)生機(jī)械噪聲和振動(dòng)。為了減少機(jī)械噪聲可以改變步進(jìn)電機(jī)的驅(qū)動(dòng)方式,采用細(xì)分控制可以可以解決這個(gè)問(wèn)題。步進(jìn)電機(jī)的驅(qū)動(dòng)方式基本上分為單相激勵(lì)、兩相激勵(lì)和半步激勵(lì)等。單相激勵(lì)是最簡(jiǎn)單的驅(qū)動(dòng)方式,雖然具有輸入功率小,溫升低等優(yōu)點(diǎn),但是由于振蕩厲害,控制不穩(wěn),所以使用場(chǎng)合不多。平時(shí)常用的是兩相激勵(lì)和半步激勵(lì),這兩種方法可以提高平穩(wěn)度,減小機(jī)械振蕩。因此,采用細(xì)分驅(qū)動(dòng)控制減小噪聲和振動(dòng)是一種比較完善和理想的解決手段。細(xì)分控制實(shí)際上是對(duì)步進(jìn)電機(jī)勵(lì)磁繞組電流的

50、控制,單相驅(qū)動(dòng)時(shí)內(nèi)部磁場(chǎng)是不均勻的,造成轉(zhuǎn)子受力不均,因而造成轉(zhuǎn)動(dòng),細(xì)分方式就是使步進(jìn)電機(jī)內(nèi)部的磁場(chǎng)變成比較均勻的圓形旋轉(zhuǎn)磁場(chǎng),也就是實(shí)現(xiàn)步距角的細(xì)分。4.1步進(jìn)電機(jī)的運(yùn)行方式介紹 首先介紹步進(jìn)電機(jī)整步驅(qū)動(dòng),這里以?xún)上嗷旌鲜讲竭M(jìn)電機(jī)為例,它的步距角為1.8。該電機(jī)有a,b兩相繞組,其中我們用c表示a通反向電流時(shí)產(chǎn)生的反向磁場(chǎng)-a,用d表示b通反向電流時(shí)產(chǎn)生的反向磁場(chǎng)-b。 當(dāng)分別給各相繞組通電時(shí),各相繞組產(chǎn)生的旋轉(zhuǎn)磁場(chǎng)如下:僅有a相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向a;僅有b相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向b;僅有c相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向c;僅有d相導(dǎo)通時(shí),旋轉(zhuǎn)磁場(chǎng)指向d。依次為各相繞組通電,每切換一次,旋轉(zhuǎn)磁場(chǎng)矢量

51、轉(zhuǎn)過(guò)90,電機(jī)轉(zhuǎn)過(guò)一個(gè)步距角1.8。當(dāng)旋轉(zhuǎn)磁場(chǎng)矢量轉(zhuǎn)過(guò)360時(shí),電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距,這種工作方式稱(chēng)為整步工作。 如果改變上述脈沖驅(qū)動(dòng)過(guò)程,采用四相八拍工作,即通電順序依次為: 此種工作方式稱(chēng)半步驅(qū)動(dòng),旋轉(zhuǎn)磁場(chǎng)的矢量變化如圖13所示。每改變一次通電狀態(tài),旋轉(zhuǎn)磁場(chǎng)的矢量旋轉(zhuǎn)45。圖 13四細(xì)分驅(qū)動(dòng)磁場(chǎng)矢量圖 同理,旋轉(zhuǎn)磁場(chǎng)轉(zhuǎn)過(guò)360,電機(jī)轉(zhuǎn)過(guò)一個(gè)齒距。 由半步驅(qū)動(dòng)原理給予啟發(fā),如果讓旋轉(zhuǎn)磁場(chǎng)矢量每次轉(zhuǎn)過(guò)22.5,即半步驅(qū)動(dòng)的一半的角度,這樣就實(shí)現(xiàn)了四細(xì)分驅(qū)動(dòng)。其旋轉(zhuǎn)磁場(chǎng)矢量變化如圖14所示。圖 14步進(jìn)電機(jī)四細(xì)分驅(qū)動(dòng)磁場(chǎng)矢量圖 為了使電機(jī)輸出力矩保持穩(wěn)定,也就是使電機(jī)勻速轉(zhuǎn)動(dòng),我們通過(guò)控制流入a,b

52、,c,d各相電流的大小,具體按公式sin2+cos2=1來(lái)計(jì)算。具體實(shí)現(xiàn)方式可以通過(guò)pwm來(lái)控制其輸出電流,圖15給出了四細(xì)分驅(qū)動(dòng)時(shí)各相電機(jī)輸入電流值的變換曲線。圖 15四細(xì)分驅(qū)動(dòng)轉(zhuǎn)距均勻輸出原理圖4.2 不同運(yùn)行方式的優(yōu)缺點(diǎn)四相步進(jìn)電機(jī)按照脈沖發(fā)送順序的不同,其驅(qū)動(dòng)方式可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的力矩較小,振動(dòng)大,噪音高,驅(qū)動(dòng)力矩不平穩(wěn)。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉(zhuǎn)動(dòng)力矩又可以提高控制精度,降低噪音和振動(dòng)。所以八拍工作方式應(yīng)用較為廣泛。本次實(shí)驗(yàn)中用的驅(qū)動(dòng)方式是單四拍,驅(qū)動(dòng)脈沖是1000,01

53、00,0010,0001。本來(lái)可以采用八拍方式,但是考慮到程序復(fù)雜性,便采取簡(jiǎn)單的四拍式驅(qū)動(dòng)。設(shè)計(jì)功能中本來(lái)可以控制其驅(qū)動(dòng)方式,但是由于鍵盤(pán)鍵不夠用,只能舍棄此功能,當(dāng)需要修改時(shí)可以在程序里很方便的修改。4.3如何選擇合適的步進(jìn)電機(jī)步進(jìn)電機(jī)有各種各樣的型號(hào),根據(jù)不同的場(chǎng)合,選擇合適的步進(jìn)電機(jī)不但可以順利的完成各種功能,而且可以減少成本,降低消耗。步進(jìn)電機(jī)的選擇涉及到幾個(gè)因素:步距角(涉及到相數(shù))、靜轉(zhuǎn)矩、電流。選擇步進(jìn)電機(jī)的時(shí)候要充分考慮所選的步進(jìn)電機(jī)是否滿足,無(wú)論哪一個(gè)條件不滿足,都無(wú)法達(dá)到滿意效果。下面簡(jiǎn)要介紹一下各種因素的選擇:1、步距角的選擇電機(jī)的步距角取決于負(fù)載精度的要求,將負(fù)載的最

54、小分辨率換算到電機(jī)軸上,每個(gè)當(dāng)量電機(jī)應(yīng)走多少角度。電機(jī)的步距角應(yīng)等于或小于此角度。目前市場(chǎng)上步進(jìn)電機(jī)的步距角一般有0.36度/0.72度(五相電機(jī))、0.9度/1.8度(二、四相電機(jī))、1.5度/3度 (三相電機(jī))等。2、靜力矩的選擇步進(jìn)電機(jī)的動(dòng)態(tài)力矩一下子很難確定,我們往往先確定電機(jī)的靜力矩。靜力矩選擇的依據(jù)是電機(jī)工作的負(fù)載,而負(fù)載可分為慣性負(fù)載和摩擦負(fù)載二種。單一的慣性負(fù)載和單一的摩擦負(fù)載是不存在的。直接起動(dòng)時(shí)(一般由低速)時(shí)二種負(fù)載均要考慮,加速起動(dòng)時(shí)主要考慮慣性負(fù)載,恒速運(yùn)行進(jìn)只要考慮摩擦負(fù)載。一般情況下,靜力矩應(yīng)為摩擦負(fù)載的2-3倍內(nèi)好,靜力矩一旦選定,電機(jī)的機(jī)座及長(zhǎng)度便能確定下來(lái)(幾何尺寸)3、電流的選擇靜力矩一樣的電機(jī),由于電流參數(shù)不同,其運(yùn)行特性差別很大,可依據(jù)矩頻特性曲線圖,判斷電機(jī)的電流(參考驅(qū)動(dòng)電源、及驅(qū)動(dòng)電壓)4、力矩與功率換算步進(jìn)電機(jī)一般在較大范圍內(nèi)調(diào)速使用、其功率是變化的,一般只用力矩來(lái)衡量,力矩與功率換算如下:p= m=2n/60p=2nm/60其p為功率單位為瓦,為每秒角速度,單位為弧度,n為每分鐘轉(zhuǎn)速,m為力矩單位為牛頓米p=2fm/400(半步工作) 其中f為每秒脈沖數(shù)(簡(jiǎn)稱(chēng)pps)這次畢業(yè)設(shè)計(jì)對(duì)于步進(jìn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論