謝海明
(湖南長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院電子信息工程學(xué)院,湖南 長(zhǎng)沙410004)
關(guān)于步進(jìn)電機(jī)的應(yīng)用已經(jīng)涉及國(guó)民生活的方方面面,例如指針式電子鐘表、印刷機(jī)等等。為了能夠進(jìn)一步達(dá)到智能化控制的要求,需要步進(jìn)電機(jī)的控制性能上升一個(gè)水平,于是提出了單片機(jī)控制的步進(jìn)電機(jī)。步進(jìn)電機(jī)與其他電機(jī)最大的不同在于,步進(jìn)電機(jī)是通過(guò)輸入脈沖信號(hào)進(jìn)行控制,其作為數(shù)字控制系統(tǒng)中的一個(gè)執(zhí)行元件,轉(zhuǎn)速由脈沖信號(hào)的頻率決定,這就使得步進(jìn)電機(jī)十分適合與單片機(jī)結(jié)合。
步進(jìn)電機(jī)被廣泛應(yīng)用于精確定位系統(tǒng),與其他電機(jī)不同,不會(huì)出現(xiàn)積累誤差。綜合分析步進(jìn)電機(jī)的特點(diǎn),主要有以下幾點(diǎn):第一,控制更加方便,直接使用數(shù)字信號(hào)進(jìn)行開(kāi)環(huán)控制;第二,使用更加方便,不需要進(jìn)行數(shù)模轉(zhuǎn)換;第三,在起動(dòng)、停止、正反轉(zhuǎn)以及變速上具有良好反應(yīng),響應(yīng)性較佳;第四,整機(jī)結(jié)構(gòu)簡(jiǎn)單,成本低。目前,步進(jìn)電機(jī)的種類(lèi)從類(lèi)型上分為機(jī)械式、電磁式、組合式三種[1],根據(jù)結(jié)構(gòu)特點(diǎn)劃分為反應(yīng)式、永磁式、混合式[2]。其中反應(yīng)式步進(jìn)電機(jī)結(jié)構(gòu)最簡(jiǎn)單,同時(shí)也是應(yīng)用范圍最廣泛的一種。從步進(jìn)電機(jī)的原理分析,其之所以能夠旋轉(zhuǎn)起來(lái),最根本的原因是錯(cuò)齒。
步進(jìn)電機(jī)控制系統(tǒng)由運(yùn)動(dòng)控制部件、驅(qū)動(dòng)部件、運(yùn)動(dòng)執(zhí)行部件組成[3]。作為一個(gè)完整的整體,以單片機(jī)控制的步進(jìn)電機(jī)系統(tǒng)由單片機(jī)系統(tǒng)、外圍電路、驅(qū)動(dòng)電路、步進(jìn)電機(jī)組成。其中,單片機(jī)系統(tǒng)是利用微處理器、只讀存儲(chǔ)器、隨機(jī)存儲(chǔ)器、中斷系統(tǒng)等電路集成在一個(gè)芯片中,這種基于單片機(jī)的步進(jìn)電機(jī)能夠提高整個(gè)系統(tǒng)的工作效率與可靠性。
綜合考慮各方面條件、因素,本次設(shè)計(jì)采用AT89S52型單片機(jī),在系統(tǒng)功能方面,采用電路上電復(fù)位或手動(dòng)按鈕復(fù)位,精度高。使用單片機(jī)最小系統(tǒng)和少量外圍器件組成基于單片機(jī)的步進(jìn)電機(jī)控制系統(tǒng)。單片機(jī)最小系統(tǒng)由單片機(jī)、時(shí)鐘晶振電路、復(fù)位電路等組成[4]。AT89S52單片機(jī)主要功能如表1所示。
考慮到單片機(jī)直接輸出的脈沖信號(hào)太小,需要增加一個(gè)驅(qū)動(dòng)電路,本文采用型號(hào)為ULN2003A的高壓大電流、大功率達(dá)林頓芯片驅(qū)動(dòng)步進(jìn)電機(jī),保證步進(jìn)電機(jī)正常工作。為了進(jìn)一步提高其性能,本設(shè)計(jì)增加拓展實(shí)現(xiàn)方案,利用兩個(gè)型號(hào)為ULN2003A的大功率達(dá)林頓芯片作為步進(jìn)電機(jī)驅(qū)動(dòng)板,提高低電平驅(qū)動(dòng)能力。
表1 AT89S52單片機(jī)主要功能
借助軟件編程,利用單片機(jī)進(jìn)行電極控制的脈沖分配,保證步進(jìn)電機(jī)的正常工作。本次研究中步進(jìn)電機(jī)采用的是四相步進(jìn)電機(jī),但為提高步進(jìn)電機(jī)的負(fù)載能力,使用八拍驅(qū)動(dòng)方式,因此最后組成四相八拍。這種方式的通電順序是A相線圈最先開(kāi)始通電,之后轉(zhuǎn)換為A、B兩相線圈同時(shí)通電,然后再單獨(dú)給B相通電,之后B、C兩相線圈通電。在設(shè)計(jì)階段,關(guān)于基礎(chǔ)實(shí)現(xiàn)方案程序的設(shè)計(jì)方面,單片機(jī)控制步進(jìn)電機(jī)的流程可以簡(jiǎn)單化為開(kāi)始→初始化按鍵判斷→相應(yīng)按鍵子程序。
關(guān)于軟件設(shè)計(jì)的拓展實(shí)現(xiàn)方案,在單片機(jī)的P2口設(shè)計(jì)堆棧,開(kāi)始時(shí)步進(jìn)電機(jī)停轉(zhuǎn),對(duì)按鍵進(jìn)行掃描,判斷是否有按鍵按下,一般情況下,在每次按鍵按下之后,一般所按的按鍵都會(huì)在閉合與斷開(kāi)位置之間跳幾下才能夠穩(wěn)定閉合,這種情況稱(chēng)為按鍵抖動(dòng)。一般這種抖動(dòng)的持續(xù)時(shí)間不會(huì)超過(guò)10ms。為了保證系統(tǒng)的正常運(yùn)行,可以在系統(tǒng)中加入按鍵消抖程序,只要按下了按鍵,按鍵消抖程序就會(huì)啟動(dòng),消除按鍵抖動(dòng)。
將編寫(xiě)完成的程序輸入單片機(jī)硬件芯片中,同時(shí)還需要各種輔助工具才能完成[5]。根據(jù)設(shè)計(jì)要求,為提高編程效率及效果,加入仿真器對(duì)已經(jīng)編寫(xiě)好的單片機(jī)程序進(jìn)行調(diào)試。所謂的仿真器就是利用仿真軟件進(jìn)行單片機(jī)運(yùn)行的實(shí)時(shí)模擬及在線調(diào)試。仿真器具備基本的輸入裝置和輸出裝置,同時(shí)配備各種相應(yīng)支持程序調(diào)試的軟件,最后達(dá)到直接通過(guò)單片機(jī)仿真器進(jìn)行程序輸入與修改的效果,同時(shí)還能夠觀察程序運(yùn)行結(jié)果和運(yùn)行過(guò)程中的中間值,以大大提高編程效果。其中使用到的編程器作用是將數(shù)據(jù)寫(xiě)入可以編程的集成芯片中,目前比較常用的是存儲(chǔ)器之類(lèi)可編程的芯片,在經(jīng)過(guò)仿真器調(diào)試之后,編譯出十六進(jìn)制或二進(jìn)制的代碼,將其寫(xiě)入單片機(jī)程序存儲(chǔ)器中,保證單片器能夠在電路板上正常運(yùn)行。
開(kāi)始進(jìn)行仿真調(diào)試,將仿真器的仿真頭插在插座上,連接電源。啟動(dòng)仿真軟件,選擇CPU和相關(guān)設(shè)置。新建一個(gè)文件夾,將步進(jìn)電機(jī)的控制程序輸入,完成保存。進(jìn)行程序編譯操作,如出現(xiàn)出錯(cuò)的命令,會(huì)自動(dòng)彈出一個(gè)信息窗口,顯示錯(cuò)誤的相關(guān)信息。在編譯完成后會(huì)生成一個(gè)HEX文件。進(jìn)行調(diào)試操作,觀察電路板步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)效果,如果存在功能障礙問(wèn)題,則需重新進(jìn)行編譯操作。為了更加快速、準(zhǔn)確地找到錯(cuò)誤,可以在仿真調(diào)試中將單步執(zhí)行和全速執(zhí)行兩種調(diào)試方式結(jié)合起來(lái)使用。其中,單步執(zhí)行能夠詳細(xì)了解每條指令的具體執(zhí)行情況,全速執(zhí)行可以配合設(shè)置斷點(diǎn),在大致范圍上確定錯(cuò)誤出現(xiàn)的位置。
在完成了仿真調(diào)試并且結(jié)果未出現(xiàn)錯(cuò)誤之后,將編程器中已經(jīng)編寫(xiě)好的程序放進(jìn)單片機(jī)硬件芯片中,具體操作程序?yàn)椋旱谝徊?,將單片機(jī)根據(jù)要求插入編程器插座中,接通電源;第二步,打開(kāi)編程軟件,在還未進(jìn)入程序之前所有窗口的顯示均為“FF”;第三步,選擇需要編程器件的型號(hào),最后點(diǎn)擊“確定”選擇;第四步,調(diào)入選擇,需要注意的是,在調(diào)入之前需要清空緩沖區(qū);第五步,在完成文件的調(diào)入后,數(shù)據(jù)窗口會(huì)顯示出具體的數(shù)據(jù);第六步,進(jìn)行編程操作,直接選擇自動(dòng)編程,完成整個(gè)操作;第七步,在點(diǎn)擊自動(dòng)編程之后,程序會(huì)開(kāi)始自動(dòng)進(jìn)行寫(xiě)入操作,完成之后顯示100%,則編程成功。程序在完成調(diào)試仿真并且最后結(jié)果無(wú)誤之后,利用編程器將已經(jīng)編寫(xiě)好的程序?qū)懭雴纹瑱C(jī)的存儲(chǔ)器中,整個(gè)操作就完成,單片機(jī)就可以在電路板上進(jìn)行正常運(yùn)行了。
基于單片機(jī)的步進(jìn)電機(jī)利用單片機(jī)產(chǎn)生驅(qū)動(dòng)步進(jìn)電機(jī)的脈沖信號(hào),并傳動(dòng)給驅(qū)動(dòng)電路,驅(qū)動(dòng)電路根據(jù)控制信號(hào)進(jìn)行操作,從而實(shí)現(xiàn)了步進(jìn)電機(jī)的轉(zhuǎn)速與方向控制。在硬件設(shè)計(jì)與軟件設(shè)計(jì)方面通過(guò)一些列操作,有效提高了控制的靈活性。這種基于單片機(jī)的步進(jìn)電機(jī)控制器控制效果較佳,展現(xiàn)出了良好的運(yùn)行效果。本文將研究的重點(diǎn)放在了設(shè)計(jì)方面,后期的仿真操作以及實(shí)際運(yùn)行仍然需要從多個(gè)角度、多個(gè)方面進(jìn)行深入分析與研究。
[1]王晨光,孫運(yùn)強(qiáng),許鴻鷹.步進(jìn)電機(jī)的單片機(jī)控制設(shè)計(jì)分析[J].國(guó)外電子測(cè)量技術(shù),2008,27(9):39-41,60.
[2]鄭虎子.單片機(jī)控制混合式步進(jìn)電機(jī)驅(qū)動(dòng)電源的研究及設(shè)計(jì)[D].武漢:華中科技大學(xué),2007:123-124.
[3]汪姝.基于單片機(jī)的步進(jìn)電機(jī)驅(qū)動(dòng)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南昌:南昌大學(xué),2012:186-187.
[4]熊超美.步進(jìn)電機(jī)的單片機(jī)控制硬件系統(tǒng)設(shè)計(jì)[J].湖南有色金屬 ,2011,27(2):61-64.
[5]高亮.8051單片機(jī)對(duì)步進(jìn)電機(jī)的控制及步進(jìn)電機(jī)升降速曲線的設(shè)計(jì)[J].測(cè)控技術(shù),2002,21(11):64-65,67.