光電傳感器轉(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頁
免費(fèi)預(yù)覽已結(jié)束,剩余12頁可下載查看

下載本文檔

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

文檔簡介

1、專業(yè)課程設(shè)計(jì)題目光電傳感器的轉(zhuǎn)速測量設(shè)計(jì)17自動化學(xué)院2012年 10月8-2012 年 10月19院 系:專業(yè)班級:小組成員:指導(dǎo)教師: 日 期:一課程設(shè)計(jì)描述采用單片機(jī)、 uln2003 為主要器件, 設(shè)計(jì)步進(jìn)電機(jī)調(diào)速系統(tǒng), 實(shí)現(xiàn)電機(jī)速度 開環(huán)可調(diào)。課程設(shè)計(jì)具體要求1 、通過按鍵選擇速度;2 、轉(zhuǎn)速測量顯示范圍為 09999轉(zhuǎn)/ 秒3、檢測并顯示各檔速度。主要元器件實(shí)驗(yàn)板(中號)1個步進(jìn)電機(jī) 1個STC89C521個電容( 30pF、10uF)各 1 個數(shù)碼管(共陽、四位一體)1個晶振( 12MHz) 1個小按鍵4個ULN2003 1個電阻若干發(fā)光二極管 1個三極管( NPN)4個排阻 1

2、個四原理闡述4.1 系統(tǒng)簡述按照題給要求,我們最終設(shè)計(jì)了如下的解決方案: 用戶通過鍵盤鍵入控制指令 (開關(guān)),微控制器在收到指令后改變輸出的 PWM 波,最終在 ULN2003的驅(qū)動下電機(jī)轉(zhuǎn)速發(fā)生改變。 通過 ST151傳感器測量電機(jī)扇 葉的旋轉(zhuǎn)情況,將轉(zhuǎn)速顯示在數(shù)碼管上。在程序主循環(huán)中實(shí)現(xiàn)按鍵掃描與轉(zhuǎn)速顯示,將定時(shí)器 0 作為計(jì)數(shù)器,計(jì)數(shù) ST151產(chǎn)生的下降沿,可算出轉(zhuǎn)速,并送至數(shù)碼管顯示。設(shè)計(jì)思路:(1)利用光電開關(guān)管做電機(jī)轉(zhuǎn)速的信號拾取元件,在電機(jī)的轉(zhuǎn)軸上安裝一個圓 盤,在圓盤上挖 1 小洞, 小洞上下分別對應(yīng)著光發(fā)射和光接受開關(guān), 圓盤轉(zhuǎn)動一 圈即光電管導(dǎo)通 1 次,利用此信號做為脈

3、沖計(jì)數(shù)所需。(2)對光電開關(guān)信號整流放大。(3)脈沖經(jīng)過單片機(jī)內(nèi)部的計(jì)數(shù)器和定時(shí)器進(jìn)行計(jì)數(shù)和定時(shí)。(4)顯示電路采用單片機(jī)動態(tài)顯示。4.2 轉(zhuǎn)速測量原理在此采用頻率測量法, 其測量原理為, 在固定的測量時(shí)間內(nèi), 計(jì)取轉(zhuǎn)速傳感 器產(chǎn)生的脈沖個數(shù),從而算出實(shí)際轉(zhuǎn)速。設(shè)固定的測量時(shí)間為Tc(min),計(jì)數(shù)器計(jì)取的脈沖個數(shù) m,假定脈沖發(fā)生器每轉(zhuǎn)輸出 p個脈沖,對應(yīng)被測轉(zhuǎn)速為 N ( r/min ),則f=pN/60Hz;另在測量時(shí)間 Tc內(nèi),計(jì)取轉(zhuǎn)速傳感器輸出的脈沖個數(shù) m應(yīng)為 m=Tcf ,所以,當(dāng)測得 m值時(shí),就可算出實(shí)際轉(zhuǎn)速值 1 : N=60m/pTc (r/min)( 1) 4.3 轉(zhuǎn)速測

4、量系統(tǒng)組成框圖系統(tǒng)由信號預(yù)處理電路、單片機(jī) STC 89C51、系統(tǒng)化 LED顯示模塊、串口數(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)速通過 I 2C總線放到 E2PROM存儲,既節(jié)省了所需單片機(jī)的口線和

5、外圍器件, 同時(shí)也簡化了顯示部分的 軟件編程。系統(tǒng)的原理框圖如圖 2.1 所示。圖 2.1 系統(tǒng)的原理框圖五系統(tǒng)硬件電路的設(shè)計(jì) 系統(tǒng)硬件部分包含輸入模塊、顯示模塊、控制模塊、測速模塊等。在硬件 搭建前,先通過 Proteus Pro 7.5 進(jìn)行硬件仿真實(shí)現(xiàn)。5.1 脈沖產(chǎn)生電路設(shè)計(jì)設(shè)計(jì)采用了紅外光電傳感器,進(jìn)行非接觸式檢測。當(dāng)有物體擋在紅外光電 發(fā)光二極管和高靈敏度的光電晶體管之間時(shí), 傳感器將會輸出一個低電平, 而當(dāng) 沒有物體擋在中間時(shí)則輸出為高電平, 從而形成一個脈沖。 系統(tǒng)在光電傳感器收 發(fā)端間加入電動機(jī), 并在電動機(jī)的轉(zhuǎn)軸上安裝一轉(zhuǎn)盤。 在這個轉(zhuǎn)盤的邊沿處挖出 若干個圓形過孔, 把傳

6、感器的檢測部分放在圓孔的圓心位置。 每當(dāng)轉(zhuǎn)盤隨著后輪 旋轉(zhuǎn)的時(shí)候, 傳感器將向外輸出若干個脈沖。 把這些脈沖通過一系列的波形整形 成單片機(jī)可以識別的 TTL電平,即可算出輪子即時(shí)的轉(zhuǎn)速。轉(zhuǎn)盤的圓孔的個數(shù)決定了測量的精度, 個數(shù)越多, 精度越高。這樣就可以 在單位時(shí)間內(nèi)盡可能多地得到脈沖數(shù),從而避免了因?yàn)閮蓚€過孔之間的距離過 大,而正好在過孔之間或者是在下個過孔之前停止了, 造成較大的誤差。 設(shè)計(jì)中 轉(zhuǎn)盤的圓孔的實(shí)際個數(shù)受到技術(shù)的限制。 為了達(dá)到預(yù)定的效果設(shè)計(jì)在轉(zhuǎn)盤過孔的 設(shè)計(jì)上采用 11 個過孔,從而留下了 10個同等的間距。 這樣在以后的軟件設(shè)計(jì)中 能夠較為方便的計(jì)算出脈沖頻率。脈沖發(fā)生源的

7、硬件結(jié)構(gòu)圖如圖 3.1 所示。圖 3.1 脈沖發(fā)生源硬件結(jié)構(gòu)圖(左為正視圖,右為側(cè)視圖)5.2 光電轉(zhuǎn)換及信號調(diào)理電路設(shè)計(jì)由于系統(tǒng)需要將光信號轉(zhuǎn)換為電信號, 因而需要使用光電傳感器并設(shè)計(jì)相應(yīng) 的信號調(diào)理電路, 以得到符合要求的脈沖信號, 送給單片機(jī) STC89C51進(jìn)行計(jì)數(shù), 同時(shí)得到計(jì)數(shù)的時(shí)間, 由單片機(jī)進(jìn)行相關(guān)計(jì)算以得到電動機(jī)轉(zhuǎn)速。 傳感器將電機(jī) 的轉(zhuǎn)速信號轉(zhuǎn)變成了電脈沖信號, 該信號經(jīng)過 LM324集成運(yùn)放整形驅(qū)動, 送到單 片機(jī)進(jìn)行脈沖計(jì)數(shù),從而測出電動機(jī)轉(zhuǎn)速。光電轉(zhuǎn)換部分與單片機(jī)的連接框圖如圖 3.2 所示圖 3.2 光電轉(zhuǎn)換部分與單片機(jī)的連接框圖STC89C52的 XTAL15.3

8、 時(shí)鐘電路 系統(tǒng)采用 12M晶振與兩個 30pF 電容組成震蕩電路,接 與 XTAL2引腳,為微控制器提供時(shí)鐘源5.4 按鍵電路 四個按鍵分別控制電機(jī)的不同轉(zhuǎn)速,即控制 PWM波高電平的占空比,以實(shí) 現(xiàn)電機(jī)的速度控制,采用開環(huán)控制方法,不是十分精確,但控制簡單,易實(shí)現(xiàn), 代碼編寫簡單。5.5 顯示部分系統(tǒng)采用 4 位共陰極數(shù)碼管實(shí)現(xiàn)轉(zhuǎn)速顯示。數(shù)碼管的位選端 14 分別接STC89C52的 P2.0P2.3 管腳,端選段 AG與 DP分別接 STC89C52的 P0.0P0.7 管腳。需要說明的是:實(shí)際焊接電路時(shí),數(shù)碼管的位選端需要焊接三極管,否則 數(shù)碼管顯示亮度將會非常暗。5.6 電機(jī)控制與驅(qū)

9、動部分電機(jī)的運(yùn)行通過 PWM波控制。 PWM波通過 STC89C52的 P2.4 口輸出。說明: 測速部分用的是 Motro-encode 電機(jī),實(shí)際用 ST151實(shí)現(xiàn)測速,焊接電路 如下圖:其中 R1=510, R2=4.7KST內(nèi)部電路:5.7 其他電路 復(fù)位電路如下所示 :完整仿真電路圖:六、軟件部分設(shè)計(jì)讀 P1 口系統(tǒng)軟件采用 Keil 集成開發(fā)環(huán)境開發(fā) 程序代碼如下(帶注釋) :#include <reg51.h> sbit P2_0=P20; sbit P2_1=P21; sbit P2_2=P22; sbit P2_3=P23;/ 數(shù)碼管選定位sbit P2_4=P2

10、4;/ 電機(jī)控制位sbit keysp0=P10;sbit keysp30=P11;sbit keysp60=P12;/ 電機(jī)轉(zhuǎn)速為 0 的控制鍵/ 電機(jī)轉(zhuǎn)速為 30 的控制鍵/ 電機(jī)轉(zhuǎn)速為 60 的控制鍵sbit keysp100=P13; / 電機(jī)轉(zhuǎn)速為 100 的控制鍵 unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92, 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;unsigned int motorspeed; /電機(jī)轉(zhuǎn)速unsigned char GE,SHI,BAI,

11、QIAN; / 電機(jī)轉(zhuǎn)速 motorspeed 的各個位unsigned int counter=0;/ 光電傳感器脈沖數(shù)unsigned int pwm; unsigned int mid; unsigned int calsp;/pwm 占空比/ 占空比設(shè)置值/ 設(shè)定多長時(shí)間計(jì)算一次速度void display();/ 數(shù)碼管顯示電機(jī)速度void delay(); /延遲函數(shù)motorspeed 變量中void controlpwm(); / 控制電機(jī)占空比 void calspeed();/ 計(jì)算電機(jī)速度,放于void keyscan();/ 按鍵掃描void main()P2=P2&a

12、mp;0x0f; mid=0;EA=1; / 開啟總中斷EX0=1; / 開啟外部中斷 0IT0=1; / 設(shè)置成下降沿觸發(fā)方式TMOD=0x01; /設(shè)置定時(shí)器 0為模式 1,即 16位計(jì)數(shù)模式TH0=(65536-10000)/256; / 計(jì)數(shù)時(shí)間為 10ms TL0=(65536-10000)%256;ET0=1;/ 開啟定時(shí)器 0 中斷TR0=1;/ 啟動定時(shí)器 0while(1)keyscan(); display(); controlpwm(); calspeed();void keyscan() / 鍵盤掃描if(keysp0 = 0)delay(); / 延遲防止抖動 if(

13、keysp0 = 0) mid=0;if(keysp30 = 0)delay();if(keysp30 = 0) mid=1;if(keysp60 = 0)delay(); if(keysp60 = 0) mid=3; if(keysp100 = 0) delay(); if(keysp100 = 0) mid=5;void calspeed()if(calsp>=100) /100*10ms=1s 計(jì)算一次電機(jī)轉(zhuǎn)速 motorspeed=counter/3; / 轉(zhuǎn)的圈數(shù)除以時(shí)間counter=0;/ 清零脈沖數(shù)calsp=0;/ 清零標(biāo)志void controlpwm() if(pw

14、m>=0 && pwm<mid) P2_4=1; / 電機(jī)加速else if(pwm>=mid && pwm<10)P2_4=0; / 電機(jī)不加速 else pwm=0; void _TIMER0() interrupt 1/ 重新裝入初值,計(jì)數(shù)時(shí)間為10msTH0=(65536-10000)/256;TL0=(65536-10000)%256;pwm+;calsp+;void _INT0() interrupt 0 counter+; / 接受脈沖數(shù) void display() / 數(shù)碼管顯示函數(shù) GE=motorspeed%10;

15、SHI=motorspeed/10%10;BAI=motorspeed/100%10; QIAN=motorspeed/1000%10;P2_0=0; P0=tableQIAN; delay();P0=0xff;P2_0=1;P2_1=0; P0=tableBAI;delay();P0=0xff;P2_1=1;P2_2=0; P0=tableSHI; delay();P0=0xff;P2_2=1;P2_3=0; P0=tableGE;delay();P0=0xff;P2_3=1; void delay() / 延遲函數(shù) unsigned char i=10; while(i-)七系統(tǒng)測試測試方

16、案:測試包含仿真測試和硬件測試兩個部分。仿真測試指使用 Proteus Pro 7.5 對系統(tǒng)進(jìn)行仿真測試。主要測試系統(tǒng)電路的 設(shè)計(jì)和驗(yàn)證程序邏輯的正確性。硬件測試指系統(tǒng)搭建后對硬件電氣性能的測試。 主要測試各功能的完整性可 靠性,以及系統(tǒng)電氣性能的穩(wěn)定性。測試工具為示波器萬用表等。 仿真測試結(jié)果: 真測試中,系統(tǒng)運(yùn)行正常,程序邏輯正確。按鍵輸入正常、數(shù)碼管顯示正確。 P2.4 管腳間輸出 PWM波正常。硬件測試結(jié)果: 系統(tǒng)硬件搭建完畢后,進(jìn)行硬件測試。 系統(tǒng)加電后,振蕩電路正常起振, STC89C52在時(shí)鐘源電路的驅(qū)動下運(yùn)行正常。 系統(tǒng)可在復(fù)位電路的作用下正常復(fù)位。系統(tǒng)按鍵輸入正常,并能夠正

17、確消除 抖動。系統(tǒng) PWM波輸出正常。將示波器接 STC89C52的 P2.4 管腳,可觀察到峰峰值 5V 左右的方波,頻率與調(diào)速要求一致。 ST151傳感器測量正常。數(shù)碼管轉(zhuǎn)速顯示正常,數(shù)碼管可正確顯示并正確顯示電機(jī)轉(zhuǎn)速。八設(shè)計(jì)中的問題分析1、在最初的設(shè)計(jì)電路時(shí)中沒有使用采用硬件消抖的方式來避免三個按鍵按下時(shí) 帶來的不穩(wěn)定信號, 錄入數(shù)據(jù)往往出錯, 后來使用軟件消抖來解決這個問題, 但 是由于按鍵復(fù)用程度比較高, 因此軟件消抖浪費(fèi)了不少一部分系統(tǒng)資源, 后來采 用 RC 電路硬件消抖比較完美的解決了這個問題。2、在硬件調(diào)試過程中出現(xiàn)過某些零件不靈的情況,根據(jù)已經(jīng)畫好的電路圖使用 外用表可以很

18、快的查找到問題的所在。 經(jīng)過簡單的焊接處理即可解決。 后來為了 避免頻繁操作對焊接電路的影響, 專門在單片機(jī)的上下焊接了支撐部件, 用來防 止板子上元器件以及后面的焊接線路收到影響, 事實(shí)證明這個很大程度保護(hù)了單 片機(jī),方便了對單片機(jī)的操作。3、在硬件電路完成后遇到的最大問題是無法將程序?qū)氲絾纹瑱C(jī),通過深入的 研究,發(fā)現(xiàn)通過單片機(jī)的串口可以很容易的連接上單片機(jī), 進(jìn)而將 hex 程序?qū)懭?到單片機(jī)中。為此專門擴(kuò)展了串口電路,并且完成了相應(yīng)的軟件實(shí)現(xiàn)和PC之間的通信。4、在單片機(jī)和 PC通信的時(shí)候通過單片機(jī)發(fā)送數(shù)據(jù)給 PC的時(shí)候經(jīng)常會出現(xiàn)亂碼, 無論發(fā)送什么字符還是十六進(jìn)制數(shù)字都無法準(zhǔn)確收到, 后來經(jīng)過研究, 發(fā)現(xiàn)問題 出在晶振上, 我們選用了 12M 晶振,12M 的晶振波特率只能是 2400。因?yàn)?9600 的情況下會有 7.8%的誤差,所以會產(chǎn)生亂碼,而 2400 波特率的情況下誤差是

溫馨提示

  • 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

提交評論