李 娟,馬利祥
(安徽信息工程學(xué)院電氣與電子工程學(xué)院,安徽 蕪湖 241199)
近年來,隨著電子技術(shù)的發(fā)展,直流電機的成本大大降低。由于直流電機具有優(yōu)良的啟動、調(diào)速等性能,其應(yīng)用越來越廣泛[1-5]。同時,直流電機還具有比較簡單的控制理論[6]。目前,直流電機調(diào)速已成為一項應(yīng)用性很強的技術(shù),用其設(shè)計的低成本、易攜帶的家用電器受到歡迎[7-11]。傳統(tǒng)直流電機調(diào)速控制方法存在電機調(diào)速時穩(wěn)定性差的缺點[12-15]。而現(xiàn)在雖然有大量先進的控制方法,例如滑??刂?、模糊控制、神經(jīng)網(wǎng)絡(luò)控制、遺傳算法控制以及灰色理論控制等[16],但這些方法的計算量大、過程相對復(fù)雜。因此,本文設(shè)計了一種基于51 單片機的直流電機調(diào)速控制和測速系統(tǒng)。該系統(tǒng)不僅穩(wěn)定性好,而且電路簡單、可靠性強。
本文所設(shè)計的基于51 單片機的直流電機調(diào)速控制和測速系統(tǒng)主要包括單片機控制部分、顯示電路、按鍵電路、霍爾元件測速電路、電機驅(qū)動電路、復(fù)位電路和晶振電路。
本設(shè)計以STC89C51 單片機最小系統(tǒng)為控制核心,通過數(shù)碼管來顯示電機的轉(zhuǎn)速擋位和轉(zhuǎn)速,由PNP 型三極管8550 驅(qū)動數(shù)碼管,采用4 個獨立式按鍵分別控制電機的起動/暫停、加速、減速和復(fù)位。數(shù)碼管的位選位由單片機的P2口控制;數(shù)碼管的段選位由單片機的P0口控制,并用三極管8550 驅(qū)動電機控制直流電機的轉(zhuǎn)動,通過霍爾傳感器測速。單片機控制可實現(xiàn)直流電機的加減速。對于不同型號的單片機,只需要相應(yīng)地改變地址即可。硬件系統(tǒng)具有很好的通用性,以及很高的實際使用價值。系統(tǒng)總體設(shè)計如圖1 所示。
圖1 系統(tǒng)總體設(shè)計圖Fig.1 Overall system design
控制電路主要由單片機控制,通過程序使單片機發(fā)出脈沖寬度調(diào)制(pulse width modulation,PWM)脈沖來實現(xiàn)對驅(qū)動的控制。新一代的單片機增加了很多功能,其中包括PWM 功能。單片機通過初始化設(shè)置,使其能自動發(fā)出PWM 脈沖波,只有在改變占空比的時候CPU 才干預(yù)。
顯示電路如圖2 所示。LED 數(shù)碼管是一種半導(dǎo)體發(fā)光器件。這種半導(dǎo)體器件是發(fā)光二極管,當給了不同發(fā)光二極管的管腳相對的電流,就會使二極管發(fā)光,從而顯示出數(shù)字??梢燥@示的內(nèi)容包括:時間、日期、距離等可以用數(shù)字表示的參數(shù)。
圖2 顯示電路Fig.2 Display circuit
本文采用了四位數(shù)碼管,用動態(tài)驅(qū)動顯示具體的數(shù)值,即將數(shù)碼管的8 個顯示段“a、b、c、d、e、f、g、dp”的同名端連在一起;然后給每個數(shù)碼管的公共端設(shè)置位選通控制電路,通過各自獨立的I/O 線控制。當單片機的P0口輸出字形碼時,數(shù)碼管就都能夠接收到相同的字形碼。數(shù)碼管會顯示出哪個字形碼,是由單片機的21 引腳到24 引腳位選通端控制的。因此,只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,而沒有選通的數(shù)碼管則不會亮。
通過分時輪流控制各個數(shù)碼管的位選通端。每個數(shù)碼管會輪流顯示,也就是動態(tài)驅(qū)動。發(fā)光二極管單元按連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。當數(shù)碼管中的發(fā)光二極管的陽極全部連接在一起作為公共端,即為共陽極數(shù)碼管。共陽極數(shù)碼管的公共端接+5 V 直流電源。當某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮。當某一字段的陰極為高電平時,相應(yīng)字段就不亮。
按鍵電路如圖3 所示。本文所設(shè)計的電路有4 個獨立按鍵,如圖3 中3 個按鍵分別為起動/暫停鍵K1(用來控制電機的起動或暫停)、電機轉(zhuǎn)速擋位加鍵K2和電機轉(zhuǎn)速擋位減鍵K3。這3 個獨立按鍵一端接地,另一端接單片機的I/O 口。當按鍵按下以后,對應(yīng)的I/O 口會接收到1 個低電平。單片機通過判斷是否接收到低電平來判斷對應(yīng)的按鍵是否按下,接著執(zhí)行相應(yīng)的程序。
圖3 按鍵電路Fig.3 Key circuit
測速電路如圖4 所示。
圖4 測速電路Fig.4 Speed measuring circuit
該電路采用霍爾元件A44E,1 引腳接電源、2 引腳接地、3 引腳是它的數(shù)據(jù)輸出端。在3 引腳還接了1個上拉電阻,使其電平處于穩(wěn)定狀態(tài)。3 引腳的輸出端接單片機的P3.3口(13 引腳),用來測量直流電機的轉(zhuǎn)速?;魻栐谴琶粼?。根據(jù)其測速原理,霍爾傳感器測速是在被測電機的轉(zhuǎn)軸上裝了1 個碼盤。碼盤的上面裝2 個磁體。當電機旋轉(zhuǎn)時,電機的轉(zhuǎn)軸也跟著旋轉(zhuǎn),軸上裝的碼盤和碼盤上的磁體會跟著一起旋轉(zhuǎn)。旋轉(zhuǎn)時,每當磁體經(jīng)過霍爾元件,霍爾元件就發(fā)出一個信號,經(jīng)放大整形得到脈沖信號。也有的霍爾元件可以直接輸出脈沖信號,發(fā)送運算。2 個脈沖的間隔時間就是周期。由周期可以換算出轉(zhuǎn)速,也可計算單位時間內(nèi)的脈沖數(shù),再換算出轉(zhuǎn)速。通過霍爾元件測量當前直流電機的轉(zhuǎn)速,并通過數(shù)碼管實時顯示。通過對PWM 的調(diào)節(jié),可實現(xiàn)對電機轉(zhuǎn)速的控制。
電機驅(qū)動電路如圖5 所示。
圖5 電機驅(qū)動電路Fig.5 Motor drive circuit
圖5 中:B1為電機,Q5為PNP 三極管,R6為限流電阻,D1為續(xù)流二極管?;鶚O電阻接的是單片機的P1,3口(4 引腳)。其為控制端口,用于控制電機的起動和停轉(zhuǎn)。當單片機的P1.3口輸出低電平時,三極管導(dǎo)通,電機開始工作。當單片機的P1.3口輸出高電平時,三極管截止,電機停轉(zhuǎn),續(xù)流二極管用于消耗掉電機產(chǎn)生的反電動勢。
單片機的復(fù)位電路如圖6 所示。
圖6 復(fù)位電路Fig.6 Reset circuit
復(fù)位由路包含一個獨立按鍵。本設(shè)計中的復(fù)位電路包含上電復(fù)位和手動復(fù)位。要使單片機復(fù)位,需要給單片機的9 引腳一個持續(xù)20 μs 以上的高電平。系統(tǒng)剛上電時,C1電容開始充電,通過一個10 kΩ 的下拉電阻,RST 端口會從低電平變?yōu)楦唠娖?持續(xù)一段時間的高電平使單片機復(fù)位;然后RST 變成低電平。手動復(fù)位是通過按下K4按鍵來實現(xiàn)的。由于手動按鍵的時間肯定是大于20 μs 的,這段時間內(nèi)復(fù)位引腳接電源,使得單片機復(fù)位。
單片機的晶振電路如圖7 所示。圖7 中:Y1是晶振,一般采用12 MHz 或者11.059 2 MHz 的晶振。本文采用的是12 MHz 的晶振。晶振接到單片機的18 引腳和19 引腳,然后外接2 個30 pF 的電容再接地,用于穩(wěn)定晶振的正常工作。
圖7 晶振電路Fig.7 Crystal resonance circuit
程序功能流程如圖8 所示。
圖8 程序功能流程圖Fig.8 Program function flowchart
圖8 中,通過單片機的程序控制,電機可以顯示出轉(zhuǎn)速擋位、轉(zhuǎn)速的變化、加速或者減速,以及電機的起動和停止。主要功能包括:起動/暫停鍵K1用于控制電機的起動和暫停按鍵;加速按鍵K2用于控制電機的轉(zhuǎn)速,可以增加電機的當前轉(zhuǎn)速;減速按鍵K3用于控制電機的轉(zhuǎn)速,可以減緩電機的當前轉(zhuǎn)速。
仿真電路如圖9 所示。圖9 中,數(shù)碼管左邊第一位表示的是電機轉(zhuǎn)速的擋位,用戶可以通過其設(shè)置不同的擋位。圖9 中右側(cè)兩位數(shù)碼管代表的是電機當前的轉(zhuǎn)速。當電機按加速鍵從1 擋變?yōu)? 擋后,電機會從當前的轉(zhuǎn)速加速到2 擋的一個穩(wěn)定轉(zhuǎn)速并保持。在這個過程中,數(shù)碼管會實時顯示電機當前的轉(zhuǎn)速。由于仿真軟件里沒有霍爾元件,所以圖9 中后兩位不能實時顯示電機當前的轉(zhuǎn)速。通過仿真,驗證了電路的基本功能。
圖9 仿真電路Fig.9 Simulation circuit
試驗結(jié)果如圖10 所示。圖10 中,數(shù)碼管的左邊1~5代表電機轉(zhuǎn)速的擋位。本設(shè)計中設(shè)計了5 擋電機轉(zhuǎn)速,可通過調(diào)節(jié)獨立按鍵對其擋位進行加減。數(shù)碼管右邊兩位實時顯示電機的當前轉(zhuǎn)速,圖10(a)為1 擋時的穩(wěn)態(tài)轉(zhuǎn)速,其他擋位的穩(wěn)態(tài)轉(zhuǎn)速如圖10(b)~圖10(e)所示。
圖10 試驗結(jié)果Fig.10 Experimental results
本文以直流電機調(diào)速控制和測速系統(tǒng)為研究對象,設(shè)計了基于51 單片機的直流電機調(diào)速控制和測速系統(tǒng)。該系統(tǒng)實現(xiàn)了直流電機的精確穩(wěn)定控制,使得電機轉(zhuǎn)速可在1~5 擋內(nèi)連續(xù)可調(diào),并且速度擋位和速度大小可通過程序進行調(diào)節(jié)。經(jīng)Keil 程序仿真、Proteus 仿真以及試驗,證實了本設(shè)計的正確性和可行性。