




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄1總體方案的確定11.1 對步進(jìn)電機(jī)的分析11.2 電機(jī)的控制方案21.3 控制算法的方案31.4 串口通訊的模擬32硬件的設(shè)計(jì)與實(shí)現(xiàn)41 微處理器的選擇41 控制電路的實(shí)現(xiàn)41 鍵盤和顯示電路63軟件的設(shè)計(jì)與實(shí)現(xiàn)6控制信號(hào)輸入程序7步進(jìn)電機(jī)控制程序設(shè)計(jì)8程序分析及說明94系統(tǒng)的仿真與調(diào)試10程序的調(diào)試11串口通信的調(diào)試11調(diào)試結(jié)果及分析115設(shè)計(jì)總結(jié)13參考文獻(xiàn)14附錄15步進(jìn)電機(jī)速度控制系統(tǒng)設(shè)計(jì)報(bào)告1總體方案的確定系統(tǒng)以單片機(jī)為核心,接收并分析來自鍵盤或串口的控制指令,經(jīng)過CPU的邏輯計(jì)算輸出控制信息,讓步進(jìn)電機(jī)按要求轉(zhuǎn)動(dòng)。由于步進(jìn)電機(jī)是開環(huán)元件,系統(tǒng)不需反饋環(huán)節(jié),但也同時(shí)要求控制信號(hào)
2、足夠精確。止匕外,為實(shí)現(xiàn)單片機(jī)與電機(jī)之間信號(hào)對接,需要加入步進(jìn)電機(jī)驅(qū)動(dòng)單元。對步進(jìn)電機(jī)的分析步進(jìn)電機(jī)又叫脈沖電機(jī),它是一種將電脈沖信號(hào)轉(zhuǎn)化為角位移的機(jī)電式數(shù)模轉(zhuǎn)換器。在開環(huán)數(shù)字程序控制系統(tǒng)中,輸出控制部分常采用步進(jìn)電機(jī)作為驅(qū)動(dòng)元件。步進(jìn)電機(jī)控制線路接收計(jì)算機(jī)發(fā)來的指令脈沖,控制步進(jìn)電機(jī)做相應(yīng)的轉(zhuǎn)動(dòng),步進(jìn)電機(jī)驅(qū)動(dòng)數(shù)控系統(tǒng)的工作臺(tái)或刀具。很明顯,指令脈沖的總數(shù)就決定了數(shù)控系統(tǒng)的工作臺(tái)或刀具的總位移量,指令脈沖的頻率決定了移動(dòng)的速度。因此,指令脈沖能否被可靠地執(zhí)行,基本上取決于步進(jìn)電機(jī)的性能。步進(jìn)電機(jī)的工作就是步進(jìn)轉(zhuǎn)動(dòng)。在一般的步進(jìn)電機(jī)工作中,具電源都是采用單極性的直流電源。要是步進(jìn)電機(jī)轉(zhuǎn)動(dòng),就必須
3、對步進(jìn)電機(jī)定子的各相繞組以適當(dāng)?shù)臅r(shí)序進(jìn)行通電。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度(即步進(jìn)角)。通過控制脈沖個(gè)數(shù)即可以控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)通過控制脈沖頻率來控制電機(jī)轉(zhuǎn)動(dòng)的速度和加速度,即可達(dá)到調(diào)速的目的。本設(shè)計(jì)是用單片機(jī)輸出可調(diào)脈沖作為單片機(jī)的控制信號(hào),通過改寫脈沖頻率調(diào)節(jié)單片機(jī)轉(zhuǎn)速。常見的步進(jìn)電機(jī)分三種:永磁式(PM,反應(yīng)式(VR)和混合式(HB),永磁式步進(jìn)一般為兩相,轉(zhuǎn)矩和體積較??;反應(yīng)式步進(jìn)一般為三相,可實(shí)現(xiàn)大轉(zhuǎn)矩輸出,但噪聲和振動(dòng)都很大。混合式步進(jìn)是指混合了永磁式和反應(yīng)式的優(yōu)點(diǎn),它又分為兩相和五相,應(yīng)用最為廣泛。單片機(jī)管
4、腳輸出電壓一般不足以驅(qū)動(dòng)步進(jìn)電機(jī)轉(zhuǎn)動(dòng),所以需要在單片機(jī)和步進(jìn)電機(jī)之間加入驅(qū)動(dòng)電路。電機(jī)的控制方案步進(jìn)電機(jī)有三相、四相、五相、六相等多種,不同的電機(jī)又各有很多工作方式。由于步進(jìn)電機(jī)是一種將電脈沖信號(hào)轉(zhuǎn)換成直線或角位移的執(zhí)行元件,它不能直接接到交直流電源上,而必須使用專用設(shè)備-步進(jìn)電機(jī)控制驅(qū)動(dòng)器。典型步進(jìn)電機(jī)控制系統(tǒng)如圖1所示:控制器可以發(fā)出脈沖頻率從幾赫茲到幾十千赫茲可以連續(xù)變化的脈沖信號(hào),它為環(huán)形分配器提供脈沖序列。環(huán)形分配器的主要功能是把來自控制環(huán)節(jié)的脈沖序列按一定的規(guī)律分配后,經(jīng)過功率放大器的放大加到步進(jìn)電機(jī)驅(qū)動(dòng)電源的各項(xiàng)輸人端,以驅(qū)動(dòng)步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。環(huán)形分配器主要有兩大類:一類是用計(jì)算機(jī)
5、軟件設(shè)計(jì)的方法實(shí)現(xiàn)環(huán)分器要求的功能,通常稱軟環(huán)形分配器。另一類是用硬件構(gòu)成的環(huán)形分配器,通常稱為硬環(huán)形分配器。功率放大器主要對環(huán)形分配器的較小輸出信號(hào)進(jìn)行放大,以達(dá)到驅(qū)動(dòng)步進(jìn)電機(jī)目的。圖1典型步進(jìn)電機(jī)控制框圖軟環(huán)形分配即采用微機(jī)控制取代脈沖分配器,直接將控制信號(hào)分管腳送到驅(qū)動(dòng)電路,常用的辦法是通過編程輸出內(nèi)存中定義好的控制方式輸出字。這樣,當(dāng)步進(jìn)電機(jī)的相數(shù)和控制方式確定之后,以一定規(guī)律輸出控制字就可以了。軟環(huán)形分配用程序取代了脈沖分配器,一定程度上降低了成本。但如果要預(yù)存的控制字很多,就會(huì)占用單片機(jī)較多內(nèi)存。止匕外,當(dāng)所控制的步進(jìn)電機(jī)相數(shù)較多,需要的輸出管腳也會(huì)隨之增加,這樣就占用了單片機(jī)較多
6、的數(shù)據(jù)口,降低接口的利用率的同時(shí)限制了單片機(jī)實(shí)現(xiàn)更多功能。由于任務(wù)要求系統(tǒng)有鍵盤、顯示以及串口控制等多個(gè)部分,且要控制兩部電機(jī),為留出更多的數(shù)據(jù)接口實(shí)現(xiàn)上述功能,設(shè)計(jì)選擇常規(guī)的電機(jī)控制電路。由脈沖分配器完成對電機(jī)繞組電平的時(shí)序控制(即脈沖分配),從而每個(gè)電機(jī)只需單片機(jī)對應(yīng)輸出一個(gè)觸發(fā)信號(hào)(控制方向)和一組脈沖波(控制速度)即可。要注意的是,對脈沖波頻率的計(jì)算和輸出控制沒有直接輸出控制字的方法精確,響應(yīng)效果也會(huì)因脈沖分配器的存在而稍差一些??刂扑惴ǖ姆桨竼纹瑱C(jī)對步進(jìn)電機(jī)的控制算法也有多種,如上述的輸出字法就是利用單片機(jī)內(nèi)部的計(jì)時(shí)功能定時(shí)輸出控制字,把對電機(jī)速度的控制轉(zhuǎn)變?yōu)閷纱屋敵鰰r(shí)間問隔的控制
7、。控制算法很大程度決定于電機(jī)的控制方案。上文選定的電機(jī)控制方案是要求單片機(jī)實(shí)時(shí)輸出改變電機(jī)方向的觸發(fā)信號(hào)和控制電機(jī)轉(zhuǎn)速的脈沖信號(hào)。對于電機(jī)方向的控制,由按鍵或串口控制指令改寫對應(yīng)的標(biāo)志量的值并由接口輸出即可。對電機(jī)速度的控制就是對輸出脈沖波頻率的控制,而頻率的大小是要有時(shí)間標(biāo)尺衡量的。單片機(jī)內(nèi)部對輸出頻率的控制是通過兩個(gè)中間變量的比較運(yùn)算實(shí)現(xiàn)的:其中一個(gè)變量(以A代替)由單片機(jī)內(nèi)部的計(jì)時(shí)器改寫,表征時(shí)間量作為標(biāo)尺;另一個(gè)變量(以B代替)由按鍵或用控制指令改寫,表征速度值(其大小可通過算數(shù)運(yùn)算與實(shí)際速度相統(tǒng)一)。程序在每次執(zhí)行計(jì)時(shí)中斷程序時(shí)改變一次電平:原來是高電平則變?yōu)榈碗娖?,原來是低電平則變
8、為高電平。顯然,B值的大小直接決定了比較結(jié)果產(chǎn)生的快慢,即輸出端高低電平變化的快慢。改變B的大小就可以改變輸出的脈沖頻率,從而控制步進(jìn)電機(jī)的速度。變量的使用不僅方便地實(shí)現(xiàn)了對輸出脈沖頻率的控制,還有利于實(shí)現(xiàn)多部步進(jìn)電機(jī)的異步運(yùn)行。針對每個(gè)電機(jī)定義一個(gè)速度變量,分別與時(shí)間標(biāo)量進(jìn)行比較運(yùn)算,比較結(jié)果控制各自的管腳電平變化。用取反運(yùn)算或者位異或運(yùn)算改寫管腳電平,可以有效控制輸出電平而不互相干擾。串口通訊的模擬單片機(jī)上有通用異步接收/發(fā)送器用于串行通信,發(fā)送時(shí)數(shù)據(jù)由TXD端送出,接收時(shí)數(shù)據(jù)由RXD端輸入。有兩個(gè)緩沖器SBUF,一個(gè)作發(fā)送緩沖器,另一個(gè)作接收緩沖器。短距離的機(jī)間通訊可使用UART的TTL
9、電平,使用驅(qū)動(dòng)芯片可接成RS232C與通用微機(jī)進(jìn)行通訊。波特率時(shí)鐘必須從內(nèi)部定時(shí)器1或定時(shí)器2獲得。本設(shè)計(jì)運(yùn)用軟件模擬上位機(jī)控制端,經(jīng)過串口輸出控制信號(hào)到單片機(jī)用行口,形成區(qū)別于鍵盤的另一種控制方式。2硬件的設(shè)計(jì)與實(shí)現(xiàn)微處理器的選擇AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器和128bytes隨機(jī)存取數(shù)據(jù)存儲(chǔ)器的低電壓、高性能CMOS8&微處理器。片內(nèi)置通用8位中央處理器,采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)的生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)。AT89C51提供以下標(biāo)準(zhǔn)功能:4K字節(jié)Flash閃存存儲(chǔ)器,128字節(jié)內(nèi)部RAM32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器;一個(gè)5
10、向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式,空閑方式停止CPU的工作,但允許RAM定時(shí)/計(jì)數(shù)器、串行通信及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一次硬件復(fù)位。用AT89C51足以實(shí)現(xiàn)對步進(jìn)電機(jī)的簡單控制。控制電路的實(shí)現(xiàn)常規(guī)步進(jìn)電機(jī)的驅(qū)動(dòng)是用ULN達(dá)林頓驅(qū)動(dòng)器實(shí)現(xiàn)的,具內(nèi)部含有多個(gè)達(dá)林頓管,適于感性負(fù)載的驅(qū)動(dòng)。本文所設(shè)計(jì)的步進(jìn)電機(jī)控制驅(qū)動(dòng)器的框路圖如圖2:圖2步進(jìn)電機(jī)控制驅(qū)動(dòng)器框圖ATB9c51|_L297.L298步進(jìn)電機(jī)L297芯片是一種硬件
11、環(huán)分集成芯片,可產(chǎn)生四相驅(qū)動(dòng)信號(hào),用于計(jì)算機(jī)控制的兩相雙極或四相單極步進(jìn)電機(jī)。其內(nèi)部主要部分是一組譯碼器,能產(chǎn)生各種所需的相序。這一部分是由兩種輸入模式控制,方向控制(CW/CCWBHALF/FULL,以及步進(jìn)式時(shí)鐘CLOCK能將譯碼器從一階梯推進(jìn)至另一階梯。譯碼器有四個(gè)輸出點(diǎn)連接到輸出邏輯部分,提供抑制和斬波功能所需的相序。因此L297能產(chǎn)生三種相序信號(hào),對應(yīng)于三種不同的工作方式:即半步方式(HALFSTEP),基本步距(FULLSTEP,整步)一相激勵(lì)方式,基本步距兩相激勵(lì)方式。脈沖分配器內(nèi)部是一個(gè)3bit可逆計(jì)數(shù)器,加上組合邏輯產(chǎn)生每周期8步格雷碼時(shí)序信號(hào),就是半步工作方式的時(shí)序信號(hào),此
12、時(shí)HALF/FULL信號(hào)為高電。若HALF/FULL取低電平,得到基本步距工作方式,即雙四拍全階梯工作方式。L297另一個(gè)重要組成是由兩個(gè)PW晰波器來控制相繞組電流,實(shí)現(xiàn)恒流斬波控制以獲得良好的矩頻特性。每個(gè)斬波器由一個(gè)比較器、一個(gè)RS觸發(fā)器和外接采樣電阻組成,并設(shè)有一個(gè)公用振蕩器,向兩個(gè)斬波器提供觸發(fā)脈沖信號(hào)。L298是一種高壓、大電流雙全橋式驅(qū)動(dòng)器,其設(shè)計(jì)是為接受標(biāo)準(zhǔn)TTL邏輯電平信號(hào)和驅(qū)動(dòng)電感負(fù)載的,例如繼電器、圓筒形線圈、直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)等。L298具有兩抑制輸入,可使器件不受輸入信號(hào)影響。每橋的三級(jí)管的射極是連接在一起的,相應(yīng)外接線端可用來連接外設(shè)傳感電阻,還可安置另一輸入電源
13、,使邏輯能在低電壓下工作。L298芯片是具有15個(gè)引出腳的多瓦數(shù)直插式封裝的集成芯片。由L297和L298所組成的步進(jìn)電機(jī)才5制電路如圖3所示。這種控制電路的優(yōu)點(diǎn)是需要的元件較少,裝配線路簡單,成本低,可靠性高,占空間少??刂齐娐匪栊盘?hào)也比較簡易,可以簡化和減輕彳型計(jì)算機(jī)的負(fù)擔(dān)。另外,L297和L298都是獨(dú)立的芯片,所以組合和控制十分靈活。但缺點(diǎn)是,所控制的電機(jī)類型以及運(yùn)行方式會(huì)受芯片限制。圖3步進(jìn)電機(jī)控制電路鍵盤和顯示電路本設(shè)計(jì)鍵盤采用低電平有效的獨(dú)立鍵盤,用位運(yùn)算進(jìn)行鍵盤掃描。顯示選用LM016L液晶顯示器,可同時(shí)顯示兩部電機(jī)的運(yùn)行方向和速度。加入通信串口,晶振以及相關(guān)配件后的系統(tǒng)總電
14、路圖如下,(系統(tǒng)調(diào)試后的完整電路圖見附錄):3軟件的設(shè)計(jì)與實(shí)現(xiàn)單片機(jī)是系統(tǒng)的核心,主要承擔(dān)控制信號(hào)的接受,邏輯分析和運(yùn)算,控制量的輸出和顯示的運(yùn)算和輸出等功能。本程序采用模塊化設(shè)計(jì),針對上述功能主要包括主函數(shù)、鍵盤掃描、串口中斷、計(jì)時(shí)中斷和顯示程序幾個(gè)模塊C其中,主函數(shù)主要負(fù)責(zé)對單片機(jī)、內(nèi)部元件及中斷等工作方式進(jìn)行定義和設(shè)定,并協(xié)調(diào)好各模塊之間的運(yùn)行時(shí)序,其流程圖如下:圖5主函數(shù)流程圖開始結(jié)束控制信號(hào)輸入程序控制信號(hào)可以通過獨(dú)立鍵盤和串口通訊兩種方式輸入。鍵盤的輸入主要是用掃描程序,即不停取鍵盤接口的邏輯值,與特定值進(jìn)行位運(yùn)算就可以識(shí)別鍵盤的控制信息。串口通訊控制信號(hào)的輸入也是利用了掃描,不過
15、單片機(jī)內(nèi)軟件所要做的,要是定義計(jì)數(shù)器工作及串口協(xié)議,如波特率等。成功實(shí)現(xiàn)申通訊后,對獲得的數(shù)據(jù)編輯運(yùn)算就可以形成對應(yīng)的控制輸出。為避免兩種方式的控制信號(hào)沖突,程序通過外接開關(guān)選定控制方式。整個(gè)控制信號(hào)輸入程序流程圖如下:圖6輸入掃描程序流程圖步進(jìn)電機(jī)控制程序設(shè)計(jì)確定方案的時(shí)候已經(jīng)提到,對步進(jìn)電機(jī)的控制主要是對單片機(jī)輸出脈沖頻率的控制。頻率的快慢必然是要有時(shí)間來衡量的,顯然要使用單片機(jī)內(nèi)部的計(jì)時(shí)器進(jìn)行計(jì)時(shí),電平輸出指令就在計(jì)時(shí)器中斷程序中。每當(dāng)計(jì)時(shí)結(jié)束,開始就執(zhí)行一次比較運(yùn)算并改寫電平與原來相反。值得注意的是,由于單片機(jī)計(jì)時(shí)器的計(jì)時(shí)是對預(yù)存的起始量進(jìn)行減運(yùn)算。這樣,要想加快電機(jī)速度提高輸出頻率就
16、要減小速度標(biāo)量B,以減少兩者比較次數(shù),更頻繁地執(zhí)行中斷以改寫電平,從而達(dá)到提高頻率的目的。頻率控制原理圖如圖7所示:圖7頻率變化原理由圖可以明顯地看出,速度標(biāo)志量越小,輸出波形的頻率越快。由此可以確定鍵盤控制和串口控制下,步進(jìn)電機(jī)控制算法程序的流程圖如下:圖8步進(jìn)電機(jī)控制程序流程圖程序分析及說明本設(shè)計(jì)的程序采用了多個(gè)變量,其中Runspeed變量在控制輸入和控制輸出之間起樞紐作用,可以說對Runspeed的控制就是對電機(jī)速度的控制。計(jì)數(shù)器環(huán)節(jié)中,Cnt變量的使用讓計(jì)時(shí)器解放出來成為獨(dú)立的走時(shí),把對計(jì)時(shí)中斷次數(shù)的統(tǒng)計(jì)作為計(jì)算量,而計(jì)數(shù)器本身不參與邏輯運(yùn)算。這樣大大提高了單片機(jī)內(nèi)有限個(gè)計(jì)時(shí)器的利用
17、率,當(dāng)有新的控制需要時(shí)間量度時(shí),只需增加變量即可。此外,通過取反改變輸出電平的算法簡單方便,節(jié)省了單片機(jī)內(nèi)存空間的同時(shí)也節(jié)省了有限的數(shù)據(jù)口。設(shè)計(jì)程序從多方面充分提高單片機(jī)的利用率,是值得推廣的。4系統(tǒng)的仿真與調(diào)試仿真時(shí),先完成由鍵盤控制的一臺(tái)步進(jìn)電機(jī)的加速減速控制,確定鍵盤掃描、電機(jī)走步等的基本算法是否可行。之后開辟新的接口,對另一臺(tái)電機(jī)控制,新變量的加入使兩臺(tái)電機(jī)的異步運(yùn)行十分容易。最后仿真串行接口的通訊與控制。程序的調(diào)試對于脈沖波的輸出算法,可以選擇對管腳位定義,再對變量或管腳代號(hào)分別作取反運(yùn)算。這種方法可靠簡單,但如果所要控制的電機(jī)數(shù)目較多,程序就會(huì)十分冗長。用8位異或的位運(yùn)算就可以解決
18、這個(gè)問題,位異或可以只對目標(biāo)管腳作用而不影響其他管腳的輸出,可以同時(shí)對多個(gè)管腳改寫電平。鍵盤掃描是不斷用接口數(shù)據(jù)與特定16進(jìn)制數(shù)進(jìn)行位運(yùn)算,位運(yùn)算的選擇也會(huì)影響到信號(hào)采集的準(zhǔn)確度和管腳的利用率。調(diào)試顯示器的關(guān)鍵則是準(zhǔn)確地將初始化信息分批地送到顯示器里。針對本設(shè)計(jì)所使用的AT89C51單片機(jī),如果選用P0作為顯示輸出則必須對P0口每個(gè)管腳接上拉電阻。而對電機(jī)速度的顯示需要以Runspeed為應(yīng)變量選取適當(dāng)?shù)膿Q算函數(shù),才能顯示正確的速度值。串口通信的調(diào)試調(diào)試審?fù)ㄓ嵉年P(guān)鍵是對串口正確地初始化。一旦通信成功,串口控制就解決了大半的問題,接著就是用緩存里的數(shù)據(jù)編程控制,具算法與鍵盤控制相差不遠(yuǎn)。串口調(diào)試
19、最需注意的是,除了在程序里對審和通訊初始化之外,電路圖中器件相關(guān)屬性的設(shè)置都必須與通訊要求保持一致,比如串口的波特率應(yīng)設(shè)置為軟件里初始化波特率的大小。同樣地,模擬的上位機(jī)的傳輸位和停止位等指標(biāo)也應(yīng)認(rèn)真選定。本設(shè)計(jì)只完成了單片機(jī)與控制口之間以字節(jié)為單位的簡單通訊,所以能通信的控制功能十分有限。調(diào)試結(jié)果經(jīng)過調(diào)試,系統(tǒng)能以鍵盤和用兩種方式對兩部步進(jìn)電機(jī)進(jìn)行異步控制,并在顯示屏上顯示各電機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。其中用口控制仿真效果如下圖所步進(jìn)電機(jī)控制顯示肯&才力青沮白EtF久”步進(jìn)電機(jī)LTT收瓶10理K懼*墀同.4電精1力向工牯*度炭-74-1VI120fMZCnin)125b電陵遍建電*海金控制臺(tái)匕步進(jìn)電機(jī)
20、Z控制說明:上面四個(gè)開關(guān)是觸發(fā)開關(guān)工按下恥松開,;主要用于控制電機(jī)加樹控制提E-狀,對應(yīng)的電物口速一次.:下面三個(gè)開關(guān)是電乎開關(guān).:工接任點(diǎn)持嫉開或關(guān)前兩個(gè)用于電機(jī)方向的控制,:麗一個(gè)用于選擇蟠拄制工眠T?.還是串口控制X彈盤)鳥口控制需要外帶軟件支持,衡療才是用小而噓擬通道用串口調(diào)試助手模擬上位機(jī)一審U控制一丁超機(jī)1加函2電機(jī)減遠(yuǎn)學(xué)聊匕加速4機(jī)2減速,.營電機(jī)正轉(zhuǎn),電機(jī)1反轉(zhuǎn),1r電機(jī)2正羯或電機(jī)二反轉(zhuǎn),串口調(diào)試助手中,串口為COM丸被特率為9000圖9串口控制仿真效果圖圖10串口控制窗口5設(shè)計(jì)總結(jié)本計(jì)選擇常規(guī)的脈沖分配器完成對電機(jī)繞組電平的時(shí)序控制,從而使單片機(jī)對每部電機(jī)對應(yīng)輸出一個(gè)觸發(fā)信
21、號(hào)和一組脈沖波即可。這樣節(jié)省了單片機(jī)的數(shù)據(jù)接口,一定程度提高了利用率。另外,正如程序分析師所述,本設(shè)計(jì)的軟件采用了多個(gè)變量使單片機(jī)計(jì)時(shí)器等部分得以共享,當(dāng)有新的控制需要時(shí)間量度時(shí),只需增加變量即可,大大提高了使用價(jià)值。此外,程序通過取反改變輸出電平的算法簡單方便,節(jié)省了單片機(jī)內(nèi)存空間的同時(shí)也節(jié)省了有限的數(shù)據(jù)口。系統(tǒng)對信號(hào)頻率控制,使得控制的精確度較輸出控制字方式較差。此外,變量的使用也是的多個(gè)程序模塊同時(shí)依賴一個(gè)計(jì)數(shù)器,降低了系統(tǒng)可靠性。1于海生.微型計(jì)算機(jī);f$制技術(shù).北京:清華大學(xué)出版社,1999.32常喜茂,孔英會(huì)等.C51基礎(chǔ)與應(yīng)用實(shí)例.北京:電子工業(yè)出版社,20093馬德駿,張建宏等
22、.C語言程序設(shè)計(jì).北京:科學(xué)出版社,20064劉寶廷,程樹康等.步進(jìn)電機(jī)及其驅(qū)動(dòng)控制系統(tǒng).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,19975馬忠梅,籍順心等.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2007附錄#include#include#includeintdelay();voidinti_lcd();voidshow_lcd(inti);voidcmd_wr();voidShowSpeed();voidShowDir();voidkey_scan();voidcod_scan();voiddelayms(intms);voidsend_char(unsignedcharout)
23、;sbitRS=P2A4;/定義LCD的端口物理地址sbitRW=P2A5;sbitE=P2A6;charSpeedChar1=V1(n/min):H;顯示變量charSpeedChar2=V2(n/min):;charSPEED13=050;charSPEED23=050;charforward=f,backforward=b;unsignedintRunSpeed1=50;運(yùn)算變量unsignedintRunSpeed2=50;unsignedintcnt1=0;unsignedintcnt2=0;unsignedintcod;bitRunDir1=1,RunDir2=1;運(yùn)行狀態(tài)(起始為
24、正方向)/控制狀態(tài)(起始為按鍵控制)/串口變量/波特率為9600(fd),4800(fa),2400(f4)/設(shè)定用行口工作方式/波特率不倍增bitContrl=0;unsignedchartemp;voidInit_RS232(void)TL1=0Xfd;TH1=0Xfd;SCON=0x50;PCON&=0xef;TR1=1;main()TMOD=0x21;/定時(shí)器工作方式EA=1;/開中斷TR0=0;/關(guān)閉計(jì)數(shù)器0TH0=(65535-1000)8;定時(shí)器0初值,即1ms中斷一次TL0=(65535-1000)&0x00ff;PT0=1;/定時(shí)器0高優(yōu)先級(jí)中斷ET0=1;/定時(shí)器0中斷允許
25、TR0=1;/啟動(dòng)計(jì)數(shù)器0Init_RS232();inti_lcd();ShowSpeed();ShowDir();while(1)(if(Contr1Ap1_6)Contr1=P1_6;if(Contr1=0)(key_scan();)if(Contr1=1)(if(RI)(RI=0;cod=SBUF;de1ayms(10);send_char(cod);cod=cod-0x30;cod_scan();ShowSpeed();/控制方式鍵是否按下/按下則掃描鍵盤/沒按下則等待輸入/是否有數(shù)據(jù)到來/暫停接收數(shù)據(jù)/存儲(chǔ)接受的數(shù)據(jù)/回傳接收到的數(shù)據(jù)/將ASC碼轉(zhuǎn)化)voidsend_char(u
26、nsignedcharout)/傳送一個(gè)字符(SBUF=out;預(yù)存whi1e(!TI);/等特?cái)?shù)據(jù)傳送TI=0;/清除數(shù)據(jù)傳送標(biāo)志)voiddelayms(intms)延時(shí)子程序(inti;while(ms-)(for(i=0;i=12)/電機(jī)1力口速RunSpeed1=RunSpeed1-2;)break;case0x02:if(RunSpeed1=12)/電機(jī)2力口速RunSpeed2=RunSpeed2-2;)break;case0x04:if(RunSpeed2=12)/電機(jī)1加速RunSpeed1=RunSpeed1-2;break;case0x0d:if(RunSpeed1=12
27、)/電機(jī)2力口速RunSpeed2=RunSpeed2-2;break;case0x07:if(RunSpeed28;定時(shí)器0初值,即1ms中斷一次TL0=(65535-1000)&0x00ff;TR0=1;cnt1+;cnt2+;if(cnt1=RunSpeed1)計(jì)時(shí)中斷次數(shù)達(dá)到或高于速度則改寫輸出電平P2=P2A0x01;cnt1=0;if(cnt2=RunSpeed2)P2=P2A0x02;cnt2=0;)intdelay()判斷LCD是否忙(inta;start:RS=0;/讀顯示器狀態(tài)RW=1;E=0;for(a=0;a2;a+);E=1;P0=0xff;/拉高數(shù)據(jù)口if(P0_7
28、=0)return0;elsegotostart;)voidinti_lcd()設(shè)置LCD方式(P0=0x38;/8位2行,5X7點(diǎn)陣cmd_wr();delay();P0=0x01;cmd_wr();delay();P0=0x0f;顯示打開,顯示光標(biāo),光標(biāo)閃爍cmd_wr();delay();P0=0x06;cmd_wr();delay();/光標(biāo)自動(dòng)右移一位,全部平移無效P0=0x0c;cmd_wr();delay();)voidcmd_wr()(RS=0;RW=0;E=0;E=1;)voidshow_lcd(inti)(P0=i;RS=1;RW=0;E=0;E=1;/顯示打開,關(guān)閉光標(biāo)/寫控制字/寫命令寄存器/提供上升沿/LCD顯示子程序/P1口/寫數(shù)據(jù)設(shè)置/觸發(fā))voidShowDir()(/設(shè)置顯示地址(第一行第15位)delay();P0=0x80|0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安東集團(tuán)海納面試題及答案
- 過渡環(huán)節(jié)策略培訓(xùn)
- 2025年中國女士緊身褲行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國男士豪華手表行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 2025年中國耐損鞋行業(yè)市場全景分析及前景機(jī)遇研判報(bào)告
- 采樣領(lǐng)域廉潔教育體系建設(shè)
- 腫瘤護(hù)理述職報(bào)告
- 心力衰竭內(nèi)科診療體系
- 從接受美學(xué)的角度解析文學(xué)翻譯中譯者的能動(dòng)作用
- 腫瘤中級(jí)實(shí)踐能力區(qū)別
- 湖南省長沙市寧鄉(xiāng)市2025年五年級(jí)數(shù)學(xué)第二學(xué)期期末統(tǒng)考試題含答案
- 果蔬類營養(yǎng)知識(shí)培訓(xùn)課件
- 2025年深圳市勞動(dòng)合同保密協(xié)議官方模板
- 信息化建設(shè)項(xiàng)目質(zhì)量控制措施
- 常見臨床檢驗(yàn)項(xiàng)目臨床意義
- 新生兒肺動(dòng)脈高壓個(gè)案護(hù)理匯報(bào)
- 校外培訓(xùn)機(jī)構(gòu)安全防范制度
- 國開《機(jī)械制圖》形成性任務(wù)1-4
- 小紅書搜索推廣營銷師認(rèn)證考試題庫(附答案)
- 耐鹽堿水稻種質(zhì)資源評價(jià)與保存技術(shù)規(guī)程(DB2312-T 063-2022)
- 廣東省東莞市2024-2025學(xué)年七年級(jí)上學(xué)期第二次學(xué)業(yè)反饋地理試題(含答案)
評論
0/150
提交評論