直流電機控制原理及C程序_第1頁
直流電機控制原理及C程序_第2頁
直流電機控制原理及C程序_第3頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、項目八 鍵盤控制電機方向和轉(zhuǎn)速【教學(xué)目標(biāo)】終極目標(biāo)能利用AT89S52單片機及獨立鍵盤,通過C語言程序?qū)崿F(xiàn)鍵盤控制步進(jìn)電機和直流電機的速度和方向,完成單片機輸入輸出控制系統(tǒng)的設(shè)計、運行及調(diào)試。促成目標(biāo)1. 了解單片機產(chǎn)品開發(fā)的流程;2. 了解步進(jìn)電機和直流電機結(jié)構(gòu)和工作原理;3. 掌握步進(jìn)電機和直流電機速度、方向控制關(guān)鍵技術(shù);4. 掌握頭文件的編寫方法;5. 掌握電機速度、方向控制的電路設(shè)計和編程的方法;6. 會利用單片機I/O 口實現(xiàn)電機速度、方向控制。8.1單片機產(chǎn)品開發(fā)單片機產(chǎn)品開發(fā)是為完成某項任務(wù)而研制開發(fā)的單片機應(yīng)用系統(tǒng),是以單片機為核心, 配以外圍電路和軟件,能實現(xiàn)確定任務(wù)、功能的

2、實際應(yīng)用系統(tǒng)。根據(jù)不同的用途和要求,單 片機產(chǎn)品的系統(tǒng)配置及軟件也有所不同,但它們的開發(fā)流程和方法大致相同。單片機產(chǎn)品的結(jié)構(gòu)單片機產(chǎn)品是由硬件和軟件組成。硬件是指單片機、擴展的存儲器、輸入輸出設(shè)備等硬件部件組成的,軟件是各種工作程序的總稱。一個典型單片機產(chǎn)品結(jié)構(gòu)如圖8-1所示。圖8-1典型單片機產(chǎn)品結(jié)構(gòu)從圖 8-1 不難看出單片機產(chǎn)品所需要的一般配置:(1)單片機。女口 AT89C51 AT89C52 AT89S51 以及 AT89S52等單片機。( 2)人機交流設(shè)備。輸入設(shè)備有鍵盤和按鍵,輸出設(shè)備有數(shù)碼管、液晶顯示模塊和指 示燈等。( 3)信號采集的輸入通道。如出租車的測距、測速裝置,溫控系

3、統(tǒng)的溫度傳感器、洗 衣機的水位測量等設(shè)備。( 4)向操作對象發(fā)出各種控制信號的輸出通道。如空調(diào)啟動壓縮機的開關(guān)電路,控制 彩電的頻道切換、顏色、音量等的接口電路。( 5)與其他計算機系統(tǒng)或智能設(shè)備實現(xiàn)信息交換, 還需配置通信接口電路。如 RS-232、RS-485 等。(6)有時還需擴展外部 RAM EEPRO用于存放數(shù)據(jù)。如彩電遙控系統(tǒng)中存放系統(tǒng)數(shù)據(jù) 的存儲器。8.1.2 單片機產(chǎn)品開發(fā)流程1 確定功能技術(shù)指標(biāo)單片機產(chǎn)品開發(fā)流程是以確定產(chǎn)品的功能和技術(shù)指標(biāo)開始的。首先要細(xì)致分析 研究實際問題,明確各項任務(wù)與要求,綜合考慮系統(tǒng)的先進(jìn)性 可靠 性 可維護(hù)性以及成本 經(jīng)濟(jì)效益,擬訂出合理可行的技術(shù)

4、性能指標(biāo)。2單片機產(chǎn)品總體設(shè)計在對單片機產(chǎn)品進(jìn)行總體設(shè)計時, 應(yīng)根據(jù)單片機產(chǎn)品提出的各項技術(shù)性能指標(biāo), 擬訂出 性價比最高的一套方案。首先,應(yīng)根據(jù)任務(wù)的繁雜程度和技術(shù)指標(biāo)要求選擇機型。 選定機型后, 再選擇產(chǎn)品中要 用到的其它外圍元器件,如傳感器 執(zhí)行器件等。在總體方案設(shè)計過程中, 對軟件和硬件進(jìn)行分工是一個首要的環(huán)節(jié)。 原則上, 能夠由軟 件來完成的任務(wù)就盡可能用軟件來實現(xiàn),以降低硬件成本,簡化硬件結(jié)構(gòu)。同時,還要求大 致規(guī)定各接口電路的地址 軟件的結(jié)構(gòu)和功能 上下位機的通信協(xié)議 程序的駐留區(qū)域及工 作緩沖區(qū)等??傮w方案一旦確定,系統(tǒng)的大致規(guī)模及軟件的基本框架就確定了。3硬件設(shè)計硬件設(shè)計是指

5、應(yīng)用系統(tǒng)的電路設(shè)計,包括主機 控制電路 存儲器I/O 接口 A/D 和D/A 轉(zhuǎn)換電路等。硬件設(shè)計時,應(yīng)考慮留有充分余量,電路設(shè)計力求正確無誤,因為在系統(tǒng) 調(diào)試中不易修改硬件結(jié)構(gòu)。硬件電路設(shè)計時應(yīng)注意以下幾個問題:( 1 )程序存儲器一般可選用容量較大的 EPROM芯片,女口 27128( 16 KB)、27256( 32 KB)或 27512( 64 KB) 等。 盡量避免用小容量的芯片組合擴充成大容量的存儲器,程序存儲器容量大些, 則編程空間寬裕些,價格相差也不會太多。( 2)數(shù)據(jù)存儲器和 I/O 接口根據(jù)系統(tǒng)功能的要求,如果需要擴展外部RAM或 I/O 口,那么RAM芯片可選用6116(

6、 2KB)、6264( 8 KB )或62256( 32 KB ),原則上應(yīng)盡量減少芯片數(shù)量,使譯碼電路簡單。I/O接口芯片一般選用 8155 (帶有256 KB靜態(tài)RAM或8255。這類芯片具有口線多、 硬件邏輯簡單等特點。 若口線要求很少, 且僅需要簡單的輸入或輸出功能, 則可用不可編程 的TTL電路或CMOSI路。A/D 和 D/A 電路芯片主要根據(jù)精度、速度和價格等來選用,同時還要考慮與系統(tǒng)的連接 是否方便。(3)地址譯碼電路 通常采用全譯碼、 部分譯碼或線選法, 應(yīng)考慮充分利用存儲空間和簡化硬件邏輯等方面的問題。MCS-51系統(tǒng)有充分的存儲空間,包括 64 KB程序存儲器和64 KB

7、數(shù)據(jù)存儲器,所 以在一般的控制應(yīng)用系統(tǒng)中, 主要是考慮簡化硬件邏輯。 當(dāng)存儲器和 I/O 芯片較多時, 可選 用專用譯碼器 74S138或74LS139等。( 4)總線驅(qū)動能力MCS-51 系列單片機的外部擴展功能很強,但 4 個 8 位并行口的負(fù)載能力是有限的。 P0 口能驅(qū)動8個TTL電路,P1P3 口只能驅(qū)動4個TTL電路。在實際應(yīng)用中,這些端口的負(fù)載不應(yīng)超過總負(fù)載能力的 70%,以保證留有一定的余量。如果滿載,會降低系統(tǒng)的抗干擾。在外接負(fù)載較多的情況下,如果負(fù)載是MOS芯片,因負(fù)載消耗電流很小,所以影響不大。如果驅(qū)動較多的 TTL電路,則應(yīng)采用總線驅(qū)動電路,以提高 端口的驅(qū)動能力和系統(tǒng)

8、的抗干擾能力。數(shù)據(jù)總線宜采用雙向 8 路三態(tài)緩沖器 74LS245 作為總線驅(qū)動器, 地址和控制總線可采用 單向8路三態(tài)緩沖區(qū)74LS244作為單向總線驅(qū)動器。(5)系統(tǒng)速度匹配MCS-51系列單片機時鐘頻率可在 212 MHz之間任選。在不影響系統(tǒng)技術(shù)性能的前提 下, 時鐘頻率選擇低一些為好, 這樣可降低系統(tǒng)中對元器件工作速度的要求, 從而提高系統(tǒng) 的可靠性。4抗干擾措施單片機產(chǎn)品的工作環(huán)境往往都是具有多種干擾源的現(xiàn)場, 抗干擾措施在單片機產(chǎn)品設(shè)計 中顯得尤為重要。根據(jù)干擾源引入的途徑,抗干擾措施可以從以下兩個方面考慮。(1)電源供電系統(tǒng)為了克服電網(wǎng)以及來自系統(tǒng)內(nèi)部其它部件的干擾, 可采用隔

9、離變壓器、 交流穩(wěn)壓、 線濾 波器、穩(wěn)壓電路各級濾波等防干擾措施。(2)電路上的考慮 為了進(jìn)一步提高系統(tǒng)的可靠性,在硬件電路設(shè)計時,應(yīng)采取一系列防干擾措施:1)大規(guī)模IC芯片電源供電端 VCC都應(yīng)加高頻濾波電容, 根據(jù)負(fù)載電流的情況, 在各級 供電節(jié)點還應(yīng)加足夠容量的退耦電容;2)開關(guān)量 I/O 通道與外界的隔離可采用光電耦合器件,特別是與繼電器、可控硅等連 接的通道,一定要采用隔離措施;3)可采用CMO需件提高工作電壓(+15 V),這樣干擾門限也相應(yīng)提高;4)傳感器后級的變送器盡量采用電流型傳輸方式,因電流型比電壓型抗干擾能力強;5)電路應(yīng)有合理的布線及接地方式;6)與環(huán)境干擾的隔離可采用

10、屏蔽措施。5軟件設(shè)計 單片機產(chǎn)品的軟件設(shè)計是產(chǎn)品研制過程中任務(wù)最繁重的一項工作,難度也比較大。 對于某些較復(fù)雜的應(yīng)用系統(tǒng),不僅要使用匯編語言來編程,有時還要使用高級語言。單片機產(chǎn)品的軟件主要包括兩大部分: 用于管理單片機工作的監(jiān)控程序和用于執(zhí)行實際 具體任務(wù)的功能程序。對于監(jiān)控程序, 應(yīng)盡可能利用現(xiàn)成的監(jiān)控程序。 為了適應(yīng)各種應(yīng)用的需要, 現(xiàn)代的單片 機開發(fā)系統(tǒng)的監(jiān)控軟件功能相當(dāng)強, 并附有豐富的實用子程序, 可供用戶直接調(diào)用, 例如鍵 盤管理程序、顯示程序等。因此,在設(shè)計系統(tǒng)硬件邏輯和確定應(yīng)用系統(tǒng)的操作方式時,就應(yīng) 充分考慮這一點。 這樣可大大減少軟件設(shè)計的工作量,提高編程效率。對于功能程序

11、要根據(jù)產(chǎn)品的功能要求來編程序。 例如,外部數(shù)據(jù)采集、 控制算法的實現(xiàn)、 外設(shè)驅(qū)動、故障處理及報警程序等。單片機產(chǎn)品的軟件設(shè)計千差萬別, 不存在統(tǒng)一模式。 進(jìn)行軟設(shè)計時, 盡可能采用模塊化 結(jié)構(gòu)。 根據(jù)系統(tǒng)軟件的總體構(gòu)思, 按照先粗后細(xì)的方法, 把整個系統(tǒng)軟件劃分成多個功能獨 立、大小適當(dāng)?shù)哪K。應(yīng)明確規(guī)定各模塊的功能,盡量使每個模塊功能單一,各模塊間的接 口信息簡單、完備,接口關(guān)系統(tǒng)一,盡可能使各模塊間的聯(lián)系減少到最低限度。這樣,各個 模塊可以分別獨立設(shè)計、 編制和調(diào)試, 最后再將各個程序模塊連接成一個完整的程序進(jìn)行總 調(diào)試。6單片機產(chǎn)品調(diào)試單片機產(chǎn)品開發(fā)必須經(jīng)過調(diào)試階段, 只有經(jīng)過調(diào)試才能發(fā)

12、現(xiàn)問題, 改正錯誤, 最終完成 開發(fā)任務(wù)。實際上,對于較復(fù)雜的程序,大多數(shù)情況下都不可能一次性就調(diào)試成功,即使是 資深設(shè)計人員也是如此。單片機產(chǎn)品調(diào)試包括硬件調(diào)試和軟件調(diào)試。硬件調(diào)試的任務(wù)是排除系統(tǒng)的硬件電路故 障, 包括設(shè)計性錯誤和工藝性故障。 軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)試, 除發(fā)現(xiàn)和 解決程序錯誤外,也可以發(fā)現(xiàn)硬件故障。程序調(diào)試一般是一個模塊一個模塊地進(jìn)行, 一個子程序一個子程序地調(diào)試, 最后聯(lián)起來 統(tǒng)調(diào)。利用開發(fā)工具的單步和斷點運行方式,通過檢查應(yīng)用系統(tǒng)的CPU現(xiàn)場、RAM和SFR的內(nèi)容以及 I/O 口的狀態(tài), 來檢查程序的執(zhí)行結(jié)果和系統(tǒng) I/O 設(shè)備的狀態(tài)變化是否正常, 從中

13、 發(fā)現(xiàn)程序的邏輯錯誤、轉(zhuǎn)移地址錯誤以及隨機的錄入錯誤等。也可以發(fā)現(xiàn)硬件設(shè)計與工藝錯誤和軟件算法錯誤。 在調(diào)試過程中, 要不斷調(diào)整、 修改系 統(tǒng)的硬件和軟件,直到其正確為止。聯(lián)機調(diào)試運行正常后,將軟件固化到EPROM中,脫機運行,并到生產(chǎn)現(xiàn)場投入實際工作,檢驗其可靠性和抗干擾能力,直到完全滿足要求,單片機 產(chǎn)品才算研制成功。8.2 工作模塊 21 步進(jìn)電機控制系統(tǒng)設(shè)計與實現(xiàn)【工作任務(wù)】利用AT89S52單片機及獨立鍵盤控制步進(jìn)電機的速度和方向。獨立鍵盤有反轉(zhuǎn)按鍵、加速按鍵、減速按鍵和正轉(zhuǎn)按鍵。步進(jìn)電機電氣參數(shù):工作電壓4.56.5 V,步進(jìn)角是18。8.2.1 步進(jìn)電機控制技術(shù)步進(jìn)電機的結(jié)構(gòu)及基

14、本知識點在工作模塊 5 中已經(jīng)介紹過了, 在這里只對實現(xiàn)步進(jìn)電機 速度和方向控制的關(guān)鍵技術(shù)進(jìn)行介紹。1 速度控制技術(shù)本工作模塊使用的步進(jìn)電機的步進(jìn)角是 18 ,由于步進(jìn)電機旋轉(zhuǎn)角度與輸入脈沖數(shù)目成正比,所以輸入 20 個脈沖信號,步進(jìn)電機就會旋轉(zhuǎn)20 個步進(jìn)角,且剛好轉(zhuǎn)一圈(20 18 =360 )。那么怎么控制步進(jìn)電機的轉(zhuǎn)速呢?下面我們先分析如何實現(xiàn)步進(jìn)電機轉(zhuǎn)速 為30轉(zhuǎn)/分和轉(zhuǎn)速為60轉(zhuǎn)/分。(1) 轉(zhuǎn)速為30轉(zhuǎn)/分旋轉(zhuǎn)一圈的時間是 60s/30圈=2s,旋轉(zhuǎn)一個步進(jìn)角的時間是2s/20=100ms (每圈20個步進(jìn)角)。也就是說給一個脈沖信號,旋轉(zhuǎn)一個步進(jìn)角,延時100ms,再給一個脈沖

15、信號,旋轉(zhuǎn)一個步進(jìn)角,延時100ms,,這樣就可以獲得轉(zhuǎn)速為30轉(zhuǎn)/分。(2) 轉(zhuǎn)速為60轉(zhuǎn)/分旋轉(zhuǎn)一圈的時間是 60s/60圈=1s,旋轉(zhuǎn)一個步進(jìn)角的時間是 1s/20=50ms (每圈20個步 進(jìn)角)。和轉(zhuǎn)速為30轉(zhuǎn)/分比較,脈沖信號之間的延時時間為50ms,延時時間變短,轉(zhuǎn)速提咼了。根據(jù)以上分析,我們只要改變脈沖信號之間的延時時間,即改變每步之間的延時時間, 便可控制步進(jìn)電機的轉(zhuǎn)速。延時時間變短,轉(zhuǎn)速提高,延時時間變長,轉(zhuǎn)速降低。注意:步進(jìn)電機的負(fù)載轉(zhuǎn)矩與轉(zhuǎn)速成反比,轉(zhuǎn)速越快負(fù)載轉(zhuǎn)矩越小,當(dāng)轉(zhuǎn)速快至其極限時,步進(jìn)電機不再旋轉(zhuǎn)。所以每走一步,必須延時一段時間。2.方向控制技術(shù)本工作模塊是采

16、用1相勵磁順序,四種勵磁狀態(tài)為一個循環(huán)。只要改變勵磁順序, 就可以改變步進(jìn)電機旋轉(zhuǎn)方向。(1 )正轉(zhuǎn)時,1相勵磁順序為:At Bt 3 X(2)反轉(zhuǎn)時,1相勵磁順序為:DT Ct Bt At 步進(jìn)電機控制系統(tǒng)電路設(shè)計按照工作任務(wù)要求, 步進(jìn)電機控制系統(tǒng)電路 是由AT89S52單片機最小應(yīng)用系統(tǒng)、 步進(jìn)電 機驅(qū)動電路、鍵盤電路等模塊構(gòu)成。1. 鍵盤模塊設(shè)計步進(jìn)電機控制系統(tǒng)具有反轉(zhuǎn)、加速、減速和正轉(zhuǎn)4個功能,可以用4個按鍵實現(xiàn)。由于按鍵數(shù)目少,鍵盤模塊設(shè)計采用獨立鍵盤。這4個按鍵分別接到P2 口的P2.0、P2.1 、P2.2和P2.3引腳,為反轉(zhuǎn)按鍵、加速按鍵、減速按鍵和正轉(zhuǎn)按鍵。如圖8-2所示

17、。U1R210kR510k12 34 56 78圖8-2鍵盤電路2步進(jìn)電機驅(qū)動模塊設(shè)計由于步進(jìn)電機的功率較大,步進(jìn)電機驅(qū)動電路設(shè)計米用了咼電壓、大電流的ULN2003AULN2003A的詳細(xì)介紹請參閱項目二技能拓展部分。P3 口的P3.0、P3.1 、P3.2和P3.3四個引腳通過步進(jìn)電機驅(qū)動電路分別接在步進(jìn)電機的A B C、D。如圖8-3所示。U11918XTAL1XTAL2RST291ALEEAP1.0/T2 P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0

18、.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1-P3.4/T0P3.5/T1P3.6/WRP3.7/RDU2:AAT89C52U2:BU2:CU2:D74LSit12旳9刃363534%65殂4茁2526岔28101仁2R7卜COM1B1C2B2C3B3C4B4C5B5C6B6C7B7CU31162314ULN2003A451312D2BCD220D3R8R9220D4圖8-3步進(jìn)電機驅(qū)動電路通過前面的鍵盤模塊電路和步進(jìn)電機驅(qū)動模塊電路設(shè)

19、計,運行Proteus軟件,新建"步進(jìn)電機控制系統(tǒng)”設(shè)計文件。按圖8-2和圖8-3所示放置并編輯 AT89S52 CRYSTAL CARCAP-ELEC RES M0T0R-STEPPEFULN2003A 74LS04 及 BUTTON?元器件。完成步進(jìn)電機控 制系統(tǒng)電路設(shè)計后,進(jìn)行電氣規(guī)則檢測,直至檢測成功。如圖8-4所示。步進(jìn)電機控制系統(tǒng)程序設(shè)計步進(jìn)電機控制系統(tǒng)程序由main.h頭文件、頭文件包含和定義全局變量、步進(jìn)電機運行函數(shù)run()以及主函數(shù)組成。1 .編寫 main.h頭文件為了程序的可讀性和編程方便,在main.h頭文件里面對用到的數(shù)據(jù)類型、接在P3 口上步進(jìn)電機以及接

20、在 P3 口上按鍵進(jìn)行宏定義。宏定義如下:#ifndef _MAIN_H_#define _MAIN_H_#defi ne uint un sig ned int#defi ne uchar un sig ned char#defi ne step_moto_port P3#define FZ_KEY (!(P2_0)#define UP_KEY (!(P2_1)#defi ne DOWN_KEY (!(P2_2)#defi ne ZZ_KEY (!(P2_3)#en dif2. 頭文件包含和定義全局變量#i nclude <AT89X52.h>#i nclude <mai

21、n.h>uint speed=1000;/設(shè)置延時參數(shù)初值為最小值,既轉(zhuǎn)速最快uint speed change=1000; /延時參數(shù)初值uchar dir=O;/設(shè)置方向,dir=1為反轉(zhuǎn),dir=0為正轉(zhuǎn)3 步進(jìn)電機運行函數(shù)run()這里采用的是1相勵磁順序,控制狀態(tài)與 P3 口的控制碼對應(yīng)關(guān)系如表8-1所示。表8-1 控制狀態(tài)與P3 口的控制碼的對應(yīng)關(guān)系控制狀態(tài)P3 口控制碼P3.3D相P3.2B相P3.1C相P3.0A相A相繞組通電01H0001B相繞組通電02H0010C相繞組通電04H0100D相繞組通電08H1000由表8-1可以看出,正轉(zhuǎn)時,初始控制碼為0x01,然后控

22、制碼左移1位,獲得下一位控制碼。反轉(zhuǎn)時,初始控制碼為0x08,然后控制碼右移1位,獲得下一位控制碼。代碼如下:void run( void)speed = speed_change;while(speed-); /延時if(dir = 1)/* dir = 0,正轉(zhuǎn) */if(step_moto_port >= 0x08)/如果控制碼>=0x08 (一個循環(huán)完成),取初始控制碼step_moto_port=0x01;else/左移1位,獲得下一位控制碼,并從P3 口輸出step_moto_port <<= 1;else/* dir = 1,反轉(zhuǎn) */if(step_mo

23、to_port <= 0x01)/如果控制碼<=0x01 (一個循環(huán)完成),取初始控制碼step_moto_port=0x08;else/右移1位,獲得下一位控制碼,并從P3 口輸出step_moto_port >>= 1;4. 步進(jìn)電機主函數(shù) main()void mai n(void)step_moto_port=0x01;while(1)if(FZ_KEY) /設(shè)置反轉(zhuǎn) dir = 1;while(LEFT_KEY) ru n(); /等待按鍵釋放if(ZZ_KEY) /設(shè)置正轉(zhuǎn) dir = 0;while(RIGHT_KEY)ru n();if(UP_KEY)

24、/力口速 if(speed_cha nge >= 2000)/延時參數(shù)減量為1000,每按一次UP_KE鍵減少1000speed_cha nge = speed_cha nge - 1000;while(UP_KEY)ru n();if(DOWN_KEY) /減速 if(speed_cha nge < 20000)/延時參數(shù)增量為1000,每按一次DOWN_KE!增力口 1000speed_change = speed_change + 1000; while(DOWN_KEY) ru n();run(); / end while(1) / end mai n步進(jìn)電機控制系統(tǒng)程序設(shè)

25、計好以后,打開"步進(jìn)電機控制系統(tǒng)”Proteus電路,加載"步進(jìn)電機控制系統(tǒng).hex ”文件。進(jìn)行仿真運行,觀察 步進(jìn)電機運行是否 與設(shè)計要求相符。如圖8-4所示。C130pFR1C210k廠X130pFrI10uF2tRST1929 30 -3TV必TAL1P0.0/AD0XTAL2P0.1/AD1P0.2/AD2P0.3/AD3RSTP0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7PSENALEP2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12EA-P2.5/A13P1.0/T2P2.6/A14P2.7/A15P3.0/RXDP

26、1.1/T2EXP1.2P3.1/TXDP3.2/INT0P1.3P3.3/INT1P1.5P3.5/T1P1.6P3.6/WRP1.7P3.7/RDU1CRYSTAL18AT89C52R2R3R4R510k10k10k10kDOWNU2:A74LS147Z15U2:B1617-ED-REDU374LS149D2U2:CA1161B215B2B2C314C3B3C4|13DLED-RED4B4C512677B7C5B6B5C6C39COM1C1213363574LS14IU2:D74LS14ULN2003AAD11D3LED-REDD4LED-REDR9圖8-4步進(jìn)電機控制系統(tǒng)仿真運行8.3工

27、作模塊22直流電機控制系統(tǒng)設(shè)計與實現(xiàn)【工作任務(wù)】利用AT89S52單片機及獨立鍵盤控制直流電機的速度和方向。 速按鍵、減速按鍵和正轉(zhuǎn)按鍵。直流電機電氣參數(shù):額定工作電壓獨立鍵盤有反轉(zhuǎn)按鍵、加5.0 Vo直流電機控制技術(shù)1 .認(rèn)識直流電機永磁式換向器直流電機,是應(yīng)用很廣泛的一種,只要在它上面加適當(dāng)電壓電機就轉(zhuǎn)動。(1)結(jié)構(gòu)與工作原理永磁式換向器直流電機是由定子(主磁極)、轉(zhuǎn)子(繞組線圈)、換向片(又稱整流子)電刷等組成,定子作用是產(chǎn)生磁場,如圖8-5所示。圖8-5直流電機結(jié)構(gòu)直流電壓加在電刷上,經(jīng)換向片加到電樞繞組(轉(zhuǎn)子線圈),使電樞導(dǎo)體有電流流過,由于電機內(nèi)部有定子磁場存在,所以電樞導(dǎo)體將受到

28、電磁力f的作用(左手定則),電樞導(dǎo)體產(chǎn)生的電磁力作用于轉(zhuǎn)子,使轉(zhuǎn)子以n(轉(zhuǎn)/分)旋轉(zhuǎn),以便拖動機械負(fù)載。通過左手定則,可以判別電磁力 f方向(即轉(zhuǎn)子旋轉(zhuǎn)方向),如圖8-6所示。圖8-6轉(zhuǎn)子旋轉(zhuǎn)方向也就是說,轉(zhuǎn)于是在定子磁場作用下,得到轉(zhuǎn)矩而旋轉(zhuǎn)起來。當(dāng)它轉(zhuǎn)動時,由于磁場的 相互作用,也將產(chǎn)生反電動勢,它的大小正比于轉(zhuǎn)子的速度,方向和所加的直流電壓相反。(2)永磁式換流器電機特點1)當(dāng)電機負(fù)載固定時,電機轉(zhuǎn)速正比于所加的電源電壓。2)當(dāng)電機直流電源固定時,電機的工作電流正比于轉(zhuǎn)予負(fù)載的大小。3)加于電機的有效電壓,等于外加直流電壓減去反電動勢。因此當(dāng)用固定電壓驅(qū)動電 機時,電機的速度趨向于自穩(wěn)定

29、。因為負(fù)載增加時,轉(zhuǎn)子有慢下來的傾向,于是反電動勢減 少,而使有效電壓增加,反過來又將使轉(zhuǎn)子有快起來的傾向,所以總的效果使速度穩(wěn)定。4)當(dāng)轉(zhuǎn)子靜止時,反電動勢為零,電機電流最大。最大電流出現(xiàn)在剛起動的時候。5)轉(zhuǎn)子轉(zhuǎn)動的方向,可由電機上所加電壓的極性來控制。6)體積小,重量輕。起動轉(zhuǎn)矩大。都得到廣泛的應(yīng)用。方向控制、可變速度控制和速度的由于具備上述的那些特點,所以在醫(yī)療器械、小型機床、電子儀器、計算機、氣象探空 儀、探礦測井、電動工具、家用電器及電子玩具等各個方面,對這種永磁式電機的控制,主要有電機的起停控制、 穩(wěn)定控制。2 速度控制技術(shù)X1 19CRYSTAL1892930311234567

30、8U1XTAL1R5(即轉(zhuǎn)子線圈)電壓U進(jìn)行控制??豖TAL2RSTPSENALEEAP1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52R2R3R4調(diào)節(jié)直流電機轉(zhuǎn)速最方便有效的調(diào)速方法是對電樞0k 制P電壓的方法有多種,廣泛應(yīng)用脈寬調(diào)制PWM技術(shù)來控制直流電機電樞的電壓。D138:所謂6PWM控制技術(shù),就是利用半導(dǎo)體器件的導(dǎo)通與關(guān)斷,把直流電壓變成電壓脈沖序列,35通過控制電壓脈沖寬度或周期以達(dá)到變壓的目的。p°.6/ad6 3rP0.7/AD7P2.038-方向控制技術(shù)leftP2.1/A923P2 2/A10 23P2.3/A直流電機的

31、轉(zhuǎn)子轉(zhuǎn)動方向可由直流電機上所加電壓的極性來控制,可用橋式電路來控制直流電機的轉(zhuǎn)動方向。控制直流電機正反轉(zhuǎn)的橋式驅(qū)動電路有單電源和雙電源兩種驅(qū)動方P2.7/A1528式,0/R通常采用單電源的驅(qū)動方式, 動方式P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDPO.1/ADP0.2/ADP0.3/AD3DOWNRIGHT就可以滿足實際的應(yīng)用需要,所以這里只介紹單電源的驅(qū)如圖8-7所示。圖8-7 H橋方式驅(qū)動電路圖8-7中的二極管稱為續(xù)流二極管,主要作用是消除直流電機所產(chǎn)生的反向電動勢。 極管是PNP三極管,基極為高電平時三極管關(guān)斷,為低電平時三極管導(dǎo)通。直流電機正轉(zhuǎn)時三極

32、管 Q1和Q4導(dǎo)通,反轉(zhuǎn)時三極管 Q2和Q3導(dǎo)通,在這兩種情況下, 加在直流電機兩端的電壓極性相反。當(dāng)四個三極管全部關(guān)斷時,直流電機停止轉(zhuǎn)動。若是 Q1與Q3關(guān)斷、Q2與Q4導(dǎo)通時,直流電機處于短路制動狀態(tài),將立即停止轉(zhuǎn)動。這四種狀 態(tài)所對應(yīng)的H橋式驅(qū)動電路狀態(tài)如圖 8-8所示。圖8-8直流電機和H橋式驅(qū)動電路四種對應(yīng)狀態(tài)832直流電機控制系統(tǒng)電路設(shè)計按照工作任務(wù)要求,直流電機控制系統(tǒng)電路 是由AT89S52單片機最小應(yīng)用系統(tǒng)、H橋式驅(qū)動電路、獨立鍵盤及直流電機構(gòu)成。P3 口的P3.0、P3.1、P3.4和P3.5四個引腳分別接在 H橋式驅(qū)動電路的 PWM1PWM2PWM和口 PWM4 P2

33、口的P2.0、P2.1、P2.2和P2.3四個引腳分別接反轉(zhuǎn)按鍵、加速按鍵、減速按鍵和正轉(zhuǎn)按鍵。直流電機控制系統(tǒng)電路設(shè)計如圖8-9所示。運行Proteus軟件,新建“直流電機控制系統(tǒng)”設(shè)計文件。按圖8-9所示放置并編輯AT89S52、CRYSTALCAR CAP-ELEC RES MOTOR1N4148 (二極管)、2N5771(三極管)、BUTTON 等元器件。完成直流電機控制系統(tǒng)電路設(shè)計后,進(jìn)行電氣規(guī)則檢測,直至檢測成功。直流電機控制系統(tǒng)程序設(shè)計直流電機有正轉(zhuǎn)、反轉(zhuǎn)、停止和制動四種運行狀態(tài)。在這四種運行狀態(tài)下,P3 口引腳與H橋式驅(qū)動電路對應(yīng)關(guān)系如表8-2所示。表8-2 運行狀態(tài)與P3 口

34、引腳的對應(yīng)關(guān)系運行狀態(tài)P3.5PWM4(Q4)P3.4PWM3(Q3)P3.1PWM2(Q2)P3.0PWM1(Q1)正轉(zhuǎn)0110反轉(zhuǎn)1001停止1111制動0101直流電機控制系統(tǒng)程序主要由頭文件、初始化、按鍵功能處理、直流電機運行中斷處理等組成。1編寫 main.h 頭文件 在這里只給出與工作模塊 21 的 main.h 頭文件不一樣部分。 電機驅(qū)動接口是接在 P3.0 、P3.1、P3.4和P3.5,為了以后能對殊功能寄存器P3 口這4個尋址位進(jìn)行操作,定義了 4個 sbit 類型位變量,代碼如下:#define _Nop() _nop_()sbit PWM1 =P3A0;sbit PW

35、M4 =P3A5;sbit PWM2 =P3A1;sbit PWM3 =P3A4;2頭文件包含和定義全局變量#include <AT89X52.h >#include <intrins.h> /程序中使用了 _nop_() ,此函數(shù)后面介紹#include <main.h> bit Moto_Dir=0;uchar irq_count; / uchar irq_count_t; / uchar PWM_TIME_H;/ 定義位變量,為 0 正轉(zhuǎn),為 1 反轉(zhuǎn) 中斷次數(shù)計數(shù)器 設(shè)置需要中斷的次數(shù)/ 設(shè)置輸出高電平的寬度uchar PWM_TIME_L; / b

36、it i=0; / i=1設(shè)置輸出低電平的寬度輸出高電平狀態(tài), i=1 輸出低電平狀態(tài)3直流電機控制系統(tǒng)初始化/*使Q1、Q2、Q3 Q4同時關(guān)斷,電機處于停止?fàn)顟B(tài) */PWM仁 1; PWM2=1; PWM3=1; PWM4=1;irq_count=0; /i=0;PWM_TIME_H=80; /PWM_TIME_L=20;/* 定時器 T1 初始化 */ET1=1; /TMOD=0x11;/ T1中斷次數(shù)計數(shù)器清 0設(shè)置占空比為1:5,PW脈沖周期是100ms開 T1 中斷 都為方式 1 計時 */TH1=0xFC; TL1=0x18; / T1TR1=1; /初值,定時時間 1ms(12

37、MHz)定時器啟動EA=1;/開總中斷4直流電機控制系統(tǒng)按鍵功能處理(1)反轉(zhuǎn)按鍵處理if(FZ_KEY)ShortDelay();if(FZ_KEY) / 延時去抖Moto_Dir=1;PWM3=0; PWM4=1;while(FZ_KEY); /等待 FZ_KEY釋放 / end if(FZ_KEY)(2) 正轉(zhuǎn)按鍵處理 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)ShortD

38、elay();if(UP_KEY) / 延時去抖9:101:10 if(PWM_TIME_H > 10) / 最大占空比為 PWM_TIME_H-;PWM_TIME_L = 100-PWM_TIME_H; / end if(UP_KEY) while(UP_KEY); / end if(UP_KEY)(4) 減速按鍵處理if(DOWN_KEY)ShortDelay();if(DOWN_KEY) / 延時去抖 if(PWM_TIME_H < 90) / 最小占空比為 PWM_TIME_H+;PWM_TIME_L = 100-PWM_TIME_H; / end if(DOWN_KEY)

39、while(DOWN_KEY); / end if(DOWN_KEY)5直流電機控制系統(tǒng)中斷處理按照按鍵處理設(shè)置,控制直流電機運行。interrupt 3 :是 T1 定時器中斷, using 1 void timer1(void) interrupt 3 using 1 TH1=0xFC; TL1=0x18; / irq_count+;if (irq_count>=irq_count_t) / irq_count=0; / i=i; / if(i=1)T1定時器中斷發(fā) PWM脈沖,周期是 100ms。:選擇第一組工作寄存器。代碼如下:重裝 T1 初值判斷中斷次數(shù)是否到計數(shù)器清 0高電平

40、或低電平狀態(tài)標(biāo)志轉(zhuǎn)換irq_count_t = PWM_TIME_H;elseirq_count_t = PWM_TIME_L; if(Moto_Dir=1) PWM2=PWM2; PWM1=1; else PWM2=1; PWM1=PWM1; 直流電機控制系統(tǒng)程序設(shè)計好以后, 打開“直流電機控制系統(tǒng)” Proteus 電路,加載 “ 直 流電機控制系統(tǒng) .hex ”文件。進(jìn)行仿真運行,觀察直流電機運行是否與設(shè)計要求相符。8.4 技能拓展 步進(jìn)電機智能控制步進(jìn)電機是利用輸入數(shù)字信號轉(zhuǎn)換成機械能量的電氣設(shè)備,由于步進(jìn)電機旋轉(zhuǎn)角度與輸入脈沖數(shù)目成正比, 只要控制輸入的脈沖數(shù)目便可控制步進(jìn)電機轉(zhuǎn)動角

41、度。因此, 常用于精確定位和精確定速,如機器人均使用步進(jìn)電機作動力,并且可以精確控制機器人的動作。8.4.1 步進(jìn)電機智能控制思路通過工作模塊 5 和工作模塊 21 的學(xué)習(xí),我們已經(jīng)知道了步進(jìn)電機必須加上驅(qū)動電路才 能轉(zhuǎn)動, 驅(qū)動電路的信號輸入端必須輸入脈沖信號, 若無脈沖輸入時, 轉(zhuǎn)子保持一定的位置, 維持靜止?fàn)顟B(tài);反之,若加入適當(dāng)?shù)拿}沖信號時,轉(zhuǎn)子則會以一定的角度轉(zhuǎn)動,如果加入連 續(xù)脈沖時,則轉(zhuǎn)子旋轉(zhuǎn)的角度與脈沖頻率成正比。為此, 我們掌握了如何使用按鍵對步進(jìn)電機進(jìn)行方向和轉(zhuǎn)速控制。但是我們?nèi)绾螌Σ竭M(jìn)電機進(jìn)行精確定位和精確定速呢?由于步進(jìn)電機是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機構(gòu)。當(dāng)步進(jìn)驅(qū)動

42、器接收到一個脈沖信號, 它就驅(qū)動步進(jìn)電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,它的旋轉(zhuǎn)是以固定的角度一步一步運行的。這樣,我們就可以通過以下兩個方面對步進(jìn)電機進(jìn)行智能控制,達(dá)到精確定位和精確定速的目的。(1) 通過控制脈沖個數(shù)來控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;(2) 通過控制脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到精確定速和調(diào)速的 目的。作為一種數(shù)字伺服執(zhí)行元件,步進(jìn)電機具有結(jié)構(gòu)簡單、運行可靠、控制方便、控制性能好等優(yōu)點,步進(jìn)電機智能控制可以廣泛應(yīng)用在數(shù)控機床、機器人、自動化儀表等領(lǐng)域。842步進(jìn)電機智能控制組成步進(jìn)電機智能控制主要包括:單片機、鍵盤輸入模塊、顯示模塊以及步進(jìn)電機動控制模

43、塊等部分。步進(jìn)電機智能控制的結(jié)構(gòu)框圖如圖8-10所示。圖8-10步進(jìn)電機智能控制結(jié)構(gòu)框圖鍵盤輸入模塊主要完成數(shù)據(jù)輸入及控制輸入;顯示模塊主要對步進(jìn)電機設(shè)置和運行狀態(tài)進(jìn)行顯示(如顯示步進(jìn)電機設(shè)置要旋轉(zhuǎn)的數(shù)圈以及正反轉(zhuǎn)指示等);步進(jìn)電機控制模塊主要是由單片機輸出控制碼到驅(qū)動電路控制步進(jìn)電機的運轉(zhuǎn)?!炯寄苡?xùn)練8-1】步進(jìn)電機智能控制設(shè)計設(shè)計一個步進(jìn)電機智能控制。要求能從鍵盤上輸入步進(jìn)電機轉(zhuǎn)數(shù),控制步進(jìn)電機的正、 反轉(zhuǎn)及啟停,并顯示轉(zhuǎn)數(shù)。1. 鍵盤設(shè)計鍵盤采用的是矩陣式鍵盤,鍵盤電路設(shè)計參考工作模塊10,鍵盤功能分配如下:(1) 0-9 :為數(shù)字鍵(2) * :正逆轉(zhuǎn)轉(zhuǎn)數(shù)設(shè)定完成后,按“ * ”啟動步

44、進(jìn)馬達(dá)。(3) # :清除設(shè)定為正轉(zhuǎn)及轉(zhuǎn)數(shù)為00。(4) A:設(shè)定正逆轉(zhuǎn)。按“ A”鍵則 LED亮,表示反轉(zhuǎn),再按則 LED指示燈滅,表示正 轉(zhuǎn),再按LED亮。2數(shù)碼管顯示模塊設(shè)計數(shù)碼管顯示模塊電路采用硬件譯碼輸出字型碼控制顯示內(nèi)容,數(shù)碼管是陽極數(shù)碼管,七段字形譯碼器用的是 74LS47,電路設(shè)計參考技能訓(xùn)練3-2。3. 步進(jìn)電機控制模塊設(shè)計步進(jìn)電機控制模塊電路采用有施密特觸發(fā)器的六反方器74LS14和高電壓、大電流的達(dá)靈頓晶體管數(shù)組產(chǎn)品 ULN2003A電路設(shè)計參考工作模塊 21。4. 步進(jìn)電機智能控制電路實現(xiàn)步進(jìn)電機控制模塊電路、鍵盤電路、數(shù)碼管顯示模塊電路分別接在AT89S52單片機的P

45、0 口、P1 口、P2 口,接在P3.0的LED是步進(jìn)電機正反轉(zhuǎn)的指示燈,步進(jìn)電機智能控制電 路設(shè)計如圖8-11所示。C1U119PU.U/ADU亍crySt.18XTAL2P0.3/AD39RSTRST2928P2.7/A1510P3.0/RXD二,14,15-6.D1LTQGQEQFP0.1/AD1P0.2/AD2P0.6/AD6P0.7/AD7P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P3.1/TXDP3.2/INT0P0.4/AD4P0.5/AD5P3.6/WRP3.7/RDP2.0/A8P2.1/A9BI/RBORBIPSENAIEP3.3/INT1P3.4/T0P3.5/T130pFX171 *8 5*'2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論