

下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.項目八 鍵盤控制電機方向和轉速【教學目標】終極目標能利用AT89S52單片機及獨立鍵盤,通過C語言程序?qū)崿F(xiàn)鍵盤控制步進電機和直流電機的速度和方向,完成單片機輸入輸出控制系統(tǒng)的設計、運行及調(diào)試。促成目標1. 了解單片機產(chǎn)品開發(fā)的流程;2. 了解步進電機和直流電機結構和工作原理;3. 掌握步進電機和直流電機速度、方向控制關鍵技術;4. 掌握頭文件的編寫方法;5. 掌握電機速度、方向控制的電路設計和編程的方法;6. 會利用單片機I/O口實現(xiàn)電機速度、方向控制。8.1 單片機產(chǎn)品開發(fā)單片機產(chǎn)品開發(fā)是為完成某項任務而研制開發(fā)的單片機應用系統(tǒng),是以單片機為核心,配以外圍電路和軟件,能實現(xiàn)確定任務、功能的
2、實際應用系統(tǒng)。根據(jù)不同的用途和要求,單片機產(chǎn)品的系統(tǒng)配置及軟件也有所不同,但它們的開發(fā)流程和方法大致相同。8.1.1 單片機產(chǎn)品的結構單片機產(chǎn)品是由硬件和軟件組成。硬件是指單片機、擴展的存儲器、輸入輸出設備等硬件部件組成的,軟件是各種工作程序的總稱。一個典型單片機產(chǎn)品結構如圖8-1所示。圖8-1典型單片機產(chǎn)品結構從圖8-1不難看出單片機產(chǎn)品所需要的一般配置: (1)單片機。如AT89C51、AT89C52、AT89S51以及AT89S52等單片機。(2)人機交流設備。輸入設備有鍵盤和按鍵,輸出設備有數(shù)碼管、液晶顯示模塊和指示燈等。(3)信號采集的輸入通道。如出租車的測距、測速裝置,溫控系統(tǒng)的溫
3、度傳感器、洗衣機的水位測量等設備。(4)向操作對象發(fā)出各種控制信號的輸出通道。如空調(diào)啟動壓縮機的開關電路,控制彩電的頻道切換、顏色、音量等的接口電路。(5)與其他計算機系統(tǒng)或智能設備實現(xiàn)信息交換,還需配置通信接口電路。如RS-232、RS-485等。(6)有時還需擴展外部RAM、EEPROM用于存放數(shù)據(jù)。如彩電遙控系統(tǒng)中存放系統(tǒng)數(shù)據(jù)的存儲器。8.1.2 單片機產(chǎn)品開發(fā)流程1確定功能技術指標單片機產(chǎn)品開發(fā)流程是以確定產(chǎn)品的功能和技術指標開始的。首先要細致分析、研究實際問題,明確各項任務與要求,綜合考慮系統(tǒng)的先進性、可靠性、可維護性以及成本、經(jīng)濟效益,擬訂出合理可行的技術性能指標。2單片機產(chǎn)品總體
4、設計在對單片機產(chǎn)品進行總體設計時,應根據(jù)單片機產(chǎn)品提出的各項技術性能指標,擬訂出性價比最高的一套方案。首先,應根據(jù)任務的繁雜程度和技術指標要求選擇機型。選定機型后,再選擇產(chǎn)品中要用到的其它外圍元器件,如傳感器、執(zhí)行器件等。在總體方案設計過程中,對軟件和硬件進行分工是一個首要的環(huán)節(jié)。原則上,能夠由軟件來完成的任務就盡可能用軟件來實現(xiàn),以降低硬件成本,簡化硬件結構。同時,還要求大致規(guī)定各接口電路的地址、軟件的結構和功能、上下位機的通信協(xié)議、程序的駐留區(qū)域及工作緩沖區(qū)等。總體方案一旦確定,系統(tǒng)的大致規(guī)模及軟件的基本框架就確定了。3硬件設計硬件設計是指應用系統(tǒng)的電路設計,包括主機、控制電路、存儲器、I
5、/O接口、A/D和D/A轉換電路等。硬件設計時,應考慮留有充分余量,電路設計力求正確無誤,因為在系統(tǒng)調(diào)試中不易修改硬件結構。硬件電路設計時應注意以下幾個問題:(1)程序存儲器一般可選用容量較大的EPROM芯片,如27128(16 KB)、27256(32 KB)或27512(64 KB)等。盡量避免用小容量的芯片組合擴充成大容量的存儲器,程序存儲器容量大些,則編程空間寬裕些,價格相差也不會太多。(2)數(shù)據(jù)存儲器和I/O接口根據(jù)系統(tǒng)功能的要求,如果需要擴展外部RAM或I/O口,那么RAM芯片可選用6116(2 KB)、6264(8 KB)或62256(32 KB),原則上應盡量減少芯片數(shù)量,使譯
6、碼電路簡單。I/O接口芯片一般選用8155(帶有256 KB靜態(tài)RAM)或8255。這類芯片具有口線多、硬件邏輯簡單等特點。若口線要求很少,且僅需要簡單的輸入或輸出功能,則可用不可編程的TTL電路或CMOS電路。A/D和D/A電路芯片主要根據(jù)精度、速度和價格等來選用,同時還要考慮與系統(tǒng)的連接是否方便。(3)地址譯碼電路通常采用全譯碼、部分譯碼或線選法,應考慮充分利用存儲空間和簡化硬件邏輯等方面的問題。MCS-51系統(tǒng)有充分的存儲空間,包括64 KB程序存儲器和64 KB數(shù)據(jù)存儲器,所以在一般的控制應用系統(tǒng)中,主要是考慮簡化硬件邏輯。當存儲器和I/O芯片較多時,可選用專用譯碼器74S138或74
7、LS139等。(4)總線驅(qū)動能力MCS-51系列單片機的外部擴展功能很強,但4個8位并行口的負載能力是有限的。P0口能驅(qū)動8個TTL電路,P1P3口只能驅(qū)動4個TTL電路。在實際應用中,這些端口的負載不應超過總負載能力的70%,以保證留有一定的余量。如果滿載,會降低系統(tǒng)的抗干擾。在外接負載較多的情況下,如果負載是MOS芯片,因負載消耗電流很小,所以影響不大。如果驅(qū)動較多的TTL電路,則應采用總線驅(qū)動電路,以提高端口的驅(qū)動能力和系統(tǒng)的抗干擾能力。數(shù)據(jù)總線宜采用雙向8路三態(tài)緩沖器74LS245作為總線驅(qū)動器,地址和控制總線可采用單向8路三態(tài)緩沖區(qū)74LS244作為單向總線驅(qū)動器。(5)系統(tǒng)速度匹配
8、MCS-51系列單片機時鐘頻率可在212 MHz之間任選。在不影響系統(tǒng)技術性能的前提下,時鐘頻率選擇低一些為好,這樣可降低系統(tǒng)中對元器件工作速度的要求,從而提高系統(tǒng)的可靠性。4抗干擾措施單片機產(chǎn)品的工作環(huán)境往往都是具有多種干擾源的現(xiàn)場,抗干擾措施在單片機產(chǎn)品設計中顯得尤為重要。根據(jù)干擾源引入的途徑,抗干擾措施可以從以下兩個方面考慮。(1)電源供電系統(tǒng)為了克服電網(wǎng)以及來自系統(tǒng)內(nèi)部其它部件的干擾,可采用隔離變壓器、交流穩(wěn)壓、線濾波器、穩(wěn)壓電路各級濾波等防干擾措施。(2)電路上的考慮為了進一步提高系統(tǒng)的可靠性,在硬件電路設計時,應采取一系列防干擾措施:1)大規(guī)模IC芯片電源供電端VCC都應加高頻濾波
9、電容,根據(jù)負載電流的情況,在各級供電節(jié)點還應加足夠容量的退耦電容;2)開關量I/O通道與外界的隔離可采用光電耦合器件,特別是與繼電器、可控硅等連接的通道,一定要采用隔離措施;3)可采用CMOS器件提高工作電壓(+15 V),這樣干擾門限也相應提高;4)傳感器后級的變送器盡量采用電流型傳輸方式,因電流型比電壓型抗干擾能力強;5)電路應有合理的布線及接地方式;6)與環(huán)境干擾的隔離可采用屏蔽措施。5軟件設計單片機產(chǎn)品的軟件設計是產(chǎn)品研制過程中任務最繁重的一項工作,難度也比較大。對于某些較復雜的應用系統(tǒng),不僅要使用匯編語言來編程,有時還要使用高級語言。單片機產(chǎn)品的軟件主要包括兩大部分:用于管理單片機工
10、作的監(jiān)控程序和用于執(zhí)行實際具體任務的功能程序。對于監(jiān)控程序,應盡可能利用現(xiàn)成的監(jiān)控程序。為了適應各種應用的需要,現(xiàn)代的單片機開發(fā)系統(tǒng)的監(jiān)控軟件功能相當強,并附有豐富的實用子程序,可供用戶直接調(diào)用,例如鍵盤管理程序、顯示程序等。因此,在設計系統(tǒng)硬件邏輯和確定應用系統(tǒng)的操作方式時,就應充分考慮這一點。這樣可大大減少軟件設計的工作量,提高編程效率。對于功能程序要根據(jù)產(chǎn)品的功能要求來編程序。例如,外部數(shù)據(jù)采集、控制算法的實現(xiàn)、外設驅(qū)動、故障處理及報警程序等。單片機產(chǎn)品的軟件設計千差萬別,不存在統(tǒng)一模式。進行軟設計時,盡可能采用模塊化結構。根據(jù)系統(tǒng)軟件的總體構思,按照先粗后細的方法,把整個系統(tǒng)軟件劃分成
11、多個功能獨立、大小適當?shù)哪K。應明確規(guī)定各模塊的功能,盡量使每個模塊功能單一,各模塊間的接口信息簡單、完備,接口關系統(tǒng)一,盡可能使各模塊間的聯(lián)系減少到最低限度。這樣,各個模塊可以分別獨立設計、編制和調(diào)試,最后再將各個程序模塊連接成一個完整的程序進行總調(diào)試。6單片機產(chǎn)品調(diào)試單片機產(chǎn)品開發(fā)必須經(jīng)過調(diào)試階段,只有經(jīng)過調(diào)試才能發(fā)現(xiàn)問題,改正錯誤,最終完成開發(fā)任務。實際上,對于較復雜的程序,大多數(shù)情況下都不可能一次性就調(diào)試成功,即使是資深設計人員也是如此。單片機產(chǎn)品調(diào)試包括硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務是排除系統(tǒng)的硬件電路故障,包括設計性錯誤和工藝性故障。軟件調(diào)試是利用開發(fā)工具進行在線仿真調(diào)試,除發(fā)
12、現(xiàn)和解決程序錯誤外,也可以發(fā)現(xiàn)硬件故障。程序調(diào)試一般是一個模塊一個模塊地進行,一個子程序一個子程序地調(diào)試,最后聯(lián)起來統(tǒng)調(diào)。利用開發(fā)工具的單步和斷點運行方式,通過檢查應用系統(tǒng)的CPU現(xiàn)場、RAM和SFR的內(nèi)容以及I/O口的狀態(tài),來檢查程序的執(zhí)行結果和系統(tǒng)I/O設備的狀態(tài)變化是否正常,從中發(fā)現(xiàn)程序的邏輯錯誤、轉移地址錯誤以及隨機的錄入錯誤等。也可以發(fā)現(xiàn)硬件設計與工藝錯誤和軟件算法錯誤。在調(diào)試過程中,要不斷調(diào)整、修改系統(tǒng)的硬件和軟件,直到其正確為止。聯(lián)機調(diào)試運行正常后,將軟件固化到EPROM中,脫機運行,并到生產(chǎn)現(xiàn)場投入實際工作,檢驗其可靠性和抗干擾能力,直到完全滿足要求,單片機產(chǎn)品才算研制成功。8
13、.2 工作模塊21 步進電機控制系統(tǒng)設計與實現(xiàn)【工作任務】利用AT89S52單片機及獨立鍵盤控制步進電機的速度和方向。獨立鍵盤有反轉按鍵、加速按鍵、減速按鍵和正轉按鍵。步進電機電氣參數(shù):工作電壓4.56.5,步進角是18°。8.2.1 步進電機控制技術步進電機的結構及基本知識點在工作模塊5中已經(jīng)介紹過了,在這里只對實現(xiàn)步進電機速度和方向控制的關鍵技術進行介紹。1速度控制技術本工作模塊使用的步進電機的步進角是18°,由于步進電機旋轉角度與輸入脈沖數(shù)目成正比,所以輸入20個脈沖信號,步進電機就會旋轉20個步進角,且剛好轉一圈(20´18°=360°
14、)。那么怎么控制步進電機的轉速呢.下面我們先分析如何實現(xiàn)步進電機轉速為30轉/分和轉速為60轉/分。(1)轉速為30轉/分旋轉一圈的時間是60s/30圈=2s,旋轉一個步進角的時間是2s/20=100ms(每圈20個步進角)。也就是說給一個脈沖信號,旋轉一個步進角,延時100ms,再給一個脈沖信號,旋轉一個步進角,延時100ms,這樣就可以獲得轉速為30轉/分。(2)轉速為60轉/分旋轉一圈的時間是60s/60圈=1s,旋轉一個步進角的時間是1s/20=50ms(每圈20個步進角)。和轉速為30轉/分比較,脈沖信號之間的延時時間為50ms,延時時間變短,轉速提高了。根據(jù)以上分析,我們只要改變脈
15、沖信號之間的延時時間,即改變每步之間的延時時間,便可控制步進電機的轉速。延時時間變短,轉速提高,延時時間變長,轉速降低。注意:步進電機的負載轉矩與轉速成反比,轉速越快負載轉矩越小,當轉速快至其極限時,步進電機不再旋轉。所以每走一步,必須延時一段時間。2. 方向控制技術本工作模塊是采用1相勵磁順序,四種勵磁狀態(tài)為一個循環(huán)。只要改變勵磁順序,就可以改變步進電機旋轉方向。(1)正轉時,1相勵磁順序為:ABCD(2)反轉時,1相勵磁順序為:DCBA8.2.2步進電機控制系統(tǒng)電路設計按照工作任務要求,步進電機控制系統(tǒng)電路是由AT89S52單片機最小應用系統(tǒng)、步進電機驅(qū)動電路、鍵盤電路等模塊構成。1鍵盤模
16、塊設計步進電機控制系統(tǒng)具有反轉、加速、減速和正轉個功能,可以用個按鍵實現(xiàn)。由于按鍵數(shù)目少,鍵盤模塊設計采用獨立鍵盤。這個按鍵分別接到P2口的P2.0、 P2.1 、P2.2和 P2.3引腳,為反轉按鍵、加速按鍵、減速按鍵和正轉按鍵。如圖8-2所示。圖8-2 鍵盤電路2步進電機驅(qū)動模塊設計由于步進電機的功率較大,步進電機驅(qū)動電路設計采用了高電壓、大電流的ULN2003A,ULN2003A的詳細介紹請參閱項目二技能拓展部分。P3口的P3.0、 P3.1 、P3.2和 P3.3四個引腳通過步進電機驅(qū)動電路分別接在步進電機的A、B、C、D。如圖8-3所示。圖8-3 步進電機驅(qū)動電路通過前面的鍵盤模塊電
17、路和步進電機驅(qū)動模塊電路設計,運行Proteus軟件,新建“步進電機控制系統(tǒng)”設計文件。按圖8-2和圖8-3所示放置并編輯AT89S52、CRYSTAL、CAP、CAP-ELEC、RES、MOTOR-STEPPER、ULN2003A、74LS04及BUTTON等元器件。完成步進電機控制系統(tǒng)電路設計后,進行電氣規(guī)則檢測,直至檢測成功。如圖8-4所示。8.2.3步進電機控制系統(tǒng)程序設計步進電機控制系統(tǒng)程序由main.h頭文件、頭文件包含和定義全局變量、步進電機運行函數(shù)run()以及主函數(shù)組成。1編寫main.h頭文件為了程序的可讀性和編程方便,在main.h頭文件里面對用到的數(shù)據(jù)類型、接在P3口上
18、步進電機以及接在P3口上按鍵進行宏定義。宏定義如下:*ifndef _MAIN_H_*define _MAIN_H_*define uint unsigned int*define uchar unsigned char*define step_moto_port P3*define FZ_KEY (!(P2_0)*define UP_KEY (!(P2_1)*define DOWN_KEY (!(P2_2)*define ZZ_KEY (!(P2_3)*endif2頭文件包含和定義全局變量*include <AT89X52.h>*include <main.h>uin
19、t speed=1000;/設置延時參數(shù)初值為最小值,既轉速最快uint speed_change=1000; /延時參數(shù)初值uchar dir=0; /設置方向,dir=1為反轉,dir=0為正轉3步進電機運行函數(shù)run()這里采用的是1相勵磁順序,控制狀態(tài)與P3口的控制碼對應關系如表8-1所示。表8-1 控制狀態(tài)與P3口的控制碼的對應關系控制狀態(tài)P3口控制碼P3.3P3.2P3.1P3.0D相B相C相A相A相繞組通電01H0001B相繞組通電02H0010C相繞組通電04H0100D相繞組通電08H1000由表8-1可以看出,正轉時,初始控制碼為0x01,然后控制碼左移1位,獲得下一位控制
20、碼。反轉時,初始控制碼為0x08,然后控制碼右移1位,獲得下一位控制碼。代碼如下:void run(void) speed = speed_change;while(speed-);/延時 if(dir = 1)/* dir = 0,正轉*/ if(step_moto_port >= 0x08)/如果控制碼>= 0x08(一個循環(huán)完成),取初始控制碼step_moto_port=0x01;else/左移1位,獲得下一位控制碼,并從P3口輸出step_moto_port <<= 1;else /* dir = 1,反轉*/ if(step_moto_port <=
21、0x01)/如果控制碼<= 0x01(一個循環(huán)完成),取初始控制碼step_moto_port=0x08;else /右移1位,獲得下一位控制碼,并從P3口輸出step_moto_port >>= 1; 4步進電機主函數(shù)main()void main(void) step_moto_port=0x01;while(1) if(FZ_KEY) / 設置反轉 dir = 1; while(LEFT_KEY) run();/等待按鍵釋放 if(ZZ_KEY) / 設置正轉 dir = 0; while(RIGHT_KEY)run(); if(UP_KEY) / 加速 if(spee
22、d_change >= 2000) /延時參數(shù)減量為1000,每按一次UP_KEY鍵減少1000 speed_change = speed_change - 1000; while(UP_KEY)run(); if(DOWN_KEY) / 減速 if(speed_change < 20000) /延時參數(shù)增量為1000,每按一次DOWN_KEY鍵增加1000 speed_change = speed_change + 1000; while(DOWN_KEY) run(); run(); / end while(1) / end main步進電機控制系統(tǒng)程序設計好以后,打開“步進電
23、機控制系統(tǒng)”Proteus電路,加載“步進電機控制系統(tǒng).hex”文件。進行仿真運行,觀察步進電機運行是否與設計要求相符。如圖8-4所示。圖8-4 步進電機控制系統(tǒng)仿真運行8.3工作模塊22 直流電機控制系統(tǒng)設計與實現(xiàn)【工作任務】利用AT89S52單片機及獨立鍵盤控制直流電機的速度和方向。獨立鍵盤有反轉按鍵、加速按鍵、減速按鍵和正轉按鍵。直流電機電氣參數(shù):額定工作電壓5.0。8.3.1 直流電機控制技術1認識直流電機永磁式換向器直流電機,是應用很廣泛的一種,只要在它上面加適當電壓電機就轉動。(1)結構與工作原理永磁式換向器直流電機是由定子(主磁極)、轉子(繞組線圈)、換向片(又稱整流子)、電刷等
24、組成,定子作用是產(chǎn)生磁場,如圖8-5所示。圖8-5 直流電機結構直流電壓加在電刷上,經(jīng)換向片加到電樞繞組(轉子線圈),使電樞導體有電流流過,由于電機內(nèi)部有定子磁場存在,所以電樞導體將受到電磁力 f 的作用(左手定則) ,電樞導體產(chǎn)生的電磁力作用于轉子,使轉子以n(轉/分)旋轉,以便拖動機械負載。通過左手定則,可以判別電磁力f方向(即轉子旋轉方向),如圖8-6所示。圖8-6轉子旋轉方向也就是說,轉于是在定子磁場作用下,得到轉矩而旋轉起來。當它轉動時,由于磁場的相互作用,也將產(chǎn)生反電動勢,它的大小正比于轉子的速度,方向和所加的直流電壓相反。(2)永磁式換流器電機特點1)當電機負載固定時,電機轉速正
25、比于所加的電源電壓。 2)當電機直流電源固定時,電機的工作電流正比于轉予負載的大小。 3)加于電機的有效電壓,等于外加直流電壓減去反電動勢。因此當用固定電壓驅(qū)動電機時,電機的速度趨向于自穩(wěn)定。因為負載增加時,轉子有慢下來的傾向,于是反電動勢減少,而使有效電壓增加,反過來又將使轉子有快起來的傾向,所以總的效果使速度穩(wěn)定。 4)當轉子靜止時,反電動勢為零,電機電流最大。最大電流出現(xiàn)在剛起動的時候。 5)轉子轉動的方向,可由電機上所加電壓的極性來控制。 6)體積小,重量輕。起動轉矩大。 由于具備上述的那些特點,所以在醫(yī)療器械、小型機床、電子儀器、計算機、氣象探空儀、探礦測井、電動工具、家用電器及電子
26、玩具等各個方面,都得到廣泛的應用。對這種永磁式電機的控制,主要有電機的起??刂啤⒎较蚩刂?、可變速度控制和速度的穩(wěn)定控制。2速度控制技術調(diào)節(jié)直流電機轉速最方便有效的調(diào)速方法是對電樞(即轉子線圈)電壓U進行控制。控制電壓的方法有多種,廣泛應用脈寬調(diào)制PWM技術來控制直流電機電樞的電壓。所謂PWM控制技術,就是利用半導體器件的導通與關斷,把直流電壓變成電壓脈沖序列,通過控制電壓脈沖寬度或周期以達到變壓的目的。3方向控制技術直流電機的轉子轉動方向可由直流電機上所加電壓的極性來控制,可用橋式電路來控制直流電機的轉動方向。控制直流電機正反轉的橋式驅(qū)動電路有單電源和雙電源兩種驅(qū)動方式,通常采用單電源的驅(qū)動方
27、式,就可以滿足實際的應用需要,所以這里只介紹單電源的驅(qū)動方式。單電源方式的橋式驅(qū)動電路又稱為全橋方式驅(qū)動或者H橋方式驅(qū)動,如圖8-7所示。圖8-7H橋方式驅(qū)動電路圖8-7中的二極管稱為續(xù)流二極管,主要作用是消除直流電機所產(chǎn)生的反向電動勢。三極管是PNP三極管,基極為高電平時三極管關斷,為低電平時三極管導通。直流電機正轉時三極管Q1和Q4導通,反轉時三極管Q2和Q3導通,在這兩種情況下,加在直流電機兩端的電壓極性相反。當四個三極管全部關斷時,直流電機停止轉動。若是Q1與Q3關斷、Q2與Q4導通時,直流電機處于短路制動狀態(tài),將立即停止轉動。這四種狀態(tài)所對應的H橋式驅(qū)動電路狀態(tài)如圖8-8所示。正轉
28、反轉 停止 制動圖8-8 直流電機和H橋式驅(qū)動電路四種對應狀態(tài)8.3.2直流電機控制系統(tǒng)電路設計按照工作任務要求,直流電機控制系統(tǒng)電路是由AT89S52單片機最小應用系統(tǒng)、H橋式驅(qū)動電路、獨立鍵盤及直流電機構成。P3口的P3.0、 P3.1 、P3.4和 P3.5四個引腳分別接在H橋式驅(qū)動電路的PWM1、PWM2、PWM3和PWM4。P2口的P2.0、 P2.1 、P2.2和 P2.3四個引腳分別接反轉按鍵、加速按鍵、減速按鍵和正轉按鍵。直流電機控制系統(tǒng)電路設計如圖8-9所示。圖8-9 直流電機控制系統(tǒng)電路運行Proteus軟件,新建“直流電機控制系統(tǒng)”設計文件。按圖8-9所示放置并編輯AT8
29、9S52、CRYSTAL、CAP、CAP-ELEC、RES、MOTOR、1N4148 (二極管)、2N5771(三極管)、BUTTON。等元器件。完成直流電機控制系統(tǒng)電路設計后,進行電氣規(guī)則檢測,直至檢測成功。8.3.3直流電機控制系統(tǒng)程序設計直流電機有正轉、反轉、停止和制動四種運行狀態(tài)。在這四種運行狀態(tài)下,P3口引腳與H橋式驅(qū)動電路對應關系如表8-2所示。表8-2 運行狀態(tài)與P3口引腳的對應關系運行狀態(tài)P3.5P3.4P3.1P3.0PWM4(Q4)PWM3(Q3)PWM2(Q2)PWM1(Q1)正轉0110反轉1001停止1111制動0101直流電機控制系統(tǒng)程序主要由頭文件、初始化、按鍵功
30、能處理、直流電機運行中斷處理等組成。1編寫main.h頭文件在這里只給出與工作模塊21的main.h頭文件不一樣部分。電機驅(qū)動接口是接在P3.0、P3.1、P3.4和P3.5,為了以后能對殊功能寄存器P3口這4個尋址位進行操作,定義了4個sbit類型位變量,代碼如下:*define _Nop() _nop_()sbit PWM1 = P30;sbit PWM4 = P35;sbit PWM2 = P31;sbit PWM3 = P34;2頭文件包含和定義全局變量*include <AT89X52.h>*include <intrins.h> /程序中使用了_nop_()
31、,此函數(shù)后面介紹*include <main.h>bit Moto_Dir=0;/定義位變量,為0正轉,為1反轉uchar irq_count;/中斷次數(shù)計數(shù)器uchar irq_count_t;/設置需要中斷的次數(shù)uchar PWM_TIME_H;/設置輸出高電平的寬度uchar PWM_TIME_L;/設置輸出低電平的寬度bit i=0;/ i=1輸出高電平狀態(tài),i=1輸出低電平狀態(tài)3直流電機控制系統(tǒng)初始化/*使Q1、Q2、Q3、Q4同時關斷,電機處于停止狀態(tài)*/PWM1=1; PWM2=1; PWM3=1; PWM4=1;irq_count=0;/中斷次數(shù)計數(shù)器清0i=0;P
32、WM_TIME_H=80;/設置占空比為1:5,PWM脈沖周期是100msPWM_TIME_L=20;/*定時器T1初始化*/ET1=1; / 開T1中斷TMOD=0x11; / T1都為方式1計時*/TH1=0xFC; TL1=0x18; / T1初值,定時時間1ms(12MHz)TR1=1; / 定時器啟動EA=1; / 開總中斷4直流電機控制系統(tǒng)按鍵功能處理(1)反轉按鍵處理if(FZ_KEY) ShortDelay(); if(FZ_KEY) / 延時去抖 Moto_Dir=1;PWM3=0; PWM4=1; while(FZ_KEY); /等待FZ_KEY釋放 / end if(FZ
33、_KEY)(2)正轉按鍵處理if(ZZ_KEY)ShortDelay(); if(ZZ_KEY) / 延時去抖Moto_Dir=0;PWM3=1; PWM4=0;while(ZZ_KEY); /等待ZZ_KEY釋放 / end if(ZZ_KEY)(3)加速按鍵處理 if(UP_KEY) ShortDelay();if(UP_KEY) / 延時去抖if(PWM_TIME_H > 10) /最大占空比為9:10 PWM_TIME_H-;PWM_TIME_L = 100-PWM_TIME_H; / end if(UP_KEY)while(UP_KEY); / end if(UP_KEY)(4
34、)減速按鍵處理if(DOWN_KEY) ShortDelay();if(DOWN_KEY) / 延時去抖if(PWM_TIME_H < 90) /最小占空比為1:10PWM_TIME_H+;PWM_TIME_L = 100-PWM_TIME_H; / end if(DOWN_KEY)while(DOWN_KEY); / end if(DOWN_KEY)5直流電機控制系統(tǒng)中斷處理按照按鍵處理設置,控制直流電機運行。T1定時器中斷發(fā)PWM脈沖,周期是100ms。interrupt 3:是T1定時器中斷,using 1:選擇第一組工作寄存器。代碼如下:void timer1(void) int
35、errupt 3 using 1 TH1=0xFC; TL1=0x18; /重裝T1初值 irq_count+; if (irq_count>=irq_count_t)/判斷中斷次數(shù)是否到 irq_count=0; /計數(shù)器清0i=i; /高電平或低電平狀態(tài)標志轉換 if(i=1) irq_count_t = PWM_TIME_H; else irq_count_t = PWM_TIME_L; if(Moto_Dir=1) PWM2=PWM2; PWM1=1; else PWM2=1; PWM1=PWM1; 直流電機控制系統(tǒng)程序設計好以后,打開“直流電機控制系統(tǒng)”Proteus電路,加載
36、“直流電機控制系統(tǒng).hex”文件。進行仿真運行,觀察直流電機運行是否與設計要求相符。8.4 技能拓展 步進電機智能控制步進電機是利用輸入數(shù)字信號轉換成機械能量的電氣設備,由于步進電機旋轉角度與輸入脈沖數(shù)目成正比,只要控制輸入的脈沖數(shù)目便可控制步進電機轉動角度。因此,常用于精確定位和精確定速,如機器人均使用步進電機作動力,并且可以精確控制機器人的動作。8.4.1步進電機智能控制思路通過工作模塊5和工作模塊21的學習,我們已經(jīng)知道了步進電機必須加上驅(qū)動電路才能轉動,驅(qū)動電路的信號輸入端必須輸入脈沖信號,若無脈沖輸入時,轉子保持一定的位置,維持靜止狀態(tài);反之,若加入適當?shù)拿}沖信號時,轉子則會以一定的
37、角度轉動,如果加入連續(xù)脈沖時,則轉子旋轉的角度與脈沖頻率成正比。為此,我們掌握了如何使用按鍵對步進電機進行方向和轉速控制。但是我們?nèi)绾螌Σ竭M電機進行精確定位和精確定速呢.由于步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構。當步進驅(qū)動器接收到一個脈沖信號,它就驅(qū)動步進電機按設定的方向轉動一個固定的角度,它的旋轉是以固定的角度一步一步運行的。這樣,我們就可以通過以下兩個方面對步進電機進行智能控制,達到精確定位和精確定速的目的。(1)通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;(2)通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達到精確定速和調(diào)速的目的。作為一種數(shù)字伺服執(zhí)行元件,步進電
38、機具有結構簡單、運行可靠、控制方便、控制性能好等優(yōu)點,步進電機智能控制可以廣泛應用在數(shù)控機床、機器人、自動化儀表等領域。8.4.2步進電機智能控制組成步進電機智能控制主要包括:單片機、鍵盤輸入模塊、顯示模塊以及步進電機動控制模塊等部分。步進電機智能控制的結構框圖如圖8-10所示。圖8-10 步進電機智能控制結構框圖鍵盤輸入模塊主要完成數(shù)據(jù)輸入及控制輸入;顯示模塊主要對步進電機設置和運行狀態(tài)進行顯示(如顯示步進電機設置要旋轉的數(shù)圈以及正反轉指示等);步進電機控制模塊主要是由單片機輸出控制碼到驅(qū)動電路控制步進電機的運轉?!炯寄苡柧?-1】步進電機智能控制設計設計一個步進電機智能控制。要求能從鍵盤上
39、輸入步進電機轉數(shù),控制步進電機的正、反轉及啟停,并顯示轉數(shù)。1鍵盤設計鍵盤采用的是矩陣式鍵盤,鍵盤電路設計參考工作模塊10,鍵盤功能分配如下:(1)0-9:為數(shù)字鍵(2)*:正逆轉轉數(shù)設定完成后,按“*”啟動步進馬達。(3)*:清除設定為正轉及轉數(shù)為00。(4)A:設定正逆轉。按“A”鍵則LED亮,表示反轉,再按則LED指示燈滅,表示正轉,再按LED亮。2數(shù)碼管顯示模塊設計數(shù)碼管顯示模塊電路采用硬件譯碼輸出字型碼控制顯示內(nèi)容,數(shù)碼管是陽極數(shù)碼管,七段字形譯碼器用的是74LS47,電路設計參考技能訓練3-2。3. 步進電機控制模塊設計步進電機控制模塊電路采用有施密特觸發(fā)器的六反方器74LS14和高電壓、大電流的達靈頓晶體管數(shù)組產(chǎn)品ULN2003A,電路設計參考工作模塊21。4. 步進電機智能控制電路實現(xiàn)步進電機控制模塊電路、鍵盤電路、數(shù)碼管顯示模塊電路分別接在AT89S52單片機的P0口、P1口、P2口,接在P3.0的LED是步進電機正反轉的指示燈,步進電機智能控制電路設計如圖8-11所示。圖8-11步進電機智能控制電路5步進電機智能控制工作過程由鍵盤輸入轉數(shù),設定正反轉后,按確認鍵。單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建漳州2024~2025學年高一下冊期末數(shù)學試題學生卷
- 個性化營養(yǎng)方案制定考核試卷
- 獸用抗生素批發(fā)政策考核試卷
- 可持續(xù)發(fā)展與企業(yè)綠色物流實踐考核試卷
- 變電站自然災害應對措施考核試卷
- 化纖漿粕高溫過濾材料的生物降解性探討考核試卷
- 一次性護目鏡的防沖擊與防紫外線性能的國際標準對比考核試卷
- 2025年中國PE不飽和聚酯漆數(shù)據(jù)監(jiān)測報告
- 2025年中國L-酒石酸數(shù)據(jù)監(jiān)測報告
- 2025年中國E-cares面部雕塑系統(tǒng)數(shù)據(jù)監(jiān)測研究報告
- 電廠安規(guī)考試題庫及答案
- 2021-2022學年浙江省杭州市拱墅區(qū)英語小升初新生分班考試卷 附解析
- 2024-2025學年人教版(2024)初中英語七年級下冊教學工作總結(共4套)
- Unit 1 Happy Holiday 第5課時(Section B 2a-3c) 2025-2026學年人教版英語八年級下冊
- 2025年中國三元乙丙橡膠市場調(diào)查研究報告
- 常見耐藥菌感染診療與防控
- 征兵體檢外科標準
- 小學生預防拐騙教育課件
- 2025-2030年中國基于細胞的人源化小鼠模型行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 2025至2030中國無線通訊檢測行業(yè)市場發(fā)展分析及競爭格局與投資機會報告
- 2025年上海徐匯區(qū)高一(下)信息技術合格考試題及答案
評論
0/150
提交評論