




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、南京郵電大學畢 業(yè) 設 計(論 文)題 目: 基于單片機的步進電機控制系統(tǒng)設計 專 業(yè): 電氣信息 學生姓名: 班級學號: b06050927 指導教師: 指導單位: 自動化學院 日期:2010年 3月15日至2010年 6月 2日摘 要隨著自動控制系統(tǒng)的發(fā)展和對高精度控制的要求,步進電機在自動化控制中扮演著越來越重要的角色,區(qū)別于普通的直流電機和交流電機,步進電機可以對旋轉角度和轉動速度進行高精度控制。步進電機作為控制執(zhí)行元件,是機電一體化的關鍵組成之一, 廣泛應用在各種自動化控制系統(tǒng)和精密機械等領域。凡需要對轉角和速度進行精確控制的情況下,使用步進電機最為理想。隨著集成電路和計算機技術的發(fā)
2、展,步進電機的需求量與日俱增,在各個國民經(jīng)濟領域都有廣泛應用。原來的步進電機控制系統(tǒng)采用分立元件或者集成電路組成的控制回路,不僅調試安裝復雜,要消耗大量元器件,而且定型之后,要改變控制系統(tǒng)方案就要重新設計控制電路。計算機則通過軟件來控制步進電機,更好地挖掘出電動機的潛力。因此,用計算機控制步進電機已經(jīng)成為了一種必然的趨勢,不僅方便調試,而且功能更加靈活。本課題主要涉及步進電機的原理,驅動電路設計,控制系統(tǒng)設計。通過對步進電機的控制系統(tǒng)設計,可以充分了解步進電機的運行原理及控制方法。詳細介紹步進電機的原理,幾種驅動方案的區(qū)別和優(yōu)缺點,控制流程,控制方案選擇,步進電機的選擇等,代碼的實現(xiàn)等。可以在
3、不改變外部器件的前提下,通過鍵盤和改變程序參數(shù)來實現(xiàn)各種各樣的功能,具有很大的靈活性。關鍵詞:步進電機、控制流程、驅動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步進電機的發(fā)展概況11.2步進電機的原理及控制11.2.1步進電機的原理11.2.2步進電機
10、的特點61.2.3步進電機的控制7第二章 步進電機的加減速控制82.步進電機加速方案的提出82.2 線性加速82.3 指數(shù)型加速102.4 s型加速112.5 步進電機失步的原因11第三章 控制系統(tǒng)設計123.1 控制流程簡介123.2 鍵盤掃描143.2.1 線反轉法163.2.2 行掃描法163.2.3 循環(huán)掃描173.2.4 中斷法173.2.5 定時器掃描法183.2.6 鍵盤的消抖193.2.7 幾種鍵盤掃描法的比較223.3 脈沖的產(chǎn)生方法233.3.1 定時器產(chǎn)生脈沖233.3.2 函數(shù)延時法24第四章 步進電機的驅動方式244.1步進電機的運行方式介紹244.2 不同運行方式的
11、優(yōu)缺點264.3如何選擇合適的步進電機27第五章 硬件電路測試與實驗結果285.1基本功能的實現(xiàn)情況28結束語28參考文獻30附錄31第一章 緒論步進電機是將脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。在非超載的情況下,電機的轉速、轉動感的角度、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,加上步進電機在不超載情況下只有周期性的誤差而無累積誤差等特點,使得在速度、位置等控制領域用步進電機來控制變的非常的簡單1.1步進電機的發(fā)展概況步進電機最早是在1920年代由英國人發(fā)明。50年代后期,晶體管的發(fā)明也促進了在步進
12、電機的發(fā)展使其對于數(shù)字化的精確控制變得更為容易。此后經(jīng)過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解能、高響應性、信賴性等靈活控制性高的機械系統(tǒng)中。在生產(chǎn)過程中要求效率高、自動化、省人力的機械中,我們很容易發(fā)現(xiàn)步進電機的蹤跡,尤其以位置控制、重視速度、需要精確操作各項指令動作的靈活控制性場合步進電機最為常見。1.2步進電機的原理及控制1.2.1步進電機的原理步進電機是將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件,一般情況下并不需要閉環(huán)控制。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數(shù),給電機加一個脈沖信號,電機則轉過一個步距角。這一線性關系的存在,以
13、及步進電機只有周期性的誤差而無累積誤差的特點,使得在速度、位置等控制領域用步進電機來控制變的非常的簡單,同時電路無需閉環(huán)反饋,電路簡單。下面簡要介紹一下步進電機的構造,圖1和圖2為四相步進電機的內部構造。圖 1 步進電機內部構造開始時,開關sb接通,sa、sc、sd斷開,b相和0、3號齒對齊,同時,轉子的1、4號齒就和c、d相繞組磁極產(chǎn)生錯齒,2、5號齒就和d、a相繞組磁極產(chǎn)生錯齒。當sc接通,sb、sa、sd斷開時,由于c相繞組的磁力線和1、4號齒之間磁力線的作用,使轉子轉動,1、4號齒和c相繞組的磁極對齊。而2、5號齒就和a、d相繞組磁極產(chǎn)生錯齒, 0、3號齒和a、b相繞組產(chǎn)生錯齒。依次類
14、推,a、b、c、d四相繞組輪流供電,則轉子會沿著a、b、c、d方向轉動。如果按照相反的方向來發(fā)送脈沖,則步進電機的轉動方向正好相反。單四拍、雙四拍和八拍工作方式的電源通電時序與波形分別如圖2.a、b、c所示:圖2.步進電機工作時序波形圖力矩: 電機一旦通電,在定轉子間將產(chǎn)生磁場(磁通量)當轉子與定子錯開一定角度產(chǎn)生力f與(d/d)成正比其磁通量=br*sbr為磁密,s為導磁面積 f與l*d*br成正比 l為鐵芯有效長度,d為轉子直徑 br=ni/rni為勵磁繞阻安匝數(shù)(電流乘匝數(shù))r為磁阻。力矩=力*半徑力矩與電機有效體積*安匝數(shù)*磁密 成正比(只考慮線性狀態(tài))因此,電機有效體積越大,勵磁安匝
15、數(shù)越大,定轉子間氣隙越小,電機力矩越大,反之亦然。這次選用的的步進電機的牽入轉矩40mn,自定位轉矩34mn。步進電機的分類:步進電機依其構造上的差異可分為三大類:可變磁阻式(vr型):轉子以軟鐵加工成齒狀,當定子線圈不加激磁電壓時,保持轉矩為零,故其轉子慣性小、響應性佳,但其容許負荷慣性并不大。其步進角通常為15。無保持轉矩,所以定位性不好,應用場合不大。永久磁鐵式(pm型):轉子由永久磁鐵構成,其磁化方向為輻向磁化,無激磁時有保持轉矩。依轉子材質區(qū)分,其步進角有45、90及7.5、11.25、15、18等幾種?;旌褪剑╤b型):轉子由軸向磁化的磁鐵制成,磁極做成復極的形式,其乃兼采可變磁阻
16、式步進電機及永久磁鐵式步進電機的優(yōu)點,精確度高、轉矩大、步進角度小。目前市場上所使用的工業(yè)用步進電機,以混和式最為普遍步進電機動態(tài)指標及術語:1、步距角精度: 步進電機每轉過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數(shù)其值不同,四拍運行時應在5%之內,八拍運行時應在15%以內。2、失步: 電機運轉時運轉的步數(shù),不等于理論上的步數(shù)。稱之為失步。3、失調角: 轉子齒軸線偏移定子齒軸線的角度,電機運轉必存在失調角,由失調角產(chǎn)生的誤差,采用細分驅動是不能解決的。4、最大空載起動頻率: 電機在某種驅動形式、電壓及額定電流下,在不加負載的情況下,能夠直接起動的最大頻
17、率。5、最大空載的運行頻率: 電機在某種驅動形式,電壓及額定電流下,電機不帶負載的最高轉速頻率。6、運行矩頻特性: 電機在某種測試條件下測得運行中輸出力矩與頻率關系的曲線稱為運行矩頻特性,這是電機諸多動態(tài)曲線中最重要的,也是電機選擇的根本依據(jù)。如圖3所示:圖 2 步進電機力矩頻率特性其它特性還有慣頻特性、起動頻率特性等。 電機一旦選定,電機的靜力矩確定,而動態(tài)力矩卻不然,電機的動態(tài)力矩與電機運行時的平均電流有關系,平均電流越大,電機輸出力矩越大,則電機的頻率特性曲線越硬。如圖4所示:圖 4步進電機力矩頻率特性其中,曲線3電流最大、或電壓最高;曲線1電流最小、或電壓最低,曲線與負載的交點為負載的
18、最大速度點。要使平均電流大,盡可能提高驅動電壓,使采用小電感大電流的電機。7、電機的共振點:步進電機均有固定的共振區(qū)域,二、四相感應子式步進電機的共振區(qū)一般在180-250pps之間(步距角1.8度)或在400pps左右(步距角為0.9度),電機驅動電壓越高,電機電流越大,負載越輕,電機體積越小,則共振區(qū)向上偏移,反之亦然,為使電機輸出電矩大,不失步和整個系統(tǒng)的噪音降低,一般工作點均應偏移共振區(qū)較多。8、電機正反轉控制: 對于不同的步進電機當需要控制正反轉的時候發(fā)送的脈沖也是不同的,對于這次選的步進電機,正轉的脈沖次序為0x01,0x02,0x04,0x08,當需要反轉的時候,發(fā)送的脈沖次序為
19、0x08,0x04,0x02,0x01。當需要反轉次序的時候,只需要改變脈沖即可1.2.2步進電機的特點 步進電機由于其特殊的構造使其相對于普通電機有一些優(yōu)越的特點,簡要介紹如下:高精度的定位:步進電機最大特征即是能夠簡單的做到高精度的定位控制。以5相步進電機為例:其分辨率為0.72(全步級)/0.36(半步級),是非常細小的;停止定位精度誤差皆在0.05以內,因為步進電機的特點,無累積誤差,故可達到很高的控制精度。位置及速度控制:步進電機在輸入脈沖信號時,可以依輸入的脈沖數(shù)做固定角度的回轉進而得到靈活的位置控制,并可得到與該脈沖信號頻率成比例的回轉速度。開回路控制、不必依賴傳感器定位:步進電
20、機的控制系統(tǒng)構造簡單,無累積誤差,不需要速度感應器及位置傳感器,無需復雜的反饋電路,就能以輸入的脈波做速度及位置的控制。也因其屬開回路控制,故最適合于短距離、高頻度、高精度之定位控制的場合下使用。具定位保持力:步進電機在停止狀態(tài)下,雖然沒有脈沖輸入,仍具有激磁保持力,故即使不依靠機械式的剎車,也能做到停止位置的保持,所以定位很精確。動作靈敏:步進電機因為具有優(yōu)異的加速性能,選擇不同的加速方案,可以可做到瞬時停止、起動、正反轉和快速、頻繁的定位動作。高信賴性:使用步進電機裝置與使用離合器、減速機及極限開關等其它裝置相較,步進電機的故障及誤動作少,所以在檢查及保養(yǎng)時也較簡單容易。小型、高功率:步進
21、電機扭力大、體積小,可以方便的安裝和調試,同時能夠提供很高的轉矩。步進電機的速度轉矩特性速度-轉矩特性曲線取決于電機和驅動器,其中驅動器占主要的角色,一個好的驅動器可以提供很高的驅動電流和很短相應時間,因此選擇一個合適的驅動器尤為重要。1.2.3步進電機的控制步進電機的控制是本次設計的一個重要組成部分,對步進電機的控制主要是對脈沖信號的控制。脈沖的產(chǎn)生有兩種方法,一種是用專用的驅動芯片來產(chǎn)生脈沖信號。這些芯片稱為脈沖分配器。這些芯片已經(jīng)高度集成化,不僅可以提供步進電機工作需要的工作電流,而且還可以根據(jù)指令來選擇不同的驅動方案。例如廣泛使用的ta8435h芯片,這是單片正弦細分二相步進電機驅動專
22、業(yè)芯片,輸出電流可達1.5a,峰值2.5a。工作電壓寬10v-40v,具有整步,半步,1/4細分,1/8細分,運行方式可供選擇,采用脈寬調制式斬波驅動方式,具有復位和使能引腳,可選擇使用單時鐘輸入或雙時鐘輸入。外部信號只需要提供一個時鐘脈沖信號來控制速度,和一個方向信號來控制方向,不需要額外的脈沖分配電路。采用ta8435h 構成步進電機驅動器, 利用此芯片輸出步進脈沖的設計方案具有占用cpu時間 短、編程容易、結構簡單、成本低、可靠性好、抗干擾 能力強等優(yōu)點, 因此可在控制和測量領域中得到廣 泛應用。但是其成本很高,只適合工業(yè)要求較為嚴格的場所。另一種控制方法是用單片機提供控制脈沖,提供給驅
23、動芯片,由驅動芯片來驅動電機。這里的驅動電路只是用來提供單片機工作所需要的電流,并沒有脈沖分配功能,其作用相當于一個繼電器。常用的驅動芯片為uln2003,又稱為達林頓管,為雙列16腳,最大驅動電壓為50v,最大驅動電流500ma,適用于ttl和cmos電路。由七個硅npn 達林頓管組成。uln2003 的每一對達林頓都串聯(lián)一個2.7k 的基極電阻,在5v 的工作電壓下它能與ttl 和cmos 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。uln2003 工作電壓高,工作電流大,灌電流可達500ma,并且能夠在關態(tài)時承受50v 的電壓,輸出還可以在高負載電流并行運行。在有單片機
24、驅動時,只需要一個2k的上拉電阻。uln2003是高電壓,大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增益高,工作電壓高,溫度范圍寬,帶負載能力強扥特點,適用于各類要求告訴大功率驅動系統(tǒng)。在本次實驗中采用的便是這個方案,單片機的口接uln2003,用來驅動步進電機,脈沖由軟件產(chǎn)生,p20p23口接uln2003,然后來驅動步進電機。 第二章 步進電機的加減速控制2.步進電機加速方案的提出從步進電機的矩頻特性可知,步進電機的輸出轉矩隨著轉速的不斷上升而下降,啟動速度越高,啟動轉矩就越小,負載的能力越差,可能造成啟動失步,而在停止時又會發(fā)生過沖,造成定位不準。為了使步進電機迅速的達到所要求的速度,并且
25、而又不過沖或失步,其關鍵在于使加速過程中加速度所要求的轉矩既能充分利用步進電機在各個運行頻率下所提供的轉矩,又不允許超過這個轉矩,否則造成失步。因此,步進電機的運行一般要經(jīng)過加速、勻速、減速三個階段,要求加減速過程時間盡量的短,恒速時間盡量長。尤其是在要求響應時間比較小的過程中,從開始到終點運行的時間要求最短,這就必須要求縮小加速、減速時間,而使恒速運行時的速度最高。2.2 線性加速 線性加-減速控制法的快速性好,且較易獲得解析解,對mcu的占用率小,并可將其進一步離散化,從而便于計算機實現(xiàn)。而其他兩種方法難以進行直接離散化,計算機實現(xiàn)較為困難。因此 ,本次設計統(tǒng)選擇采用線性加-減速控制技術來
26、達到電機的高速轉動。電機的轉速可由公式 (1)給出。 v =v0+ at ( 1)其中,v為電機轉速;v0為電機啟動轉速;a為電機加速度;t為電機加速時間。若ti為相鄰兩個進給脈沖之間的時間間隔(單位: s) ,vi為進給一步后的末速度(單位:步/秒)。a為進給一步的加速度(單位:步/秒2 )。則有: (2)由此可計算出相鄰兩個進給脈沖間的時間間隔為: ( 3)其中, t0可取電機的啟動頻率,在系統(tǒng)中取250hz。減速過程為其逆過程。線性加減速控制快速性較好,且算法較為簡單,容易實現(xiàn),缺點是加速時間較長,電機通過其諧振點加速可能會有困難。在步進電機不失步的前提下,驅動脈沖頻率變化的加速度和步進
27、電機轉子的角加速度成正比。在步進電機的轉矩隨脈沖頻率的上升保持恒定時,直線規(guī)律的升降速才是理想的升降速曲線,但是實際上步進電機的轉矩隨轉速的的不斷上升而下降,所以其加速曲線線就不是理想的升降速曲線。因此,按直線規(guī)律升降速來計算加速 這種方法雖然實現(xiàn)簡單,但是它不能保證在升降速的過程中步進電機的輸出力矩與轉子的角加速度相適應,不能讓電機的加速性能最大發(fā)揮。2.3 指數(shù)型加速這種方法是從步進電機的矩頻特性出發(fā),根據(jù)轉矩隨頻率的變化規(guī)律推導出來的。它符合步進電機加減速過程的運動規(guī)律,能充分利用步進電機的有效轉矩,快速響應性能較好,升降時間短。指數(shù)升降控制具有較強的跟蹤能力,其缺點是當速度變化較大時平
28、衡性較差,一般適用于跟蹤響應要求較高的切削加工中。本次單片機使用使用分頻器的方式來控制步進電機的速度,升降速控制實際上是不斷改變分頻器初載值的大小。指數(shù)曲線由于無法通過程序編制來實現(xiàn),可以用階梯曲線來逼近升速曲線,不一定每步都計算裝載值。圖 5 步進電機理想升速和實際升速曲線如圖5所示,縱坐標為頻率,單位是步/秒,其實反映了轉速的高低。橫坐標為時間,各段時間內走過的步數(shù)用n來表示,步數(shù)其實反映了行程。圖中標出理想升速曲線和實際升速曲線。程序執(zhí)行過程中,對每檔速度都要計算在這檔速度應走的步數(shù),然后以遞減方式檢查,即每走一步,每檔步數(shù)減1。當減至零時,表示該檔速度應走的步數(shù)己走完,應進入下一檔速度
29、。一直循環(huán)到給出的速度大于或等于給定的速度為止。減速過程與升速過程剛好相反。2.4 s型加速s型加減速曲線,其加減速過程比較復雜,分為7個階段,加加速運動階段、加速運動階段、減加速運動階段、勻速運動階段、加減速運動階段、減速運動階段、減減速運動階段。其主要適用于對加減速平穩(wěn)性要求較高的工業(yè)環(huán)境里。 圖 6 s型加速曲線圖6為s型加速曲線,實際中要是步進電機按照*8級進行分段,根據(jù)設定的加速的總時間,求出每級運行頻率的運運行時間,就能確定需要的脈沖數(shù),可以將其寫入到一個表中,待給定時器初始化的時候在寫入到定時值。2.5 步進電機失步的原因步進電機的失步有兩種原因。第一種原因是轉子的加速度慢于步進
30、電機的旋轉磁場的加速度,也即是低于換相速度而產(chǎn)生的。這時是因為輸人電機的電能不足。定子磁場產(chǎn)生的同步力矩無法驅動轉子跟隨磁場換相的旋轉速度,從而引起失步。而且凡是大于此時頻率的工作頻率都必將失步。這種失步說明了步進電機的轉動力矩不夠??梢酝ㄟ^減少負載,或者提高繞組中的激磁電流,就有可能克服步進電機的失步。 第二種原因是轉子的平均速度比磁場換相的平均旋轉速度快。由于定子通電激磁的時間較長,大于轉子步進一步所需的時間。 則轉子在步進過程中獲得了額外的能量, 從而產(chǎn)生前沖和后沖的擺動振蕩。當振蕩足夠嚴重時就導致失步。所以, 在步進電機的起始時刻,加速度要小防止失步。然后逐漸加速至高速運行, 可避免失
31、步。第三章 控制系統(tǒng)設計3.1 控制流程簡介下面簡要介紹一下這次步進電機控制系統(tǒng)的控制流程:控制流程如下:剛上電的時候對單片機進行初始化,主要完成開定時中斷,對定時器1的初始化,設定鍵盤掃描的間隔時間為20ms,同時完成對全局靜態(tài)變量的定義與初始化。初始化介紹之后定時器1開始運行,周期掃描鍵盤,如果有鍵盤按下則進入鍵值處理程序keydeal(),然后處理每一次按鍵。鍵盤的布局為4*4的16鍵鍵盤,前10個鍵表示09共10個數(shù)字,其余的鍵功能如下圖所示:0124456789a 啟動b 停止c 設置d 確定e 換向f 模式轉換啟動按鈕是用來啟動定時器0,以產(chǎn)生產(chǎn)生定時脈沖,才控制步進電機的運行。停
32、止按鈕式用來關閉定時器0,當需要停止時,按動此按鈕便可停止步進電機的運行。設置按鈕式用來設置步進電機的運行速度或者旋轉角度的,其工作模式又f鍵來控制,默認的工作模式是勻速運轉,當按下f鍵是,步進電機便進入定位模式,可以按照設定的角度來工作。當需要換向的時候,在設置速度之前,按下?lián)Q向按鈕便可以。步進電機的脈沖函數(shù)是由paulse(unchar d)函數(shù)提供的,入口函數(shù)是方向位,用它來控制脈沖的發(fā)送方向。如果d為1,則步進電機倒轉,默認是正轉,其方向可由鍵盤來控制3.2 鍵盤掃描鍵盤掃描是本次設計的關鍵部分,鍵盤是電機的參數(shù)輸入設備。鍵盤是由若干個按鍵開關組成,鍵的多少根據(jù)單片機應用系統(tǒng)的用途而定
33、。鍵盤由許多鍵組成,而每個鍵相當于一個機械開關觸點,當鍵按下時,觸點閉合,當鍵松開時,觸點斷開。單片機接收到按鍵的觸點信號后作相應的功能處理。在鍵盤中按鍵數(shù)量較多時,為了減少i/o口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如p1口)就可以構成4*4= 16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。除了矩陣式鍵盤外還有獨立式鍵盤。獨立式鍵盤的每個按鍵都與單片機電路相連,所有按鍵都通過一個公共端與高電平相
34、連,鍵之間相互獨立互不影響。如下圖所示,當按下鍵1時,無論其它鍵是否按下,鍵1的信號線就由1變0;當松開鍵1時,無論其它鍵是否按下,鍵1的信號線就由0變1。圖7獨立式鍵盤常用電路:圖 7 獨立式鍵盤電路由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的,所以本次實驗用的是4*4的矩陣式鍵盤。圖8為本次實驗用的4*4鍵盤圖 8 矩陣式鍵盤電路鍵盤掃描程序一直以來都占有這較大的cpu資源,因此選擇一個合適的掃描方案十分重要。下面是幾種常用的掃描方案,常用的鍵盤掃描電路如下:3.2.1 線反轉法線反轉法是比較常用的鍵盤掃描法,其掃描流程如下 1:將列線作為輸出線,行線作為輸入線。置輸出線全部
35、為0,此時行線中呈低電平0的為按鍵所在行,如果全部都不是0,則沒有按鍵按下。 2:將第一步反過來,即將行線作為輸出線,列線作為輸入線。置輸出線全部為0,此時列線呈低電平的為按鍵所在的列。這樣,就可以確定了按鍵的位置(x,y)。3:key=x*4+y.key即為多得到的鍵值。線反轉法原理簡單,實現(xiàn)方便,代碼簡短,是比行掃描法更快更穩(wěn)定的方法,本次實驗就是用的線反轉法。 此外還要注意去抖動,去抖動的方法比較多,在下一部分介紹,另外還需要在行線上加上拉電阻,就是焊接電路中的四個電阻。3.2.2 行掃描法1 判斷鍵盤中有無鍵按下將全部行線 p10-p13 置低電平,然后檢測列線的狀態(tài),只要有一列的電平
36、為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鍵之中若所有列線均為高電平則表示鍵盤中無鍵按下2 判斷閉合鍵所在的位置在確認有鍵按下后 即可進入確定具體閉合鍵的過程 其方法是 依次將行線置為低電平即在 置某根行線為低電平時 其它線為高電平當確定某根行線為低電平后 再逐行檢測各列線的電平狀態(tài)若某列為低 則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵3.2.3 循環(huán)掃描查詢方式是指在程序中用一段專門的掃描和讀按鍵程序不停查詢有無按鍵按下,確定鍵值。這種方式電路簡單,但需要占用單片機的機器時間。一直占用著mcu的時間,效率很低,一般不采用。只在一些簡單的程序中才會
37、用到。3.2.4 中斷法中斷法就是利用單片機的外部中斷來進入鍵盤掃描程序,此時則需要對鍵盤電路做一下改動,因為利用的是外部中斷0,同時中斷觸發(fā)方式選擇下降沿觸發(fā),因此改動后的鍵盤電路如圖9:圖 9 中斷式矩陣掃描鍵盤電路當任何一個鍵被按下時,都會在p14p17產(chǎn)生一個下降沿電平,同時4與門的輸出口也會產(chǎn)生一個下降沿,在單片機的p32口產(chǎn)生一個外部中斷,同時進入中斷服務程序,進行鍵盤的掃描和處理。其余的鍵盤掃描程序跟循環(huán)掃描一樣。其優(yōu)點是不占用mcu時間,只有在有鍵盤輸入的時候才進入中斷處理程序,進行鍵值確認和處理,實時性高,不會出現(xiàn)定時方式時的檢測不到鍵盤的情況。這種方式硬件電路上必須要產(chǎn)生中
38、斷線,需要額外的邏輯門來產(chǎn)生中斷信號,線路相對查詢式和定時掃描時比較復雜,但是由于他的優(yōu)點很明確,所以應用場合很廣泛。3.2.5 定時器掃描法定時掃描方式是指利用單片機內的定時器來產(chǎn)生定時中斷,然后在定時中斷的服務程序中設置鍵盤掃描程序,檢查有無按鍵按下,確定鍵值。這種方式的電路也比較簡單,跟普通的查詢式鍵盤的硬件是一樣的。其優(yōu)點是不占用單片機的機器時間,軟件開銷少,但需要占用一個定時器,同時定時的時間應該設置好,不能太長也不能太短,長了可能檢測不到相應得按鍵,短了的話會加重機器開銷。對本次實驗來說,采用的就是這種方案,定時器用的是定時器1,定時掃描間隔為20ms,定時器0用來產(chǎn)生控制步進電機
39、的驅動脈沖。3.2.6 鍵盤的消抖通常的按鍵所用開關材料為彈性材料,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩(wěn)定地接通,并且在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,如圖10所示。抖動時間的長短由按鍵的機械特性決定,一般為5ms10ms。這是一個很重要的時間參數(shù),在很多場合尤其是軟件消抖方面都要用到。圖 10 消抖原理圖按鍵穩(wěn)定閉合時間的長短則是由操作人員的按鍵動作決定的,一般為零點幾秒至數(shù)秒。如果沒有消抖,就會產(chǎn)生錯誤信號,導致解析出的鍵值出錯或者重復輸出鍵值。為確保cpu對鍵的一次閉合僅作一次處理,必須去除鍵抖動。在鍵閉合穩(wěn)定
40、時讀取鍵的狀態(tài),并且必須判別到鍵釋放穩(wěn)定后再作處理。按鍵的抖動,可用硬件或軟件兩種方法。1,、硬件消抖在鍵數(shù)較少時可用硬件方法消除鍵抖動。常用rs觸發(fā)器作為去抖硬件。如圖11所示:圖 11 雙穩(wěn)態(tài)觸發(fā)器消抖電路圖中兩個“與非”門構成一個rs觸發(fā)器。其實在這個地方,此rs觸發(fā)器的作用就是雙穩(wěn)態(tài)觸發(fā)器。當按鍵未按下時,輸出為1;當鍵按下時,輸出為0。此時即使因為按鍵的機械性能,使按鍵因彈性抖動而產(chǎn)生瞬時斷開和閉合,只要按鍵不返回原始狀態(tài)a,雙穩(wěn)態(tài)電路的狀態(tài)不改變,輸出不改變保持為0,因此不會產(chǎn)生抖動的波形。也就是說,即使b點的電壓波形是抖動的,但經(jīng)觸發(fā)器之后,其輸出為正規(guī)的矩形波。這一點通過分析r
41、s觸發(fā)器的工作原理很容易得到驗證。另一種方法是利用電容的放電延時,如圖12采用并聯(lián)電容法。這實際上也是個低通濾波器,將高頻的抖動信號過濾掉,只留下低頻的輸入信號,也可以實現(xiàn)硬件消抖:圖12電容式消抖電路硬件消抖適合應用在按鍵不多,鍵盤電路比較簡單的場合,但是因為硬件消抖需要額外的電路,所以應用場合不然軟件消抖。下面簡要介紹一下軟件消抖2、軟件消抖軟件消抖也有不少方法的。如果按鍵較多,常用軟件方法去抖,即檢測出鍵閉合后執(zhí)行一個延時程序,產(chǎn)生5ms10ms的延時,讓前沿抖動穩(wěn)定后再一次檢測鍵的狀態(tài),如果仍保持閉合狀態(tài)電平,則確認為真正有鍵按下,然后再進入鍵值檢測程序。當檢測到按鍵釋放后,也要給5m
42、s10ms的延時,待后沿抖動消失后才能轉入該鍵的處理程序,防止再次進入鍵值判斷程序。軟件消抖的另一種方法是循環(huán)比較法。第一次掃描,將鍵值存儲在寄存器中,繼續(xù)掃描,然后和寄存器中的值比較,如果相同,繼續(xù)掃描,在比較。可以選一個比較次數(shù),如60h,在比較次數(shù)滿60h前,如果有一次,比較不相同,此次掃描失敗,如果60h相同,就承認次鍵值。這個方法是相比較而言非??煽康姆椒ǎ旧媳苊饬硕秳訉Τ绦虻母蓴_。還有一種比較復雜的方法就是邏輯運算法,配合定時中斷讀取按鍵,通過運算邏輯表達式:keradyn=kt ki+krn-1 (kt ki) (1)kt=ki (2)可以獲得消除抖動的按鍵消息。這種方法效率
43、高,不需耗時的循環(huán)等待,而且算法簡單、使用方便。一、基本原理 由于按鍵的按下與抬起都會有10ms左右的抖動毛刺存在,因此,為了獲取穩(wěn)定的按鍵信息,必須要避開這個抖動期,待其穩(wěn)定后再讀鍵值。 設置3個變量kr、kt和ki,并設置定時器中斷周期為20ms。在定時中斷服務程序中讀取按鍵,并把讀取的數(shù)據(jù)存于變量ki中。變量kr中是所需要的穩(wěn)定的按鍵信息;kt是中間變量,它的值是上一次的ki。 根據(jù)當前按鍵的狀態(tài),考慮到kr中是20ms抖動后的有效鍵信息,則kr、kt和ki之間,在不同時刻的狀態(tài)關系如表1所列。表1時 刻 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 時刻1為沒有鍵按下的初始狀態(tài);時刻2的ki為1,但時刻3的ki又變?yōu)?,說明時刻2的ki為1并不是有鍵按下,可能只是干擾,所以kreqdy為0;時刻4同時刻2的情況類似,但是時刻4和時刻5時ki都為1,說明有按鍵按下,在時刻5時kr為1;雖然時刻7時ki為0,但時刻5、6、8時ki都為1,說明按鍵一直按下,只不過有干擾,kr保持為1;時刻9、10連續(xù)兩個時刻ki為0,表示按鍵抬起,時刻10時kr為0。通過分析可以看出,kr中是消除了抖動并在一定程度上排除了干擾的有效按鍵信息。3.2.7 幾種鍵盤掃描法的比較1、
45、硬件消抖:此種方法不消耗mcu資源,不需要在軟件中添加消抖程序,軟件開銷小,消抖效果穩(wěn)定,適合程序對mcu要求比較大的程序。但是因為需要硬件消抖,所以增加了電路的復雜度和提高了成本,因此不適合大規(guī)模生產(chǎn)。2、軟件消抖:此種方法需要在鍵值判定后添加消抖程序,需要消耗mcu資源,在一些程序對mcu消耗較少的情況下,此種方法最為簡單,并且消抖效果很好。由于不需要額外的電路,只需要普通的4*4矩陣鍵盤就成,所以降低了成本。缺點是軟件開銷比較大,在一些負載比較重的程序里會加重消耗,但是因為電路簡單,實現(xiàn)方法方便,所以用處很廣。本次實驗用的是軟件消抖的方法,經(jīng)過實際檢驗后,消抖效果很好,很穩(wěn)定,沒有出現(xiàn)多
46、處重復按鍵的情況。3.3 脈沖的產(chǎn)生方法 對步進電機的速度的控制就是對輸入到步進電機脈沖的控制,脈沖的產(chǎn)生方法有兩種,一種延時法,即通過延時函數(shù)來實現(xiàn)其脈沖間隔輸出。另一只方法則是通過單片機上所帶的定時器產(chǎn)生脈沖下面簡要介紹一下兩種計時方式3.3.1 定時器產(chǎn)生脈沖89c52芯片帶有三個定時器,定時器0和定時器1是普通定時器,功能一樣,既可以做定時器,又可以做計數(shù)器。定時器2是一個功能較強的定時器/計數(shù)器,它是一個16為的,具有自動裝載和捕獲能力的定時/計數(shù)器。定時器有4種工作方式:工作方式0:13位定時器/計數(shù)器thx的高8位(做計數(shù)器)和tlx的低5位(32分頻的定標器)構成。tlx的高3
47、位未用。計數(shù)時,tlx的低5位溢出后向thx進位,thx溢出后講tfx置位,向申請中斷。工作方式:位定時器計數(shù)器計數(shù)時,tlx溢出后向置位,溢出后將置位,如果中斷允許,cpu響應中斷并轉入中斷服務程序。工作方式:定時常數(shù)自動重裝的位定時器計數(shù)器在工作方式2,只有低8位參與計數(shù),而高8位不參與計數(shù),用作預置數(shù)的存放。當tlx溢出時,一方面將tfx置位,并向cpu申請中斷,另一方面將多次連續(xù)裝入。,它可以實現(xiàn)每隔預定時間發(fā)出控制信號。工作方式3:這種工作方式是將定時器/計數(shù)器t0分為位定時器計數(shù)器和一個位定時器計數(shù)器,th0用于位定時器。在本次設計中我用的是用定時器定時方式產(chǎn)生定時脈沖的方法,每次
48、定時結束,進入中斷服務程序后將重新寫入新的定時值,然后通過pulse()函數(shù)來發(fā)出驅動信號。定時方式1定時范圍很大,其16為寄存器可以最大實現(xiàn)65.536ms的定時,可以充分滿足定時需要,并且定時準確,控制速度精確。3.3.2 函數(shù)延時法函數(shù)延時法就是通過循環(huán)函數(shù)來控制其時間間隔的,如果是一個8m的晶振,考慮到其他因素,1ms可以執(zhí)行123條指令,于是1ms的延時函數(shù)可以寫成123次循環(huán)函數(shù)。其優(yōu)點是編程方便,執(zhí)行快速,不需要定時中斷,更改定時值簡單。但是也存在著硬傷,由于其延時方式是通過循環(huán)計數(shù)來實現(xiàn)的,加上晶振頻率的偏移,計算定時值時也是約數(shù),所以定時時間間隔越大,其誤差越大,精度越小。所
49、以這個方法在一些對定時要求不嚴格的場合應用的較多,例如鍵盤的軟件消抖的程序里。 第四章 步進電機的驅動方式步進電機在運行中由于是脈沖驅動,工作在低頻時,會產(chǎn)生機械噪聲和振動。為了減少機械噪聲可以改變步進電機的驅動方式,采用細分控制可以可以解決這個問題。步進電機的驅動方式基本上分為單相激勵、兩相激勵和半步激勵等。單相激勵是最簡單的驅動方式,雖然具有輸入功率小,溫升低等優(yōu)點,但是由于振蕩厲害,控制不穩(wěn),所以使用場合不多。平時常用的是兩相激勵和半步激勵,這兩種方法可以提高平穩(wěn)度,減小機械振蕩。因此,采用細分驅動控制減小噪聲和振動是一種比較完善和理想的解決手段。細分控制實際上是對步進電機勵磁繞組電流的
50、控制,單相驅動時內部磁場是不均勻的,造成轉子受力不均,因而造成轉動,細分方式就是使步進電機內部的磁場變成比較均勻的圓形旋轉磁場,也就是實現(xiàn)步距角的細分。4.1步進電機的運行方式介紹 首先介紹步進電機整步驅動,這里以兩相混合式步進電機為例,它的步距角為1.8。該電機有a,b兩相繞組,其中我們用c表示a通反向電流時產(chǎn)生的反向磁場-a,用d表示b通反向電流時產(chǎn)生的反向磁場-b。 當分別給各相繞組通電時,各相繞組產(chǎn)生的旋轉磁場如下:僅有a相導通時,旋轉磁場指向a;僅有b相導通時,旋轉磁場指向b;僅有c相導通時,旋轉磁場指向c;僅有d相導通時,旋轉磁場指向d。依次為各相繞組通電,每切換一次,旋轉磁場矢量
51、轉過90,電機轉過一個步距角1.8。當旋轉磁場矢量轉過360時,電機轉過一個齒距,這種工作方式稱為整步工作。 如果改變上述脈沖驅動過程,采用四相八拍工作,即通電順序依次為: 此種工作方式稱半步驅動,旋轉磁場的矢量變化如圖13所示。每改變一次通電狀態(tài),旋轉磁場的矢量旋轉45。圖 13四細分驅動磁場矢量圖 同理,旋轉磁場轉過360,電機轉過一個齒距。 由半步驅動原理給予啟發(fā),如果讓旋轉磁場矢量每次轉過22.5,即半步驅動的一半的角度,這樣就實現(xiàn)了四細分驅動。其旋轉磁場矢量變化如圖14所示。圖 14步進電機四細分驅動磁場矢量圖 為了使電機輸出力矩保持穩(wěn)定,也就是使電機勻速轉動,我們通過控制流入a,b
52、,c,d各相電流的大小,具體按公式sin2+cos2=1來計算。具體實現(xiàn)方式可以通過pwm來控制其輸出電流,圖15給出了四細分驅動時各相電機輸入電流值的變換曲線。圖 15四細分驅動轉距均勻輸出原理圖4.2 不同運行方式的優(yōu)缺點四相步進電機按照脈沖發(fā)送順序的不同,其驅動方式可分為單四拍、雙四拍、八拍三種工作方式。單四拍與雙四拍的步距角相等,但單四拍的力矩較小,振動大,噪音高,驅動力矩不平穩(wěn)。八拍工作方式的步距角是單四拍與雙四拍的一半,因此,八拍工作方式既可以保持較高的轉動力矩又可以提高控制精度,降低噪音和振動。所以八拍工作方式應用較為廣泛。本次實驗中用的驅動方式是單四拍,驅動脈沖是1000,01
53、00,0010,0001。本來可以采用八拍方式,但是考慮到程序復雜性,便采取簡單的四拍式驅動。設計功能中本來可以控制其驅動方式,但是由于鍵盤鍵不夠用,只能舍棄此功能,當需要修改時可以在程序里很方便的修改。4.3如何選擇合適的步進電機步進電機有各種各樣的型號,根據(jù)不同的場合,選擇合適的步進電機不但可以順利的完成各種功能,而且可以減少成本,降低消耗。步進電機的選擇涉及到幾個因素:步距角(涉及到相數(shù))、靜轉矩、電流。選擇步進電機的時候要充分考慮所選的步進電機是否滿足,無論哪一個條件不滿足,都無法達到滿意效果。下面簡要介紹一下各種因素的選擇:1、步距角的選擇電機的步距角取決于負載精度的要求,將負載的最
54、小分辨率換算到電機軸上,每個當量電機應走多少角度。電機的步距角應等于或小于此角度。目前市場上步進電機的步距角一般有0.36度/0.72度(五相電機)、0.9度/1.8度(二、四相電機)、1.5度/3度 (三相電機)等。2、靜力矩的選擇步進電機的動態(tài)力矩一下子很難確定,我們往往先確定電機的靜力矩。靜力矩選擇的依據(jù)是電機工作的負載,而負載可分為慣性負載和摩擦負載二種。單一的慣性負載和單一的摩擦負載是不存在的。直接起動時(一般由低速)時二種負載均要考慮,加速起動時主要考慮慣性負載,恒速運行進只要考慮摩擦負載。一般情況下,靜力矩應為摩擦負載的2-3倍內好,靜力矩一旦選定,電機的機座及長度便能確定下來(幾何尺寸)3、電流的選擇靜力矩一樣的電機,由于電流參數(shù)不同,其運行特性差別很大,可依據(jù)矩頻特性曲線圖,判斷電機的電流(參考驅動電源、及驅動電壓)4、力矩與功率換算步進電機一般在較大范圍內調速使用、其功率是變化的,一般只用力矩來衡量,力矩與功率換算如下:p= m=2n/60p=2nm/60其p為功率單位為瓦,為每秒角速度,單位為弧度,n為每分鐘轉速,m為力矩單位為牛頓米p=2fm/400(半步工作) 其中f為每秒脈沖數(shù)(簡稱pps)這次畢業(yè)設計對于步進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023-2024學年人教版(2015)小學信息技術四年級下冊修飾表格有方法(教學設計)
- 個人簡歷與競聘報告-1
- 3 古詩三首 寒食 教學設計-2023-2024學年語文六年級下冊統(tǒng)編版
- Module 9 Experience(教學設計)-2023-2024學年外研版(三起)英語五年級下冊
- 畢業(yè)論文核心研究成果匯報
- 2024-2025學年高中語文 第六課 語言的藝術 4 第四節(jié) 入鄉(xiāng)問俗-語言和文化教學設計 新人教版選修《語言文字應用》
- 《角》(教學設計)-2024-2025學年滬教版數(shù)學四年級上冊
- 2024-2025學年七年級歷史下冊 第二單元 遼宋夏金元時期:民族關系發(fā)展和社會變化 第10課 蒙古族的興起與元朝的建立教學設計 新人教版
- 18古詩三首《江南春》教學設計-2024-2025學年語文六年級上冊統(tǒng)編版
- 三年級英語下冊 Module 7 Unit 1 We fly kites in spring教學設計 外研版(三起)
- 學習通《《詩經(jīng)》導讀》習題(含答案)
- 2025-2030智能代步車產(chǎn)業(yè)市場現(xiàn)狀供需分析及重點企業(yè)投資評估規(guī)劃分析研究報告
- 全媒體內容編輯技巧試題及答案
- 2025屆廣東省燕博園聯(lián)考(CAT)高三下學期3月模擬測試物理試題(含答案)
- 2025-2030中國SP導電炭黑市場現(xiàn)狀調研與前景研究報告
- 華陽煤礦考試試題及答案
- 2025民法典婚姻家庭編司法解釋二解讀
- 眼視光技術考試題(含答案)
- 2025年時政題庫及答案(100題)
- 八項規(guī)定試題及答案
- 人力資源許可證制度(服務流程、服務協(xié)議、收費標準、信息發(fā)布審查和投訴處理)
評論
0/150
提交評論