DZ181單片機對步進電機微量控制的軟件設計
DZ181單片機對步進電機微量控制的軟件設計,dz181,單片機,對于,步進,電機,機電,微量,控制,節(jié)制,軟件設計
2006 年電氣工程及其自動化專業(yè)畢業(yè)設計——單片機對步進電機微量控制的軟件設計姓名:鐘旭專業(yè):電氣工程及其自動化班級:0201 班學號:20022140401162006 年電氣工程及其自動化專業(yè)畢業(yè)設計——單片機對步進電機微量控制的軟件設計【題目名稱】單片機對步進電機微量控制的軟件設計【提交日期】2006-6-10【著者姓名】鐘旭【所屬專業(yè)】電氣工程及其自動化【導師姓名】賈蘭英【學位級別】學士學位【主題詞 】 步進電機,細分,驅動,MCS51,8155,8055【中文摘要】步進電動機本體、步進電動機驅動器和控制器構成步進電動機系統(tǒng)不可分割的三大部分。本論文在比較了各種驅動電路優(yōu)缺點的基礎上, 采用細分驅動原理、MCS51單片機作為中心控制單元. 本系統(tǒng)的控制環(huán)節(jié)由單片機 8155、8051、地址譯碼器74LS138、D/A 轉換器等組成。用單片機控制三相反應式步進電機,采用軟件代替脈沖分配器,讓 MCS-51 的 P.0,P.1,P.2 產生具有一定規(guī)律的脈沖序列,分別完成正,反向不同速度的旋轉,同時可以完成角度的旋轉。論文對各部分電路的工作原理及調試結果作了詳細討論。從調試結果可以看出,電機分別完成正,反向不同速度的旋轉,電路工作穩(wěn)定,基本達到了預期目的,是一種可行的驅動方案。引言動控制系統(tǒng)中數(shù)字化技術的發(fā)展與成熟,步進電機在工業(yè)自動化控制中得到廣泛的應用。步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”) ,它的旋轉是以固定的角度一步一步運行的。可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。步進電機具有快速啟動能力,只要電機的負荷不超過它所能提供的動態(tài)轉矩,就能通過輸入脈沖來控制它在一瞬間啟動和停止,步進電機的步距角和轉速只和輸入的脈沖頻率有關,和環(huán)境溫度,氣壓,沖擊以及振動無關,也不受電網(wǎng)電壓的波動和負載變化的影響,它每轉一周都有固定的參數(shù)。步進精確和步距誤差不會長期積累。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為 100%)的特點,廣泛應用于各種開環(huán)控制。如,工業(yè)過程控制,自動化儀表,簡易數(shù)控機床,繪圖儀,打印機等設備。由于工業(yè)技術的不斷進步,在自動化控制、精密機械加工、航空航天技術以及所有要求高精度定位、自動記錄、自動瞄準等高新技術領域內,對步進電機的細分要求也越來越高一. 步進電機的工作原理。1.步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構。當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(稱為“步距角”) ,它的旋轉是以固定的角度一步一步運行的??梢酝ㄟ^控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到調速的目的。步進電機可以作為一種控制用的特種電機,利用其沒有積累誤差(精度為 100%)的特點,廣泛應用于各種開環(huán)控制。2.現(xiàn)在比較常用的步進電機包括反應式步進電機(VR) 、永磁式步進電機(PM) 、混合式步進電機(HB)和單相式步進電機等。a.永磁式步進電機一般為兩相,轉矩和體積較小,步進角一般為 7.5 度 或 15 度;反應式步進電機一般為三相,可實現(xiàn)大轉矩輸出,步進角一般為 1.5 度,但噪聲和振動都很大。b.反應式步進電機的轉子磁路由軟磁材料制成,定子上有多相勵磁繞組,利用磁導的變化產生轉矩。c.混合式步進電機是指混合了永磁式和反應式的優(yōu)點。它又分為兩相和五相:兩相步進角一般為 1.8 度而五相步進角一般為 0.72 度感應子式步進電機工作原理 a.反應式步進電機原理 由于反應式步進電機工作原理比較簡單。下面先敘述三相反應式步進電機原理。1)結構:電機轉子均勻分布著很多小齒,定子齒有三個勵磁繞阻,其幾何軸線依次分別與轉子齒軸線錯開。0、1/3 て、2/3 て,(相鄰兩轉子齒軸線間的距離為齒距以て表示) ,即A 與齒 1 相對齊,B 與齒 2 向右錯開 1/3 て,C 與齒 3 向右錯開 2/3 て,A'與齒 5 相對齊, (A'就是 A,齒 5 就是齒 1)下面是定轉子的展開圖:2)、旋轉:如 A 相通電,B,C 相不通電時,由于磁場作用,齒 1 與 A 對齊,(轉子不受任何力以下均同)。如 B 相通電,A,C 相不通電時,齒 2 應與 B 對齊,此時轉子向右移過 1/3 て,此時齒 3 與 C 偏移為 1/3 て,齒 4 與 A 偏移(て-1/3 て)=2/3 て。如 C 相通電,A,B 相不通電,齒 3 應與 C 對齊,此時轉子又向右移過 1/3 て,此時齒 4 與 A 偏移為1/3 て對齊。如 A 相通電,B,C 相不通電,齒 4 與 A 對齊,轉子又向右移過 1/3 て這樣經過 A、B、C、A 分別通電狀態(tài),齒 4(即齒 1 前一齒)移到 A 相,電機轉子向右轉過一個齒距,如果不斷地按 A,B,C ,A ……通電,電機就每步(每脈沖)1/3 て,向右旋轉。如按 A,C ,B,A……通電,電機就反轉。由此可見:電機的位置和速度由導電次數(shù)(脈沖數(shù))和頻率成一一對應關系。而方向由導電順序決定。不過,出于對力矩、平穩(wěn)、噪音及減少角度等方面考慮。往往采用 A-AB-B-BC-C-CA-A這種導電狀態(tài),這樣將原來每步 1/3 て改變?yōu)?1/6 て。甚至于通過二相電流不同的組合,使其 1/3 て變?yōu)?1/12 て,1/24 て,這就是電機細分驅動的基本理論依據(jù)。不難推出:電機定子上有 m 相勵磁繞阻,其軸線分別與轉子齒軸線偏移1/m,2/m……(m-1)/m,1。并且導電按一定的相序電機就能正反轉被控制——這是步進電機旋轉的物理條件。只要符合這一條件我們理論上可以制造任何相的步進電機,出于成本等多方面考慮,市場上一般以二、三、四、五相為多。 3)、力矩:電機一旦通電,在定轉子間將產生磁場(磁通量 Ф)當轉子與定子錯開一定角度產生力 F與(dФ/dθ)成正比 S 其磁通量 Ф=Br*S Br 為磁密,S 為導磁面積, F 與 L*D*Br 成正比 L 為鐵芯有效長度,D為轉子直徑 Br=N·I/R N·I 為勵磁繞阻安匝數(shù)(電流乘匝數(shù))R 為磁阻。力矩=力*半徑力矩與電機有效體積*安匝數(shù)*磁密 成正比(只考慮線性狀態(tài))因此,電機有效體積越大,勵磁安匝數(shù)越大,定轉子間氣隙越小,電機力矩越大,反之亦然。b.感應子式步進電機 1)、特點: 感應子式步進電機與傳統(tǒng)的反應式步進電機相比,結構上轉子加有永磁體,以提供軟磁材料的工作點,而定子激磁只需提供變化的磁場而不必提供磁材料工作點的耗能,因此該電機效率高,電流小,發(fā)熱低。因永磁體的存在,該電機具有較強的反電勢,其自身阻尼作用比較好,使其在運轉過程中比較平穩(wěn)、噪音低、低頻振動小。 感應子式步進電機某種程度上可以看作是低速同步電機。一個四相電機可以作四相運行,也可以作二相運行。(必須采用雙極電壓驅動),而反應式電機則不能如此。例如:四相,八相運行(A-AB-B-BC-C-CD-D-DA-A)完全可以采用二相八拍運行方式 .不難發(fā)現(xiàn)其條件為 C=,D=. 一個二相電機的內部繞組與四相電機完全一致,小功率電機一般直接接為二相,而功率大一點的電機,為了方便使用,靈活改變電機的動態(tài)特點,往往將其外部接線為八根引線(四相),這樣使用時,既可以作四相電機使用,可以作二相電機繞組串聯(lián)或并聯(lián)使用。 2)、分類 感應子式步進電機以相數(shù)可分為:二相電機、三相電機、四相電機、五相電機等。以機座號(電機外徑)可分為:42BYG(BYG 為感應子式步進電機代號)、57BYG、86BYG、110BYG、(國際標準),而像 70BYG、90BYG、130BYG 等均為國內標準。二、步進電機的靜態(tài)指標術語相數(shù):產生不同對極 N、S 磁場的激磁線圈對數(shù)。常用 m 表示。拍數(shù):完成一個磁場周期性變化所需脈沖數(shù)或導電狀態(tài)用 n 表示,或指電機轉過一個齒距角所需脈沖數(shù),以四相電機為例,有四相四拍運行方式即 AB-BC-CD-DA-AB,四相八拍運行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:對應一個脈沖信號,電機轉子轉過的角位移用 θ 表示。θ=360 度(轉子齒數(shù) J*運行拍數(shù)) ,以常規(guī)二、四相,轉子齒為 50 齒電機為例。四拍運行時步距角為 θ=360 度/(50*4)=1.8 度(俗稱整步) ,八拍運行時步距角為 θ=360 度/ (50*8)=0.9 度(俗稱半步) 。定位轉矩:電機在不通電狀態(tài)下,電機轉子自身的鎖定力矩(由磁場齒形的諧波以及機械誤差造成的)靜轉矩:電機在額定靜態(tài)電作用下,電機不作旋轉運動時,電機轉軸的鎖定力矩。此力矩是衡量電機體積(幾何尺寸)的標準,與驅動電壓及驅動電源等無關。雖然靜轉矩與電磁激磁安匝數(shù)成正比,與定齒轉子間的氣隙有關,但過份采用減小氣隙,增加激磁安匝來提高靜力矩是不可取的,這樣會造成電機的發(fā)熱及機械噪音。三、步進電機動態(tài)指標及術語:1)、步距角精度:步進電機每轉過一個步距角的實際值與理論值的誤差。用百分比表示:誤差/步距角*100%。不同運行拍數(shù)其值不同,四拍運行時應在 5%之內,八拍運行時應在 15%以內。2)、失步:電機運轉時運轉的步數(shù),不等于理論上的步數(shù)。稱之為失步。3)、失調角:轉子齒軸線偏移定子齒軸線的角度,電機運轉必存在失調角,由失調角產生的誤差,采用細分驅動是不能解決的。4)、最大空載起動頻率:電機在某種驅動形式、電壓及額定電流下,在不加負載的情況下,能夠直接起動的最大頻率。5)、最大空載的運行頻率:電機在某種驅動形式,電壓及額定電流下,電機不帶負載的最高轉速頻率。6)、運行矩頻特性:電機在某種測試條件下測得運行中輸出力矩與頻率關系的曲線稱為運行矩頻特性,這是電機諸多動態(tài)曲線中最重要的,也是電機選擇的根本依據(jù)。其它特性還有慣頻特性、起動頻率特性等。電機一旦選定,電機的靜力矩確定,而動態(tài)力矩卻不然,電機的動態(tài)力矩取決于電機運行時的平均電流(而非靜態(tài)電流) ,平均電流越大,電機輸出力矩越大,即電機的頻率特性越硬。要使平均電流大,盡可能提高驅動電壓,使采用小電感大電流的電機。7)、電機的共振點:步進電機均有固定的共振區(qū)域,二、四相感應子式步進電機的共振區(qū)一般在 180-250pps 之間(步距角 1.8 度)或在 400pps 左右(步距角為 0.9 度) ,電機驅動電壓越高,電機電流越大,負載越輕,電機體積越小,則共振區(qū)向上偏移,反之亦然,為使電機輸出電矩大,不失步和整個系統(tǒng)的噪音降低,一般工作點均應偏移共振區(qū)較多。8)、電機正反轉控制:當電機繞組通電時序為 AB-BC-CD-DA 或()時為正轉,通電時序為 DA-CA-BC-AB 或() 時為反轉。5.步進電機的控制原理步進電機是數(shù)字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合于單片機控制。步進電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數(shù)決定,而電機的轉速由脈沖信號頻率決定。步進電機的驅動電路根據(jù)控制信號工作,控制信號由單片機產生。其基本原理作用如下:1)控制換相順序通電換相這一過程稱為脈沖分配。例如:三相步進電機的三拍工作方式,其各相通電順序為 A-B-C-D,通電控制脈沖必須嚴格按照這一順序分別控制 A,B,C,D 相的通斷。(1) 單相三拍方式:按單相繞組施加脈沖。正轉:A---B----C----A反轉:A—C----B-----A(2) 雙相三拍方式:按雙向繞組施加電流脈沖。正轉:AB—BC----CA----AB反轉:AC---CB-----BA— AC(3)三相六拍方式:單相繞組和雙相繞組交替施加電流脈沖正轉:A-----AB-----BC----C—CA—A反轉:A-----AC-----C----CB----B---BA—A單相三拍方式的每一拍步進角為 3 度,三相六拍的步進角則為 1.5 度。因此在三相六拍的方式下,步進電機運行要平穩(wěn)柔和一些,但在同樣的運行角度與速度下,三相六拍驅動脈沖的頻率需要提高一倍,對驅動開關管的開頭特性要求較高。2).控制步進電機的轉向如果給定工作方式正序換相通電,步進電機正轉,如果按反序通電換相,則電機就反轉。3).控制步進電機的速度如果給步進電機發(fā)一個控制脈沖,它就轉一步,再發(fā)一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。調整單片機發(fā)出的脈沖頻率,就可以對步進電機進行調。四.步進電機的驅動控制系統(tǒng)組成: 使用、控制步進電機必須由環(huán)形脈沖,功率放大等組成的控制系統(tǒng),其方框圖如下:脈沖信號----------信號分配--------------功率放大-----------步進電極-----------負載1、脈沖信號的產生。脈沖信號一般由單片機產生,一般脈沖信號的占空比為 0.3-0.4 左右,電機轉速越高,占空比則越大。2、信號分配二相電機工作方式有二相四拍和二相八拍二種,具體分配如下:二相四拍為,步距角為 1.8度;二相八拍為,步距角為 0.9 度。四相電機工作方式也有二種,四相四拍為 AB-BC-CD-DA-AB,步距角為 1.8 度;四相八拍為 AB-B-BC-C-CD-D-AB,(步距角為 0.9 度) 。3、功率放大功率放大是驅動系統(tǒng)最為重要的部分。步進電機在一定轉速下的轉矩取決于它的動態(tài)平均電流而非靜態(tài)電流(而樣本上的電流均為靜態(tài)電流) 。平均電流越大電機力矩越大,要達到平均電流大這就需要驅動系統(tǒng)盡量克服電機的反電勢。因而不同的場合采取不同的的驅動方式,到目前為止,驅動方式一般有以下幾種:恒壓、恒壓串電阻、高低壓驅動、恒流、細分數(shù)等。步進電機一經定型,其性能取決于電機的驅動電源。步進電機轉速越高,力距越大則要求電機的電流越大,驅動電源的電壓越高。電壓對力矩影響如下:4、步進電機步距角細分驅動在步進電機步距角不能滿足使用的條件下,可采用細分驅動器來驅動步進電機,細分驅動器的原理是通過改變相鄰(A ,B)電流的大小,以改變合成磁場的夾角來控制步進電機運轉的。 (步進電機的細分技術實質上是一種電子阻尼技術,其主要目的是減弱或消除步進電機的低頻振動,提高電機的運轉精度只是細分技術的一個附帶功能。比如對于步進角為 1.8 度的兩相混合式步進電機,如果細分驅動器的細分數(shù)設置為4,那么電機的運轉分辨率為每個脈沖 0.45 度,電機的精度能否達到或接近 0.45 度,還取決于細分驅動器的細分電流控制精度等其它因素。不同廠家的細分驅動器精度可能差別很大;細分數(shù)越大精度越難控制)a).步進電機步距角細分驅動的工作原理是:在每次輸入脈沖切換時,不是將繞組電流全部通入 或切除,而是只改變相應繞組中額定的一部分,則電機轉子的每步運動也只有步距角的一部 分。這里繞組電流不是 1 個方波,而是階梯波,額定電流是臺階式的投入或切除,電流分成 多少個臺階,則轉子就以同樣的個數(shù)轉過 1 個步距角。這樣將 1 個步距角細分成若干步的驅 動方法稱為細分驅動。細分驅動的特點是:1)在不改變電機結構參數(shù)的情況下,能使步距角減小。但細分的步距角精度不高,功率放大驅動電路也相應復雜;2)能使步進電機運行平穩(wěn),提高勻速性,并能減弱或消除振蕩。細分電流波形要實現(xiàn)細分就需要將輸入步進電機繞組的矩形電流波改變成階梯形細分電流波,即設法使輸 入電機繞組的電流以若干個等幅、等寬度階梯上升到額定值,并以同樣的階梯從額定值下降 為零,如上圖所示。本文采用恒頻脈沖調寬細分驅動技術實現(xiàn)上述細分電流波形。b).細分后的電流波形和系統(tǒng)控制方案1.細分之后的電流波形(以三相六拍步進電機三細分為例,如圖下所示細分后的電流波形2.系統(tǒng)控制方案本文就實現(xiàn)步進電機步距角細分的單片機控制系統(tǒng)進行了研究,并且對系統(tǒng)控制性能進行了試驗與分析。步進電機步距角細分單片機控制系統(tǒng)電路組成如圖 3 所示,本系統(tǒng)采用 8031 單片機,其主要外圍電路有:D 觸發(fā)器,用于恒頻脈寬調制和階梯控制的合成;D/A 轉換器產生階梯電壓,此電壓通過比較器與繞組電壓比較后傳送給 D 觸發(fā)器;功率放大器用于將 D 觸發(fā)器輸出的恒頻脈沖調寬信號進行功率放大,以驅動步進電機。此外,系統(tǒng)采用 LED 顯示器顯示過程信息和操作提示,程序存儲器存儲控制程序,鍵盤用來設定各種參數(shù)。單片機細分控制系統(tǒng)原理框圖c)單片機細分控制系統(tǒng)工作原理如上圖所示,首先通過鍵盤設定細分步數(shù)及采用幾細分,并在八位數(shù)碼管顯示,這時系統(tǒng)通過 8031 控制開始工作,當步進電機有跳變相時,與該相連接的模擬開關閉合,選中此D/A 轉換開始工作,D/A 轉換輸出電壓 Vout,V out與電壓比較器同相端相接 ,而步進電機該相輸出電壓 V 1,并與電壓比較器反相端相接,進行電壓比較。當 V1>V out時, 電壓比 較器輸出低電平,D 觸發(fā)器清零,開關管組成的功放級截止,I 1因繞組能量泄放而下 降,出現(xiàn) V1<V out時,電壓比較器輸出高電平,CP 脈沖的上升沿使 D 觸發(fā) 器的 Q=1,功放級導通,則繞組電流 I1上升,結果是 V1>V out,又 使電壓比較器輸出低電平,D 觸發(fā)器清零,功放級截止,I 1因繞組能量泄放而下降, 又出現(xiàn) V1<V out。此過程一直往復。由于恒頻脈沖頻率較高,使 V1 基本保持在 Vout值,且 I1波頂比較平穩(wěn)。 這樣通過 D/A 轉換輸入不同的階梯電壓,產生不同的階梯電流,達到了步距角細分的目 的。五.步進電機的驅動方式步進電機常用有恒壓,恒流驅動兩種。恒壓驅動即在電機移步與鎖步時都加載額定電壓。為防止電機過流及改善驅動特性需要加限流電阻。由于步進電機鎖步時,限流電阻要消耗掉外,為防止驅動電阻開關管關斷時步進電機繞組產生的感應電勢擊穿開關管,應在電機繞組兩端并聯(lián)續(xù)流二極管。三相反應步進電機的全壓驅動電路如下圖所示 驅動脈沖的分配也可以使用硬件方法,也即使用脈沖分配器實現(xiàn)。1) 硬件設計步進電機實際是一個數(shù)字/角度轉換器。三相反應式步進電機,定子上有六個 等分的大齒A,Z,B,X,C 和 Y,相鄰的兩個大齒之間的夾角是 60 度,每個大齒的內表面有槽,形成 5 個均勻分布的矩形小齒,每個小齒之間的夾角是 9 度,各個大齒上均繞有線圈,沿直徑相對的兩個大齒上的線圈相互串聯(lián)或并聯(lián),組成一相繞組。電機的轉子上沒有繞組。轉子外表面沿圓周均勻的分布著 40 個小齒。相鄰兩個小齒之間的夾角也是 9 度。步進電機的旋轉方向和外加電壓的相序有關,例如在六拍方式下,按 A-AC-C-CB-B-BA 的次序通電,電機反轉。MCS-51 單片機控制步進電機旋轉時,不采用脈沖分配器,而是使MCS-51 的 P1 口循環(huán)輸出適當?shù)拇a,經功放后送出到步進電機的三相繞組。例如去P1.0,P1.1,P1.2 的反相放大后,分別送 A,B ,C 三相繞組,則當圖原理示意圖 P1 口輸出代碼為 FEH,A 通電,B,C 相不通電,若輸出為 FDH,則 B 相通電,A ,C 相不通電,若先 輸出為 FEH,延時一段時間 T 以后,改為輸出 FDH,依次輸出適當?shù)拇a,就可以讓電機,正轉后反轉,改變每一輸出代碼的延時時間為 T,就可以改變電機的轉速,本設計采用四個鍵來控制三相步進電機的正轉,反轉,加速,停止,按鍵如下:0#鍵:作為步進電機的正向旋轉的啟動鍵,按一次后按指定的低速正向旋轉。1#鍵:作為步進電機的反向旋轉的啟動鍵,按一次后按指定的低速反向旋轉。2#鍵:加速鍵,按一次使電機轉速提高一倍。3#鍵:停止鍵,按一次后,步進電機停止轉動。接線圖如下:2) 軟件設計由于硬件方法比較復雜,而且成本也很高。步進電機控制(包括控制脈沖的產生和分配)也可以使用軟件方法,即使用單片機實現(xiàn),這樣不但簡化了電路,也降低了成本。使用單片機以軟件方式驅動步進電機,不但可以通過編程方法在一定范圍內自由的設定步進電機的轉速。往返轉動的角度以及轉動次數(shù)等,而且還可以方便靈活的控制步進電機的運行轉速,以滿足不同用戶的要求。因此常把單片機步進電機控制電路稱為可編程步進電機控制驅動器。功率放大電路中采用反相器 N1 將單片機 P1.0 口輸出的脈沖信號進行驅動能力增強,并經三極管 V11 去控制光電耦合器。信號經過光電隔離后,在經過 V12 功率管放大,驅動步進電機的 A 相。三相步進電機的 B 相,C 相分別由電片機 P1.1,p1.2 口進行控制,其功率放大和驅動電路與 A 相繞組相同。(1) 采用模塊化程序結構,有如下程序模塊:①主程序 MAIN:完成系統(tǒng)初始化,鍵盤掃描及根據(jù)現(xiàn)有狀態(tài)決定點饑的方式②電機正轉子程序:確定正轉的初始步序號,使電機正向旋轉一周③電機反轉子程序:確定正轉的初始步序號,使電機反向旋轉一周④電機加速子程序:確保電機處于正或反轉時,改變延時時間參數(shù)⑤電機停止子程序:執(zhí)行停止鍵功能,消除有關標識。⑥延時子程序:保證電機轉動每一步所需要的時間,以便控制電機的轉速(2) 資源分配:位地址 00H。01H 分別作為電機正。反轉的標識位。R7 作為延時參數(shù)的暫存植。8051P1 口的 P1.0.P1.1,P1.2 作為電機的控制口,經過反向和功率放大分別與步進電機的,A,B,Cs 三相連接。8051 的 P0,P1 口與 8155 相關管腳連接,負責完成鍵盤的接口功能。雙相六拍控制模型步序 P1 口輸出狀態(tài) 繞組 控制字1 0000 0001 A 01H2 0000 0011 AB 03H3 0000 0010 B 02H4 0000 0010 BC 06H5 0000 0100 C 04H6 0000 0101 CA 05H(3)軟件流程框如圖 所示(4)程序設計:晶振: 12Hz:ORG 0000H AJMP STARTZZMK BIT 00HFZMK BIT 01H;ORG 0100START : MOV SP,#70HMOV IE,#00HMOV DPTR,#PORT ;8155 初始化MOV A,#43HMOVX @DPTR,AMOV R7,#50CLR ZZMKCLR FZMK MAIN:ACALL KS ;調按鍵查詢子程序,判斷是否按下JNZ K1 ;有鍵按下,轉移ACALL DELAY ;無鍵按下,調延時子程序JNB ZZMK,MAIN1 ;第 0 行無鍵按下,轉查第 1 行AJMP ZZ ;電機正轉MAIN1: JNB FZMK,MAIN2 ;第 1 行無鍵按下,轉查第 2 行AJMP FZ ;電機反轉MAIN2: AJMP TZ--------------------------------------按鍵判斷子程序-------------------------K1 : ACALL DELAY ;鍵盤去抖延時MOV A,#0FEH ;首列掃描字送 R3MOV DPTR ,#PORTA ;PA 口地址送 DPTR,開始列掃描MOVX @DPTR,A ;列掃描字送 PA 口INC DPTR ;指向 PC 口INC DPTRMOVX A,@DPTR ;讀取行掃描值MOV B,AJB ACC.0,L1 ;第 0 行無鍵按下,轉查第 1 行 SETB ZZMKCLR FZMKAJMP ZZL1: JB ACC.1,L2 ;電機正轉CLR ZZMK ;第 1 行無鍵按下,轉查第 2 行SETB FZMKAJMP FZ ;電機反轉L2: JB ACC.2,L3 ;第 2 行無鍵按下,轉查第 3 行AJMP JS ; 轉求鍵號L3: JB ACC.3 NEXT ;第三行無鍵按下,退出 AJMP TZ NEXT: AJMP MAIN--------------按鍵查詢子程序 --------------------KS: MOV DPTR,#PORTA ;置 8155PA 口地址MOV A,#00HMOVX @DPTR,A ;全掃描字#00H 送 PA 口INC DPTR ;指向 PC 口INC DPTRMOVX A,@DPTR ;讀入 PC 口狀態(tài)CPL A ;變正邏輯,高電平表示有鍵按下ANL A,#0FH ;屏蔽高 4 位 RET ;返回, A≠0表示有鍵按下-----------------電機正轉子程序-----------------------ZZ: MOV 30H,#00H ;設初始步序號MOV R3,#8 ;因為步距角為 15 度,3×15=45,360/45=8 次,即要重復 8 次ZZ0: MOV R1,#3 ;3 步相序MOV R0,30H ;取初始步序號ZZ1: MOV A,R0MOV DPTR,#TAMOVC A,@+DPTR ;查步序碼MOV P1,A ;送 P1 口驅動ACALL DELAY ;延時 INC R0 ;修改步序DJNZ R1, ZZ1 ;檢查步序數(shù) DJNZ R3,ZZ0 ;檢查相序重復次數(shù)AJMP MAIN------------------------電機反轉子程序------------------------------FZ: MOV 30H,#04H ;設初始步序號MOV R3,#8 ;因為步距角為 15 度,3×15=45,360/45=8 次,即要重復 8 次FZ0: MOV R1,#3 ;3 步相序MOV R0,30H ;取初始步序號FZ1: MOV A,R0MOV DPTR,#TABMOVC A,@A+DPTR ;查步序碼MOV P1,A ;送 P1 口驅動ACALL DELAY ;延時INC R0 ;修改步序DJNZ R1,FZ1 ;檢查步序數(shù)DJNZ R3 ,FZ0 ;檢查相序重復次數(shù)AJMP MAIN------------------------電機加速子程序---------------------------JS : JNB ZZMK,JS1MOV R7,#25AJMP JS2JS1: JNB FZMK,JS2MOV R7,#25JS2: AJMP MAIN----------------------電機停止子程序------------------TZ : MOV P1,#0FFH ;停機CLR ZZMKCLR FZMKAJMP MAIN ;停止返回---------------------電機延時子程序 -------------------DELAY : MOV R4,R7 步序延時 50msDE1: MOV R5,#250DE0: NOPNOP DJNZ R5,DE0DJNZ R4,DE1RET;TA B DB 08H,01H,02H,04H ;正轉步序碼DB 08H,04H,02H,01H ;反轉步序碼END 程序結束六 設計分析與結論本步進電動機介紹及其控制系統(tǒng),具有以下突出特點:1.在步進電機的解釋中,充分的解釋到什么是步進電機,以及步進電機的分類,參數(shù),術語 等2.在步進步進電動機的細分技術中,講述什么是細分技術,如何保證了高精度細分的實現(xiàn)。 3.在步進電動機控制系統(tǒng)中,設計了“步進電機的啟動,加速,停止”方法,從原理上解決了使用單片機控制步進電機 4.在單片機控制步進電機的中,設計了單片機程序,保證步進電機的控制本設計從個方面都不是很完善,希望老師們能給予指導和幫助。 七.結束語 在整個畢業(yè)論文設計過程中,我主要圍繞著什么是步進電機,步進電機的控制系統(tǒng),步進電機的細分技術。從方案的制定到軟件的編寫我都經過反復的思考,并且查看了很多的參考書籍和參考資料,以及得到了指導老師的從旁指導和大力支持。 在本次畢業(yè)設計中,我進一步加強了自己的動手能力和運用專業(yè)知識的能力,從中學到如何去思考和解決問題,以及如何靈活地改變方法去實現(xiàn)設計方案;特別是深刻體會到的是軟件和硬件結合的重要性,以及兩者的聯(lián)系和配合作用。 通過畢業(yè)設計,我既鞏固了專業(yè)知識,又學到了在設計高精密儀器過程中的許多流程和該注意的事項,增強了產品開發(fā)的意識,是我在大學時期很好的一次實踐和鍛煉機會。 附錄步進電機的單片機控制硬件原理圖 參考文獻:[1]張永楓,王靜霞等編著《單片機應用實訓教程》西安電子科技大學出版社 2005.1[2]呂國雄、鄭永駒編著《MCS-51 系列單片機微型計算機原理與應用基礎教程》 廣東高等教育出版社 1994.12 [3]王建校等編著 《51 系列及 C51 程序設計》 科學出版社 2002.4[4]謝自美《電子線路設計、實驗、測試(第二版)》華中理工大學出版社,2000.[5]薛鈞義等編著《凌陽十六位單片機原理及應用》北京航空航天大學出版社,2003.[6]梁軍編著《單片機原理及應用》東南大學出版社 2000 [7]何立民編著《單片機高級教程》北京航空航天大學出版社 2000 致 謝特別感謝機電工程學院的賈蘭英老師,將文科老師的悉心指導和大力幫助,也感謝機電工程學院的所有老師在本科學習中給予我的良好教育和幫助。
收藏