版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 基于AVRMega16的測(cè)速系統(tǒng)</p><p> 1.設(shè)計(jì)的目的與意義:本設(shè)計(jì)的速度測(cè)量主要應(yīng)用于輪式設(shè)備的速度測(cè)量中(如車輛,轉(zhuǎn)輪等),特別適用于如自行車,人力三輪車等要求低成本的應(yīng)用中。</p><p> 本研究的目的是通過(guò)單片機(jī)的控制實(shí)現(xiàn)速度的測(cè)量和超速的報(bào)警,其中有七段數(shù)碼管輸出速度的值,有控制按鈕來(lái)控制Km/h 和m/s顯示,由蜂鳴器來(lái)進(jìn)行報(bào)警。<
2、;/p><p> 2. 設(shè)計(jì)內(nèi)容與方法:本設(shè)計(jì)的速度測(cè)量主要是測(cè)量轉(zhuǎn)軸的角速 度,利用角速度和線速度的轉(zhuǎn)換關(guān)系轉(zhuǎn)換為線速度,從而測(cè)量出物體的行進(jìn)速度。角速度的測(cè)量利用紅外光發(fā)射和探測(cè)而測(cè)出轉(zhuǎn)軸的角速度,利用單片機(jī)的處理并用七段數(shù)碼管輸出速度值。如果速度超過(guò)指定值時(shí),蜂鳴器發(fā)出響聲提示。</p><p><b> 3.設(shè)計(jì)電路圖:</b></p><
3、p> 4.硬件功能說(shuō)明:本部分包括對(duì)硬件設(shè)計(jì)思想的說(shuō)明和硬件用途的說(shuō)明。</p><p> 硬件設(shè)計(jì)思想說(shuō)明:本課程設(shè)計(jì)主要是通過(guò)測(cè)量輪式車的輪軸轉(zhuǎn)動(dòng)角速度,轉(zhuǎn)換為小車行進(jìn)的線速度。這要求我們要設(shè)計(jì)一個(gè)信號(hào)采集源來(lái)采集角速度信息傳遞到單片機(jī)進(jìn)行處理。我們利用紅外反射接收對(duì)管產(chǎn)生電信號(hào),利用固定在軸上的擋板來(lái)使軸運(yùn)動(dòng)信息與電信號(hào)關(guān)聯(lián),最后輸入單片機(jī)處理。單片機(jī)轉(zhuǎn)換的速度值通過(guò)四位七段數(shù)碼管來(lái)顯示,如果超速
4、通過(guò)蜂鳴器來(lái)提示超速,同時(shí)又led閃爍來(lái)提醒。</p><p> 信號(hào)收集轉(zhuǎn)換系統(tǒng)說(shuō)明:</p><p><b> 原理如圖所示</b></p><p> 我們的擋板開(kāi)孔將360°分為四等分,這樣做可以提高精度。將擋板放置于光電對(duì)管發(fā)射管和接收管之間。軸的周期性運(yùn)動(dòng)使擋板周期性的遮擋發(fā)射管與接收管的紅外線傳播,是光電對(duì)管產(chǎn)生周期
5、性的電信號(hào),最后通過(guò)接線傳輸?shù)絾纹瑱C(jī)。</p><p> 光電對(duì)管原理如圖所示。</p><p> 光電對(duì)管是由紅外線發(fā)光二極管和光明三極管組成,我們?cè)诩姌O串入1k的電阻,輸出集電極電壓值。當(dāng)光電三級(jí)管導(dǎo)通時(shí)由于集電極有電流流過(guò)會(huì)使輸出電壓降低使呈現(xiàn)低電平狀態(tài),當(dāng)三極管截止時(shí),輸出電壓近似等于+5V,呈現(xiàn)為高電平。信號(hào)由PD6口輸入。</p><p><
6、b> 速度顯示系統(tǒng)說(shuō)明:</b></p><p><b> 七段數(shù)碼管如圖示。</b></p><p> 我們選用的是四位集成的共陽(yáng)極七段數(shù)碼管,采用PA0~PA7口分別控制a~p七段和小數(shù)點(diǎn),利用PC0,PC1,PC6,PC7口分別控制1、2、3、4位的七段數(shù)碼管顯示。最終實(shí)現(xiàn)四位動(dòng)態(tài)掃描顯示。</p><p> 蜂
7、鳴器電路如圖所示。</p><p> 我們利用PD0口來(lái)控制蜂鳴器的工作,當(dāng)PD0口輸出為高電平時(shí),三極管導(dǎo)通蜂鳴器發(fā)聲。PD0口為低電平時(shí)三極管截止,蜂鳴器中沒(méi)有電流流過(guò),不工作</p><p><b> LED電路如圖示。</b></p><p> 我們利用PD1口來(lái)控制LED的顯示,當(dāng)超速時(shí),PD1口周期性的輸出高電平使LED燈閃爍
8、提示超速。未超速時(shí)輸出低電平二極管不導(dǎo)通。</p><p><b> 鍵盤電路如圖。</b></p><p> 我們采用PD2口作為鍵盤檢測(cè)口。當(dāng)檢測(cè)到鍵盤按下時(shí),七段數(shù)碼管顯示為Km/h。正常情況下顯示為m/s。</p><p> 5.軟件設(shè)計(jì)流程與設(shè)計(jì)思想</p><p> 軟件流程:軟件流程圖如下所示。&l
9、t;/p><p> 軟件設(shè)計(jì)思想:我們課程設(shè)計(jì)的測(cè)速功能主要是由單片機(jī)內(nèi)部定時(shí)器T0實(shí)現(xiàn)的,通過(guò)T0的精確定時(shí)測(cè)出兩次脈沖時(shí)間,轉(zhuǎn)換成脈沖頻率,最后轉(zhuǎn)換為所求速度。</p><p><b> 6.系統(tǒng)測(cè)試:</b></p><p> 我們通過(guò)Proteus仿真軟件對(duì)軟件部分行了測(cè)試。</p><p> 圖中為當(dāng)輸入的
10、脈沖頻率為10Hz是輸出輸出值。</p><p> 圖中為輸入頻率為30Hz時(shí)的輸出值</p><p> 第三張圖的輸入脈沖為45Hz。</p><p> 分析三張圖中結(jié)果輸出值與輸入值的比例近似相等,說(shuō)明測(cè)速部分基本運(yùn)行正常。</p><p> 按鍵和顯示轉(zhuǎn)換部分測(cè)試</p><p> 當(dāng)10<V&l
11、t;15時(shí),D1亮,第一次超速提示。</p><p> 當(dāng)鍵盤按下時(shí),顯示為Km/h值。</p><p> 當(dāng)輸出大于15時(shí),D2(實(shí)際為蜂鳴器)亮,第二次超速提示。</p><p><b> 7.設(shè)計(jì)所需資源:</b></p><p> 硬件:AVR實(shí)驗(yàn)開(kāi)發(fā)板(包括了蜂鳴器,按鍵,LED),光電對(duì)管,集成四位共
12、陽(yáng)極七段數(shù)碼管。</p><p> 軟件:ICCAVR,AVRstudio,Protel 99SE,Proteus。</p><p> 8.成員分工及貢獻(xiàn)情況:</p><p> 李慶浩 硬件加工、電路板設(shè)計(jì)和焊接、部分軟件編寫(xiě)、報(bào)告書(shū)寫(xiě) </p><p><b> 貢獻(xiàn)率 34%</b></p>
13、<p> 林鳴遠(yuǎn) 部分軟件編寫(xiě)、部分電路制作、網(wǎng)頁(yè)制作、報(bào)告書(shū)寫(xiě)</p><p><b> 貢獻(xiàn)率 33%</b></p><p> 劉波 電路板設(shè)計(jì)和焊接(包括Protel電路制作)、Proteus軟件仿真、 報(bào)告書(shū)寫(xiě)、PPT制作。</p><p><b> 貢獻(xiàn)率 33%</b></p>
14、;<p><b> 9.項(xiàng)目改進(jìn)設(shè)想:</b></p><p> 1.應(yīng)為自行車等車輛不能采用有線電源供電,由于耗電量較大,干電池消耗量巨大,充電電池由于容量有限不理想,所以我們的下一步改進(jìn)設(shè)想是利用發(fā)電裝置將車輛的部分動(dòng)能轉(zhuǎn)換為電能為設(shè)備供電。或者加裝太陽(yáng)能電池,利用太陽(yáng)能供電。</p><p> 2.我們?cè)O(shè)想加入矩陣鍵盤,在不同的路段輸入不同的
15、限速值。</p><p><b> 10.參考資料:</b></p><p> 馬潮 編著,AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐,北京航空航天大學(xué)出版社,2007。</p><p> 李茂奎 等 編著,單片機(jī)原理及接口技術(shù)實(shí)驗(yàn)講義,山東大學(xué)物理學(xué)院,2009。</p><p><b> 附錄:項(xiàng)目軟件&
16、lt;/b></p><p> #include <iom16v.h></p><p> #include <macros.h></p><p> unsigned int f_time=0,l_time=0;// f_time l_time即first 和last,存儲(chǔ)兩次間隔的初始態(tài)和末態(tài),以timer1的時(shí)序?yàn)閱挝弧?<
17、;/p><p> float time=0; //time 記錄兩次時(shí)間間隔 ,以秒為單位</p><p> char point=3; //小數(shù)點(diǎn)的位置</p><p> double v; //速度</p><p> const char led_7[13]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,
18、0x7D,0x07,0x7F,0x6F,0x40,0x39,0x00};</p><p> const char position[4]={0xfe,0xfd,0xbf,0x7f};</p><p> char dis_buf[4]={0};</p><p> char v_ok=0; //v_ok=1時(shí) 顯示速度,預(yù)定0.5s刷新一次速度</p&g
19、t;<p> #define SECOND 3906.25 //一秒鐘</p><p> #define R 1.5 //車輪半徑</p><p> void port_init(void)</p><p><b> {</b></p><p> PORTA = 0
20、x00;</p><p> DDRA = 0xff;</p><p> PORTB = 0x00;</p><p> DDRB = 0x00;</p><p> PORTC = 0x00; //m103 output only</p><p> DDRC = 0xff;</p><p
21、> PORTD = BIT(2);</p><p> DDRD = BIT(0)|BIT(1);</p><p><b> }</b></p><p> //TIMER1 initialize - prescale:1024</p><p> // WGM: 0) Normal, TOP=0xFFFF&
22、lt;/p><p> // desired value: 0.1Hz</p><p> // actual value: 0.100Hz (0.0%)</p><p> void timer1_init(void)</p><p><b> {</b></p><p> TCCR1B =
23、0x00; //stop</p><p> TCCR1A = 0x00;</p><p> TCCR1B = 0xC5; //start Timer</p><p><b> }</b></p><p> void timer0_init(void)</p><p><b>
24、{</b></p><p> TCCR0 = 0x00; //stop</p><p> TCNT0 = 0x00; //set count</p><p> OCR0 = 0x7D; //set compare</p><p> TCCR0 = 0x0B; //start timer</p><p
25、><b> }</b></p><p> void init_devices(void)</p><p><b> {</b></p><p> //stop errant interrupts until set up</p><p> CLI(); //disable all i
26、nterrupts</p><p> port_init();</p><p> timer1_init();</p><p> timer0_init();</p><p> MCUCR = 0x00;</p><p> GICR = 0x00;</p><p> TIMSK =
27、 0x22; //timer interrupt sources</p><p> SEI(); //re-enable interrupts</p><p> //all peripherals are now initialized</p><p><b> }</b></p><p> #pragma in
28、terrupt_handler display:iv_TIM0_COMP //顯示速度,兼為速度刷新的標(biāo)準(zhǔn) j=1時(shí) 速度刷新</p><p> void display(void)</p><p><b> {</b></p><p> //compare occured TCNT0=OCR0</p><p>
29、 static char i=0,j=0;</p><p> if(j++==0) v_ok=1;</p><p> PORTC=~0xff;</p><p> if(i>=4)i=0;</p><p> PORTA = ~(led_7[dis_buf[i]]);</p><p> PORTC = ~
30、position[i];</p><p> if(i==point) PORTA&=~BIT(7);</p><p><b> i++;</b></p><p><b> }</b></p><p> #pragma interrupt_handler timer1_capt_isr
31、:iv_TIM1_CAPT //上升沿觸發(fā) </p><p> void timer1_capt_isr(void)</p><p><b> { </b></p><p> //timer 1 input capture event, read (int)value in ICR1 using;</p><
32、p> // value=ICR1L; //Read low byte first (important)</p><p> // value|=(int)ICR1H << 8; //Read high byte and shift into top byte</p><p> {f_time=l_time;l_time=ICR1;} </
33、p><p><b> }</b></p><p> void to_buf()</p><p><b> { </b></p><p><b> char i=0;</b></p><p> double tem_v=v;</p>
34、<p> if(v>=1000){point=3;}</p><p> if(v>=100&&v<1000){point=2;tem_v*=10;}</p><p> if(v>=10&&v<100){point=1;tem_v*=100;}</p><p> if(v<10){p
35、oint=0;tem_v*=1000;}</p><p> for(i=0;i<4;i++)</p><p><b> {</b></p><p> dis_buf[3-i]=(int)tem_v%10;</p><p> tem_v/=10;</p><p><b>
36、}</b></p><p><b> }</b></p><p> void scank(void)</p><p><b> {</b></p><p><b> }</b></p><p> void main(void)<
37、;/p><p><b> {</b></p><p> init_devices();</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> if(v_ok)</b>
38、;</p><p><b> {</b></p><p><b> v_ok=0;</b></p><p> time=(l_time-f_time)/SECOND;</p><p> if(time==0)v=0;</p><p> else v=1.57*(1/
39、time)*R;</p><p> // f_time=l_time;en=1;</p><p> if(v>10&&v<15)</p><p> PORTD|=BIT(0);</p><p> else if(v>15)PORTD|=BIT(1);</p><p> //
40、else PORTD&=~(BIT(0)|BIT(1));</p><p> if(!(PIND&BIT(2)))</p><p><b> v*=3.6;</b></p><p><b> to_buf();</b></p><p><b> }</b>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- dyp-me007超聲波模塊avrmega16程序
- dyp-me007超聲波模塊avrmega16程序
- 基于avrmega128的modbus程序
- 基于視頻的車輛測(cè)速系統(tǒng)研究.pdf
- 基于DSP的雷達(dá)測(cè)速計(jì)量系統(tǒng)的研究.pdf
- 基于DSP的固體多普勒測(cè)速系統(tǒng)的研究.pdf
- 基于調(diào)制光源的光子多普勒測(cè)速系統(tǒng).pdf
- 基于CPLD-FPGA的相關(guān)測(cè)速系統(tǒng).pdf
- 基于視頻和DSP的車輛識(shí)別測(cè)速系統(tǒng).pdf
- 基于相控陣的多普勒測(cè)速系統(tǒng)的硬件實(shí)現(xiàn).pdf
- 基于GPS的道路測(cè)速系統(tǒng)校準(zhǔn)儀器設(shè)計(jì).pdf
- 基于雙目立體視覺(jué)的車輛測(cè)速系統(tǒng).pdf
- 基于單片機(jī)的電機(jī)測(cè)速系統(tǒng)設(shè)計(jì)()副本
- 基于相關(guān)測(cè)量技術(shù)的激光測(cè)速系統(tǒng)研究.pdf
- 基于FPGA的高速多通道并行測(cè)速系統(tǒng)設(shè)計(jì).pdf
- 基于ARM的互相關(guān)紅外測(cè)速系統(tǒng)研究.pdf
- 基于DSP的激光互相關(guān)測(cè)速系統(tǒng)研究.pdf
- 電機(jī)測(cè)速課程設(shè)計(jì)---電機(jī)測(cè)速系統(tǒng)設(shè)計(jì)
- 基于DSP的雷達(dá)測(cè)速監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 用戶寬帶測(cè)速系統(tǒng)
評(píng)論
0/150
提交評(píng)論