基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)_第1頁
基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)_第2頁
基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)_第3頁
基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)_第4頁
基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、傳感器原理及應(yīng)用創(chuàng)新性應(yīng)用課題研究報(bào)告題 目:基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)設(shè)計(jì)學(xué) 院: 自動(dòng)化工程學(xué)院 年級專業(yè): 2012級電子信息科學(xué)與技術(shù) 姓 名: 王強(qiáng) 董立華 周勇 宋曉杰任課教師: 遲宗濤 2015年 12月 27 日摘 要:轉(zhuǎn)速是發(fā)動(dòng)機(jī)重要的工作參數(shù)之一,也是其它參數(shù)計(jì)算的重要依據(jù)。目前常用的轉(zhuǎn)速測量方法有離心式轉(zhuǎn)速表測速法、測速發(fā)電機(jī)測速法、光電碼盤測速法和霍爾元件測速法等。在對各種測速方法進(jìn)行分析后提出了基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)。詳細(xì)分析了系統(tǒng)的組成及工作原理,給出了系統(tǒng)中各硬件模塊設(shè)計(jì)方法及系統(tǒng)軟件設(shè)計(jì)方法,給出了部分程序流程圖和程序清單。該測速系統(tǒng)安裝維護(hù)方便,工作穩(wěn)

2、定,運(yùn)行可靠,具有較大的推廣應(yīng)用價(jià)值。關(guān)鍵詞 :單片機(jī),光電轉(zhuǎn)速傳感器,轉(zhuǎn)速測量,數(shù)據(jù)處理Abstract:The rotate speed is one of the important parametersfor the engine, and it is also the important factor that calculatesother parameters. At present there aremany methods for the tachometric survey measurement. Afteranalyze variousrotate speed meas

3、urement methods, the photoelectric sensor tachometric survey system is presented. The composition and the principle of the system are presented, and the design method of hardware and the software are also presented. The whole system has the bigger promotion application value.Keywords:single-chip com

4、puter,photoelectric sensor,rotate speed measurement,data processing目 錄1 引 言42 系統(tǒng)組成及工作原理42.1轉(zhuǎn)速測量原理42.2轉(zhuǎn)速測量系統(tǒng)組成框圖43 系統(tǒng)硬件電路的設(shè)計(jì)53.1 脈沖產(chǎn)生電路設(shè)計(jì)53.2 光電轉(zhuǎn)換及信號調(diào)理電路設(shè)計(jì)63.2.1 光電傳感器簡介63.2.2 光電轉(zhuǎn)換及信號調(diào)理電路設(shè)計(jì)73.3 測量系統(tǒng)主機(jī)部分設(shè)計(jì)83.3.1 單片機(jī)83.3.2 鍵盤顯示模塊設(shè)計(jì)103.3.3 串行通信模塊設(shè)計(jì)123.3.4 電源模塊設(shè)計(jì)134 系統(tǒng)軟件設(shè)計(jì)144.1 主程序設(shè)計(jì)144.2 數(shù)據(jù)處理過程164.3 浮點(diǎn)數(shù)

5、學(xué)運(yùn)算程序175 制作調(diào)試176 結(jié)果分析19結(jié) 論20參考文獻(xiàn)21致 謝221.1引 言轉(zhuǎn)速測量是社會生產(chǎn)和日常生活中重要的測量和控制對象。近年來,由于世界范圍內(nèi)對轉(zhuǎn)速測量合理利用的日益重視,促使轉(zhuǎn)速測量技術(shù)的迅速發(fā)展,各種新型的測量儀表相繼問世并越來越多地得到應(yīng)用。進(jìn)行轉(zhuǎn)速測量的檢測控制,可以使用多種傳感器。由于技術(shù)保密,廠家不會提供詳細(xì)電路圖和源代碼,用戶很難自行進(jìn)行二次開發(fā)和改進(jìn)。針對這種現(xiàn)狀,使用光電傳感器結(jié)合STC公司的STC 89C51型單片機(jī)設(shè)計(jì)的一種轉(zhuǎn)速測量與控制系統(tǒng)。STC 89C51單片機(jī)采用了CMOS工藝和高密度非易失性存儲器技術(shù),而且其輸入/輸出引腳和指令系統(tǒng)都與MC

6、S-51兼容,是開發(fā)該系統(tǒng)的適合芯片。一種量大面廣的產(chǎn)品,廣泛應(yīng)用于國民經(jīng)濟(jì)的各個(gè)行業(yè)中。而電機(jī)的生產(chǎn)王國正在由日本轉(zhuǎn)移到中國,尤其是浙江溫州和廣東珠三角地區(qū)。廣東省佛山市順德區(qū)就有大大小小的電機(jī)生產(chǎn)廠家上百家,每年生產(chǎn)上億臺電機(jī),同時(shí)順德有許多家電生產(chǎn)廠家,家電中也要大量用到電機(jī),不管是電機(jī)生產(chǎn)廠家,還是將電機(jī)作為它們的產(chǎn)品中的零部件的廠家,要將它們的產(chǎn)品打到國際市場上,迫切需要IS09002認(rèn)證,IS09002要求生產(chǎn)產(chǎn)品所用的零部件以及最終的產(chǎn)品都要經(jīng)過本單位的質(zhì)量檢測,也就是說,在順德,每年要檢測幾億個(gè)電機(jī),對電機(jī)的測試儀的需求非常迫切。電機(jī)測試的參數(shù)主要有:效率、功率因數(shù)、定子輸入電

7、流、轉(zhuǎn)矩、轉(zhuǎn)速等,本課題主要研究轉(zhuǎn)速的測量。轉(zhuǎn)速是發(fā)動(dòng)機(jī)重要的工作參數(shù)之一,也是其它參數(shù)計(jì)算的重要依據(jù)。目前常用的轉(zhuǎn)速測量方法有離心式轉(zhuǎn)速表測速法、測速發(fā)電機(jī)測速法、光電碼盤測速法和霍爾元件測速法等。在對各種測速方法進(jìn)行分析后提出了基于光電傳感器的轉(zhuǎn)速測量系統(tǒng)。詳細(xì)分析了系統(tǒng)的組成及工作原理,給出了系統(tǒng)中各硬件模塊設(shè)計(jì)方法及系統(tǒng)軟件設(shè)計(jì)方法,給出了部分程序流程圖和程序清單。該測速系統(tǒng)安裝維護(hù)方便,工作穩(wěn)定,運(yùn)行可靠,具有較大的推廣應(yīng)用價(jià)值。 轉(zhuǎn)速測量通常有以下幾種傳感器可選:電渦流轉(zhuǎn)速傳感器、無源磁電轉(zhuǎn)速傳感器、有源磁電轉(zhuǎn)速傳感器等。具體需要選擇哪類傳感器,則要根據(jù)轉(zhuǎn)速測量的要求而定。如:低速

8、測量是否需要檢測零轉(zhuǎn)速,高速測量的最高轉(zhuǎn)速,轉(zhuǎn)速發(fā)生的裝置情況。轉(zhuǎn)速發(fā)生裝置有以下幾種:用標(biāo)準(zhǔn)的漸開線齒輪(M1M5)作轉(zhuǎn)速發(fā)生信號、在轉(zhuǎn)軸上開一鍵槽 目前科研生產(chǎn)中采用的速度測量方法可分為兩類;直接測量法和間接測量法兩大類。直接測量法是通過某種測量原理或效應(yīng)直接獲得速度量, 如多普勒測速儀、空間濾波測速等。這種方法的最大優(yōu)點(diǎn)是反應(yīng)快、可測量瞬時(shí)速度,但設(shè)備成本高,且受到大氣物理環(huán)境的限制。間接測量法是測量目標(biāo)的移動(dòng)距離和時(shí)間, 通過計(jì)算得到速度量, 如光電測速、光柵測速、磁柵測速和圖像測速等,用于測量小型彈丸的天幕法和光幕法測速系統(tǒng)、用于車輛測速的激光測速儀,以及用于生產(chǎn)流水線上的光電脈沖測

9、速方法等等1.2國內(nèi)外發(fā)展情況 轉(zhuǎn)速是各類電機(jī)運(yùn)行中的一個(gè)重要物理量,如何準(zhǔn)確、快速而又方便地測量電機(jī)轉(zhuǎn)速,極為重要。目前國內(nèi)外常用的轉(zhuǎn)速測量方法有離心式轉(zhuǎn)速表測速法、測速發(fā)電機(jī)測速法、閃光測速法、光電碼盤測速法和霍爾元件測速法。 (1)離心式轉(zhuǎn)速表測速法 離心式轉(zhuǎn)速表是利用離心原理制成的測速儀表,可以直接讀出轉(zhuǎn)速。測轉(zhuǎn)速時(shí),轉(zhuǎn)速表的端頭要插入電機(jī)轉(zhuǎn)軸的中心孔內(nèi),插入前,應(yīng)注意清除中心孔中的油污,并使轉(zhuǎn)速表的軸與電機(jī)的軸保持同心,不可上下左右偏斜,否則易將表軸扭壞,并影響準(zhǔn)確讀數(shù),而且轉(zhuǎn)速表要間歇使用,以減少磨損和發(fā)熱。如果要改變量程,還要將轉(zhuǎn)速表取出停轉(zhuǎn)后再改變

10、量程2。 (2) 測速發(fā)電機(jī)測速法 測速發(fā)電機(jī)測轉(zhuǎn)速時(shí),測速發(fā)電機(jī)連接到被測電機(jī)的軸端,將被測電機(jī)的機(jī)械轉(zhuǎn)速變換為電壓信號輸出E=CeFn,在輸出端接一個(gè)刻度以轉(zhuǎn)速為單位的電壓表,即可讀出轉(zhuǎn)速。 (3) 閃光測速法 閃光測速法是利用可調(diào)脈沖頻率的專用電源施加于閃光燈上,將閃光燈的燈光照到電機(jī)轉(zhuǎn)動(dòng)部分(可在電機(jī)端軸上粘貼一張標(biāo)記紙片),當(dāng)調(diào)整脈沖頻率使黑色扇形片靜止不動(dòng)時(shí),此時(shí)脈沖的頻率是與電機(jī)轉(zhuǎn)動(dòng)的轉(zhuǎn)速是同步的。若脈沖頻率為f,則電機(jī)的轉(zhuǎn)速為n=60f(rmin) 。 (4) 光電碼盤測速法 光

11、電碼盤測速法是通過測出轉(zhuǎn)速信號的頻率或周期來測量電機(jī)轉(zhuǎn)速的一種無接觸測速法。光電碼盤安裝在轉(zhuǎn)子端軸上,隨著電機(jī)的轉(zhuǎn)動(dòng),光電碼盤也跟著一起轉(zhuǎn)動(dòng),如果有一個(gè)固定光源照射在碼盤上,則可利用光敏元件來接收到的光的次數(shù)就是碼盤的編碼數(shù)6。若編碼數(shù)為60,測量時(shí)間為t,測量到的脈沖數(shù)為N,則n=N/t。 (5) 霍爾元件測速法 霍爾元件測速法是利用霍爾開關(guān)元件測轉(zhuǎn)速的?;魻栭_關(guān)元件內(nèi)含穩(wěn)壓電路、霍爾電勢發(fā)生器、放大器、施密特觸發(fā)器和輸出電路。輸出電平與TTL電平兼容,在電機(jī)轉(zhuǎn)軸上裝一個(gè)圓盤,圓盤上裝若干對小磁鋼,小磁鋼越多,分辨率越高,霍爾開關(guān)固定在小磁鋼附近,當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),

12、每當(dāng)一個(gè)小磁鋼轉(zhuǎn)過霍爾開關(guān),霍爾開關(guān)便輸出一個(gè)脈沖,計(jì)算出單位時(shí)間的脈沖數(shù),即可確定旋轉(zhuǎn)體的轉(zhuǎn)速。 在這五種測速方法中,離心式轉(zhuǎn)速表測速法和測速發(fā)電機(jī)測速法所用的都是現(xiàn)成的測速儀表,容易得到。但轉(zhuǎn)速表或測速機(jī)都要與電機(jī)同軸連接,一方面增加了電機(jī)機(jī)組安裝難度,另一方面有些微電機(jī)功率很小,轉(zhuǎn)速表或測速機(jī)消耗的功率占了微電機(jī)大部分,更有甚者微電機(jī)甚至拖不動(dòng)這些儀表,所以對微特電機(jī)的測速,這二種方法不適用。霍爾元件測速法和光電碼盤測速法的測速方法基本類似,都是在轉(zhuǎn)軸上裝一個(gè)很輕巧的傳感器,將電機(jī)的轉(zhuǎn)動(dòng)信號通過磁(霍爾元件)或光(光電碼盤)轉(zhuǎn)換為電脈沖,從而通過計(jì)算電脈沖的個(gè)數(shù)來測速。閃光測速

13、法目前實(shí)際應(yīng)用不廣泛,主要是光源的問題。本課題研究的是其中的光電碼盤測速法。2 系統(tǒng)組成及工作原理2.1 轉(zhuǎn)速測量原理在此采用頻率測量法,其測量原理為,在固定的測量時(shí)間內(nèi),計(jì)取轉(zhuǎn)速傳感器產(chǎn)生的脈沖個(gè)數(shù),從而算出實(shí)際轉(zhuǎn)速。設(shè)固定的測量時(shí)間為Tc(min),計(jì)數(shù)器計(jì)取的脈沖個(gè)數(shù)m,假定脈沖發(fā)生器每轉(zhuǎn)輸出p個(gè)脈沖,對應(yīng)被測轉(zhuǎn)速為N(r/min),則f=pN/60Hz;另在測量時(shí)間Tc內(nèi),計(jì)取轉(zhuǎn)速傳感器輸出的脈沖個(gè)數(shù)m應(yīng)為m=Tcf ,所以,當(dāng)測得m值時(shí),就可算出實(shí)際轉(zhuǎn)速值1:N=60m/pTc (r/min)(1)2.2 轉(zhuǎn)速測量系統(tǒng)組成框圖系統(tǒng)由信號預(yù)處理電路、單片機(jī)STC 89C51、系統(tǒng)化LE

14、D顯示模塊、串口數(shù)據(jù)存儲電路和系統(tǒng)軟件組成。其中信號預(yù)處理電路包含信號放大、波形變換和波形整形。對待測信號進(jìn)行放大的目的是降低對待測信號的幅度要求;波形變換和波形整形電路則用來將放大的信號轉(zhuǎn)換成可與單片機(jī)匹配的TTL信號;通過對單片機(jī)的編程設(shè)置可使內(nèi)部定時(shí)器T0對輸入脈沖進(jìn)行計(jì)數(shù),這樣就能精確地算出加到T0引腳的單位時(shí)間內(nèi)檢測到的脈沖數(shù);設(shè)計(jì)中轉(zhuǎn)速顯示部分采用價(jià)格低廉且使用方便的LED模塊,通過相關(guān)計(jì)算方法計(jì)算得到的轉(zhuǎn)速通過I2C總線放到E2PROM存儲,既節(jié)省了所需單片機(jī)的口線和外圍器件,同時(shí)也簡化了顯示部分的軟件編程。系統(tǒng)的原理框圖如圖2.1所示。波形整形波形變換信 號放大器鍵盤模塊單片機(jī)

15、數(shù)字存儲電路RS232LED 顯 示圖2.1 系統(tǒng)的原理框圖3 系統(tǒng)硬件電路的設(shè)計(jì)3.1 脈沖產(chǎn)生電路設(shè)計(jì)設(shè)計(jì)采用了紅外光電傳感器,進(jìn)行非接觸式檢測。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時(shí),傳感器將會輸出一個(gè)低電平,而當(dāng)沒有物體擋在中間時(shí)則輸出為高電平,從而形成一個(gè)脈沖。系統(tǒng)在光電傳感器收發(fā)端間加入電動(dòng)機(jī),并在電動(dòng)機(jī)的轉(zhuǎn)軸上安裝一轉(zhuǎn)盤。在這個(gè)轉(zhuǎn)盤的邊沿處挖出若干個(gè)圓形過孔,把傳感器的檢測部分放在圓孔的圓心位置。每當(dāng)轉(zhuǎn)盤隨著后輪旋轉(zhuǎn)的時(shí)候,傳感器將向外輸出若干個(gè)脈沖。把這些脈沖通過一系列的波形整形成單片機(jī)可以識別的TTL電平,即可算出輪子即時(shí)的轉(zhuǎn)速。轉(zhuǎn)盤的圓孔的個(gè)數(shù)決定了測量

16、的精度,個(gè)數(shù)越多,精度越高。這樣就可以在單位時(shí)間內(nèi)盡可能多地得到脈沖數(shù),從而避免了因?yàn)閮蓚€(gè)過孔之間的距離過大,而正好在過孔之間或者是在下個(gè)過孔之前停止了,造成較大的誤差。設(shè)計(jì)中轉(zhuǎn)盤的圓孔的實(shí)際個(gè)數(shù)受到技術(shù)的限制。為了達(dá)到預(yù)定的效果設(shè)計(jì)在轉(zhuǎn)盤過孔的設(shè)計(jì)上采用11個(gè)過孔,從而留下了10個(gè)同等的間距。這樣在以后的軟件設(shè)計(jì)中能夠較為方便的計(jì)算出脈沖頻率。脈沖發(fā)生源的硬件結(jié)構(gòu)圖如圖3.1所示。圖3.1脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)3.2 光電轉(zhuǎn)換及信號調(diào)理電路設(shè)計(jì)由于系統(tǒng)需要將光信號轉(zhuǎn)換為電信號,因而需要使用光電傳感器并設(shè)計(jì)相應(yīng)的信號調(diào)理電路,以得到符合要求的脈沖信號,送給單片機(jī)STC8

17、9C51進(jìn)行計(jì)數(shù),同時(shí)得到計(jì)數(shù)的時(shí)間,由單片機(jī)進(jìn)行相關(guān)計(jì)算以得到電動(dòng)機(jī)轉(zhuǎn)速。3.2.1 光電傳感器簡介光電傳感器是采用光電元件作為檢測元件的傳感器。它首先把被測量的變化轉(zhuǎn)換成光信號的變化,然后借助光電元件進(jìn)一步將光信號轉(zhuǎn)換成電信號。光電傳感器一般由光源、光學(xué)通路和光電元件三部分組成。光電檢測方法具有精度高、反應(yīng)快、非接觸等優(yōu)點(diǎn),而且可測參數(shù)多,傳感器的結(jié)構(gòu)簡單,形式靈活多樣,因此,光電式傳感器在檢測和控制中應(yīng)用非常廣泛。由光通量對光電元件的作用原理不同所制成的光學(xué)測控系統(tǒng)是多種多樣的,按光電元件(光學(xué)測控系統(tǒng))輸出量性質(zhì)可分二類,即模擬式光電傳感器和脈沖(開關(guān))式光電傳感器。模擬式光電傳感器是

18、將被測量轉(zhuǎn)換成連續(xù)變化的光電流,它與被測量間呈單值關(guān)系。模擬式光電傳感器按被測量(檢測目標(biāo)物體)方法可分為透射(吸收)式、漫反射式、遮光式(光束阻檔)三大類。所謂透射式是指被測物體放在光路中,恒光源發(fā)出的光能量穿過被測物,部份被吸收后,透射光投射到光電元件上;所謂漫反射式是指恒光源發(fā)出的光投射到被測物上,再從被測物體表面反射后投射到光電元件上;所謂遮光式是指當(dāng)光源發(fā)出的光通量經(jīng)被測物光遮其中一部份,使投射剄光電元件上的光通量改變,改變的程度與被測物體在光路位置有關(guān)。光源是許多光電傳感器的重要組成部分,要使光電傳感器很好地工作,除了合理選用光電元件外,還必須配備合適的光源。發(fā)光二極管是一種把電能

19、轉(zhuǎn)變成光能的半導(dǎo)體器件。它具有體積小、功耗低、壽命長、響應(yīng)快、機(jī)械強(qiáng)度高等優(yōu)點(diǎn),并能和集成電路相匹配。因此,廣泛地用于計(jì)算機(jī)、儀器儀表和自動(dòng)控制設(shè)備中。鎢絲燈泡是一種最常用的光源,它具有豐富的紅外線。如果選用的光電元件對紅外光敏感,構(gòu)成傳感器時(shí)可加濾色片將鎢絲燈泡的可見光濾除,而僅用它的紅外線做光源,這樣,可有效防止其他光線的干擾。激光與普通光線相比具有能量高度集中,方向性好,頻率單純、相干性好等優(yōu)點(diǎn),是很理想的光源。綜上所述,各種光源各具優(yōu)點(diǎn),但從經(jīng)濟(jì)與使用便利方面考慮,并考慮到抗干擾性能,我們決定選用紅外光二極管做系統(tǒng)測量的光源。由光源、光學(xué)通路和光電器件組成的光電傳感器在用于光電檢測時(shí),

20、還必須配備適當(dāng)?shù)男盘栒{(diào)理電路。這些信號調(diào)理電路負(fù)責(zé)將光電傳感器輸出的微弱的光電信號進(jìn)行放大、整形,轉(zhuǎn)換成所單片機(jī)定時(shí)計(jì)數(shù)所需要的脈沖信號。不同的光電元件,所要求的測量電路也不相同,為此設(shè)計(jì)時(shí)必須詳加考慮。光電開關(guān)有以下幾種類型 (1)漫反射式光電開關(guān):它是一種集發(fā)射器和接收器于一體的傳感器,當(dāng)有被檢測物體經(jīng)過時(shí),物體將光電開關(guān)發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開關(guān)就產(chǎn)生了開關(guān)信號。當(dāng)被檢測物體的表面光亮或其反光率極高時(shí),漫反射式的光電開關(guān)是首選的檢測模式 (2)鏡反射式光電開關(guān):它亦集發(fā)射器與接收器于一體,光電開關(guān)發(fā)射器發(fā)出的光線經(jīng)過反射鏡反射回接收器,當(dāng)被檢測物體經(jīng)過且完全阻斷光

21、線時(shí),光電開關(guān)就產(chǎn)生了檢測開關(guān)信號。 (3)對射式光電開關(guān):它包含了在結(jié)構(gòu)上相互分離且光軸相對放置的發(fā)射器和接收器,發(fā)射器發(fā)出的光線直接進(jìn)入接收器,當(dāng)被檢測物體經(jīng)過發(fā)射器和接收器之間且阻斷光線時(shí),光電開關(guān)就產(chǎn)生了開關(guān)信號。當(dāng)檢測物體為不透明時(shí),對射式光電開關(guān)是最合適的檢測裝置。 (4)槽式光電開關(guān):它通常采用標(biāo)準(zhǔn)的U字型結(jié)構(gòu),其發(fā)射器和接收器分別位于U型槽的兩邊,并形成一光軸,當(dāng)被檢測物體經(jīng)過U型槽且阻斷光軸時(shí),光電開關(guān)就產(chǎn)生了開關(guān)量信號。槽式光電開關(guān)比較適合檢測高速運(yùn)動(dòng)的物體,并且它能分辨透明與半透明物體,使用安全可靠。 (5)光纖式光電開關(guān):它采用塑料或玻璃光纖傳感器來引導(dǎo)光線,可以對距離

22、遠(yuǎn)的被檢測物體進(jìn)行檢測。通常光纖傳感器分為對射式和漫反射式。 7 本課題中使用的光電開關(guān)是根據(jù)光敏二極管工作原理制造的一種感應(yīng)接收光強(qiáng)度變化的器件,當(dāng)它發(fā)出的光被目標(biāo)反射或阻斷時(shí),則接收器感應(yīng)出相應(yīng)的電信號。它包含調(diào)制光源,由光敏元件等組成的光學(xué)系統(tǒng)、放大器、開關(guān)或模擬量輸出裝置,其工作原理如圖5所示。光電式傳感器由獨(dú)立且相對放置的光發(fā)射器和收光器組成。當(dāng)目標(biāo)通過光發(fā)射器和收光器之間并阻斷光線時(shí),傳感器輸出信號。它是效率最高、最可靠的檢測裝置。槽形(U形)光電開關(guān)是對射式的變形,其優(yōu)點(diǎn)是無須調(diào)整光軸。 3.2.2 光電轉(zhuǎn)換及信號調(diào)理電路設(shè)計(jì)傳感器將電機(jī)的轉(zhuǎn)速信號轉(zhuǎn)變成了電脈沖信號,該信號經(jīng)過L

23、M324集成運(yùn)放整形驅(qū)動(dòng),送到單片機(jī)進(jìn)行脈沖計(jì)數(shù),從而測出電動(dòng)機(jī)轉(zhuǎn)速。光電轉(zhuǎn)換部分與單片機(jī)的連接框圖如圖3.2所示。LED數(shù)碼管數(shù)碼顯示譯碼器計(jì)數(shù)脈沖整形驅(qū)動(dòng)LM324傳感器STC 89C51圖3.2 光電轉(zhuǎn)換部分與單片機(jī)的連接框圖LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝,外形如圖所示。它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖3.3所示的符號來表示,它有5個(gè)引出腳,其中“+”、“-”為兩個(gè)信號輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號與該

24、輸入端的位相反;Vi+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號與該輸入端的相位相同。LM324的引腳排列見圖3.4圖3.3放大器圖 圖3.4 引腳圖由于LM324四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此被廣泛應(yīng)用在各種電路中。本設(shè)計(jì)計(jì)劃采用高性能集成四運(yùn)放LM324來進(jìn)行光電信號調(diào)理電路設(shè)計(jì)。電路采用兩級放大電路對脈沖信號進(jìn)行放大,防止信號脈沖太小以至對實(shí)驗(yàn)結(jié)果不產(chǎn)生影響。此外,還設(shè)計(jì)了有源帶通濾波器。為了達(dá)到預(yù)定效果,對系統(tǒng)運(yùn)用MULTISIM 8進(jìn)行模擬仿真,并利用模擬仿真結(jié)果對有關(guān)元器件進(jìn)行參數(shù)設(shè)定,以使電路滿足要求。如圖3.5所示是MULTISI

25、M 進(jìn)行電路模擬仿真示意圖及其模擬仿真結(jié)果。圖3.5 電路模擬仿真示意圖及其模擬仿真結(jié)果3.3 測量系統(tǒng)主機(jī)部分設(shè)計(jì)3.3.1 單片機(jī)單片機(jī)是單片微型計(jì)算機(jī)(Single Chip Microcomputer)的簡稱,是指在一塊芯片上集成了中央處理器CPU、隨機(jī)存儲器RAM、程序存儲器ROM或EPROM、定時(shí)器/計(jì)數(shù)器、中斷控制器以及串行和并行I/O接口等部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。目前,新型單片機(jī)內(nèi)還有A/D及D/A轉(zhuǎn)換器、高速輸入/輸出等部件。由于它的結(jié)構(gòu)和指令功能都是按工業(yè)控制要求設(shè)計(jì)的,特別適用于工業(yè)控制及其數(shù)據(jù)處理場合,因此,確切的稱謂應(yīng)是微控制器(Microcontroller

26、). 系統(tǒng)使用的單片機(jī)是STC 89C51型單片機(jī)。STC 89C51單片機(jī)是基于MCS-51單片機(jī)為內(nèi)核的,其輸入/輸出管腳以及指令系統(tǒng)和MCS-51單片機(jī)是完全兼容的。其優(yōu)越的性價(jià)比使其成為頗受歡迎的8位單片機(jī)。如圖3.6是STC 89C51結(jié)構(gòu)框圖。STC 89C51單片機(jī)的特點(diǎn): 它內(nèi)部有一個(gè)8位的CPU,具有4KB的EEPROM。 128字節(jié)的RAM數(shù)據(jù)存儲器,21個(gè)特殊功能寄存器SFR。 4個(gè)8位并行I/O口,其中P0、P2為地址/數(shù)據(jù)線,可尋址64KB ROM和64KB RAM. 一個(gè)可編程全雙工串行口,具有5個(gè)中斷源。 兩個(gè)16位定時(shí)器/計(jì)數(shù)器。 計(jì)數(shù)脈沖輸入 T0 T1定時(shí)/

27、計(jì)數(shù)器 T0、T1特殊功能寄存器SFR128字節(jié)RAM4K ROM(EPROM)(8031無)時(shí)鐘源串行接口并行I/O接口中斷系統(tǒng)CPUP0 P1 P2 P3TXD RXDINT0 INT1中斷輸入圖3.6 STC 89C51結(jié)構(gòu)框圖 圖3.7是STC 89C51單片機(jī)引腳分布圖。由圖我們可以看到,單片機(jī)的引腳除了電源、復(fù)位、時(shí)鐘接入、用戶I/O口外,其余管腳是為實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些引腳構(gòu)成MCS-51單片機(jī)片外三總線結(jié)構(gòu),即: 地址總線(AB):地址總線寬為16位,因此,其外部存儲器直接尋址為64K字節(jié),16位地址總線由P0口經(jīng)地址鎖存器提供8位地址(A0至A7);

28、P2口直接提供8位地址。 數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,由P0提供。 控制總線(CB):由P3口的第二功能狀態(tài)和4根獨(dú)立控制線RESET、EA、ALE、PSEN組成。圖3.7 STC89C51管腳圖3.3.2 鍵盤顯示模塊設(shè)計(jì)圖3.8為鍵盤電路圖,按鍵功能通過軟件編程設(shè)置:按 K0為清零、復(fù)位;按K1顯示計(jì)時(shí)時(shí)間;按K2顯示計(jì)數(shù)脈沖數(shù);此按鍵電路為低電平有效,當(dāng)無按鍵按下時(shí),單片機(jī)輸入引腳P1.0、P1.1、P1.2、P1.3端口均為高電平。當(dāng)其中任一按鍵按下時(shí),其對應(yīng)的P1端口變?yōu)榈碗娖剑谲浖欣眠@個(gè)低電平設(shè)計(jì)其功能。軟件中還設(shè)置了按鍵防抖動(dòng)誤觸發(fā)功能,軟件中

29、設(shè)置定時(shí)器1 50ms中斷一次,每次中斷都對按鍵進(jìn)行掃描,如果掃描到有按鍵按下,則延遲10ms,再次進(jìn)行鍵掃描,若仍有按鍵按下,則按鍵為真,并從P1口讀取數(shù)據(jù),低電平對應(yīng)的即為有效按鍵。 圖3.8 按鍵電路圖顯示部分采用價(jià)廉方便的LED數(shù)碼管,圖3.9為數(shù)碼管的引腳接線圖。測量系統(tǒng)有8位共陽的LED數(shù)碼管,表3.1為驅(qū)動(dòng)LED數(shù)碼管的段代碼表,1-代表對應(yīng)的筆段亮,0-代表對應(yīng)的筆段不亮。若需要在最右邊(S0)顯示“5”,只要將從表中查得相應(yīng)的段代碼寫入P0口,在將P2.0置高,P2.1-P2.7置低即可。圖3.9 數(shù)碼管的引腳接線圖表3.1 驅(qū)動(dòng)LED數(shù)碼管的段代碼表數(shù)字dpecgbfa十六

30、進(jìn)制P0.7P0.6P0.5P0.4P0.3P0.2 P0.1P0.0共陰共陽010110111B74810001010014EB210101101AD523100111019D624000111101E64610111011BB4470001010115EA810111111BF409100111119F60顯示電路如圖3.10,其電路采用動(dòng)態(tài)顯示方式。電機(jī)轉(zhuǎn)速的測量結(jié)果經(jīng)過譯碼, 輸出的8位并行數(shù)據(jù)通過STC89C51 的并行口(P0口)輸出,送至7段LED ,同時(shí)由P2口輸出位掃描信號以實(shí)現(xiàn)測量數(shù)據(jù)的動(dòng)態(tài)顯示。P0口 和 P2口都是準(zhǔn)雙向口,輸出時(shí)需要接上拉電阻

31、。P0內(nèi)部沒有上拉電阻,P2口內(nèi)部有弱上拉。所以P0口外圍電路設(shè)計(jì)為低電平有效,高電平無效。要使數(shù)碼管S0-S7的其中一個(gè)亮,其對應(yīng)的P2端口要置高,P2的其余端口置低。如:S0亮:P2.0置高,P2.1-P2.7置低。系統(tǒng)將定時(shí)把緩沖區(qū)的數(shù)據(jù)送出,在數(shù)碼管上顯示。圖3.10 顯示電路圖LCD原理 各種圖形的顯示原理 線段的顯示:點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位

32、置的亮暗對應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯示一條短亮線,長度為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è)位置對應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它

33、的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對應(yīng)的代碼即可。 漢字的顯示:字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一般用字模提取軟件),每個(gè)漢字占32B,分左右兩半,各占16B,左邊為1、3、5右邊為2、4、6根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找出顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加1,送第二個(gè)字節(jié),換行按列對齊,送第三個(gè)字節(jié)直

34、到32B顯示完就可以LCD上得到一個(gè)完整漢字 。 本設(shè)計(jì)選用了1602型LCD。字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。3.3.3 串行通信模塊設(shè)計(jì)STC89 C51單片機(jī)的串行通訊接口的輸入輸出為TTL高電平為3.8V-5V,低電平為0-0.3V,這對近距離通訊還可以,但當(dāng)通訊距離遠(yuǎn)時(shí),就會因?yàn)門TL電平低,抗干擾能力弱而影響可靠性。為了提高串行通訊接口的抗干擾能力和增強(qiáng)可靠性,于是就出現(xiàn)了許多通訊標(biāo)準(zhǔn)和規(guī)程。目前,RS-232標(biāo)準(zhǔn)就是其中比較常用的一種,這樣,一方面可提高這些設(shè)備的通用性,另一方面又增強(qiáng)了

35、數(shù)據(jù)傳送時(shí)的可靠性。232電平轉(zhuǎn)換采用MAX232芯片把TTL電平轉(zhuǎn)換成RS232電平格式,可以用于單片機(jī)與微機(jī)通信,以及單片機(jī)與單片機(jī)之間的通信,測量系統(tǒng)設(shè)計(jì)了兩個(gè)DB9的接口,其中一個(gè)用于ISP下載器模塊的程序下載接口,稱為“ISPInterface”,另一個(gè)接口為單片機(jī)與其它具有RS232接口的通信端口,稱為“Common Port”。具體的電路原理圖如圖3.11所示。圖3.11電路原理圖3.3.4 電源模塊設(shè)計(jì)電源模塊為系統(tǒng)板上其它模塊提供5V電源以及±15V電源。電源的設(shè)計(jì)有分立元件和集成穩(wěn)壓器幾種方法,目前較常用的是用集成穩(wěn)壓器來設(shè)計(jì)穩(wěn)壓電源。常用的集成穩(wěn)壓器有固定式三端

36、穩(wěn)壓器與可調(diào)式三端穩(wěn)壓器。常用可調(diào)式集成穩(wěn)壓器有LM317系列,它們的輸出電壓從1.25V37伏可調(diào),負(fù)端則為LM337等。最簡的電路外接元件只需一個(gè)固定電阻和一只電位器。其芯片內(nèi)有過熱和安全工作區(qū)保護(hù),最大輸出電流為1.5A。系統(tǒng)需要設(shè)計(jì)兩個(gè)電源,其中5V電源采用7805,電路原理圖如圖3.12所示。原理:9V的交流電壓輸入后經(jīng)橋堆整流,通過1000F的電解電容進(jìn)行濾波,再經(jīng)過集成穩(wěn)壓器7805穩(wěn)壓,C17、C19等電容對其進(jìn)行濾波后,最后輸出+5V電壓。供系統(tǒng)板上的其它模塊使用。圖3.12 5V電源模塊電路圖±15V電源采用LM317與LM337設(shè)計(jì),其典型電路如圖3.13。22

37、0V的交流電壓經(jīng)變壓器變?yōu)?#177;15V交流電壓,再經(jīng)橋堆整流器變?yōu)榇笮∽兓闹绷麟妷骸1C4為濾波電容,濾除電壓中的高頻部分,使電壓趨于穩(wěn)定的直流電壓。其中LM317和LM337構(gòu)成±15V直流穩(wěn)壓電源的穩(wěn)壓部分,確保在其輸出端的電壓穩(wěn)定在1.25V左右。D1D4對LM317和LM337具有短路保護(hù)作用。通過對電位器R3、R4的調(diào)節(jié)來獲得所需的電壓,即±15V穩(wěn)定的直流電壓。圖3.13 ±15V直流穩(wěn)壓電源4 系統(tǒng)軟件設(shè)計(jì)4.1程序模塊設(shè)計(jì)軟件部分由數(shù)據(jù)處理程序、按鍵程序設(shè)計(jì)、中斷服務(wù)子程序、LED顯示程序等幾個(gè)部分組成。數(shù)據(jù)處理完成對各種測量數(shù)據(jù)的處理,

38、如各種數(shù)據(jù)的計(jì)算、數(shù)據(jù)格式的轉(zhuǎn)換等。按鍵程序包括按鍵防抖動(dòng)處理、判鍵及修改項(xiàng)目等。按鍵流程圖如圖4.1所示。定時(shí)器1服務(wù)子程序設(shè)計(jì),流程圖如圖4.2所示。定時(shí)器1完成定時(shí)功能,定時(shí)2Oms,并每隔20ms進(jìn)行一次顯示,每隔1秒讀一次計(jì)數(shù)結(jié)果。單片機(jī)對在1秒內(nèi)計(jì)數(shù)的值進(jìn)行處理,轉(zhuǎn)換成每分鐘的速度送顯存以便顯示。具體算法如下:主程序在對定時(shí)器、計(jì)數(shù)器、堆棧等進(jìn)行初始化后即判斷標(biāo)志是否為 1,如果為 1,說明要求對數(shù)據(jù)進(jìn)行計(jì)算處理,首先將標(biāo)志清零,以保證下次能正常判斷,然后進(jìn)入數(shù)據(jù)處理程序,由于這里的閘門時(shí)間為 1s,而顯示要求為轉(zhuǎn)/分,因此,要將測到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的方法是將測得的數(shù)據(jù)乘以60

39、,但由于轉(zhuǎn)軸上安裝有11只孔,每旋轉(zhuǎn)一周可以得到11個(gè)脈沖,因此,要將測得的數(shù)據(jù)除以11,所以綜合起來,將測得的數(shù)據(jù)乘以5.4545即可得到每分鐘的轉(zhuǎn)速。計(jì)算得到的結(jié)果是二進(jìn)制的整數(shù),要將數(shù)據(jù)送往顯示緩沖區(qū)需要將該數(shù)轉(zhuǎn)化為BCD碼。運(yùn)算得到的是壓縮BCD碼,需要將其轉(zhuǎn)換為非壓縮BCD碼,從標(biāo)號CBCD開始的一段程序即作了這樣的處理。需要說明的是,這里多位二進(jìn)制乘法和多位二進(jìn)制到BCD碼的轉(zhuǎn)換都是用了現(xiàn)成的成熟子程序,因此,首先將二進(jìn)制數(shù)轉(zhuǎn)換為壓結(jié)合實(shí)際BCD碼,然后再轉(zhuǎn)換成非壓縮BCD碼,看似多寫了些程序,實(shí)際上這對于保證程序的質(zhì)量很有好處。定時(shí)器T1用作定時(shí)發(fā)生器,在定時(shí)中斷程序中進(jìn)行數(shù)碼管

40、的動(dòng)態(tài)掃描,同時(shí)產(chǎn)生1s的閘門信號。1s閘門信號的產(chǎn)生是通過一個(gè)計(jì)數(shù)器Count,每次中斷時(shí)間為20ms,每計(jì)50 次即為1s,到了1s后,即清除計(jì)數(shù)器Count,然后關(guān)閉作為計(jì)數(shù)器用的T0,讀出TH0、TL0中的數(shù)值,分別送入SpCount和SpCoun+1單元,將T0中的值清空,置標(biāo)志為1,要求主程序進(jìn)行速度值的計(jì)算。軟件部分由數(shù)據(jù)處理程序、中斷服務(wù)子程序、1602液晶顯示程序等幾個(gè)部分組成。 數(shù)據(jù)處理完成對各種測量數(shù)據(jù)的處理,如各種數(shù)據(jù)的計(jì)算、數(shù)據(jù)格式的轉(zhuǎn)換等。 定時(shí)器1服務(wù)子程序設(shè)計(jì),流程圖如圖4.2所示。定時(shí)器1完成定時(shí)功能,定時(shí)2Oms,并每隔20ms進(jìn)行一次顯示,每隔1秒讀一次計(jì)

41、數(shù)結(jié)果。單片機(jī)對在1秒內(nèi)計(jì)數(shù)的值進(jìn)行處理,轉(zhuǎn)換成每分鐘的速度送顯存以便顯示。 具體算法如下:主程序在對定時(shí)器、計(jì)數(shù)器、堆棧等進(jìn)行初始化后即判斷標(biāo)志是否為 1,如果為 1,說明要求對數(shù)據(jù)進(jìn)行計(jì)算處理,首先將標(biāo)志清零,以保證下次能正常判斷,然后進(jìn)入數(shù)據(jù)處理程序,由于這里的閘門時(shí)間為 1s,而顯示要求為轉(zhuǎn)/分,因此,要將測到的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換的方法是將測得的數(shù)據(jù)乘以60,但由于轉(zhuǎn)軸上安裝有12只孔,每旋轉(zhuǎn)一周可以得到12個(gè)脈沖,因此,要將測得的數(shù)據(jù)除以12,所以綜合起來,將測得的數(shù)據(jù)乘以5即可得到每分鐘的轉(zhuǎn)速。計(jì)算得到的結(jié)果是二進(jìn)制的整數(shù),要將數(shù)據(jù)送往顯示緩沖區(qū)需要將該數(shù)轉(zhuǎn)化為BCD碼。運(yùn)算得到的

42、是壓縮BCD碼,需要將其轉(zhuǎn)換為非壓縮BCD碼,從標(biāo)號CBCD開始的一段程序即作了這樣的處理。需要說明的是,這里多位二進(jìn)制乘法和多位二進(jìn)制到BCD碼的轉(zhuǎn)換都是用了現(xiàn)成的成熟子程序,因此,首先將二進(jìn)制數(shù)轉(zhuǎn)換為壓結(jié)合實(shí)際BCD碼,然后再轉(zhuǎn)換成非壓縮BCD碼,看似多寫了些程序,實(shí)際上這對于保證程序的質(zhì)量很有好處。定時(shí)器T1用作定時(shí)發(fā)生器,在定時(shí)中斷程序中進(jìn)行數(shù)碼管的動(dòng)態(tài)掃描,同時(shí)產(chǎn)生1s的閘門信號。1s閘門信號的產(chǎn)生是通過一個(gè)計(jì)數(shù)器Count,每次中斷時(shí)間為20ms,每計(jì)50 次即為1s,到了1s后,即清除計(jì)數(shù)器Count,然后關(guān)閉作為計(jì)數(shù)器用的T0,讀出TH0、TL0中的數(shù)值,分別送入SpCount

43、和SpCoun+1單元,將T0中的值清空,置標(biāo)志為1,要求主程序進(jìn)行速度值的計(jì)算。 圖4.1 按鍵流程圖圖4.2定時(shí)器1服務(wù)子程序流程圖4.2 數(shù)據(jù)處理過程在系統(tǒng)開始工作,或者完成一次頻率測量,系統(tǒng)軟件都進(jìn)行測量初始化。測量初始化模塊設(shè)置堆棧指針(SP) 、工作寄存器、中斷控制和定時(shí)/ 計(jì)數(shù)器的工作方式。定時(shí)/ 計(jì)數(shù)器的工作首先被設(shè)置為計(jì)數(shù)器方式。在對定時(shí)/ 計(jì)數(shù)器的計(jì)數(shù)寄存器清0 后,置運(yùn)行控制位TR 為1 ,啟動(dòng)對待測信號的計(jì)數(shù)。計(jì)數(shù)閘門由軟件延時(shí)程序?qū)崿F(xiàn),從計(jì)數(shù)閘門的最小值開始,也就是從測量頻率的高量程開始。計(jì)數(shù)閘門結(jié)束時(shí)TR 清0 ,停止計(jì)數(shù)。計(jì)數(shù)寄存器中的值通過16進(jìn)制數(shù)到10進(jìn)制數(shù)

44、轉(zhuǎn)換程序轉(zhuǎn)換為10進(jìn)制數(shù)。對10進(jìn)制數(shù)的最高位進(jìn)行判別,若該位不為0 ,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為0 ,將計(jì)數(shù)閘門的寬度擴(kuò)大10倍,重新對待測信號的計(jì)數(shù),直到滿足測量數(shù)據(jù)有效位數(shù)的要求。當(dāng)上述測量判斷過程直到計(jì)數(shù)閘門寬度達(dá)到1s ,這時(shí)對應(yīng)的頻率測量范圍為100Hz - 999Hz ,如果測量結(jié)果仍不具有3 位有效數(shù)字,頻率計(jì)則使用定時(shí)方法測量待測信號的周期。定時(shí)/計(jì)數(shù)器的工作這時(shí)被設(shè)置為定時(shí)器方式,在對定時(shí)/ 計(jì)數(shù)器的計(jì)數(shù)寄存器清0 后,判斷待測信號的上跳沿是否到來。待測信號的上跳沿到來后,置運(yùn)行控制位TR 為1 ,以單片機(jī)工作周期為單位,啟動(dòng)對待

45、測信號的周期測量。然后判斷待測信號的下跳沿是否到來,待測信號的下跳沿到來后,運(yùn)行控制位TR 清0 ,停止計(jì)數(shù)。16 位定時(shí)/ 計(jì)數(shù)器的最高計(jì)數(shù)值為65535 ,這樣在待測信號的頻率較低時(shí),定時(shí)/ 計(jì)數(shù)器將發(fā)生溢出。當(dāng)產(chǎn)生定時(shí)/ 計(jì)數(shù)器將溢出,程序進(jìn)入定時(shí)器中斷服務(wù)程序,中斷服務(wù)程序?qū)σ绯龃螖?shù)進(jìn)行計(jì)數(shù)。待測信號的周期由3個(gè)字節(jié)組成:定時(shí)/ 計(jì)數(shù)器溢出次數(shù)、定時(shí)/ 計(jì)數(shù)器的高8 位和低8 位。信號的頻率f 與信號的周期T 之間的關(guān)系為:f = 1/ T完成信號的周期測量后,需要做一次倒數(shù)運(yùn)算才能獲得信號的頻率。為提高運(yùn)算精度,這里采用浮點(diǎn)數(shù)算術(shù)運(yùn)算。浮點(diǎn)數(shù)用3個(gè)字節(jié)組成,第一字節(jié)最高位為數(shù)符,其余

46、7 位為階碼;第二字節(jié)為尾數(shù)的高字節(jié);第三字節(jié)為尾數(shù)的低字節(jié)。待測信號周期的3個(gè)字節(jié)定點(diǎn)數(shù)首先通過截取高16 位、設(shè)置數(shù)符和計(jì)算階碼轉(zhuǎn)換為上述格式的浮點(diǎn)數(shù)。然后浮點(diǎn)數(shù)算術(shù)運(yùn)算對其進(jìn)行處理,獲得用浮點(diǎn)數(shù)格式表達(dá)的信號頻率值。浮點(diǎn)數(shù)到BCD 碼轉(zhuǎn)換模塊把用浮點(diǎn)數(shù)格式表達(dá)的信號頻率值變換成測轉(zhuǎn)速的顯示格式,送到顯示模塊顯示待測信號的頻率值。4.3浮點(diǎn)數(shù)學(xué)運(yùn)算程序STC89C51系列單片機(jī)屬于微控制器,由于其CPU字長和指令功能的限制,它適用于控制領(lǐng)域,在信號處理方面不很擅長。在頻率計(jì)中需要完成周期到頻率的換算,為保證測量結(jié)果的準(zhǔn)確,這里應(yīng)用了浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算。從周期到頻率的換算過程包括: 3字節(jié)定點(diǎn)數(shù)

47、到浮點(diǎn)數(shù)的轉(zhuǎn)換、浮點(diǎn)數(shù)數(shù)學(xué)運(yùn)算和浮點(diǎn)數(shù)到十進(jìn)制碼的轉(zhuǎn)換。5 制作調(diào)試在硬件調(diào)試與制作方面,可從下面系列著手考慮。信號盤可用一般鋼板制成,這個(gè)信號盤就是發(fā)動(dòng)機(jī)實(shí)驗(yàn)時(shí)所用的轉(zhuǎn)盤,盤上共有11個(gè)齒,每個(gè)大孔直徑為6mm,盤中心還有一個(gè)中心孔。中心孔主要用于在固定發(fā)動(dòng)機(jī)上。將信號盤與電機(jī)安裝在一起,使其隨電機(jī)轉(zhuǎn)動(dòng);傳感器固定在支架上,垂直于轉(zhuǎn)速盤,當(dāng)轉(zhuǎn)速盤旋轉(zhuǎn)時(shí),光電傳感器就輸出矩形脈沖信號,每11個(gè)脈沖對應(yīng)發(fā)動(dòng)機(jī)1個(gè)工作循環(huán),其中的2個(gè)寬脈沖信號配合上止點(diǎn)信號可精確確定上止點(diǎn)的位置。此檢測裝置完全按照發(fā)動(dòng)機(jī)上傳感器的實(shí)際安裝位置進(jìn)行安裝。如圖5.1,將信號盤固定在電動(dòng)機(jī)轉(zhuǎn)軸上,光電轉(zhuǎn)速傳感器正對著信

48、號盤。光電轉(zhuǎn)速傳感器接有4根導(dǎo)線,其中黑線、黃線為電源輸入線,紅線為信號輸出線,白線為共地線。測量頭由光電轉(zhuǎn)速傳感器組成,而且測量頭兩端的距離與信號盤的距離相等。測量用器件封裝后,固定裝在貼近信號盤的位置,當(dāng)信號盤轉(zhuǎn)動(dòng)時(shí),光電元件即可輸出正負(fù)交替的周期性脈沖信號。信號盤旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù),等于其上的孔數(shù)。因此,脈沖信號的頻率大小就反映了信號盤轉(zhuǎn)速的高低。此轉(zhuǎn)速測量裝置可以實(shí)現(xiàn)數(shù)字顯示,成為數(shù)字式轉(zhuǎn)速表。圖5.1 轉(zhuǎn)速測速示意圖LM324整形電路調(diào)試。在焊接硬件電路時(shí)需細(xì)心排除元器件和焊接等方面可能出現(xiàn)的故障,元器件的安裝位置出錯(cuò)或引腳差錯(cuò)可能導(dǎo)致電路短路或?qū)崿F(xiàn)不了電路本身的功能,甚至燒壞元器

49、件。單片機(jī)部分最容易出現(xiàn)的問題為元器件引腳的虛焊。被測物理量經(jīng)過傳感器變換后,往往成為電阻、電流、電壓、電感等某種電參數(shù)的變化值。為了進(jìn)行信號的分析、處理、顯示和記錄,須對信號作放大、運(yùn)算、分析等處理,這就引入了中間變化電路。查閱有關(guān)資料結(jié)合選用的光電傳感器相關(guān)參數(shù),我們設(shè)計(jì)了如圖3.6所示的中間變換電路。當(dāng)調(diào)制盤上的圓形孔旋轉(zhuǎn)至與光電開關(guān)的透光位置重合時(shí),觸發(fā)器輸出高電平;當(dāng)通光孔被遮住時(shí),觸發(fā)器輸出低電平。輸出的信號經(jīng)LM324電路整形調(diào)試,可以將信號源完好的整形成矩形脈沖信號。在把矩形脈沖信號輸入單片機(jī)之前,先把矩形脈沖信號接入示波器進(jìn)行調(diào)試。除了要考慮到硬件方面,對軟件調(diào)試也不能忽視。

50、程序應(yīng)該模塊化,便于修改。使用RAM或IO,必須先定義再使用,避免直接引用。將來需要調(diào)整時(shí),只要修改定義部分就好了。寫程序要有足夠的注釋、說明文檔、流程圖、原理圖。每次修改程序,應(yīng)該同步更新相關(guān)的注釋、說明文檔、流程圖、原理圖。免得下次再改時(shí)對不上號。實(shí)驗(yàn)板與PC機(jī)連接時(shí)一定要先連接串行通信電纜,然后再將其電源線插入U(xiǎn)SB借口;拆除時(shí)先斷開其電源,再斷開串行通信電纜。否則極易損壞PC機(jī)的串口。在進(jìn)行軟件編程調(diào)試時(shí)需要用到單片機(jī)的集成開發(fā)環(huán)境MedWin V2.39 軟件,編程時(shí)容易出現(xiàn)鍵盤輸入和無意的語法錯(cuò)誤,還有一些模塊達(dá)不到預(yù)期的功能,都要經(jīng)過調(diào)試才能排除。MedWin V2.39 軟件具

51、有很強(qiáng)大的編程調(diào)試功能,能夠模仿仿真實(shí)際單片機(jī)的端口和內(nèi)部功能部件的狀態(tài)值。該軟件中有硬件調(diào)試和軟件調(diào)試功能可以看到單片機(jī)內(nèi)存單元對應(yīng)的運(yùn)行值,外圍部件中可以顯示單片機(jī)端口,中斷、定時(shí)器1、定時(shí)器2、定時(shí)器3 還有串口對應(yīng)的運(yùn)行值。可以單步調(diào)試也可以模塊調(diào)試,最好的是可以對你所懷疑的語句模塊設(shè)置斷點(diǎn)。所以MedWin V2.39 具有強(qiáng)大的編譯調(diào)試功能。此系統(tǒng)將個(gè)功能模塊:主程序、數(shù)據(jù)處理程序、按鍵程序設(shè)計(jì)、中斷服務(wù)子程序、LED顯示程序分開分別進(jìn)行調(diào)試,最后整體調(diào)試。編譯無誤后生成目標(biāo)代碼BIN文件。采用STC 單片機(jī)下載軟件STC-ISP將其下載到實(shí)驗(yàn)板的單片機(jī)中。 在最后一步點(diǎn)擊軟件ST

52、C-ISP界面中的下載按鈕之前,一定要保持實(shí)驗(yàn)板的串行通信線及電源線與PC機(jī)連接良好,并且實(shí)驗(yàn)板的電源開關(guān)處于關(guān)閉狀態(tài),然后點(diǎn)擊下載按鈕,再打開實(shí)驗(yàn)板電源開關(guān),此時(shí)軟件將自動(dòng)完成程序下載。下載完畢,實(shí)驗(yàn)板上的單片機(jī)立即開始運(yùn)行。6結(jié)果分析設(shè)計(jì)已基本完成題目中的各項(xiàng)要求,但是還是有一定的誤差,其中電機(jī)轉(zhuǎn)速的測量與實(shí)際轉(zhuǎn)速相差15 轉(zhuǎn)/分左右,經(jīng)分析主要是由以下原因造成的:中斷處理的進(jìn)入和中斷處理程序都會有一定時(shí)間的延時(shí),從而造成時(shí)間閘門的誤差,這是造成測量誤差的一個(gè)主要因素。另外,由于電機(jī)的轉(zhuǎn)盤是采用塑料盤片磨制而成,高速旋轉(zhuǎn)時(shí)容易打飄不穩(wěn),導(dǎo)致獲得的脈沖信號頻率與實(shí)際轉(zhuǎn)速有一定的誤差。7 部分

53、源程序 #include<reg52.h> #include<stdio.h> #define uchar unsigned char #define uint unsigned int sbit lcden=P26;/定義1602使能端sbit lcdrs=P24; sbit lcdrw=P25; sbit a=P10;/對射傳感器的信號輸出端sbit add=P34;/按鍵加一變量sbit

54、 jian=P35;/按鍵減一變量 sbit bj=P23;/蜂鳴器端口char zhuan16;/設(shè)置臨時(shí)數(shù)組uint num2;/每秒的轉(zhuǎn)速uint number=7;/設(shè)定轉(zhuǎn)速的初值,在其基礎(chǔ)上按鍵加一或按鍵減一uint num=0;/轉(zhuǎn)數(shù)變量void Init_Timer0(void); void delay(uint z)/延遲函數(shù) uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-);&#

55、160; void write_com(uchar com)/1602寫命令 lcdrs=0; P0=com;  delay(5); lcden=1; delay(5); lcden=0;  void write_date(uchar date)/1602寫數(shù)據(jù) lcdrs=1; lcden=1; P0=date; delay(5); lcden=0;  void LCD_Wr

56、ite_String(uchar x,uchar y,uchar *s) /向1602寫字符串      if (y = 0)          write_com(0x80 + x);     /表示第一行  else     

57、       write_com(0xC0 + x);      /表示第二行           while (*s)           write_date( *s);   

58、    s+;           void LCD_Write_Char(uchar x,uchar y,uchar Data) /向1602寫字符        if (y = 0)        

59、0;  write_com(0x80 + x);             else           write_com(0xC0 + x);                 write_date( Data);     void init()    /初始化 bj=0; /蜂鳴器初始化write_com(0x0

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論