基于avrmega16的測(cè)速系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩15頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論