找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6980|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于51單片機(jī)PID電機(jī)測(cè)速系統(tǒng)論文下載

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

重慶郵電大學(xué)
畢業(yè)設(shè)計(jì)(論文)



設(shè)計(jì)(論文)題目:



學(xué)  名  稱

學(xué)  生  姓  名 :

專          業(yè) :

班          級(jí) :

學(xué)          號(hào) :

指  導(dǎo)  教  師 :

答辯組  負(fù)責(zé)人 :


填表時(shí)間:
重慶郵電大學(xué)教務(wù)處制


摘  要
在工業(yè)自動(dòng)控制系統(tǒng)和各種智能產(chǎn)品中常常會(huì)應(yīng)用到電動(dòng)機(jī)進(jìn)行驅(qū)動(dòng)、傳動(dòng)和控制,而現(xiàn)代智能控制系統(tǒng)中,對(duì)電機(jī)的控制要求越來(lái)越精確和迅速,對(duì)環(huán)境的適應(yīng)要求越來(lái)越高。
本設(shè)計(jì)以AT89C51單片機(jī)為核心,完成了直流電機(jī)的轉(zhuǎn)速自動(dòng)測(cè)量及轉(zhuǎn)速調(diào)節(jié)功能。在設(shè)計(jì)中采用PWM技術(shù)對(duì)電機(jī)進(jìn)行控制,并且利用LCD1602液晶屏設(shè)計(jì)的人機(jī)界面系統(tǒng)顯示轉(zhuǎn)速的設(shè)定值及實(shí)際值,通過(guò)應(yīng)用PID算法對(duì)占空比的計(jì)算達(dá)到精確調(diào)速的目的。
1

目  錄
第一章 前言              4
1.1 直流電機(jī)閉環(huán)調(diào)速系統(tǒng)背景              4
1.2 本設(shè)計(jì)實(shí)現(xiàn)的基本功能              4
1.3設(shè)計(jì)目的及意義              4
第二章 總體設(shè)計(jì)規(guī)劃              2
2.1 直流電機(jī)的基本工作原理              5
2.2 直流電機(jī)控制原理及特點(diǎn)              5
2.3 直流電機(jī)調(diào)速控制方式選擇              5
2.4 PWM脈寬調(diào)制方式              5
2.5 電機(jī)實(shí)際轉(zhuǎn)速的獲取              6
2.6總體設(shè)計(jì)框圖              7
第三章 硬件設(shè)計(jì)              8
3.1 AT89C51芯片介紹              8
3.1.2電源濾波電路              12
3.1.3 系統(tǒng)時(shí)鐘的設(shè)計(jì)              12
3.1.4 系統(tǒng)復(fù)位方式              13
3.2 L293D芯片介紹              14
3.2.1 驅(qū)動(dòng)電路設(shè)計(jì)              14
3.3 脈沖信號(hào)的獲取              15
3.3.1 LM393芯片介紹              16
   3.3.2 測(cè)速電路設(shè)計(jì)              16
   3.4 LCD1602液晶屏介紹              18
   3.4.1 LCD顯示模塊設(shè)計(jì)              25
3.5按鍵模塊設(shè)計(jì)              26
第四章 軟件設(shè)計(jì)              19
4.1 主程序              19
4.2 系統(tǒng)原理圖              28
參考文獻(xiàn)              29
致 謝              30
       第一章  前 言
1.1 直流電機(jī)閉環(huán)調(diào)速系統(tǒng)背景
對(duì)直流電機(jī)轉(zhuǎn)速的控制即可采用開環(huán)控制,也可采用閉環(huán)控制。與開環(huán)控制相比,速度控制閉環(huán)系統(tǒng)的機(jī)械特性有以下優(yōu)越性:閉環(huán)系統(tǒng)的機(jī)械特性與開環(huán)系統(tǒng)機(jī)械特性相比,其性能大大提高;理想空載轉(zhuǎn)速相同時(shí),閉環(huán)系統(tǒng)的靜差率(額定負(fù)載時(shí)電機(jī)轉(zhuǎn)速降落與理想空載轉(zhuǎn)速之比)要小得多;當(dāng)要求的靜差率相同時(shí), 閉環(huán)調(diào)速系統(tǒng)的調(diào)速范圍可以大大提高。
1.2 本設(shè)計(jì)實(shí)現(xiàn)的基本功能
(1)按鍵設(shè)定并顯示轉(zhuǎn)速,實(shí)時(shí)顯示實(shí)際轉(zhuǎn)速。
(2)按鍵控制電機(jī)起停、正反轉(zhuǎn)。
(3)PWM轉(zhuǎn)速閉環(huán)控制。
1.3 設(shè)計(jì)目的及意義
本課程是機(jī)械電子工程本科專業(yè)的重要實(shí)踐課程,是《單片機(jī)原理與應(yīng)用》課程的一個(gè)綜合性、設(shè)計(jì)性的實(shí)踐環(huán)節(jié)。通過(guò)這門課程的學(xué)習(xí)與實(shí)踐,能夠提出基于單片機(jī)的機(jī)電系統(tǒng)的設(shè)計(jì)思路、論證設(shè)計(jì)方案;熟悉單片機(jī)系統(tǒng)開發(fā)、研制的過(guò)程,軟硬件設(shè)計(jì)方法和設(shè)計(jì)步驟;初步學(xué)會(huì)設(shè)計(jì)單片機(jī)系統(tǒng)軟硬件設(shè)計(jì)及調(diào)試的方法,具備技術(shù)實(shí)現(xiàn)能力;基本上能夠處理實(shí)踐過(guò)程中出現(xiàn)的問(wèn)題并提出解決辦法;提高理論付諸于實(shí)踐的能力,提高工程設(shè)計(jì)能力和處理實(shí)際問(wèn)題的能力,開發(fā)和創(chuàng)新能力。
1



               第二章  總體設(shè)計(jì)規(guī)劃
2.1 直流電機(jī)的基本工作原理

一 直流電機(jī)的用途

直流電動(dòng)機(jī)的優(yōu)點(diǎn):

1 調(diào)速范圍廣,易于平滑調(diào)節(jié)

2 過(guò)載、啟動(dòng)、制動(dòng)轉(zhuǎn)矩大

3 易于控制,可靠性高

4 調(diào)速時(shí)的能量損耗較小

缺點(diǎn):  換向困難,容量受到限制,不能做的很大。

應(yīng)用:  軋鋼機(jī)、電車、電氣鐵道牽引、造紙、紡織拖動(dòng)。

直流發(fā)電機(jī)用作電解、電鍍、電冶煉、充電、交流發(fā)電機(jī)勵(lì)磁等的直流電源。


二、直流電機(jī)的工作原理

原理:任何電機(jī)的工作原理都是建立在電磁感應(yīng)和電磁力這個(gè)基礎(chǔ)上。為了討論直流電機(jī)的工作原理,我們把復(fù)雜的直流電機(jī)結(jié)構(gòu)簡(jiǎn)化為工作原理圖。

(一)直流發(fā)電機(jī)的工作原理

1.工作原理:導(dǎo)體在磁場(chǎng)中運(yùn)動(dòng)時(shí),導(dǎo)體中會(huì)感應(yīng)出電勢(shì)e 。

                     e=Blv。

B:磁密l:導(dǎo)體長(zhǎng)度; v:導(dǎo)體與磁場(chǎng)的相對(duì)速度。

正方向:用右手定則判斷。電勢(shì)e正方向表示電位升高的方向,與U相反。如果同一元件上e和U正方向相同時(shí),e= -U。

理解:電磁感應(yīng)原理的變形(變化的磁通產(chǎn)生感應(yīng)電動(dòng)勢(shì))

2 發(fā)電機(jī)工作過(guò)程分析:兩磁極直流發(fā)電機(jī)的工作原理圖。

  • 構(gòu)成:

磁場(chǎng):圖中 N和 S是一對(duì)靜止的磁極,用以產(chǎn)生磁場(chǎng),其磁感應(yīng)強(qiáng)度沿圓周為正弦分布。

勵(lì)磁繞組——容量較小的發(fā)電機(jī)是用永久磁鐵做磁極的。容量較大的發(fā)電機(jī)的磁場(chǎng)是由直流電流通過(guò)繞在磁極鐵心上的繞組產(chǎn)生的。用來(lái)形成N極和S極的繞組稱為勵(lì)磁繞組,勵(lì)磁繞組中的電流稱為勵(lì)磁電流If。

電樞繞組:在N極和 S極之間,有一個(gè)能繞軸旋轉(zhuǎn)的圓柱形鐵心,其上緊繞著一個(gè)線圈稱為電樞繞組(圖中只畫出一匝線圈),電樞繞組中的電流稱為電樞電流Ia。

換向器:電樞繞組兩端分別接在兩個(gè)相互絕緣而和繞組同軸旋轉(zhuǎn)的半圓形銅片——換向片上,組成一個(gè)換向器。換向器上壓著固定不動(dòng)的炭質(zhì)電刷。

電樞:鐵心、電樞繞組和換向器所組成的旋轉(zhuǎn)部分稱為電樞。

(2)工作過(guò)程:

P1:電動(dòng)勢(shì)產(chǎn)生

當(dāng)電樞被原動(dòng)機(jī)以恒速驅(qū)動(dòng),按逆時(shí)針?lè)较蜣D(zhuǎn)動(dòng)時(shí),用右手定則可以判定,線圈ab和cd邊切割磁力線產(chǎn)生的感應(yīng)電動(dòng)勢(shì)的方向,則在負(fù)載與線圈構(gòu)成的回路中產(chǎn)生電流Ia,其方向與電動(dòng)勢(shì)方向相同。電流由電刷A流出,由電刷B流回。

電動(dòng)勢(shì)與電流關(guān)系:同向

P2:換向

當(dāng)電樞轉(zhuǎn)到上圖b所示位置時(shí),ab邊轉(zhuǎn)到了S極下,cd邊轉(zhuǎn)到了N極下。這時(shí)線圈中感應(yīng)電動(dòng)勢(shì)的方向發(fā)生了改變,但由于換向器隨同一起旋轉(zhuǎn),使得電刷 A總是接觸 N極下的導(dǎo)線,而電刷B總是接觸S極下的導(dǎo)線,故電流仍由A流出 B流回,方向不變。


雖然有換向器的作用,將線圈內(nèi)的交變電動(dòng)勢(shì)在兩電刷間變換為方向不變的電動(dòng)勢(shì),但它的大小仍然是脈動(dòng)的。欲獲得在方向和量值上均為恒定的電動(dòng)勢(shì),則應(yīng)把電樞鐵心上的槽數(shù)和線圈匝數(shù)增多,同時(shí)換向器上的換向片數(shù)也要相應(yīng)地增加。

(3) 電磁轉(zhuǎn)矩與能量轉(zhuǎn)換分析 :

電磁轉(zhuǎn)矩:電樞電流 Ia與磁場(chǎng)相互作用而產(chǎn)生的電磁力形成了電磁轉(zhuǎn)矩 T。

用左手定則可以判定,電磁轉(zhuǎn)矩 T的方向與電樞旋轉(zhuǎn)方向相反。因此,在電樞等速旋轉(zhuǎn)時(shí),原動(dòng)機(jī)的驅(qū)動(dòng)轉(zhuǎn)矩 T1必須與發(fā)電機(jī)的電磁轉(zhuǎn)矩 T和空載損耗轉(zhuǎn)矩 T0相平衡( T0是發(fā)電機(jī)軸上的轉(zhuǎn)矩),即T1=T+ T0

*電磁轉(zhuǎn)矩方向與轉(zhuǎn)速方向關(guān)系:反向

能量轉(zhuǎn)換:

原動(dòng)機(jī)(機(jī)械能)->電磁轉(zhuǎn)矩->發(fā)電機(jī)負(fù)載(電能)

當(dāng)發(fā)電機(jī)的負(fù)載(即電樞電流)增加時(shí),電磁轉(zhuǎn)矩和輸出功率也隨之增加,這時(shí)原動(dòng)機(jī)的驅(qū)動(dòng)轉(zhuǎn)矩所供給的機(jī)械功率亦必須相應(yīng)增加,以保持轉(zhuǎn)矩之間和功率之間的平衡?梢(jiàn),發(fā)電機(jī)向負(fù)載輸出電功率的同時(shí),原動(dòng)機(jī)卻向發(fā)電機(jī)輸出機(jī)械功率,發(fā)電機(jī)起著將機(jī)械能轉(zhuǎn)換為電能的作用。

(二)直流電動(dòng)機(jī)的工作原理

1.工作原理:電磁力定律

載流導(dǎo)體在磁場(chǎng)中將會(huì)受到力的作用,若磁場(chǎng)與載流導(dǎo)體互相垂直,作用在導(dǎo)體上的電磁力大小為:      f = B·l·i     

力的方向用左手定則確定

理解:電流產(chǎn)生磁場(chǎng)原理的變形(電流產(chǎn)生磁場(chǎng))

一個(gè)通電線圈相當(dāng)于一個(gè)具有NS極的磁體。形成電磁力。

2電動(dòng)機(jī)工作過(guò)程分析:直流電動(dòng)機(jī)的工作原理圖。

(1)構(gòu)成:

磁場(chǎng):圖中 N和 S是一對(duì)靜止的磁極,用以產(chǎn)生磁場(chǎng),其磁感應(yīng)強(qiáng)度沿圓周為正弦分布。

勵(lì)磁繞組——容量較小的發(fā)電機(jī)是用永久磁鐵做磁極的。容量較大的發(fā)電機(jī)的磁場(chǎng)是由直流電流通過(guò)繞在磁極鐵心上的繞組產(chǎn)生的。用來(lái)形成N極和S極的繞組稱為勵(lì)磁繞組,勵(lì)磁繞組中的電流稱為勵(lì)磁電流If。

電樞繞組:在N極和 S極之間,有一個(gè)能繞軸旋轉(zhuǎn)的圓柱形鐵心,其上緊繞著一個(gè)線圈稱為電樞繞組(圖中只畫出一匝線圈),電樞繞組中的電流稱為電樞電流Ia。

換向器:電樞繞組兩端分別接在兩個(gè)相互絕緣而和繞組同軸旋轉(zhuǎn)的半圓形銅片——換向片上,組成一個(gè)換向器。換向器上壓著固定不動(dòng)的炭質(zhì)電刷。

電樞:鐵心、電樞繞組和換向器所組成的旋轉(zhuǎn)部分稱為電樞。

(2)工作過(guò)程:

P1:電磁轉(zhuǎn)矩產(chǎn)生

電樞繞組通過(guò)電刷接到直流電源上,繞組的旋轉(zhuǎn)軸與機(jī)械負(fù)載相聯(lián)。電流從電刷 A流入電樞繞組,從電刷B流出。電樞電流Ia與磁場(chǎng)相互作用產(chǎn)生電磁力F,其方向可用左手定則判定。這一對(duì)電磁力所形成的電磁轉(zhuǎn)矩T,使電動(dòng)機(jī)電樞逆時(shí)針?lè)较蛐D(zhuǎn)。

*電磁轉(zhuǎn)矩與電樞旋轉(zhuǎn)方向關(guān)系:同向

P2:換向

當(dāng)電樞轉(zhuǎn)到上圖b所示位置時(shí),ab邊轉(zhuǎn)到了S極下,cd邊轉(zhuǎn)到了N極下。這時(shí)線圈電磁轉(zhuǎn)矩的方向發(fā)生了改變,但由于換向器隨同一起旋轉(zhuǎn),使得電刷 A總是接觸 N極下的導(dǎo)線,而電刷B總是接觸S極下的導(dǎo)線,故電流流動(dòng)方向發(fā)生改變,電磁轉(zhuǎn)矩方向不變。

(3) 電動(dòng)勢(shì)與能量轉(zhuǎn)換分析 :

電動(dòng)勢(shì):電樞轉(zhuǎn)動(dòng)時(shí),割切磁力線而產(chǎn)生感應(yīng)電動(dòng)勢(shì),這個(gè)電動(dòng)勢(shì)(用右手定則判定)的方向與電樞電流Ia和外加電壓U的方向總是相反的,稱為反電動(dòng)勢(shì)Ea。

它與發(fā)電機(jī)的電動(dòng)勢(shì) E的作用不同。發(fā)電機(jī)的電動(dòng)勢(shì)是電源電動(dòng)勢(shì),在外電路產(chǎn)生電流。而Ea是反電動(dòng)勢(shì),電源只有克服這個(gè)反電動(dòng)勢(shì)才能向電動(dòng)機(jī)輸入電流。

可見(jiàn),電動(dòng)機(jī)向負(fù)載輸出機(jī)械功率的同時(shí),卻向電動(dòng)機(jī)輸入電功率,電動(dòng)機(jī)起著將電能轉(zhuǎn)換為機(jī)械能的作用。

*電動(dòng)勢(shì)方向與電流方向關(guān)系:反向

能量轉(zhuǎn)換:

電源(電能)->電磁轉(zhuǎn)矩->負(fù)載(機(jī)械能)

比較:

發(fā)電機(jī)和電動(dòng)機(jī)兩者的電磁轉(zhuǎn)矩T、電動(dòng)勢(shì)的作用是不同的。

發(fā)電機(jī)的電磁轉(zhuǎn)矩是阻轉(zhuǎn)矩,它與原動(dòng)機(jī)的驅(qū)動(dòng)轉(zhuǎn)矩T1的方向是相反的。電動(dòng)機(jī)的電磁轉(zhuǎn)矩是驅(qū)動(dòng)轉(zhuǎn)矩,它使電樞轉(zhuǎn)動(dòng)。電動(dòng)機(jī)的電磁轉(zhuǎn)矩T必須與機(jī)械負(fù)載轉(zhuǎn)矩T2及空載損耗轉(zhuǎn)矩T0相平衡,即T=T2十T0。

發(fā)電機(jī)的電動(dòng)勢(shì)是電源電動(dòng)勢(shì)。電動(dòng)機(jī)的電動(dòng)勢(shì)是反電動(dòng)勢(shì),電源只有克服這個(gè)反電動(dòng)勢(shì)才能向電動(dòng)機(jī)輸入電流。

直流電機(jī)作發(fā)電機(jī)運(yùn)行和作電動(dòng)機(jī)運(yùn)行時(shí),雖然都產(chǎn)生電動(dòng)勢(shì)和電磁轉(zhuǎn)矩,但兩者作用截然相反!

 

第二節(jié)  直流電機(jī)的結(jié)構(gòu)

目的:了解它們各主要部件的名稱、作用、相互組裝及動(dòng)作關(guān)系。以利正確選用和使用。

電機(jī)的結(jié)構(gòu)要求:

1 電磁要求:  產(chǎn)生磁場(chǎng),感應(yīng)出電動(dòng)勢(shì),通過(guò)電流,產(chǎn)生電磁轉(zhuǎn)矩

2機(jī)械要求:傳遞轉(zhuǎn)矩,保持堅(jiān)固穩(wěn)定,冷卻的要求,檢修,運(yùn)行可靠。

從電機(jī)的基本工作原理知道,電機(jī)的磁極和電樞之間必須有相對(duì)運(yùn)動(dòng),因此,任何電機(jī)都有固定不動(dòng)的定子和旋轉(zhuǎn)的轉(zhuǎn)子兩部分組成,在這兩部分之間的間隙叫空氣隙。

一、定子

定子的作用是產(chǎn)生磁場(chǎng)和作為電機(jī)機(jī)械支撐。它由主磁極、換向磁極、電刷、機(jī)座、端蓋和軸承等組成。

(一)主磁極——產(chǎn)生主磁通φ。

主磁極鐵心包括極心和極掌兩部分。極心上套有勵(lì)磁繞組,各主磁極上的繞組一般都是串聯(lián)的。直流電機(jī)的磁極如圖所示。極掌的作用是使空氣隙中磁感應(yīng)強(qiáng)度分布最為合適。

    改變勵(lì)磁電流If的方向,就可改變主磁極極性,也就改變了磁場(chǎng)方向。

(二)換向磁極——產(chǎn)生附加磁場(chǎng),改善電機(jī)的換向,減小電刷與換向器之間的火花,不致使換向器燒壞。

在兩個(gè)相鄰的主磁極之間中性面內(nèi)有一個(gè)小磁極,這就是換向磁極。它的構(gòu)造與主磁極相似,它的勵(lì)磁繞組與主磁極的勵(lì)磁繞組相串聯(lián)。

主磁極中性面內(nèi)的磁感應(yīng)強(qiáng)度本應(yīng)為零值,但是,由于電樞電流通過(guò)電樞繞組時(shí)所產(chǎn)生的電樞磁場(chǎng),使主磁極中性面的磁感應(yīng)強(qiáng)度不能為零值。于是使轉(zhuǎn)到中性面內(nèi)進(jìn)行電流換向的繞組產(chǎn)生感應(yīng)電動(dòng)勢(shì),使得電刷與換向器之間產(chǎn)生較大的火花。

用換向磁極的附加磁場(chǎng)來(lái)抵消電樞磁場(chǎng),使主磁極中性面內(nèi)的磁感應(yīng)強(qiáng)度接近于零,這樣就改善了電樞繞組的電流換向條件,減小了電刷與換向器之間的火花。

(三)電刷裝置

電刷裝置主要由用碳一石墨制成導(dǎo)電塊的電刷、加壓彈簧和刷盒等組成。固定在機(jī)座上(小容量電機(jī)裝在端蓋上)不動(dòng)的電刷,借助于加壓彈簧的壓力和旋轉(zhuǎn)的換向器保持滑動(dòng)接觸,使電樞繞組與外電路接通。

電刷數(shù)一般等于主磁極數(shù),各同極性的電刷經(jīng)軟線匯在一起,再引到接線盒內(nèi)的接線板上,作為電樞繞組的引出端。

(四)機(jī)座——用來(lái)固定主磁極、換向磁極和端蓋,是電機(jī)磁路的一部分。

機(jī)座用鑄鋼或鑄鐵制成。機(jī)座上的接線盒有勵(lì)磁繞組和電樞繞組的接線端,用來(lái)對(duì)外接線。

(五)端蓋

    端蓋由鑄鐵制成,用螺釘固定在底座的兩端,蓋內(nèi)有軸承用以支撐旋轉(zhuǎn)的電樞。

二、轉(zhuǎn)子

轉(zhuǎn)子又稱電樞,是電機(jī)的旋轉(zhuǎn)部分。它由電樞鐵心、繞組、換向器等組成。如右圖所示。

(一)電樞鐵心

電樞鐵心由硅鋼片沖制迭壓而成,在外圓上有分布均勻的槽用來(lái)嵌放繞組。鐵心也作為電機(jī)磁路的一部分。

(二)繞組

繞組是產(chǎn)生感應(yīng)電動(dòng)勢(shì)或電磁轉(zhuǎn)矩,實(shí)現(xiàn)能量轉(zhuǎn)換的主要部件。它是由許多繞組元件構(gòu)成,按一定規(guī)則嵌放在鐵心槽內(nèi)和換向片相連,使各組線圈的電動(dòng)勢(shì)相加。繞組端部用鍍鋅鋼絲箍住,防止繞組因離心力而發(fā)生徑向位移。

(三)換向器

換向器由許多銅制換向片組成,外形呈圓柱形,片與片之間用云母絕緣。

三、銘牌和額定值

為了使電機(jī)安全而有效地運(yùn)行,制造廠對(duì)電機(jī)的工作條件都加以技術(shù)規(guī)定。按照規(guī)定的工作條件進(jìn)行運(yùn)行的狀態(tài)叫做額定工作狀態(tài)。電機(jī)在額定工作時(shí)的各種技術(shù)數(shù)據(jù)叫做額定值,一般加下標(biāo) e表示。這些額定值都列在電機(jī)的銘牌上,使用電機(jī)前,應(yīng)熟悉銘牌。使用中的實(shí)際值,一般不應(yīng)超過(guò)銘牌所規(guī)定的額定值。

    (一)型號(hào):它表示電機(jī)的類別。例如:Z2--12         

              Z:直流;2:設(shè)計(jì)序號(hào);1:鐵心長(zhǎng)度;2:機(jī)座號(hào)

    (二)額定電流Ie

    這是指發(fā)電機(jī)長(zhǎng)期運(yùn)行時(shí)電樞輸出給負(fù)載的允許電流。對(duì)于電動(dòng)機(jī)則是指電源輸入到電動(dòng)機(jī)的允許電流。

    (三)額定電壓Ue

    這是指發(fā)電機(jī)輸出的允許端電壓。對(duì)于電動(dòng)機(jī)則指輸入到電動(dòng)機(jī)端鈕上的允許電壓。

    (四)額定轉(zhuǎn)速ne

    這是指電機(jī)在額定工作狀態(tài)時(shí),應(yīng)達(dá)到的轉(zhuǎn)速。

    (五)額定功率(額定容量) Pe

對(duì)于發(fā)電機(jī)來(lái)說(shuō),這是指在額定電壓下,輸出額定電流時(shí),向負(fù)載提供的電功率Pe,Pe=UeIe

    對(duì)于電動(dòng)機(jī)來(lái)說(shuō),則是指在額定電壓,額定電流和額定轉(zhuǎn)速下,電動(dòng)機(jī)軸上輸出的機(jī)械功率Pe=UeIeηe

    (六)額定效率ηe

    額定功率與輸入功率之比,稱為電機(jī)的額定效率,即ηe=(額定功率/輸入功率)×100 %

四、電樞繞組

1 有關(guān)術(shù)語(yǔ)

1)極軸線——主磁極的中軸線。

2) 幾何中性線——相鄰兩個(gè)主磁極之間的幾何分界線。

3) 極距τ:

相鄰兩磁極中心線間的距離稱為極距τ,常用槽數(shù)表示,

τ =z/2p

其中z為槽數(shù),p為極對(duì)數(shù)。

4)繞組元件——兩端分別與兩個(gè)換向器片聯(lián)接的單匝或多匝線圈,每個(gè)元件由兩個(gè)放在電樞槽中可以產(chǎn)生感應(yīng)電動(dòng)勢(shì)的有效邊,叫元件邊。槽外部分只起連接作用,叫端接部分。

5)節(jié)距——繞組元件的寬度和元件之間的連接規(guī)律。

第一節(jié)距: 一個(gè)線圈的兩個(gè)邊所跨定子圓周上的距離稱為節(jié)距,用 y1 表示,一般用槽數(shù)計(jì).

線圈可范圍分為:

     整距繞組: y1 = τ

     短距繞組: y1 < τ

長(zhǎng)距繞組: y1 > τ

換向節(jié)距: 一個(gè)元件的兩個(gè)邊在換向器上的距離稱為換向節(jié)距,用 yk 表示.

第三節(jié)  直流電機(jī)的磁場(chǎng)

一、直流電機(jī)的勵(lì)磁方式

按勵(lì)磁方式不同,電機(jī)可分為

(一)他勵(lì)直流電機(jī)   電樞和勵(lì)磁繞組由兩個(gè)獨(dú)立的直流電源供電。

(二)并勵(lì)直流電機(jī)   電樞和勵(lì)磁繞組并聯(lián)后由一個(gè)獨(dú)立的直流電源供電。

(三)串勵(lì)直流電機(jī)   電樞和勵(lì)磁繞組串聯(lián)后由一個(gè)獨(dú)立的直流電源

                    供電

(四)復(fù)勵(lì)直流電機(jī)   復(fù)勵(lì)電機(jī)有兩個(gè)繞組,一個(gè)并勵(lì)繞組,一個(gè)串勵(lì)

                   繞組,并勵(lì)繞組和電樞并聯(lián),和串勵(lì)繞組串聯(lián)后由

                    一個(gè)獨(dú)立的直流電源供電。

直流發(fā)電機(jī)的主要?jiǎng)?lì)磁方式是他勵(lì)式、并勵(lì)式和復(fù)勵(lì)式  

二、直流電機(jī)的空載磁場(chǎng) 

磁場(chǎng)的基本物理量

(1)  磁路:磁通經(jīng)過(guò)的路徑。

(2)  磁通:  磁場(chǎng)中穿過(guò)某一截面積的總磁感線數(shù)稱為通過(guò)該面積的磁通

                   單位韋伯Wb。

(3)  磁感應(yīng)強(qiáng)度B:  描述磁介質(zhì)中實(shí)際的磁場(chǎng)強(qiáng)弱和方向的物理量,矢量,

           有大小和方向,單位特斯拉T。B= /A(磁通除以截面積)

(4) 磁場(chǎng)強(qiáng)度 H:   是計(jì)算磁場(chǎng)時(shí)常用的物理量,也是矢量。它與磁感應(yīng)強(qiáng)度矢量的關(guān)系為  H=B/

(5)  磁通勢(shì):某一線圈的電流I與其匝數(shù)N的乘積。磁通勢(shì)F的方向由產(chǎn)生    它的線圈電流按右手定則確定。單位:(A)

1.直流電機(jī)的磁場(chǎng)構(gòu)成

   直流電機(jī)工作時(shí)的磁場(chǎng)是由各繞組的總磁動(dòng)勢(shì)共同產(chǎn)生的(包括勵(lì)磁

   繞組,電樞繞組,換向極繞組,補(bǔ)償繞組等)。勵(lì)磁繞組的磁動(dòng)勢(shì)起

   最主要的作用。

1)主磁通 Φm  所有那些由N極經(jīng)過(guò)氣隙到轉(zhuǎn)子,再由另一個(gè)氣隙返回S極的磁通,同時(shí)與勵(lì)磁繞組和電樞繞組相交鏈,是直流電機(jī)中起有效作用的磁通,稱為主磁通,它能夠在旋轉(zhuǎn)的電樞繞組中感應(yīng)出電動(dòng)勢(shì),并和電樞繞組的磁動(dòng)勢(shì)相互作用產(chǎn)生電磁轉(zhuǎn)矩。

2)漏磁通 Φ1σ 交鏈勵(lì)磁繞組本身,不和電樞繞組相交鏈,只能增加磁極和定子磁軛的飽和程度,不產(chǎn)生電動(dòng)勢(shì)和轉(zhuǎn)矩。

2.直流電機(jī)的空載磁場(chǎng)  

直流電機(jī)的空載是指電樞電流等于零或者很小,且可以不計(jì)其影響

        的一種運(yùn)行狀態(tài)。

磁場(chǎng)的計(jì)算

全電流定律:在磁路中,沿任一閉合路徑,磁場(chǎng)強(qiáng)度的線積分等于與該閉和路徑交鏈的電流的代數(shù)和。

上式左側(cè)為磁場(chǎng)強(qiáng)度矢量沿閉合回線的線積分;右側(cè)是穿過(guò)由閉合回線所圍面積的電流的代數(shù)和。電流的符號(hào)規(guī)定為:閉合回線的圍繞方向與電流成右旋系時(shí)為正,反之為負(fù)。

    由勵(lì)磁磁通勢(shì)單獨(dú)建立的磁場(chǎng),以一臺(tái)四極直流電機(jī)空載時(shí)為例,由勵(lì)磁電流單獨(dú)建立的磁場(chǎng)分布如圖。


  •          空載磁密分布

不計(jì)齒槽影響,直流電機(jī)空載時(shí),其氣隙磁場(chǎng)(主磁場(chǎng))的磁密分布波形如圖所示

三.直流電機(jī)負(fù)載時(shí)的磁場(chǎng)和電樞反應(yīng)

1.負(fù)載時(shí)磁場(chǎng)

電機(jī)帶上負(fù)載以后,電樞繞組內(nèi)流過(guò)電流,還會(huì)形成磁通勢(shì),該磁通稱為電樞磁通勢(shì)。 所以,負(fù)載時(shí)電機(jī)中氣隙磁場(chǎng)是由勵(lì)磁磁通勢(shì)和電樞磁通勢(shì)共同建立。

由此可知,在直流電機(jī)中,從空載到負(fù)載,其氣隙磁場(chǎng)是變化的  

2.電樞反應(yīng)  

1)電樞磁通勢(shì)

電樞磁通勢(shì)對(duì)勵(lì)磁磁通勢(shì)所產(chǎn)生氣隙磁場(chǎng)的影響稱為電樞反應(yīng)。

為畫圖簡(jiǎn)單起見(jiàn),元件邊只畫一層,認(rèn)為電樞是光滑的, 并考慮某一極性下元件中流過(guò)電流同一方向, 得電樞磁場(chǎng)分布。

電樞反應(yīng)磁通勢(shì)軸線的位置與電刷軸線重合,當(dāng)電刷處于幾何中性線時(shí),電樞反應(yīng)磁通勢(shì)與磁極軸線互相垂直 。

  • 電樞反應(yīng)使氣隙磁場(chǎng)發(fā)生了畸變

電樞磁場(chǎng)使主磁場(chǎng)一半削弱,另一半加強(qiáng),并使電樞表面磁密等于零處(物理中心線)離開了幾何中性線。

  • 電磁反應(yīng)呈去磁作用

* 在磁路不飽和時(shí) 主磁場(chǎng)削弱的量與加強(qiáng)的量恰好相等。

* 在磁路臨界飽和時(shí)

增磁會(huì)使半個(gè)極下飽和程度提高,鐵心磁阻增大,另外半個(gè)極下飽和程度減小,鐵心磁阻減小 ,因磁路臨界飽和,從而使實(shí)際的合成磁場(chǎng)曲線要比不飽和時(shí)略低 。增加的磁通數(shù)量就會(huì)小于磁通減少的數(shù)量 。

第四節(jié) 感應(yīng)電動(dòng)勢(shì)和電磁轉(zhuǎn)矩的計(jì)算

一.感應(yīng)電動(dòng)勢(shì)的計(jì)算

1.運(yùn)行時(shí)感應(yīng)電動(dòng)勢(shì)始終存在

直流電機(jī)無(wú)論作電動(dòng)機(jī)運(yùn)行還是作發(fā)電機(jī)運(yùn)行,電樞繞組內(nèi)都感應(yīng)產(chǎn)生電動(dòng)勢(shì)。這個(gè)感應(yīng)電動(dòng)勢(shì)是指一條支路的電動(dòng)勢(shì)。

2.如何計(jì)算感應(yīng)電動(dòng)勢(shì)

要計(jì)算支路電動(dòng)勢(shì),可先求出每個(gè)元件電動(dòng)勢(shì)的平均值,然后乘上每條支路串聯(lián)元件數(shù),就可得出支路電動(dòng)勢(shì)。

元件平均電勢(shì)

B為每一個(gè)磁極下的平均磁感應(yīng)強(qiáng)度,等于每極磁通除以每極的面積l, B= /l

電磁感應(yīng)定律:  e=Blv

式中:v為導(dǎo)體切割磁力線的線速度v=2Rn/60= 2pn/60(2R= 2p)

n - 電樞的轉(zhuǎn)速(r/min)

p - 極對(duì)數(shù)

 - 極距

每條支路總導(dǎo)體數(shù)2N,則電樞感應(yīng)電動(dòng)勢(shì)的平均值為:

E=2Ne=2NBlv=4pNn/60  如果令4pN/60=CE  則

E= CE n

Ce 稱為電動(dòng)勢(shì)常數(shù)

磁通的單位為 Wb,轉(zhuǎn)速 n 的單位為 rpm,感應(yīng)電動(dòng)勢(shì)的單位為 V

感生電動(dòng)勢(shì)的方向由磁場(chǎng)的方向和轉(zhuǎn)子的旋轉(zhuǎn)方向決定。

在直流電動(dòng)機(jī)中,電動(dòng)勢(shì)的方向與電樞電流的方向相反,為反電動(dòng)勢(shì);

在直流發(fā)電機(jī)中,電動(dòng)勢(shì)的方向與電樞電流的方向相同,為電源電動(dòng)勢(shì)。

二.電磁轉(zhuǎn)矩的計(jì)算

1.元件邊所受切線方向電磁力

設(shè)氣隙中某處的徑向磁密為 Bdx ,元件數(shù)為 Ny ;元件邊中電流為ia

根據(jù)電磁力定律,此處元件邊所受的切線方向的電磁力為:

fx = Blia

B為每一個(gè)磁極下的平均磁感應(yīng)強(qiáng)度,等于每極磁通除以每極的面積l, Bdx= /l

2.元件邊所產(chǎn)生電磁轉(zhuǎn)矩

設(shè)電樞的直徑2R ,因?yàn)?R=2p,所以R=p/.

元件數(shù)為N, a為并聯(lián)支路對(duì)數(shù),則電樞表面共有元件邊數(shù)為 4aN ,則電磁力產(chǎn)生的電磁轉(zhuǎn)矩為:

Te = 4aNfxR= 4aNBdx·l·iaR=2pN ia/

若令 CT= 2pN /, 則

Te=  CTia

電磁轉(zhuǎn)矩由磁場(chǎng)的方向和電樞電流的方向決定。

在直流電動(dòng)機(jī)中,電磁轉(zhuǎn)矩的方向與轉(zhuǎn)子的旋轉(zhuǎn)方向相同,為拖動(dòng)轉(zhuǎn)矩

在直流發(fā)電機(jī)中,電磁轉(zhuǎn)矩的方向與轉(zhuǎn)子的旋轉(zhuǎn)方向相反,為制動(dòng)轉(zhuǎn)矩

第四節(jié)直流電動(dòng)機(jī)運(yùn)行分析

教學(xué)目的              掌握直流電動(dòng)機(jī)的勵(lì)磁方式

掌握直流電動(dòng)機(jī)的方程

教學(xué)重點(diǎn)              直流電動(dòng)機(jī)的勵(lì)磁方式

教學(xué)難點(diǎn)              直流電動(dòng)機(jī)的電路方程

一、直流電動(dòng)機(jī)的基本方程

    在這里我們將討論直流電動(dòng)機(jī)的電壓、功率和轉(zhuǎn)矩的平衡方程,說(shuō)明其能量關(guān)系。

(一)電樞電路電壓平衡方程

1.電動(dòng)機(jī)的反電勢(shì)   

在電機(jī)工作原理的討論中,我們知道電樞旋轉(zhuǎn)時(shí),電樞中的載流導(dǎo)體割切磁力線產(chǎn)生感應(yīng)電動(dòng)勢(shì)Ea=Ceφn。這個(gè)電動(dòng)勢(shì)的方向與電樞電流的方向相反,抵制電樞電流的流入,故稱為反電動(dòng)勢(shì)。因此,電源要向電樞輸入電流,就必須克服反電動(dòng)勢(shì)的作用,即必須使加在電樞繞組兩端的電壓U>Ea。l

2.電壓平衡方程

                            Ea=U–IaRa                                    式中,Ia為電樞電流(A); Ra為電樞繞組電阻(Ω)

      上式改寫后即得電壓平衡方程為

                                   U=Ea+IaRa                                     上式表明,電樞繞組兩端的電壓U可分為兩部分,一部分用來(lái)平衡反電動(dòng)勢(shì)Ea,另一部分就是電樞繞組的電阻壓降IaRa。

3.電樞電流    由U=Ea+IaRa可導(dǎo)出電樞電流公式,即

   

(二)功率平衡方程

(三)轉(zhuǎn)矩平衡方程

直流無(wú)刷電機(jī)
使用的是直流電 僅僅是沒(méi)有電刷而已 至于具體 是靠電子線路實(shí)現(xiàn)了電刷的功能。當(dāng)然 有些種類的直流無(wú)刷電機(jī)的機(jī)械部分 和交流電機(jī)幾乎一樣 這種類型 就可以認(rèn)為是先用電子線路把直流電變成交流電 再通給電機(jī)
直流電機(jī)雖然是供直流電  但轉(zhuǎn)子內(nèi)部的線圈還在交流電路的。帶電刷的直流電機(jī)是通過(guò)電刷換向。而無(wú)刷電機(jī)是通過(guò)逆變電路把直流變成交流,然后共給線圈。常見(jiàn)的是12V散熱風(fēng)扇等。在電腦主機(jī)里常用。交流電機(jī) 不需要換向片(電刷)。
直流無(wú)刷電機(jī)的定子繞組是星形連接的,他的轉(zhuǎn)子是永磁體做成的并且轉(zhuǎn)子上有一個(gè)位置傳感器用于檢測(cè)轉(zhuǎn)子位置反饋給控制器,控制器 是直流電源,它根據(jù)位置傳感器反饋的 信號(hào)分別使定子繞組通電,形成旋轉(zhuǎn)磁場(chǎng),直流無(wú)刷電機(jī)的機(jī)械特性比較硬。

2.2直流電機(jī)控制原理及特點(diǎn)對(duì)直流電機(jī)轉(zhuǎn)速的控制即可采用開環(huán)控制,也可采用閉環(huán)控制。與開環(huán)控制相比,速度控制閉環(huán)系統(tǒng)的機(jī)械特性有以下優(yōu)越性:閉環(huán)系統(tǒng)的機(jī)械特性與開環(huán)系統(tǒng)機(jī)械特性相比,其性能大大提高;理想空載轉(zhuǎn)速相同時(shí),閉環(huán)系統(tǒng)的靜差率(額定負(fù)載時(shí)電機(jī)轉(zhuǎn)速降落與理想空載轉(zhuǎn)速之比)要小得多;當(dāng)要求的靜差率相同時(shí), 閉環(huán)調(diào)速系統(tǒng)的調(diào)速范圍可以大大提高。直流電機(jī)的速度控制方案如圖1所示。

              +            

    -

  

圖 2-1 直流電機(jī)速度控制方案



2.3 直流電機(jī)調(diào)速控制方式選擇
2.3.1電阻網(wǎng)絡(luò)或數(shù)字電位器
采用電阻網(wǎng)絡(luò)或數(shù)字電位器調(diào)整電動(dòng)機(jī)的分壓,從而達(dá)到調(diào)速的目的。但是電阻網(wǎng)絡(luò)只能實(shí)現(xiàn)有級(jí)調(diào)速,而數(shù)字電阻的元器件價(jià)格比較昂貴。更主要的問(wèn)題在于一般電動(dòng)機(jī)的電阻很小,但電流很大;分壓不僅會(huì)降低效率,而且實(shí)現(xiàn)很困難。
2.3.2 繼電器
采用繼電器對(duì)電動(dòng)機(jī)的開或關(guān)進(jìn)行控制,通過(guò)開關(guān)的切換對(duì)電機(jī)的速度進(jìn)行調(diào)整。這個(gè)方案的優(yōu)點(diǎn)是電路較為簡(jiǎn)單,缺點(diǎn)是繼電器的響應(yīng)時(shí)間慢、機(jī)械結(jié)構(gòu)易損壞、壽命較短、可靠性不高。
2.3.3 H橋組成的高電壓大電流雙全橋式驅(qū)動(dòng)芯片
              L293D是德州儀器公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路。是一種二相和四相電機(jī)的專用驅(qū)動(dòng)芯片,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,兼容所有的TTL信號(hào)輸入。每個(gè)輸出都是推拉式驅(qū)動(dòng)電路,與達(dá)林頓三極管和偽達(dá)林源,可驅(qū)動(dòng)4.5V至36V、1A以下的電機(jī)。橋型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;響應(yīng)的速度很快,性能穩(wěn)定性好,是一種廣泛采用的PWM調(diào)速控制芯片。兼于上述三種方案調(diào)速特性優(yōu)良、調(diào)整平滑、調(diào)速范圍廣、過(guò)載能力大,因此本設(shè)計(jì)采用方案三。

2.4 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)速。

由于單極性工作制中,應(yīng)用相對(duì)簡(jiǎn)單易于實(shí)現(xiàn)與操作,所以我們采用了單極性工作制。

2.5電機(jī)實(shí)際轉(zhuǎn)速獲取
在Proteus中只有一種直流電機(jī)集成了測(cè)速傳感器,在搜索欄里搜索motor-encoder,即可得到這種電機(jī)模型。本設(shè)計(jì)中設(shè)置電機(jī)轉(zhuǎn)一圈發(fā)出60個(gè)脈沖。根據(jù)實(shí)際運(yùn)轉(zhuǎn)情況及結(jié)合所編寫程序,確定轉(zhuǎn)速公式為:
V=N*15;V:速度 R/min N:每秒采樣的脈沖個(gè)數(shù)
如右圖所示,為帶測(cè)速功能的直流電機(jī)模型

                                                   

                                                   圖 2-3 Proteus電機(jī)模型                             

2.6 總體設(shè)計(jì)框圖
本系統(tǒng)采用AT89C51作為控制核心,用按鍵來(lái)調(diào)節(jié)電機(jī)轉(zhuǎn)速和LCD1602液晶屏來(lái)顯示設(shè)定轉(zhuǎn)速和測(cè)量轉(zhuǎn)速。由上述提供的方案和最后選擇結(jié)果,則用H橋組成的高電壓大電流雙全橋式驅(qū)動(dòng)芯片L293D作為本系統(tǒng)的驅(qū)動(dòng)電路,采用光電傳感器和20線碼盤來(lái)讀取電機(jī)的實(shí)際轉(zhuǎn)速。



      圖2-4 直流電機(jī)控制系統(tǒng)總體框圖


第三章 硬件設(shè)計(jì)
3.1 單片機(jī)的選型3.1.1 AT89C51介紹   

AT89C51是美國(guó)ATMEL公司生產(chǎn)的AT89系列單片機(jī)中的一種,它與MCS-51系列的許多機(jī)種都具有兼容性,并具有廣泛的代表性。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。

AT89C51的特點(diǎn)

  • 與MCS-51 兼容
  • 4K字節(jié)可編程閃爍存儲(chǔ)器
  • 壽命:1000寫/擦循環(huán)
  • 數(shù)據(jù)保留時(shí)間:10年
  • 全靜態(tài)工作:0Hz-24MHz
  • 三級(jí)程序存儲(chǔ)器鎖定
  • 128×8位內(nèi)部RAM
  • 32可編程I/O線
  • 兩個(gè)16位定時(shí)器/計(jì)數(shù)器
  • 個(gè)中斷源
  • 可編程串行通道
  • 低功耗的閑置和掉電模式
  • 片內(nèi)振蕩器和時(shí)鐘電路

引腳定義及功能

AT89C51有40條引腳,與其他51系列單片機(jī)引腳是兼容的。這40條引腳可分為I/O端口線、電源線、控制線、外接晶體線四部分。其封裝形式有兩種:雙列直插封裝(DIP)形式和方形封裝形式,如圖5所示。

         

                                                                                                                           圖 3-1 AT89C51管腳圖   

主電源引腳

VCC:電源正(+5V)。

GND:電源負(fù)。

I/O端口功能

P0口: P0口有八條端口線,命名為P0.0~P0.7,其中P0.0為低位,P0.7為高位。每條線的結(jié)構(gòu)組成如圖3-2所示。它由一個(gè)輸出鎖存器,兩個(gè)三態(tài)緩沖器,輸出驅(qū)動(dòng)電路和輸出控制電路組成。P0口是一個(gè)三態(tài)雙向I/O口,它有兩種不同的功能,用于不同的工作環(huán)境。P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。

   

                   圖3-2 P0口位結(jié)構(gòu)圖   


P1口:P1口有八條端口線,命名為P1.0~P1.7,每條線的結(jié)構(gòu)組成如圖3-3所示。P1口是一個(gè)準(zhǔn)雙向口,只作普通的I/O口使用,其功能與P0口的第一功能相同。作輸出口使用時(shí),由于其內(nèi)部有上拉電阻,所以不需外接上拉電阻;作輸入口使用時(shí),必須先向鎖存器寫入“1”,使場(chǎng)效應(yīng)管T截止,然后才能讀取數(shù)據(jù)。P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。

               圖3-3  P1口位結(jié)構(gòu)圖

P2口:P2口有八條端口線,命名為P2.0~P2.7,每條線的結(jié)構(gòu)如圖3-4所示。P2口也是一個(gè)準(zhǔn)雙向口,它有兩種使用功能:一種是當(dāng)系統(tǒng)不擴(kuò)展外部存儲(chǔ)器時(shí),作普通I/O口使用,其功能和原理與P0口第一功能相同,只是作為輸出口時(shí)不需外接上拉電阻;另一種是當(dāng)系統(tǒng)外擴(kuò)存儲(chǔ)器時(shí),P2口作系統(tǒng)擴(kuò)展的地址總線口使用,輸出高8位的地址A7~A15,與P0口第二功能輸出的低8位地址相配合,共同訪問(wèn)外部程序或數(shù)據(jù)存儲(chǔ)器(64 KB),但它只確定地址并不能像P0口那樣還可以傳送存儲(chǔ)器的讀寫數(shù)據(jù)。P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。

P3口:P3口有八條端口線,命名為P3.0~P3.7,每條線的結(jié)構(gòu)如圖3-1所示。P3口是一個(gè)多用途的準(zhǔn)雙向口。第一功能是作普通I/O口使用,其功能和原理與P1口相同。第二功能是作控制和特殊功能口使用,這時(shí)八條端口線所定義的功能各不相同,如表3-4所示。

P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。

           圖3-4  P2口位結(jié)構(gòu)圖


        
      圖3-5  P3口位結(jié)構(gòu)圖

                         表1 P3口各位的第二功能

引腳

第二功能

功 能 說(shuō) 明

P3.0

RXD

串行數(shù)據(jù)輸入端

P3.1

TXD

串行數(shù)據(jù)輸出端

P3.2

INT0

外部中斷0中斷請(qǐng)求信號(hào)輸入端

P3.3

INT1

外部中斷1中斷請(qǐng)求信號(hào)輸入端

P3.4

T0

定時(shí)/計(jì)數(shù)器0外部計(jì)數(shù)脈沖輸入端

P3.5

T1

定時(shí)/計(jì)數(shù)器1外部計(jì)數(shù)脈沖輸入端

P3.6

WR

片外RAM寫選通信號(hào)輸出端

P3.7

RD

片外RAM讀選通信號(hào)輸出端













3.1.2電源濾波電路

  由于平時(shí)使用的5V電源并不是完全是直流成分,其中還包含了交流信號(hào)部分,為了剔除這部分噪聲,在電源正極與負(fù)極之間并聯(lián)了兩個(gè)電容,其中104小電容可濾除高頻信號(hào),47uF電容可濾除低頻信號(hào),保證了流入單片機(jī)的電流基本上為直流電。
此外,在濾波電路旁并聯(lián)一個(gè)LED,作為電源指示燈。其中5.1K電阻起到限流作用,防止LED被燒毀。














                                 圖3-6 系統(tǒng)時(shí)鐘






3.1.2 系統(tǒng)時(shí)鐘的設(shè)計(jì)

時(shí)鐘電路是用來(lái)產(chǎn)生AT89C51單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),AT89C51本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),AT89C51在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作 ,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘由于兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘。

我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來(lái)為系統(tǒng)提供時(shí)鐘信號(hào)。AT89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器。

電路中的C3、C4的選擇在22PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為1.2MHZ~12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的NPO電容,采用的晶振頻率為11.592MHZ。  





                               圖3-7 系統(tǒng)時(shí)鐘


3.1.3 系統(tǒng)復(fù)位方式

當(dāng)MCS-5l系列單片機(jī)的復(fù)位引腳RST(全稱RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。

根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和上電或開關(guān)復(fù)位。上電復(fù)位要求接通電源后,自動(dòng)實(shí)現(xiàn)復(fù)位操作。圖中電容C5和電阻R9對(duì)電源+5V來(lái)說(shuō)構(gòu)成微分電路。上電后,保持RST一段高電平時(shí)間,由于單片機(jī)內(nèi)的等效電阻的作用,不用圖中電阻R9,也能達(dá)到上電復(fù)位的操作功能,如圖 (3-7)中所示。上電或開關(guān)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開關(guān)操作也能使單片機(jī)復(fù)位。上電后,由于電容C5的充電和反相門的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行過(guò)程中時(shí),按下復(fù)位鍵S0后松開,也能使RST為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電復(fù)位或開關(guān)復(fù)位的操作。













                          圖3-8手動(dòng)復(fù)位電路
3.2.L293D芯片介紹
L293D是德州儀器公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動(dòng)電路。是一種二相和四相電機(jī)的專用驅(qū)動(dòng)芯片,即內(nèi)含二個(gè)H橋的高電壓大電流雙全橋式驅(qū)動(dòng)器,兼容所有的TTL信號(hào)輸入。每個(gè)輸出都是推拉式驅(qū)動(dòng)電路,與達(dá)林頓三極管和偽達(dá)林源,可驅(qū)動(dòng)4.5V至36V、1A以下的電機(jī)。橋型電路保證了可以簡(jiǎn)單地實(shí)現(xiàn)轉(zhuǎn)速和方向的控制;響應(yīng)的速度很快,性能穩(wěn)定性好,是一種廣泛采用的PWM調(diào)速控制芯片。L293D的邏輯功能如表3-1所示∶


EN A(B)
IN1(IN3)
電機(jī)運(yùn)行情況
H
H
正轉(zhuǎn)
H
L
反轉(zhuǎn)
H
同IN2(IN4)
快速停止
L
X
停止

                         圖 3-9 L293D真值表            

3.2.1驅(qū)動(dòng)電路設(shè)計(jì)
單片機(jī)輸出的PWM電機(jī)控制信號(hào)接到L293D EN1端口,IN1和IN2端口控制電機(jī)正反轉(zhuǎn),啟動(dòng)和停止。對(duì)應(yīng)的OUT1和OUT2輸出接到直流電機(jī)B1兩端。





                      圖 3-10 L293D電機(jī)驅(qū)動(dòng)電路
  3.3 脈沖信號(hào)的獲取
     光電傳感器是應(yīng)用非常廣泛的一種器件,有各種各樣的形式,如透射式、反射式等,基本的原理就是當(dāng)發(fā)射管光照射到接收管時(shí),接收管導(dǎo)通,反之關(guān)斷。以透射式為例,如圖3-10所示,當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時(shí),開關(guān)管關(guān)斷,否則打開。為此,可以制作一個(gè)遮光葉片如圖3-11所示,安裝在轉(zhuǎn)軸上,當(dāng)扇葉經(jīng)過(guò)時(shí),產(chǎn)生脈沖信號(hào)。當(dāng)葉片數(shù)較多時(shí),旋轉(zhuǎn)一周可以獲得多個(gè)脈沖信號(hào)。



     

        
        

       圖3-11光電傳感器的原理圖


             圖3-12遮光葉片


3.3.1 LM393芯片介紹

LM393主要特點(diǎn)如下:

●工作電源電壓范圍寬,單電源、雙電源均可工作,單電源:2~36V,雙電源:±1~±18V;

●消耗電流小,Icc=0.8mA;

●輸入失調(diào)電壓小,VIO=±2mV

●共模輸入電壓范圍寬,Vic=0~Vcc-1.5V;

●輸出與TTL,DTL,MOS,CMOS 等兼容;

●輸出可以用開路集電極連接“或”門;







                         圖3-13 LM393內(nèi)部結(jié)構(gòu)圖


                         圖3-13 LM393引腳功能表

3.3.2 測(cè)速電路設(shè)計(jì)







                       圖3-14 電機(jī)測(cè)速電路


測(cè)速電路主要由紅外發(fā)射和接收電路組成,在電動(dòng)機(jī)上安裝一對(duì)紅外發(fā)射和接收管, 當(dāng)電動(dòng)機(jī)轉(zhuǎn)動(dòng)時(shí),根據(jù)電機(jī)的轉(zhuǎn)速紅外光線透過(guò)碼盤柵格,因此產(chǎn)生的紅外光脈沖信號(hào)經(jīng)LM393電壓比較器提供給單片機(jī)一個(gè)計(jì)數(shù)脈沖信號(hào)。
3.4 LCD1602液晶屏介紹
在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過(guò)器件,如在計(jì)算器、萬(wàn)用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。發(fā)光管和LED數(shù)碼管比較常用,軟硬件都比較簡(jiǎn)單,在前面章節(jié)已經(jīng)介紹過(guò),在此不作介紹,本章重點(diǎn)介紹字符型液晶顯示器的應(yīng)用。
在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn):
顯示質(zhì)量高
由于液晶顯示器每一個(gè)點(diǎn)在收到信號(hào)后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點(diǎn)。因此,液晶顯示器畫質(zhì)高且不會(huì)閃爍。
數(shù)字式接口
液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡(jiǎn)單可靠,操作更加方便。
體積小、重量輕
液晶顯示器通過(guò)顯示屏上的電極控制液晶分子狀態(tài)來(lái)達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。
功耗低
相對(duì)而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上,因而耗電量比其它顯示器要少得多。
10.8.1 液晶顯示簡(jiǎn)介
①液晶顯示原理
液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。
②液晶顯示器的分類
液晶顯示的分類方法有很多種,通?砂雌滹@示方式分為段式、字符式、點(diǎn)陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式來(lái)分,可以分為靜態(tài)驅(qū)動(dòng)(Static)、單純矩陣驅(qū)動(dòng)(Simple Matrix)和主動(dòng)矩陣驅(qū)動(dòng)(Active Matrix)三種。
③液晶顯示器各種圖形的顯示原理:
線段的顯示
點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對(duì)應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH




的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯示一條短亮線,長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH時(shí),則屏幕的右下角顯示一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H時(shí),則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。
字符的顯示
用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來(lái)就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。
漢字的顯示
漢字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一般用字模提取軟件),每個(gè)漢字占32B,分左右兩半,各占16B,左邊為1、3、5……右邊為2、4、6……根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)可找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加1,送第二個(gè)字節(jié),換行按列對(duì)齊,送第三個(gè)字節(jié)……直到32B顯示完就可以LCD上得到一個(gè)完整漢字。
10.8.2 1602字符型LCD簡(jiǎn)介
字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。下面以長(zhǎng)沙太陽(yáng)人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實(shí)物如圖3-15:















圖3-15 1602字符型液晶顯示器實(shí)物圖
1602LCD的基本參數(shù)及引腳功能
1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別,兩者尺寸差別如下圖10-54所示:

圖3-16 16021602LCD尺寸圖
1602LCD主要技術(shù)參數(shù):
顯示容量:16×2個(gè)字符
芯片工作電壓:4.5—5.5V
工作電流:2.0mA(5.0V)
模塊最佳工作電壓:5.0V
字符尺寸:2.95×4.35(W×H)mm
引腳功能說(shuō)明
1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表3-17所示:
編號(hào)
符號(hào)
引腳說(shuō)明
編號(hào)
符號(hào)
引腳說(shuō)明
1
VSS
電源地
9
D2
數(shù)據(jù)
2
VDD
電源正極
10
D3
數(shù)據(jù)
3
VL
液晶顯示偏壓
11
D4
數(shù)據(jù)
4
RS
數(shù)據(jù)/命令選擇
12
D5
數(shù)據(jù)
5
R/W
讀/寫選擇
13
D6
數(shù)據(jù)
6
E
使能信號(hào)
14
D7
數(shù)據(jù)
7
D0
數(shù)據(jù)
15
BLA
背光源正極
8
D1
數(shù)據(jù)
16
BLK
背光源負(fù)極
圖3-17:引腳接口說(shuō)明表
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。
第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。
第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負(fù)極。
10.8.2.3 1602LCD的指令說(shuō)明及時(shí)序
1602液晶模塊內(nèi)部的控制器共有11條控制指令。
序號(hào)
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0

1
清顯示
0
0
0
0
0
0
0
0
0
1

2
光標(biāo)返回
0
0
0
0
0
0
0
0
1
*

3
置輸入模式
0
0
0
0
0
0
0
1
I/D
S

4
顯示開/關(guān)控制
0
0
0
0
0
0
1
D
C
B

5
光標(biāo)或字符移位
0
0
0
0
0
1
S/C
R/L
*
*

6
置功能
0
0
0
0
1
DL
N
F
*
*

7
置字符發(fā)生存貯器地址
0
0
0
1
字符發(fā)生存貯器地址
8
置數(shù)據(jù)存貯器地址
0
0
1
顯示數(shù)據(jù)存貯器地址
9
讀忙標(biāo)志或地址
0
1
BF
計(jì)數(shù)器地址
10
寫數(shù)到CGRAM或DDRAM)
1
0
要寫的數(shù)據(jù)內(nèi)容
11
從CGRAM或DDRAM讀數(shù)
1
1
讀出的數(shù)據(jù)內(nèi)容

圖3-18控制命令表
1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)
指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。
指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。
指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。
指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。
指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。
指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。
指令7:字符發(fā)生器RAM地址設(shè)置。
指令8:DDRAM地址設(shè)置。
指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。
指令10:寫數(shù)據(jù)。
指令11:讀數(shù)據(jù)。
與HD44780相兼容的芯片時(shí)序表如下:
讀狀態(tài)
輸入
RS=L,R/W=H,E=H
輸出
D0—D7=狀態(tài)字
寫指令
輸入
RS=L,R/W=L,D0—D7=指令碼,E=高脈沖
輸出
無(wú)
讀數(shù)據(jù)
輸入
RS=H,R/W=H,E=H
輸出
D0—D7=數(shù)據(jù)
寫數(shù)據(jù)
輸入
RS=H,R/W=L,D0—D7=數(shù)據(jù),E=高脈沖
輸出
無(wú)

圖3-19控制命令表
讀寫操作時(shí)序如圖3-20和3-21所示:
圖3-20 讀操作時(shí)序
圖3-21 寫操作時(shí)序
10.8.2.4 1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫(kù)表
液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖10-57是1602的內(nèi)部顯示地址。
圖3-22 1602LCD內(nèi)部顯示地址
例如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。
1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖10-58所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”
圖3-23 字符代碼與圖形對(duì)應(yīng)圖
1602LCD的一般初始化(復(fù)位)過(guò)程
延時(shí)15mS
寫指令38H(不檢測(cè)忙信號(hào))
延時(shí)5mS
寫指令38H(不檢測(cè)忙信號(hào))
延時(shí)5mS
寫指令38H(不檢測(cè)忙信號(hào))
以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測(cè)忙信號(hào)
寫指令38H:顯示模式設(shè)置
寫指令08H:顯示關(guān)閉
寫指令01H:顯示清屏
寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置
寫指令0CH:顯示開及光標(biāo)設(shè)置


3.4 .1顯示電路圖設(shè)計(jì)
用1602LCD液晶屏實(shí)時(shí)顯示電機(jī)的速度,以AT89C51單片機(jī)的P0.0-P.07口做八位數(shù)據(jù)線,P1.0-P1.2為1062的控制端。










                          圖3-15 顯示模塊電路


3.5 按鍵電路設(shè)計(jì)
運(yùn)行方式的設(shè)置主要有P1口外接按鍵來(lái)完成,判斷按鍵是否按下的方法:然后從P1.4到P1.7逐個(gè)檢測(cè)引腳的電平,如果某個(gè)引腳為低電平表示該鍵按下,此時(shí)不需要做相應(yīng)的處理實(shí)現(xiàn)鍵盤功能,如果引腳為高電平則不做處理。采用4個(gè)獨(dú)立的按鍵來(lái)控制電機(jī)的正反轉(zhuǎn),啟停,加減速。











                            圖3-16 鍵盤掃描電路







                 第四章 軟件的設(shè)計(jì)

4.1 (程序清單)及系統(tǒng)原理圖(附件中)











4.2 系統(tǒng)原理圖








參 考 文 獻(xiàn)

[1] 王兆安等.電力電子技術(shù)[M]. 北京.機(jī)械工業(yè)出版社.2000年.

[2] 周淵深.交直流調(diào)速系統(tǒng)與MATLAB仿真[M].北京.中國(guó)電力出版社,2007年.

[3] 陳伯時(shí).運(yùn)動(dòng)控制系統(tǒng)[M]. 北京.機(jī)械工業(yè)出版社.2003年.

[4] 黃家善等.電力電子技術(shù)[M]. 北京.機(jī)械工業(yè)出版社.2007年.

[5]孫立志.PWM與數(shù)字化電動(dòng)機(jī)控制技術(shù)應(yīng)用[M].北京.中國(guó)電力出版社.2008年.

[6] 楊素行.模擬電子技術(shù)基礎(chǔ)[M].高等教育出版社. 2003年.

[7] 陳明熒. 8051單片機(jī)基礎(chǔ)教程[M].科學(xué)出版社. 2003年.     

[8] 康華光.電子技術(shù)基礎(chǔ)數(shù)字部分[M].高等教育出版社. 2004年.

[9] 李廣第.單片機(jī)基礎(chǔ) [M].北京航空航天大學(xué)出版社. 1999年.



  1. #include
  2. #include "LCD1602.h"
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. bit flag;             //定義標(biāo)志位,確定是否到了1s
  6. unsigned long x,x1;
  7. uint T0count;        //從T0的計(jì)數(shù)單元中讀取計(jì)數(shù)的數(shù)值
  8. uint timecount;
  9. unsigned char Motor_Count,Set_Count;
  10. sbit KEY1 = P1^4;//按鍵1
  11. sbit KEY2 = P1^5;//按鍵2
  12. sbit KEY3 = P1^6;//按鍵3
  13. sbit KEY4 = P1^7;//按鍵4
  14. sbit IN1 = P2^5;//電機(jī)控制端1
  15. sbit IN2 = P2^6;//電機(jī)控制端2
  16. sbit EN = P2^7;              //電機(jī)使能端
  17. void Timer(void);
  18. //延時(shí)函數(shù)
  19. void Delay_ms(uint jj) //延時(shí)1毫秒
  20. {
  21.               uint ii;
  22.               while(jj--)
  23.                             for(ii=0;ii<116;ii++);
  24. }
  25. void Motor_Speed(unsigned char Speed) //電機(jī)狀態(tài)
  26. {
  27.               if(Speed==0)  {IN1=0;IN2=0;}//停止
  28.               if(Speed==1)  {IN1=0;IN2=1;}//正轉(zhuǎn)
  29.               if(Speed==2)  {IN1=1;IN2=0;}//反轉(zhuǎn)
  30. }
  31. void main()                 //函數(shù)功能:主函數(shù)
  32. {               
  33.               unsigned char  Data[3];
  34.                  unsigned int  i,j;
  35.               unsigned char Set_x;
  36.             
  37.               Timer(); //定時(shí)器初始化
  38.     LCD1602_init();//液晶初始化
  39. //////////////////////////0123456789ABCDEF
  40.     LCD1602_Disp_ZF(0x80,"Now Speed:   r/s",16);//顯示實(shí)時(shí)速度
  41.                                                                                          //0123456789ABCDEF
  42.     LCD1602_Disp_ZF(0x80+0X40,"Set:   r/s      ",16); //設(shè)置速度
  43.               //LCD1602_Disp_ZF(0x8b+0X40,"Left ",5);
  44.               //LCD1602_Disp_ZF(0x8b+0X40,"Right",5);
  45.               LCD1602_Disp_ZF(0x8b+0X40,"Stop ",5);
  46.               Motor_Speed(0);//停止
  47.               Set_Count=1;
  48.               Set_x=15;
  49.               Data[0]='0'+Set_x/100;               //顯示設(shè)置速度
  50.               Data[1]='0'+(Set_x/10)%10; //顯示設(shè)置速度
  51.               Data[2]='0'+Set_x%10;      //顯示設(shè)置速度
  52.               LCD1602_Disp_ZF(0x84+0x40,Data,3);              //顯示設(shè)置速度
  53.               while(1)
  54.               {
  55.             
  56.                             if(flag==1)                  
  57.                             {
  58.                                           flag=0;                        //清標(biāo)志位
  59.                                           x=T0count*65536+TH0*256+TL0;   //取得時(shí)間寬度參數(shù)
  60.                                           x=x*2;     //計(jì)算速度
  61.                                           timecount=0;
  62.                                           T0count=0;
  63.                                           TH0=0;
  64.                                           TL0=0;
  65.                                           TR0=1;         //TR0=1,控制開關(guān)閉合,計(jì)數(shù)脈沖進(jìn)入T1計(jì)數(shù)器,啟動(dòng)計(jì)數(shù)
  66.                                           Data[0]='0'+x/100;               //顯示當(dāng)前速度
  67.                                           Data[1]='0'+(x/10)%10; //顯示當(dāng)前速度
  68.                                           Data[2]='0'+x%10;      //顯示當(dāng)前速度
  69.                                           LCD1602_Disp_ZF(0x80,"Now Speed:   r/s",16); //顯示當(dāng)前速度
  70.                                           LCD1602_Disp_ZF(0x8a,Data,3); //顯示當(dāng)前速度
  71.                
  72.                                          
  73.                             }
  74.                                                                          if(x>Set_x)//速度調(diào)節(jié)
  75.                                           {
  76.                                                         if(Set_Count==0)Set_Count=1;
  77.                                                         Set_Count--;
  78.                                                         Delay_ms(50);            
  79.                                           }
  80.                                           if(x<set_x) 速度調(diào)節(jié)
  81.                                           {
  82.                                                         Set_Count++;
  83.                                                         if(Set_Count==200)Set_Count=199;
  84.                                                         Delay_ms(50);            
  85.                                           }
  86.                             if(!KEY1) //開始停止按鍵
  87.                             {
  88.                                           Delay_ms(10);
  89.                                           if(!KEY1) //開始停止按鍵
  90.                                           {
  91.                                                         i++;
  92.                                                         if(i%2==0)
  93.                                                         {
  94.                                                                       Motor_Speed(1);//開始
  95.                                                                       LCD1602_Disp_ZF(0x8b+0X40,"Right",5);
  96.                                                         }
  97.                                                         if(i%2==1)
  98.                                                         {
  99.                                                                       Motor_Speed(0);//停止
  100.                                                                       LCD1602_Disp_ZF(0x8b+0X40,"Stop ",5);
  101.                                                         }
  102.                                                         while(!KEY1);
  103.                                           }                           
  104.                             }
  105.                             if(!KEY2)              //正轉(zhuǎn)反轉(zhuǎn)按鍵
  106.                             {
  107.                                           Delay_ms(10);
  108.                                           if(!KEY2)
  109.                                           {
  110.                                                         j++;
  111.                                                         if(j%2==0)//正轉(zhuǎn)
  112.                                                         {            
  113.                                                                       Motor_Speed(1);
  114.                                                                       LCD1602_Disp_ZF(0x8b+0X40,"Right",5);
  115.                                                         }
  116.             
  117.                                                         if(j%2==1)//反轉(zhuǎn)
  118.                                                         {
  119.                                                                       Motor_Speed(2);
  120.                                                                       LCD1602_Disp_ZF(0x8b+0X40,"Left ",5);
  121.                                                         }
  122.                                                         while(!KEY2);
  123.                                           }                           
  124.                             }
  125.                             //////////////////////////////////
  126.                             if(!KEY3) //設(shè)置加速
  127.                             {
  128.                                           Delay_ms(50);
  129.                                           if(!KEY3)//設(shè)置加速
  130.                                           {
  131.                                                         Set_x ++;
  132.                                                         if(Set_x>30)Set_x=30;
  133.                                                         Data[0]='0'+Set_x/100;//顯示設(shè)置速度
  134.                                                         Data[1]='0'+(Set_x/10)%10;//顯示設(shè)置速度
  135.                                                         Data[2]='0'+Set_x%10;  //顯示設(shè)置速度
  136.                                                         LCD1602_Disp_ZF(0x84+0x40,Data,3);//顯示設(shè)置速度            
  137.                                           }                           
  138.                             }
  139.                             if(!KEY4)//設(shè)置減速
  140.                             {
  141.                                           Delay_ms(50);
  142.                                           if(!KEY4)//設(shè)置減速
  143.                                           {
  144.                                               if(Set_x==0)Set_x=1;
  145.                                                         Set_x --;
  146.                                                         Data[0]='0'+Set_x/100;//顯示設(shè)置速度
  147.                                                         Data[1]='0'+(Set_x/10)%10;//顯示設(shè)置速度
  148.                                                         Data[2]='0'+Set_x%10;  //顯示設(shè)置速度
  149.                                                         LCD1602_Disp_ZF(0x84+0x40,Data,3);//顯示設(shè)置速度            
  150.                                           }                           
  151.                             }
  152.                             /////////////////////////////////
  153.                             /////////////////////
  154.                             ///////////////////////////
  155.               }
  156.                  
  157.   }
  158. void t0() interrupt 1 using 0      //T0中斷服務(wù)
  159. {
  160. T0count++;                      //對(duì)P3。4口的脈沖進(jìn)行計(jì)數(shù)
  161. }
  162. void t1(void) interrupt 3 using 0       //T1中斷服務(wù)
  163. {   
  164.     TH1=(65536-368)/256;               //計(jì)數(shù)初值重裝載
  165.     TL1=(65536-368)%256;
  166.     timecount++;
  167.               Motor_Count++;
  168.               if(Motor_Count==Set_Count)              //調(diào)節(jié)速度
  169.               {
  170.                             EN=0;
  171.               }
  172.               if(Motor_Count==200)  //調(diào)節(jié)速度
  173.               {
  174.                             EN=1;
  175. ……………………

  176. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

完整論文下載(word格式 可編輯):
基于51單片機(jī)PID電機(jī)測(cè)速系統(tǒng)論文.doc (1.02 MB, 下載次數(shù): 73)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表