分享一個(gè)機(jī)電課設(shè)可能會(huì)用到資料。
系統(tǒng)的硬件設(shè)計(jì)部分包括按鍵模塊、電動(dòng)機(jī)驅(qū)動(dòng)模塊、STC89C51單片機(jī)系統(tǒng)、光電門測(cè)速模塊、保護(hù)電路、供電電源和直流電機(jī)。系統(tǒng)的軟件部分包括鍵盤控制程序設(shè)計(jì)、顯示程序設(shè)計(jì)、主控程序設(shè)計(jì)。
隨著時(shí)代的進(jìn)步和科技的發(fā)展,電機(jī)調(diào)速系統(tǒng)在工農(nóng)業(yè)生產(chǎn)、交通運(yùn)輸以及日常生活中起著越來越重要的作用,因此,對(duì)電機(jī)調(diào)速的研究有著積極的意義。長(zhǎng)期以來,直流電機(jī)被廣泛應(yīng)用于調(diào)速系統(tǒng)中,而且一直在調(diào)速領(lǐng)域占居主導(dǎo)地位。
本設(shè)計(jì)是基于單片機(jī)控制的PWM直流電機(jī)調(diào)速系統(tǒng),系統(tǒng)以STC89C51單片機(jī)為核心,以130小直流電機(jī)為控制對(duì)象,以L298N為H橋驅(qū)動(dòng)芯片實(shí)現(xiàn)電動(dòng)機(jī)的轉(zhuǎn)速反饋控制。調(diào)節(jié)PWM 占空比從而控制電機(jī)兩端電壓,以達(dá)到調(diào)速的目的。用4*4鍵盤輸入有關(guān)控制信號(hào)及參數(shù),并在12864 LED上實(shí)時(shí)顯示輸入?yún)?shù)及動(dòng)態(tài)轉(zhuǎn)速。系統(tǒng)的硬件設(shè)計(jì)部分包括按鍵模塊、電動(dòng)機(jī)驅(qū)動(dòng)模塊、STC89C51單片機(jī)系統(tǒng)、光電門測(cè)速模塊、保護(hù)電路、供電電源和直流電機(jī)。系統(tǒng)的軟件部分包括鍵盤控制程序設(shè)計(jì)、顯示程序設(shè)計(jì)、主控程序設(shè)計(jì)。整個(gè)系統(tǒng)實(shí)現(xiàn)了單片機(jī)控制電機(jī)的啟制動(dòng)、正反轉(zhuǎn)、速度調(diào)節(jié)的效果。
目 錄
摘 要
Abstract
1 引言
1.1 直流調(diào)速系統(tǒng)概況
1.2 設(shè)計(jì)目的和意義
1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀
1.4 設(shè)計(jì)要求和內(nèi)容
2 直流調(diào)速原理分析與方案確定
2.1 直流PWM調(diào)速系統(tǒng)原理分析
2.2 方案論證和選擇
3 系統(tǒng)硬件設(shè)計(jì)
3.1 按鍵控制模塊
3.2 電動(dòng)機(jī)驅(qū)動(dòng)模塊
3.4 STC89C51單片機(jī)系統(tǒng)
3.5 光電門測(cè)速模塊
3.6 保護(hù)電路
3.7 供電電源
3.8 直流電動(dòng)機(jī)的說明
3.9 系統(tǒng)總體設(shè)計(jì)電路圖
4 系統(tǒng)軟件設(shè)計(jì)
4.1 鍵盤控制程序設(shè)計(jì)
4.2 顯示程序設(shè)計(jì)
4.3 主控程序設(shè)計(jì)
5 實(shí)物的直流調(diào)速實(shí)現(xiàn)與調(diào)試
結(jié) 論
參考文獻(xiàn)
致 謝
1 引言
1.1 直流調(diào)速系統(tǒng)概況現(xiàn)代工業(yè)的電力拖動(dòng)一般都要求局部或全部的自動(dòng)化,因此必然要與各種控制元件組成的自動(dòng)控制系統(tǒng)聯(lián)系起來,而電力拖動(dòng)則可視為自動(dòng)化電力拖動(dòng)系統(tǒng)的簡(jiǎn)稱。在這一系統(tǒng)中可對(duì)生產(chǎn)機(jī)械進(jìn)行自動(dòng)控制。 隨著近代電力電子技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展以及現(xiàn)代控制理論的應(yīng)用,自動(dòng)化電力拖動(dòng)正朝著計(jì)算機(jī)控制的生產(chǎn)過程自動(dòng)化的方向邁進(jìn)。以達(dá)到高速、優(yōu)質(zhì)、高效率地生產(chǎn)。在大多數(shù)綜合自動(dòng)化系統(tǒng)中,自動(dòng)化的電力拖動(dòng)系統(tǒng)仍然是不可缺少的組成部分。另外,低成本自動(dòng)化技術(shù)與設(shè)備的開發(fā),越來越引起國(guó)內(nèi)外的注意。特別對(duì)于小型企業(yè),應(yīng)用適用技術(shù)的設(shè)備,不僅有益于獲得經(jīng)濟(jì)效益,而且能提高生產(chǎn)率、可靠性與柔性,還有易于應(yīng)用的優(yōu)點(diǎn)。自動(dòng)化的電力拖動(dòng)系統(tǒng)更是低成本自動(dòng)化系統(tǒng)的重要組成部分[1]。 在如今的現(xiàn)實(shí)生活中,自動(dòng)化控制系統(tǒng)已在各行各業(yè)得到廣泛的應(yīng)用和發(fā)展,其中自動(dòng)調(diào)速系統(tǒng)的應(yīng)用則起著尤為重要的作用。雖然直流電機(jī)不如交流電機(jī)那樣結(jié)構(gòu)簡(jiǎn)單、價(jià)格便宜、制造方便、容易維護(hù),但是它具有良好的起、制動(dòng)性能,宜于在廣泛的范圍內(nèi)平滑調(diào)速,所以直流調(diào)速系統(tǒng)至今仍是自動(dòng)調(diào)速系統(tǒng)中的主要形式。現(xiàn)在電動(dòng)機(jī)的控制從簡(jiǎn)單走向復(fù)雜,并逐漸成熟成為主流。其應(yīng)用領(lǐng)域極為廣泛,例如:軍事和宇航方面的雷達(dá)天線、火炮瞄準(zhǔn)、慣性導(dǎo)航等的控制;工業(yè)方面的數(shù)控機(jī)床、工業(yè)機(jī)器人、印刷機(jī)械等設(shè)備的控制;計(jì)算機(jī)外圍設(shè)備和辦公設(shè)備中的打印機(jī)、傳真機(jī)、復(fù)印機(jī)、掃描儀等的控制;音像設(shè)備和家用電器中的錄音機(jī)、數(shù)碼相機(jī)、洗衣機(jī)、空調(diào)等的控制。 隨著電力電子技術(shù)的發(fā)展,開關(guān)速度更快、控制更容易的全控型功率器件MOSFET和IGBT成為主流,脈寬調(diào)制技術(shù)表現(xiàn)出較大的優(yōu)越性:主電路線路簡(jiǎn)單,需要用的功率元件少;開關(guān)頻率高,電流容易連續(xù),諧波少,電機(jī)損耗和發(fā)熱都較小;低速性能好,穩(wěn)速精度高,因而調(diào)速范圍寬;系統(tǒng)快速響應(yīng)性能好,動(dòng)態(tài)抗擾能力強(qiáng);主電路元件工作在開關(guān)狀態(tài),導(dǎo)通損耗小,裝置效率較高;近年來,微型計(jì)算機(jī)技術(shù)發(fā)展速度飛快,以計(jì)算機(jī)為主導(dǎo)的信息技術(shù)作為一嶄新的生產(chǎn)力,正向社會(huì)的各個(gè)領(lǐng)域滲透,直流調(diào)速系統(tǒng)向數(shù)字化方向發(fā)展成為趨勢(shì)[2]。 1.2 設(shè)計(jì)目的和意義直流電動(dòng)機(jī)具有良好的起動(dòng)、制動(dòng)性能,宜于在大范圍內(nèi)平滑調(diào)速,在許多需要調(diào)速或快速正反向的電力拖動(dòng)領(lǐng)域中得到了廣泛的應(yīng)用。從控制的角度來看,直流調(diào)速還是交流拖動(dòng)系統(tǒng)的基礎(chǔ)。早期直流電動(dòng)機(jī)的控制均以模擬電路為基礎(chǔ),采用運(yùn)算放大器、非線性集成電路以及少量的數(shù)字電路組成,控制系統(tǒng)的硬件部分非常復(fù)雜,功能單一,而且系統(tǒng)非常不靈活、調(diào)試?yán)щy,阻礙了直流電動(dòng)機(jī)控制技術(shù)的發(fā)展和應(yīng)用范圍的推廣。隨著單片機(jī)技術(shù)的日新月異,使得許多控制功能及算法可以采用軟件技術(shù)來完成,為直流電動(dòng)機(jī)的控制提供了更大的靈活性,并使系統(tǒng)能達(dá)到更高的性能。采用單片機(jī)構(gòu)成控制系統(tǒng),可以節(jié)約人力資源和降低系統(tǒng)成本,從而有效的提高工作效率[3]。 傳統(tǒng)的控制系統(tǒng)采用模擬元件,雖在一定程度上滿足了生產(chǎn)要求,但是因?yàn)樵菀桌匣驮谑褂弥幸资芡饨绺蓴_影響,并且線路復(fù)雜、通用性差,控制效果受到器件性能、溫度等因素的影響,故系統(tǒng)的運(yùn)行可靠性及準(zhǔn)確性得不到保證,甚至出現(xiàn)事故。 目前,直流電動(dòng)機(jī)調(diào)速系統(tǒng)數(shù)字化已經(jīng)走向?qū)嵱没,伴隨著電子技術(shù)的高度發(fā)展,促使直流電機(jī)調(diào)速逐步從模擬化向數(shù)字化轉(zhuǎn)變,特別是單片機(jī)技術(shù)的應(yīng)用,使直流電機(jī)調(diào)速技術(shù)又進(jìn)入到一個(gè)新的階段,智能化、高可靠性已成為它發(fā)展的趨勢(shì)。 1.3 國(guó)內(nèi)外發(fā)展現(xiàn)狀電力電子技術(shù)、功率半導(dǎo)體器件的發(fā)展對(duì)電機(jī)控制技術(shù)的發(fā)展影響極大,它們是密切相關(guān)、相互促進(jìn)的。近30年來,電力電子技術(shù)的迅猛發(fā)展,帶動(dòng)和改變著電機(jī)控制的面貌和應(yīng)用。驅(qū)動(dòng)電動(dòng)機(jī)的控制方案有三種:工作在通斷兩個(gè)狀態(tài)的開關(guān)控制、相位控制和脈寬調(diào)制控制,在單向通用電動(dòng)機(jī)的電子驅(qū)動(dòng)電路中,主要的器件是晶閘管,后來是用相位控制的雙向可控硅。在這以后,這種半控型功率器件一直主宰著電機(jī)控制市場(chǎng)。到70和80年代才先后出現(xiàn)了全控型功率器件GTO晶閘管、GTR、POWER-MOSFET、IGBT和MCT等。利用這種有自關(guān)斷能力的器件,取消了原來普通晶閘管系統(tǒng)所必需的換相電路,簡(jiǎn)化了電路結(jié)構(gòu),提高了效率,提高了工作頻率,降低了噪聲,也縮小了電力電子裝置的體積和重量。后來,諧波成分大、功率因數(shù)差的相控變流器逐步由斬波器或PWM變流器所代替,明顯地?cái)U(kuò)大了電機(jī)控制的調(diào)運(yùn)范圍,提高了調(diào)速精度,改善了快速性、效率和功率因數(shù)[4]。 直流電機(jī)脈沖寬度調(diào)制(Pulse Width Modulation-簡(jiǎn)稱PWM)調(diào)速系統(tǒng)產(chǎn)生于70年代中期。最早用于不可逆、小功率驅(qū)動(dòng),例如自動(dòng)跟蹤天文望遠(yuǎn)鏡、自動(dòng)記錄儀表等。近十多年來,由于晶體管器件水平的提高及電路技術(shù)的發(fā)展,同時(shí)又因出現(xiàn)了寬調(diào)速永磁直流電機(jī),它們之間的結(jié)合促使PWM技術(shù)的高速發(fā)展,并使電氣驅(qū)動(dòng)技術(shù)推進(jìn)到一個(gè)新的高度。 在國(guó)外,PWM最早是在軍事工業(yè)以及空間技術(shù)中應(yīng)用。它以優(yōu)越的性能,滿足那些高速度、高精度隨動(dòng)跟蹤系統(tǒng)的需求。近八、九年來,進(jìn)一步擴(kuò)散到民用工業(yè),特別是在機(jī)床行業(yè)、自動(dòng)生產(chǎn)線及機(jī)器人等領(lǐng)域中廣泛應(yīng)用。 如今,電子技術(shù)、計(jì)算機(jī)技術(shù)和電機(jī)控制技術(shù)相結(jié)合的趨勢(shì)更為明顯,促進(jìn)電機(jī)控制技術(shù)以更快的速度發(fā)展著。隨著市場(chǎng)的發(fā)展,客戶對(duì)電機(jī)驅(qū)動(dòng)控制要求越來越高,希望它的功能更強(qiáng)、噪聲更低、控制算法更復(fù)雜,而可靠性和系統(tǒng)安全操作也擺上了議事日程,同時(shí)還要求馬達(dá)恒速向變速發(fā)展,還要符合全球環(huán)保法規(guī)所要求的嚴(yán)格環(huán)境標(biāo)準(zhǔn)。進(jìn)入21世紀(jì)后,可以預(yù)期新的更高性能電力電子器件還會(huì)出現(xiàn),已有的各代電力電子元件還會(huì)不斷地改進(jìn)提高[5]。 1.4 設(shè)計(jì)要求和內(nèi)容設(shè)計(jì)以STC89C51單片機(jī)為中央處理器的直流調(diào)速系統(tǒng),使STC89C51產(chǎn)生PWM信號(hào)對(duì)直流電動(dòng)機(jī)進(jìn)行轉(zhuǎn)速的控制。在設(shè)計(jì)中,通過對(duì)系統(tǒng)各大模塊的分析應(yīng)用,使自己的設(shè)計(jì)達(dá)到了實(shí)現(xiàn)直流電動(dòng)機(jī)調(diào)速的要求。完成系統(tǒng)硬件部分的設(shè)計(jì)、產(chǎn)生PWM控制信號(hào)關(guān)鍵軟件部分的設(shè)計(jì)。通過整合系統(tǒng)的各個(gè)模塊,從而構(gòu)成了一個(gè)比較完整有效地直流電動(dòng)機(jī)調(diào)速控制系統(tǒng)。
2 直流調(diào)速原理分析與方案確定 2.1 直流PWM調(diào)速系統(tǒng)原理分析 眾所周知,直流電機(jī)穩(wěn)態(tài)轉(zhuǎn)速 n 的表達(dá)式為 n= (2.1) 式中 U  ------------ 電樞端電壓(V) I  -------------- 電樞電流(A)  ---------- 電樞電路總電阻(  )  ----------------每極磁通量(Wb) C  ---------------與電動(dòng)機(jī)結(jié)構(gòu)有關(guān)的常數(shù) 由式2.1可知,直流電機(jī)穩(wěn)態(tài)轉(zhuǎn)速 n 的控制方法可分為兩類,即勵(lì)磁控制法與電樞電壓控制法。勵(lì)磁控制法控制磁通  ,其控制功率雖然較小,但低速時(shí)受到磁極飽和的限制,高速時(shí)受到換向火花和換向器結(jié)構(gòu)強(qiáng)度的限制,而且由于勵(lì)磁線圈電感較大,動(dòng)態(tài)性能也較差。所以常用的控制方法是改變電樞端電壓調(diào)速的電樞電壓控制法[6]。 設(shè)直流電源電壓為U  ,將電樞串聯(lián)成一個(gè)電阻R,接到電源 U  ,則穩(wěn)態(tài)電壓方程式為 U = U - I R (2.2) 顯然,調(diào)節(jié)電阻R既可改變端電壓,達(dá)到調(diào)速的目的,但這種傳統(tǒng)的調(diào)壓調(diào)速方法,其效率太低,因此,隨著電力電子技術(shù)的進(jìn)步,發(fā)展了很多新的電樞電壓控制方法,如:由交流電源供電,使用晶閘管整流器進(jìn)行相控調(diào)壓;使用硅整流器將交流點(diǎn)整流成直流電,再由PWM降壓斬波器進(jìn)行斬波調(diào)壓等。 晶閘管相控調(diào)壓或PWM斬波器調(diào)壓比串電阻調(diào)壓損耗小,效率高,而斬波調(diào)壓比相控調(diào)壓又多了不少優(yōu)點(diǎn),如需要的濾波裝置很小甚至只利用電樞電感已經(jīng)足夠,不需要外加濾波裝置;電動(dòng)機(jī)的損耗和發(fā)熱很小,動(dòng)態(tài)響應(yīng)較快等。 圖2.1為PWM降壓斬波器的原理電路及輸出電壓波形,在圖2.1(a)中,假定晶閘管 V  先導(dǎo)通了 T  秒(忽略 V  的管壓降,這期間電源電壓 U  全部加到電樞上),然后關(guān)斷了T  秒(這期間電樞端電壓為零)。如此反復(fù),則電樞端電壓波形如圖2.1(b)中所示。電動(dòng)機(jī)電樞端電壓 U  為其平均值。 
U = = = (2.3) 式中 (2.4) 在一個(gè)周期T中,晶體管V  導(dǎo)通時(shí)間的比率,稱為負(fù)載率或占空比。使用下面三種方法中的任何一種,都可以改變  的值,從而達(dá)到調(diào)壓的目的。 1、定寬調(diào)頻法。T  保持一定,使T  在0~  范圍內(nèi)變化。 2、調(diào)寬調(diào)頻法。T  保持一定,使T  在0~  范圍內(nèi)變化。 3、定頻調(diào)寬法。T  + T  =T保持一定,使T  在0~T范圍內(nèi)變化。 不管那種方法的變化范圍均為0    1,因而電樞電壓的平均值U  的調(diào)節(jié)范圍為0~ U  ,均為正值,即電動(dòng)機(jī)只能在某一方向調(diào)速。 占空比  表示了在一個(gè)周期T里開關(guān)管導(dǎo)通的時(shí)間與周期的比值。  的變化范圍為0≤  ≤1。當(dāng)電源電壓U不變的情況下,輸出電壓的平均值U取決于占空比  的大小,改變  值也就改變了輸出電壓的平均值,從而達(dá)到控制電動(dòng)機(jī)轉(zhuǎn)速的目的,即實(shí)現(xiàn)PWM調(diào)速。 在PWM調(diào)速時(shí),占空比  是一個(gè)重要參數(shù)。改變占空比的方法有定寬調(diào)頻法、調(diào)寬調(diào)頻法和定頻調(diào)寬法等。常用的定頻調(diào)寬法,同時(shí)改變T  和T  ,但周期T(或頻率)保持不變[7]。 在電動(dòng)機(jī)調(diào)速里,通過調(diào)節(jié)PWM波的占空比,實(shí)現(xiàn)電動(dòng)機(jī)平均電壓出現(xiàn)變化,從而調(diào)節(jié)電機(jī)的轉(zhuǎn)速,占空比越大,電動(dòng)機(jī)的平均電壓越大,轉(zhuǎn)速越快,反之越慢。 2.2 方案論證和選擇
2.2.1 穩(wěn)壓電源的選擇穩(wěn)壓電源的設(shè)計(jì)可以通過幾種方法實(shí)現(xiàn),根據(jù)具體的設(shè)計(jì)要求,通過比較論證來確定我們到底要用哪個(gè)方案。  方案一:采用模擬的分立元件,通過電源變壓器、整流濾波電路以及穩(wěn)壓電路,實(shí)現(xiàn)穩(wěn)壓電源穩(wěn)定輸出+5V、±12V、+24V電壓,并能可調(diào)輸出1.2~24V電壓。如圖2.2所示。但由于模擬分立元件的分散性較大,各電阻電容之間的影響很大,因此所設(shè)計(jì)的指標(biāo)不高,而且使用的器件較多,連接復(fù)雜,體積較大,供耗也大,給焊接帶來了麻煩,同時(shí)焊點(diǎn)和線路較多,使成品的穩(wěn)定性和精度也受到影響。
圖2.2 直流穩(wěn)壓電源基本組成框圖 方案二:采用FPGA作為控制器的簡(jiǎn)易數(shù)控直流電源設(shè)計(jì)方案如圖2.3所示。設(shè)計(jì)方案采用FPGA作為控制器完成數(shù)控部分、鍵盤、顯示器接口控制。輸出部分采用D/A0832與運(yùn)算放大器UA714,輸出電壓波形由FPGA的輸出數(shù)據(jù)控制,不僅可以輸出直流電平,而且只要預(yù)先生成波形的量化數(shù)據(jù),就可以產(chǎn)生多種波形輸出。顯示數(shù)據(jù)由FPGA提供。利用軟件和硬件結(jié)合的方法來設(shè)計(jì)穩(wěn)壓電源,其精度和穩(wěn)定性都有所提高;但是,采用FPGA來設(shè)計(jì)的成本很高,性價(jià)比很差[8]。 圖2.3 采用FPGA的簡(jiǎn)易數(shù)控直流電源設(shè)計(jì)方案 方案比較:以上兩種方案均可以達(dá)到輸出穩(wěn)壓電源的要求。方案一是利用純硬件來實(shí)現(xiàn)其功能的,方案二是以FPGA為核心控制器件,采用軟硬件結(jié)合來實(shí)現(xiàn)的。方案一的成本要比方案二低很多,性價(jià)比也比方案二好很多;但是方案一的穩(wěn)定性和精度都沒方案二要高,而且方案二還可以用Modelsim XE 5.3d軟件進(jìn)行仿真和調(diào)試等。設(shè)計(jì)人員可以充分利用VHDL硬件描述語(yǔ)言方便的編程,提高開發(fā)效率,縮短研發(fā)周期,易于進(jìn)行功能的擴(kuò)展,實(shí)現(xiàn)方法靈活,調(diào)試方便,修改容易。但考慮到穩(wěn)壓電源的實(shí)用性,雖然方案一的精度和穩(wěn)定度不及用FPGA來實(shí)現(xiàn)的精度和穩(wěn)定度高,但是用于做穩(wěn)壓電源已足夠了,我們采用第一種方案來進(jìn)行穩(wěn)壓電源的設(shè)計(jì)。 2.2.2 電機(jī)調(diào)速控制模塊方案一:采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)整電動(dòng)機(jī)的分壓,從而達(dá)到調(diào)速的目的。但是電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問題在于一般電動(dòng)機(jī)的電阻很小,但電流很大,分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。 方案二:采用繼電器對(duì)電動(dòng)機(jī)的開或關(guān)進(jìn)行控制,通過開關(guān)的切換對(duì)電動(dòng)機(jī)的速度進(jìn)行調(diào)整。這個(gè)方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢、機(jī)械結(jié)構(gòu)易損壞、壽命較短、可靠性不高。 方案三:采用由三極管組成的H型PWM電路。用單片機(jī)控制三極管使之工作在占空比可調(diào)的開關(guān)狀態(tài),精確調(diào)整電動(dòng)機(jī)轉(zhuǎn)速。這種電路由于工作在管子的飽和截止模式下,效率非常高;H型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;電子開關(guān)的速度很快,穩(wěn)定性也極佳,是一種廣泛采用的PWM調(diào)速技術(shù)。 兼于方案三調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過載能力大,因此本設(shè)計(jì)采用方案三。 2.2.3 PWM調(diào)速工作方式方案一:雙極性工作制。雙極性工作制是在一個(gè)脈沖周期內(nèi),單片機(jī)兩控制口各輸出一個(gè)控制信號(hào),兩信號(hào)高低電平相反,兩信號(hào)的高電平時(shí)差決定電動(dòng)機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。 方案二:?jiǎn)螛O性工作制。單極性工作制是單片機(jī)控制口一端置低電平,另一端輸出PWM信號(hào),兩口的輸出切換和對(duì)PWM的占空比調(diào)節(jié)決定電動(dòng)機(jī)的轉(zhuǎn)向和轉(zhuǎn)速。由于單極性工作制電壓波開中的交流成分比雙極性工作制的小,其電流的最大波動(dòng)也比雙極性工作制的小,所以我們采用了單極性工作制。 2.2.4 PWM調(diào)脈寬方式調(diào)脈寬的方式有三種:定頻調(diào)寬、定寬調(diào)頻和調(diào)寬調(diào)頻。我們采用了定頻調(diào)寬方式,因?yàn)椴捎眠@種方式,電動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí)比較穩(wěn)定,并且在采用單片機(jī)產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。 2.2.5 PWM軟件實(shí)現(xiàn)方式方案一:采用定時(shí)器做為脈寬控制的定時(shí)方式,這一方式產(chǎn)生的脈沖寬度極其精確,誤差只在幾個(gè)us。 方案二:采用軟件延時(shí)方式,這一方式在精度上不及方案一,特別是在引入中斷后,將有一定的誤差。故采用方案一。 2.2.6 編程語(yǔ)言的選擇 在單片機(jī)應(yīng)用系統(tǒng)開發(fā)中,常用的編程語(yǔ)言有匯編語(yǔ)言和C語(yǔ)言兩種。這兩種開發(fā)語(yǔ)言都具有各自的特點(diǎn)。以下就這兩種開發(fā)語(yǔ)言的特點(diǎn)分別作簡(jiǎn)介并根據(jù)實(shí)際開發(fā)情況,選擇適合的開發(fā)語(yǔ)言。匯編語(yǔ)言的特點(diǎn):可直接操縱系統(tǒng)的硬件資源,從而可以編寫高質(zhì)量的編碼。但是采用匯編語(yǔ)言編寫比較復(fù)雜的數(shù)值計(jì)算程序相對(duì)比較困難,又因匯編語(yǔ)言源程序的可讀性遠(yuǎn)不如高級(jí)語(yǔ)言,如果想修改程序功能,得花費(fèi)心思重新閱讀程序,效率不是很高。 C語(yǔ)言的特點(diǎn):C語(yǔ)言程序的優(yōu)點(diǎn)是可讀性與可移植性好,程序開發(fā)周期短;使用C語(yǔ)言編程更符合人的思維方式和思考習(xí)慣,編寫代碼效率高,維護(hù)方便;采用C語(yǔ)言易于開發(fā)復(fù)雜的單片機(jī)應(yīng)用程序,有利于單片機(jī)產(chǎn)品的重新選型和應(yīng)用程序的移植,大大提高了單片機(jī)軟件的開發(fā)速度。 目前,在單片機(jī)的開發(fā)中,C語(yǔ)言得到越來越多的應(yīng)用,而匯編語(yǔ)言也在很多環(huán)境下具有優(yōu)勢(shì)。實(shí)際應(yīng)用中,要根據(jù)具體情況來選擇開發(fā)語(yǔ)言。C語(yǔ)言不僅僅是在軟件開發(fā)上,而且具體應(yīng)用在單片機(jī)以及嵌入式系統(tǒng)開發(fā)上。本設(shè)計(jì)中首先對(duì)系統(tǒng)初始化,讀取預(yù)置電壓,預(yù)存電壓值為10V,并將其發(fā)送給LCD顯示電壓。各部分軟件的設(shè)計(jì)綜合利用了C語(yǔ)言中結(jié)構(gòu)式語(yǔ)句,函數(shù)的定義與調(diào)用,邏輯判斷以及循環(huán)控制,充分體現(xiàn)C語(yǔ)言的簡(jiǎn)潔緊湊、運(yùn)算符豐富、數(shù)據(jù)結(jié)構(gòu)豐富以及可移植性高等優(yōu)點(diǎn)。因此采用C語(yǔ)言編寫程序[9]。
3 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)設(shè)計(jì)框圖如下圖所示,硬件電路結(jié)構(gòu)初步設(shè)想由以下8部分組成:顯示器、按鍵、供電電源、驅(qū)動(dòng)電路、STC89C51單片機(jī)、直流電動(dòng)機(jī)、光電門測(cè)速電路、保護(hù)電路。驅(qū)動(dòng)電路部分采用了L298芯片作為驅(qū)動(dòng)模塊、H橋電路為功率放大電路所構(gòu)成的電路結(jié)構(gòu)。控制部分采用C語(yǔ)言編程控制,STC89C51芯片的定時(shí)器產(chǎn)生PWM脈沖波形,通過調(diào)節(jié)波形的寬度來控制電動(dòng)機(jī)兩端電壓,便能夠?qū)崿F(xiàn)對(duì)電機(jī)速度的控制。硬件系統(tǒng)電路設(shè)計(jì)框圖如圖3.1所示。 3.1系統(tǒng)設(shè)計(jì)框圖 3.1 按鍵控制模塊 系統(tǒng)里采用4*4矩陣鍵盤控制面板作為輸入轉(zhuǎn)速和控制電動(dòng)機(jī)啟停、正反轉(zhuǎn)、置零和調(diào)節(jié)速度的模塊。鍵盤的實(shí)物照如圖,在具體操作過程中,它可以用來錄入轉(zhuǎn)速,A鍵控制電動(dòng)機(jī)啟停,B鍵控制電動(dòng)機(jī)的正反轉(zhuǎn),*鍵可以置零。具體的調(diào)試在后面章節(jié)會(huì)做介紹。
圖3.2鍵盤控制面板 3.2 電動(dòng)機(jī)驅(qū)動(dòng)模塊本次設(shè)計(jì)的驅(qū)動(dòng)芯片為L(zhǎng)298。L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片采用15腳封裝。主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;額定功率25W。內(nèi)含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器線圈等感性負(fù)載;采用標(biāo)準(zhǔn)邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作有一個(gè)邏輯電源輸入端,使內(nèi)部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。使用L298N芯片驅(qū)動(dòng)電機(jī),該芯片可以驅(qū)動(dòng)一臺(tái)兩相步進(jìn)電機(jī)或四相步進(jìn)電機(jī),也可以驅(qū)動(dòng)兩臺(tái)直流電機(jī)。其實(shí)物圖如圖3.3。其內(nèi)部框圖如圖3.4所示[10]。
圖3.3 L298實(shí)物圖 圖 3.4 L298內(nèi)部結(jié)構(gòu)圖 L298N 為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路,可同時(shí)驅(qū)動(dòng)2個(gè)直流電機(jī),內(nèi)含二個(gè)H-Bridge 的高電壓、大電流雙全橋式驅(qū)動(dòng)器,每橋的三級(jí)管的射極是連接在一起的,相應(yīng)外接線端可用來連接外設(shè)傳感電阻。L298芯片是具有15個(gè)引出腳的多瓦數(shù)直插式封裝的集成芯片。它接收標(biāo)準(zhǔn)TTL邏輯準(zhǔn)位信號(hào),可驅(qū)動(dòng)46V、2A以下的電機(jī),且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機(jī)的IO端口來提供模擬時(shí)序信號(hào)。 使用直流驅(qū)動(dòng)器可以驅(qū)動(dòng)兩臺(tái)直流電機(jī)。分別為M1和M2。引腳A,B可用于輸入PWM脈寬調(diào)制信號(hào)對(duì)電機(jī)進(jìn)行調(diào)速控制。(如果無須調(diào)速可將兩引腳接5V,使電機(jī)工作在最高速狀態(tài),既將短接帽短接)實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)就更容易了,輸入信號(hào)端IN1接高電平輸入端IN2接低電平,電機(jī)M1正轉(zhuǎn)。(如果信號(hào)端IN1接低電平, IN2接高電平,電機(jī)M1反轉(zhuǎn)。)控制另一臺(tái)電機(jī)是同樣的方式,輸入信號(hào)端IN3接高電平,輸入端IN4接低電平,電機(jī)M2正轉(zhuǎn)。(反之則反轉(zhuǎn)),PWM信號(hào)端A控制M1調(diào)速,PWM信號(hào)端B控制M2調(diào)速。如表3.1所示[11]。 表3.1 L298驅(qū)動(dòng)電動(dòng)機(jī)各個(gè)管腳信號(hào)高低 | | | | | | 輸入PWM信號(hào)改變脈寬可調(diào)速 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
本驅(qū)動(dòng)電路由L298芯片來驅(qū)動(dòng)和控制電機(jī),L298其實(shí)就是一個(gè)全橋驅(qū)動(dòng)電路。驅(qū)動(dòng)電路原理如圖3.5所示。
(a) (b) 圖3.5 驅(qū)動(dòng)電路原理圖 本次設(shè)計(jì)采用的L298有很強(qiáng)的驅(qū)動(dòng)能力驅(qū)動(dòng)電流可達(dá)2A。 圖中ENA和ENB分別為L(zhǎng)298 兩橋的使能端,若為高電平則對(duì)應(yīng)的橋處于工作狀態(tài)。我們要控制電機(jī)運(yùn)動(dòng)只需單片機(jī)送出一個(gè)信號(hào)就可以了。由于這次設(shè)計(jì)只要控制一個(gè)直流電機(jī),所以我們就采用M1的電機(jī)控制就可以了。
3.3 顯示模塊設(shè)計(jì) 液晶顯示模塊是 128×64 點(diǎn)陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內(nèi)置 8192個(gè)中文漢字(16×16 點(diǎn)陣)、128 個(gè)字符(8×16 點(diǎn)陣)及 64×256 點(diǎn)陣顯示 RAM(GDRAM)?膳c CPU 直接接口,提供兩種界面來連接微處理機(jī):8位并行及串行兩種連接方式。具有多種功能:光標(biāo)顯示、畫面移位、睡眠模式等。實(shí)物圖如圖3.6。
圖3.6 128×64 點(diǎn)陣的漢字圖形型液晶顯示器 在本次設(shè)計(jì)中需要顯示黑線數(shù)量、運(yùn)行的狀態(tài)等一些數(shù)字、字母和漢字信息,因此使用12864比較合適。它是一種圖形點(diǎn)陣液晶顯示器,主要由行驅(qū)動(dòng)器、列驅(qū)動(dòng)器及128×64全點(diǎn)陣液晶顯示器組成,可完成漢字(16×16)顯示和圖形顯示。共有20個(gè)引腳,由于本次使用的是串口通信,不需要使用并口數(shù)據(jù)接線端口,因此在圖中省略了。12864液晶顯示器外觀管腳圖如圖3.7[12]。 圖 3.7 12864管腳圖
管腳說明如下: (1)1腳VSS,模塊的電源地。 (2)2腳VDD,模塊的電源正端。 (3)3腳V0,LCD驅(qū)動(dòng)電壓輸入端。 (4)4腳RS,并行的指令/數(shù)據(jù)選擇信號(hào);串行的片選信號(hào)。 (5)5腳R/W,并行的讀寫選擇信號(hào);串行的數(shù)據(jù)口。 (6)6腳E,并行的使能信號(hào);串行的同步時(shí)鐘。 (7)7~14腳DB0~DB7數(shù)據(jù)0~7。 (8)15腳PSB并/串行接口選擇H-并行;L-串行。 (9)16腳NC空腳。 (10)17腳RST,復(fù)位低電平有效。 (11)18腳VEE,LCD驅(qū)動(dòng)負(fù)電壓輸入端。 (12)19腳A背光源正極(5V)。 (13)20腳K背光源負(fù)極(0V)。 用帶中文字庫(kù)的128×64顯示模塊時(shí)應(yīng)注意以下幾點(diǎn): 1、欲在某一個(gè)位置顯示中文字符時(shí),應(yīng)先設(shè)定顯示字符位置,即先設(shè)定顯示地址,再寫入中文字符編碼。 2、顯示ASCII字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時(shí),只須設(shè)定一次顯示地址,由模塊自動(dòng)對(duì)地址加1指向下一個(gè)字符位置,否則,顯示的字符中將會(huì)有一個(gè)空ASCII字符位置。 3、當(dāng)字符編碼為2字節(jié)時(shí),應(yīng)先寫入高位字節(jié),再寫入低位字節(jié)。 4、模塊在接收指令前,向處理器必須先確認(rèn)模塊內(nèi)部處于非忙狀態(tài),即讀取BF標(biāo)志時(shí)BF需為“0”,方可接受新的指令。 5、“RE”為基本指令集與擴(kuò)充指令集的選擇控制位。當(dāng)變更“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次變更“RE”位,否則使用相同指令集時(shí),無需每次均重設(shè)“RE”位。 在本次設(shè)計(jì)中,顯示器顯示電機(jī)的設(shè)定速度和實(shí)際速度,通過按鍵的控制,在顯示器上都會(huì)出現(xiàn)轉(zhuǎn)速的相應(yīng)調(diào)整。顯示器的功能實(shí)現(xiàn)由程序的控制而來[13]。 3.4 STC89C51單片機(jī)系統(tǒng)STC89C51單片機(jī)學(xué)習(xí)板是一款基于8位單片機(jī)處理芯片STC89C52RC的系統(tǒng)。其功能強(qiáng)大,可以實(shí)現(xiàn)單片機(jī)開發(fā)的多種要求,學(xué)習(xí)、開發(fā)者可以根據(jù)需要選配多種常用模塊,達(dá)到實(shí)驗(yàn)及教學(xué)的目的。 STC89C51系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī),指令代碼與傳統(tǒng)8051單片機(jī)完全兼容[14]。
圖3.8 STC89C51管腳圖 單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘控制信號(hào)為基準(zhǔn),有條不紊地一拍一拍地工作,因此時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。電路中的電容C1和C2典型值通常選擇為30pF左右。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器的頻率高低,振蕩器的穩(wěn)定性和起振的快速性,晶振的頻率越高則系統(tǒng)的時(shí)鐘頻率也越高,單片機(jī)的運(yùn)行速度也越快。本設(shè)計(jì)采用頻率為12MHZ,微調(diào)電容C1和C2為30pF的內(nèi)部時(shí)鐘方式,電容為瓷片電容。  
圖3.9時(shí)鐘電路 圖3.10 復(fù)位電路
該電路采用按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位為電平方式。其中電平復(fù)位是通過RET端經(jīng)電阻與電源VCC接通而實(shí)現(xiàn)的,當(dāng)時(shí)鐘頻率適用于12MHZ時(shí),C取100uF,R取10K,為保證可靠復(fù)位,在初識(shí)化程序中應(yīng)安排一定的延遲時(shí)間[15]。 3.5光電門測(cè)速模塊光電門測(cè)速用途:廣泛用于電機(jī)轉(zhuǎn)速檢測(cè),位置檢測(cè),脈沖計(jì)數(shù)等。它的實(shí)物模型如下圖,它的工作電壓為DC 3-5V,并且具有以下的特點(diǎn):
1、具有信號(hào)輸出指示
2、單路信號(hào)輸出
3、輸出有效信號(hào)為低電平
4、靈敏度不可調(diào)
5、可用于工件計(jì)數(shù)、電機(jī)測(cè)速
6、電路板輸出開關(guān)量 圖3.11 光電門測(cè)速模塊圖 在系統(tǒng)里面,通過電動(dòng)機(jī)的轉(zhuǎn)頁(yè)上的缺口切斷光電門測(cè)速裝置所發(fā)出的光線可以達(dá)到給定轉(zhuǎn)速信號(hào)的作用。轉(zhuǎn)頁(yè)上共有兩個(gè)缺口,光電門通過發(fā)出的紅外光被截?cái)嗟念l率從而知道電動(dòng)機(jī)的轉(zhuǎn)動(dòng)頻率。通過系統(tǒng)計(jì)數(shù)和對(duì)比控制從而給出較準(zhǔn)確的轉(zhuǎn)速。 本系統(tǒng)用到了光電耦合器,光電耦合器可以抑制尖脈沖和各種雜訊干擾信號(hào)。光電耦合器之所以在傳輸信號(hào)的同時(shí)能夠有效得抑制尖脈沖和各種雜訊干擾,使得通道上的信號(hào)雜訊比大為提高,主要有以下幾方面的原因: 1、光電耦合器的輸入阻抗很小,只有幾百歐姆,而干擾源的阻抗較大,通常為105-106歐姆。據(jù)分壓原理可知,即使干擾電壓的幅度較大,但饋送到光電耦合器輸入端的雜訊電壓會(huì)很小,只能形成很微弱的電流,由于沒有足夠的能量而不能使二極管發(fā)光,從而被抑制掉了。 2、光電耦合器的輸入回路與輸出回路之間沒有電氣聯(lián)系,也沒有共地;之間分布電容極小,而絕緣電阻又很大,因此回路一邊的各種干擾雜訊都很難通過光電耦合器饋送到另一邊去,避免了共阻抗耦合的干擾信號(hào)的產(chǎn)生。 3、光電耦合器可以起到很好的安全保障作用,即使當(dāng)外部設(shè)備出現(xiàn)故障,甚至輸入信號(hào)短接時(shí),也不會(huì)損壞儀表。因?yàn)楣怆婑詈掀骷妮斎牖芈泛洼敵龌芈分g可以承受幾千伏的高壓。 4、光電耦合器的回應(yīng)速度極快,其回應(yīng)延遲時(shí)間只有10微秒,適于對(duì)回應(yīng)速度要求很高的場(chǎng)合[16]。 圖3.12 光電耦合器 3.6 保護(hù)電路在實(shí)物中采用保險(xiǎn)管做為保護(hù)電路,在電動(dòng)機(jī)運(yùn)行過程中,如果出現(xiàn)特殊情況,電動(dòng)機(jī)供電電流過大,會(huì)導(dǎo)致保險(xiǎn)管里的保險(xiǎn)絲熔斷,這時(shí)候保險(xiǎn)管會(huì)自動(dòng)切斷保護(hù)電路,達(dá)到保護(hù)整個(gè)系統(tǒng)的功能。 圖3.13 保險(xiǎn)管 3.7 供電電源本系統(tǒng)采用穩(wěn)定的直流電源供電,ST89C51單片機(jī)的供電電壓為+5V,直流電動(dòng)機(jī)的供電電壓為+5V。由外面所接的變壓器轉(zhuǎn)變220V交流電成為穩(wěn)定的直流電而來。可以為單片機(jī)和直流電動(dòng)機(jī)提供穩(wěn)定的直流電壓[17]。 3.8直流電動(dòng)機(jī)的說明本系統(tǒng)采用130微型直流電機(jī),直流電機(jī)為系統(tǒng)里的被控對(duì)象,我們的目的是實(shí)現(xiàn)它的啟停、正反轉(zhuǎn)和調(diào)速的功能。它的一些數(shù)據(jù)參數(shù)如下表: 表3.2 130電機(jī)數(shù)據(jù)表
采用PWM進(jìn)行直流電機(jī)調(diào)速,其實(shí)就是把波形作用于電機(jī)驅(qū)動(dòng)電路的使用端,因此有必要對(duì)電機(jī)驅(qū)動(dòng)電路進(jìn)行介紹。
圖3.14 H橋式電機(jī)驅(qū)動(dòng)電路 上圖所示為一個(gè)典型的直流電機(jī)控制電路。電路得名于“H橋式驅(qū)動(dòng)電路”是因?yàn)樗男螤羁崴谱帜窰。4個(gè)三極管組成H的4條垂直腿,而電機(jī)就是H中的橫杠。電路中,H橋式電機(jī)驅(qū)動(dòng)電路包括4個(gè)三極管和一個(gè)電機(jī)。要使電機(jī)運(yùn)轉(zhuǎn),必須導(dǎo)通對(duì)角線上的一對(duì)三極管。根據(jù)不同三極管對(duì)的導(dǎo)通情況,電流可能會(huì)從左至右或從右至左流過電機(jī),從而控制電機(jī)的轉(zhuǎn)向。 當(dāng)V1管和V3管導(dǎo)通時(shí),電流就從電源正極經(jīng)V1從左至右穿過電機(jī),然后再經(jīng)V3回到電源負(fù)極。該流向的電流將驅(qū)動(dòng)電機(jī)順時(shí)針轉(zhuǎn)動(dòng)。當(dāng)三極管V1和V3導(dǎo)通時(shí),電流將從左至右流過電機(jī),從而驅(qū)動(dòng)電機(jī)按特定方向轉(zhuǎn)動(dòng)。當(dāng)三極管V2和V4導(dǎo)通時(shí),電流將從右至左流過電機(jī),從而驅(qū)動(dòng)電機(jī)沿另一方向轉(zhuǎn)動(dòng)[18]。 3.9 系統(tǒng)總體設(shè)計(jì)電路圖系統(tǒng)總體電路如下圖,系統(tǒng)由STC89C51單片機(jī)控制模塊、按鍵面板、顯示模塊、直流電機(jī)驅(qū)動(dòng)模塊、保護(hù)電路、速度檢測(cè)模塊、直流電動(dòng)機(jī)和供電電源這幾個(gè)部分組成。系統(tǒng)實(shí)現(xiàn)了控制電動(dòng)機(jī)的啟停、正反轉(zhuǎn)、復(fù)位和調(diào)節(jié)速度的功能。系統(tǒng)電路整體的原理是通過單片機(jī)給定PWM波形信號(hào),使驅(qū)動(dòng)模塊驅(qū)動(dòng)電機(jī)的運(yùn)轉(zhuǎn),通過調(diào)節(jié)PWM波的占空比,使得電動(dòng)機(jī)的平均供電電壓得到控制,從而調(diào)節(jié)電動(dòng)機(jī)的轉(zhuǎn)速,在系統(tǒng)里,轉(zhuǎn)速反饋模塊會(huì)及時(shí)反應(yīng)實(shí)際轉(zhuǎn)速,通過和設(shè)定轉(zhuǎn)速的比較,單片機(jī)會(huì)調(diào)節(jié)實(shí)際轉(zhuǎn)速,使其和設(shè)定轉(zhuǎn)速越來越趨近,這就是轉(zhuǎn)速反饋控制達(dá)到的效果[19]。
圖3.15 系統(tǒng)總體設(shè)計(jì)電路圖
4 系統(tǒng)軟件設(shè)計(jì)在直流調(diào)速系統(tǒng)中,對(duì)三個(gè)部分進(jìn)行編寫程序,分別為鍵盤控制程序、顯示程序和主電路控制程序,這三個(gè)程序分別實(shí)現(xiàn)了鍵盤的按鍵控制功能、顯示電動(dòng)機(jī)轉(zhuǎn)速的功能和整個(gè)系統(tǒng)的運(yùn)行控制功能。下面我對(duì)這三大程序分別進(jìn)行設(shè)計(jì)介紹并給出設(shè)計(jì)流程圖[20]。 4.1 鍵盤控制程序設(shè)計(jì)鍵盤控制流程圖如下圖所示,編寫的程序經(jīng)過初始化、識(shí)別是否有鍵入,經(jīng)過接受指令和數(shù)據(jù),進(jìn)行分析并作出處理,然后傳達(dá)給單片機(jī)。下面還給出了部分鍵盤控制設(shè)計(jì)的程序。
圖4.1 鍵盤控制程序流程圖
部分鍵盤控制設(shè)計(jì)程序: - #include"keyboard.h"
- bit key_flag,flag_1;
- uchar flag;
- void delay_ms(uint z)
- {
- uint x;
- uchar y;
- for (x=z;x>0;x--)
- for (y=250;y>0;y--);
- }
- {
- case 0xee:num = 1;flag++;flag_1=1;
- break;
- case 0xde:num = 2;flag++;flag_1=1;
- break;
- case 0xbe:num = 3;flag++;flag_1=1;
- break;
- case 0x7e:num = 10;
- break;
- }
- while(temp != 0xf0);
- do
- {
- temp = DUAN_KOU;
- temp = temp & 0xf0;
- }
- while(temp != 0xf0);
- {
- case 0xeb:num = 7;flag++;flag_1=1;
- break;
- case 0xdb:num = 8;flag++;flag_1=1;
- return num;
- }
復(fù)制代碼
4.2 顯示程序設(shè)計(jì) 顯示程序流程圖如下圖所示,編寫的程序經(jīng)過初始化、清屏進(jìn)入串口驅(qū)動(dòng)模式,經(jīng)過接受指令和數(shù)據(jù),進(jìn)行分析讀取字符串,然后在顯示屏上正確顯示出來。下面還給出了部分顯示設(shè)計(jì)的程序。
圖4.2顯示程序流程圖
部分顯示設(shè)計(jì)的程序: - #include"12864_ser.h"
- void write(bit start, unsigned char ddata);
- void sendbyte(unsigned char bbyte);
- void delaynms(unsigned int di);
- void lcdinit(void);
- {
- delaynms(100);
- PSB=0;
- RESET=0; delaynms(1); RESET=1;
- CS=1;
- write(0,0x30);
- write(0,0x02);
- write(0,0x06);
- write(0,0x0c);
- write(0,0x01);
- }
- void clr_12864()
- void write(bit start, unsigned char ddata)
- if(x==1)
- write(0,0x80+y);
- else if(x==2)
- write(0,0x90+y);
- else if(x==3)
- write(0,0x88+y);
- else if(x==4)
- write(0,0x98+y);
- //pos=x+y;
- //sendbyte(0xf8);delaynms(5);sendbyte(pos);delaynms(2);
- }
- {
- if(x==1)
- write(0,0x80+y);
- else if(x==2)
- write(0,0x90+y);
- else if(x==3)
- write(0,0x88+y);
- else if(x==4)
- write(0,0x98+y);
- //pos=x+y;
- //sendbyte(0xf8);delaynms(5);sendbyte(pos);delaynms(2);
- }
- void print(uchar *str)
- while(*str!='\0')
- {
- write(1,*str);
- str++;
- }
復(fù)制代碼
4.3 主控程序設(shè)計(jì)主控程序流程圖如下圖所示,編寫的程序經(jīng)過初始化、通過給定初值,使定時(shí)器中斷得以控制,從而產(chǎn)生相應(yīng)的PWM波形,使驅(qū)動(dòng)芯片動(dòng)作,控制電動(dòng)機(jī)的正轉(zhuǎn)、反轉(zhuǎn)和停止,在這個(gè)過程里,速度檢測(cè)反饋模塊會(huì)把實(shí)時(shí)轉(zhuǎn)速反饋給單片機(jī),從而知道與設(shè)定轉(zhuǎn)速是否相符,達(dá)到轉(zhuǎn)速反饋控制的目的[21]。下面還給出了部分設(shè)計(jì)的程序。
圖4.3 主控程序流程圖 部分主控程序設(shè)計(jì): - #include"12864_ser.h"
- #include"keyboard.h"
- uint counter,sheding,timer,PWM,TS,ZF,PK,keynum,keynum1,keynum2,temp;
- uchar qian,bai,shi,ge;
- extern uchar flag;
- extern bit flag_1;
- uchar digit[] ={"0123456789"};
- uchar table[4];
- sbit P01=P0^1;
- sbit P02=P0^2;
- void Init_Timer1(void)
- {
- TMOD |= 0x10 | 0x40;
- TH1=0xFF;
- TL1=255;
- ET1=1;
- TR1=1; }
- void Init_Timer0(void)
- {
- TMOD |= 0x01;
- TH0=(65536-50000)/256;
- TL0=(65536-50000)%256;
- ET0=1;
- TR0=1; }
- void main(void)
- {
- P01=0;
- P02=0;
- write(1,digit[ge]);
- Init_Timer1();
- Init_Timer0();
- TS=70;
- gotoxy(3,2);
- write(1,':');
- while(flag<4)
- {
- table[flag-1]=get_key_val();
- if(flag_1==1)
- {
- write(1,digit[table[flag-1]]);
- flag_1=0;
- }
- }
復(fù)制代碼
5 實(shí)物的直流調(diào)速實(shí)現(xiàn)與調(diào)試基于STC89C51單片機(jī)控制的直流調(diào)速系統(tǒng)實(shí)物中主要包含了單片機(jī)控制部分、電路保護(hù)部分、速度檢測(cè)反饋部分、按鍵部分和顯示部分。實(shí)物采用數(shù)字鍵盤控制電動(dòng)機(jī)轉(zhuǎn)速,實(shí)現(xiàn)了電動(dòng)機(jī)的啟停、正轉(zhuǎn)、反轉(zhuǎn)、調(diào)速的功能。鍵盤上的A鍵是啟停控制鍵、B鍵是正反轉(zhuǎn)控制鍵、*號(hào)鍵為復(fù)位鍵。顯示器上可以顯示出電動(dòng)機(jī)的設(shè)定轉(zhuǎn)速和實(shí)際轉(zhuǎn)速。通過速度反饋和分析對(duì)比,單片機(jī)會(huì)控制實(shí)際轉(zhuǎn)速越來越趨近設(shè)定轉(zhuǎn)速。達(dá)到對(duì)速度的控制目的。具體的實(shí)物模型如圖5.1所示。
圖5.1 實(shí)物模型圖
圖5.1 實(shí)物模型圖 具體的調(diào)試和分析過程如下: 1、在打開單片機(jī)供電電源和電動(dòng)機(jī)驅(qū)動(dòng)模塊電源后,實(shí)物顯示初始狀態(tài),設(shè)定轉(zhuǎn)速和實(shí)際轉(zhuǎn)速均為0,在鍵盤上按鍵設(shè)定一個(gè)轉(zhuǎn)速如4500 r/min,則電動(dòng)機(jī)開始啟動(dòng)并加速,經(jīng)過一段時(shí)間實(shí)際速度會(huì)越來越趨向于4500 r/min,直到最后達(dá)到和設(shè)定轉(zhuǎn)速十分靠近。具體的調(diào)試效果如圖5.2。在操作過程中,A鍵可控制電機(jī)的啟停。按下A鍵電動(dòng)機(jī)會(huì)停止,再按一次電動(dòng)機(jī)會(huì)重新運(yùn)轉(zhuǎn)。
圖5.2 調(diào)試效果圖 
2、按下正反轉(zhuǎn)控制鍵B后,電動(dòng)機(jī)會(huì)改變轉(zhuǎn)速方向,經(jīng)過一段時(shí)間,電動(dòng)機(jī)自動(dòng)調(diào)節(jié)轉(zhuǎn)動(dòng)方向,顯示器上顯示反轉(zhuǎn)4500 r/min。需要停止轉(zhuǎn)動(dòng)可以按鍵A。調(diào)試效果如圖5.3。
圖5.3 調(diào)試效果圖
3、按下復(fù)位按鈕*號(hào)鍵,電動(dòng)機(jī)會(huì)恢復(fù)到初試狀態(tài),設(shè)定速度和實(shí)際速度都將置零。 4、在電動(dòng)機(jī)運(yùn)轉(zhuǎn)過程中給它一個(gè)干擾,如給電動(dòng)機(jī)運(yùn)行一個(gè)阻礙,電動(dòng)機(jī)實(shí)際速度會(huì)變慢,經(jīng)過速度反饋給單片機(jī),單片機(jī)經(jīng)過對(duì)比并調(diào)節(jié)PWM波形,控制PWM占空比來調(diào)節(jié)電動(dòng)機(jī)的速度。電動(dòng)機(jī)會(huì)漸漸恢復(fù)到初始設(shè)定的轉(zhuǎn)速上來,體現(xiàn)了系統(tǒng)的速度反饋和抗干擾的功能。具體調(diào)試如圖5.4,圖5.5。
圖5.4 給定干擾時(shí)的效果圖 圖5.5 調(diào)節(jié)恢復(fù)后的效果圖
實(shí)物的原件清單在下表中給出: 表5.1實(shí)物原件清單
結(jié) 論 設(shè)計(jì)是學(xué)生理論聯(lián)系實(shí)際的橋梁,是對(duì)課本知識(shí)的擴(kuò)展和補(bǔ)充,是我們體察工程實(shí)際問題復(fù)雜性、學(xué)習(xí)和工作的又一次嘗試。此次設(shè)計(jì)使我充分認(rèn)識(shí)到生產(chǎn)的靈活性和多變性。設(shè)計(jì)中培養(yǎng)了我們發(fā)現(xiàn)問題、解決問題的能力,在自我分析和理解的基礎(chǔ)上再經(jīng)過指導(dǎo)老師的指導(dǎo),經(jīng)過半年多的不懈努力,此次設(shè)計(jì)終于是完成了。 我深深的體會(huì)到,設(shè)計(jì)不同于平時(shí)的作業(yè),在設(shè)計(jì)中需要自己做出決策,即自己確定方案、選擇流程、查取資料、進(jìn)行過程和設(shè)備計(jì)算,并對(duì)自己的選擇做出論證和核算,經(jīng)過反復(fù)的分析比較,擇優(yōu)選定最理想的方案和合理的設(shè)計(jì)。為了寫好這一設(shè)計(jì),我查閱了很多的參考資料,參照了同類工程處理設(shè)計(jì)的成功經(jīng)驗(yàn),根據(jù)本設(shè)計(jì)的具體情況和要求,做出了符合實(shí)際要求的、能夠解決實(shí)際問題的設(shè)計(jì)。同時(shí),通過此次設(shè)計(jì),培養(yǎng)了我分析和解決設(shè)計(jì)實(shí)際問題的能力。我相信這種嚴(yán)謹(jǐn)?shù)膶W(xué)習(xí)方法、正確的設(shè)計(jì)思想、實(shí)事求是、嚴(yán)肅認(rèn)真和高度責(zé)任感的工作作風(fēng)對(duì)以后的工作和學(xué)習(xí)是大有裨益的。 本次完成的單片機(jī)控制PWM直流調(diào)速系統(tǒng)的設(shè)計(jì)能夠?qū)崿F(xiàn)通過單片機(jī)STC89C51產(chǎn)生PWM信號(hào)對(duì)130直流電動(dòng)機(jī)的轉(zhuǎn)速控制。在設(shè)計(jì)中,通過對(duì)系統(tǒng)各大模塊的分析應(yīng)用,使自己的設(shè)計(jì)基本達(dá)到了實(shí)現(xiàn)直流電動(dòng)機(jī)調(diào)速的要求。由于時(shí)間和經(jīng)費(fèi)的限制,本次設(shè)計(jì)基本上完成了硬件部分的設(shè)計(jì)、產(chǎn)生PWM控制信號(hào)關(guān)鍵軟件部分的設(shè)計(jì)和實(shí)物模型。從而形成了一個(gè)比較完整的基于單片機(jī)控制PWM直流調(diào)速系統(tǒng),達(dá)到了預(yù)期的目標(biāo)。 目前,PWM直流調(diào)速系統(tǒng)已經(jīng)在日常生活中應(yīng)用比較頻繁,但通過本次設(shè)計(jì),我還是學(xué)到和鞏固了很多以前沒掌握或粗淺了解的知識(shí),使我對(duì)PWM直流調(diào)速系統(tǒng)有了更深次的了解和掌握,并通過本次硬件和軟件的設(shè)計(jì),相信能夠?yàn)槲乙院蟮墓ぷ魈峁┫喈?dāng)寶貴的經(jīng)驗(yàn)和基礎(chǔ)。
完整的Word格式文檔51黑下載地址:
基于AT89C51單片機(jī)控制的雙閉環(huán)直流調(diào)速系統(tǒng)設(shè)計(jì).doc
(3.09 MB, 下載次數(shù): 82)
2019-1-11 13:24 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|