欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      實習(xí)報告——智能車設(shè)計

      時間:2019-05-12 12:01:26下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《實習(xí)報告——智能車設(shè)計》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《實習(xí)報告——智能車設(shè)計》。

      第一篇:實習(xí)報告——智能車設(shè)計

      工業(yè)項目設(shè)計與制作報告

      ——基于電磁傳感器的智能車設(shè)計

      姓名:王香偉 學(xué)號:102673 專業(yè):自動化

      基于電磁傳感器的智能車設(shè)計

      ——工業(yè)設(shè)計報告

      (102673 王香偉自動化)

      智能車以自主尋線、高速行駛為目的,以嵌入式系統(tǒng)為支撐,以PID控制算法和汽車結(jié)構(gòu)知識為核心,以信號與系統(tǒng)、電力電子、電機(jī)拖動、傳感器等為基礎(chǔ),是一項綜合的設(shè)計。全車設(shè)計我認(rèn)為可分為四大部分:檢測信號采集,控制算法,驅(qū)動及車體結(jié)構(gòu)設(shè)計,輔助部分。一下我將一一介紹:

      一、檢測信號采集:

      a.將交變磁場采集成電路中的交流電壓

      我們電磁組,檢測的是賽道中線導(dǎo)線中100mA,20KHz的交流電所產(chǎn)生的交變磁場。利用交變電磁場在電感線圈中產(chǎn)生交變電壓的原理,輔以LRC濾波來檢測電磁信號。所用電感L=10mH,電容C=6.8nF,二者串聯(lián)諧振頻率為20KHz,可濾掉所感應(yīng)到的其它頻率的電磁信號。

      b.將交流電壓放大并整流成直流電壓

      我們采用運放AD823將所獲得的的信號電壓放大,并通過二極管和電容不可控整流電路將放大后的交流電壓轉(zhuǎn)換為直流電壓。

      c.將直流電壓通過單片機(jī)AD口輸入。

      五個電感的電磁信號分別連到單片機(jī)的五個不同的AD口上,單片機(jī)利用一個AD轉(zhuǎn)換器的多路開關(guān)的功能將他們一一轉(zhuǎn)換為數(shù)字量,這一過程在軟件中時這樣實現(xiàn)的。通過定時器中斷0.5ms觸發(fā)一次AD中斷,通過AD中斷讀取AD采樣值。相應(yīng)代碼如下:

      #define PIT1_TIME

      500 //0.5ms MK60_PITS_INITIALIZE_(MK60_PIT_CH1,SystemCoreClock,PIT1_TIME);設(shè)置定時器中斷為0.5ms觸發(fā)一次

      MK60_PITS_Enables_IRQ(MK60_PIT_CH1);打開定時器中斷

      } 在定時器中斷的響應(yīng)函數(shù)中打開AD中斷并將多路開關(guān)選擇em0通道。void PIT1_IRQHandler(void)

      {

      PIT->CHANNEL[1].TCTRL &= ~PIT_TCTRL_TIE_MASK;

      PIT->CHANNEL[1].TFLG |= PIT_TFLG_TIF_MASK;

      PIT->CHANNEL[1].TCTRL |=(PIT_TCTRL_TIE_MASK | PIT_TCTRL_TEN_MASK);

      ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC1_EM0;} 然后再在ad中斷的響應(yīng)函數(shù)中,將AD寄存器的值讀到程序中,賦給程序中對應(yīng)的數(shù)組變量。

      void ADC1_IRQHandler(void){

      static uint32_t adc_cnt = 0;

      ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC1_EM0;switch(adc_cnt)

      {

      case 0:

      {

      adc1_head++;

      }

      } if(adc1_head >= 10)

      adc1_head = 0;em_adc[0][adc1_head] = ADC1->R[0];ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC1_EM1;adc_cnt = 1;break;} case 1: { em_adc[1][adc1_head] = ADC1->R[0];ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC1_EM2;adc_cnt = 2;break;} case 2: { em_adc[2][adc1_head] = ADC1->R[0];ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC1_EM3;adc_cnt = 3;break;} case 3: { em_adc[3][adc1_head] = ADC1->R[0];ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC1_EM4;adc_cnt = 4;break;} case 4: { em_adc[4][adc1_head] = ADC1->R[0];ADC1->SC1[0] =(ADC1->SC1[0] &(~ADC_SC1_ADCH_MASK))+ ADC_DISABLE;adc_cnt = 0;break;} 每個傳感器值都在不同的時間讀了十次,一共五個傳感器,組成了一個5X10的數(shù)組。之后再通過濾波(將每個傳感器的值加權(quán)平均得到一個之后可用于計算的值)

      如果五個電感的最大值不一樣,可以將他們的最大值標(biāo)準(zhǔn)化到10000 void em_adc_filter(void){ volatile int i_pos = 0;int32_t fir_i,fir_head;float em_adc_sum[5] = {0,0,0,0,0};float fir[em_adc_size] = {0.4,0.1,0.1,0.1,0.1,0.1,0.05,0.05,0.0,0.0};for(i_pos = 0;i_pos < 5;i_pos++)//加權(quán)平均

      {

      for(fir_i = 0;fir_i

      {

      fir_head = adc1_headrow)+ D_DIRECTION * row_sub + I_DIRECTION))+ steer_midd_adjust;此句代碼即為方向控制的PID算法,其中

      P_DIRECTION為比例系數(shù)、D_DIRECTION為微分系數(shù)、并未添加積分控制,比例系數(shù)和微分系數(shù)是根據(jù)車在賽道位置時刻變化的,如何變化正是我們后期調(diào)試的重點,大體思路為,小車在賽道中線附近時控制系數(shù)較小,距離中線較遠(yuǎn)時,控制。

      float get_kp(int po_er){ float kp_l;

      if(po_er<500)

      {

      kp_l=p_5;

      D_DIRECTION_RATIO=d_small;

      }

      else if(po_er<1000)

      {

      kp_l=p_5+0.002*(po_er-500)*(p_10-p_5);

      D_DIRECTION_RATIO=d_small;

      }

      } else if(po_er<1500){ kp_l=p_10+0.002*(po_er-1000)*(p_15-p_10);D_DIRECTION_RATIO=d_small;} else if(po_er<2000){ kp_l=p_15+0.002*(po_er-1500)*(p_20-p_15);D_DIRECTION_RATIO=d_small;} else if(po_er<2500){ kp_l=p_20+0.002*(po_er-2000)*(p_25-p_20);D_DIRECTION_RATIO=d_big;

      }

      else if(po_er<3000)

      { kp_l=p_25+0.002*(po_er-2500)*(p_30-p_25);D_DIRECTION_RATIO=d_big;

      }

      else

      { kp_l=p_30;

      } return kp_l;當(dāng)電磁傳感器檢測到的信號過小時,我們就認(rèn)為這組數(shù)據(jù)無效,并認(rèn)為此時小車偏離中線較遠(yuǎn),將舵機(jī)逐漸打到最大。速度控制中,我們根據(jù)舵機(jī)打角的絕對量和和連續(xù)二十次舵機(jī)打角的方差來進(jìn)行速度控制。

      速度控制的思路為:入彎減速,彎道加速出彎再加速,直道或者曲率很小的彎拼命加速??刂品椒椋喝舳鏅C(jī)打角方差較小,則認(rèn)為小車處于直道或者彎道而不是入彎狀態(tài),這個時候速度有舵機(jī)打角的絕對值來控制。

      若方差很大:則說明小車正在入彎,若此時速度很快則需要進(jìn)行減速。

      if(steer_gyh_fangcha<50&&steer_gyh_fangcha>-50)

      //

      { if(pwm_steer_gyh_abs<200){ zd_flag++;zd2_flag++;

      if(zd_flag>10)

      {

      speed_set_l=s_z1;

      zd_flag=21;

      }

      } else if(pwm_steer_gyh_abs<400){

      zd2_flag++;

      zd_flag=0;

      if(zd2_flag>10)

      {

      speed_set_l=s_z1-0.0025*pwm_steer_gyh_abs*(s_z1-s_z2);

      zd2_flag=21;

      } } else {

      speed_set_l=s_w1-0.001667*(pwm_steer_gyh_abs-400)*(s_w1-s_w2);

      speed_set_l+=get_speed_change();

      zd_flag=0;

      zd2_flag=0;

      } } else if(steer_gyh_fangcha>50)

      {

      speed_set_l=s_s1-0.001*pwm_steer_gyh_abs*(s_s1-s_s2);zd2_flag=0;zd_flag=0;} else { speed_set_l=s_w1;} 控制函數(shù)寫在另外一個定時器中斷中,每5ms觸發(fā)一次。

      三、驅(qū)動及車體結(jié)構(gòu)

      電機(jī)和舵機(jī)均采用PWM控制,其中舵機(jī)直接連接到單片機(jī)中的一個PWM信號輸出,而電機(jī)則采用通過兩路PWM信號控制由兩片BTN組成組成的全橋電路來驅(qū)動電機(jī)

      其中電機(jī)PWM頻率為1500Hz,舵機(jī)PWM頻率為50Hz,舵機(jī)的低頻率導(dǎo)致舵機(jī)控制會有20ms的延時,這會是5ms的控制周期有些力不從心。

      小車采取前輪轉(zhuǎn)向,后輪驅(qū)動,車體設(shè)計以質(zhì)量輕,轉(zhuǎn)動慣量小,重心底為原則。

      汽車的轉(zhuǎn)向車輪、轉(zhuǎn)向節(jié)和前軸三者之間的安裝具有一定的相對位置,這種具有一定相對位置的安裝叫做轉(zhuǎn)向車輪定位,也稱前輪定位。前輪定位包括主銷后傾(角)、主銷內(nèi)傾(角)、前輪外傾(角)和前輪前束四個內(nèi)容。這是對兩個轉(zhuǎn)向前輪而言,對兩個后輪來說也同樣存在與后軸之間安裝的相對位置,稱后輪定位。后輪定位包括車輪外傾(角)和逐個后輪前束。這樣前輪定位和后輪定位總起來說叫四輪定位。a.主銷后傾角(caster)的調(diào)整

      圖2.2 主銷后傾角

      從側(cè)面看車輪,轉(zhuǎn)向主銷(車輪轉(zhuǎn)向時的旋轉(zhuǎn)中心)向后傾倒,稱為主銷后傾角。設(shè)置主銷后傾角后,主銷中心線的接地點與車輪中心的地面投影點之間產(chǎn)生距離(稱做主銷縱傾移距,與自行車的前輪叉梁向后傾斜的原理相同),使車輪的接地點位于轉(zhuǎn)向主銷延長線的后端,車輪就靠行駛中的滾動阻力被向后拉,使車輪的方向自然朝向行駛方向。設(shè)定很大的主銷后傾角可提高直線行駛性能,同時主銷縱傾移距也增大。主銷縱傾移距過大,會使轉(zhuǎn)向盤沉重,而且由于路面干擾而加劇車輪的前后顛簸,在調(diào)節(jié)的時候我們將小車前后墊片(初始為2:2)調(diào)整為1:3,即前一后三,使其傾角為負(fù)。這樣可以減少回力矩的作用,使轉(zhuǎn)向更為靈活。

      b.前輪外傾角(camber)的調(diào)整

      圖2.3 前輪外傾角

      從前后方向看車輪時,輪胎并非垂直安裝,而是稍微傾倒呈現(xiàn)“八”字形張開,稱為負(fù)外傾,而朝反方向張開時稱正外傾。使用斜線輪胎的鼎盛時期,由于使輪胎傾斜觸地便于方向盤的操作,所以外傾角設(shè)得比較大。如果車輪垂直地面一旦滿載就易產(chǎn)生變形,可能引起車輪上部向內(nèi)傾側(cè),導(dǎo)致車輪聯(lián)接件損壞。所以事先將車輪校偏一個外八字角度,這個角度約在 1°左右。c.前輪前束

      圖2.4 前輪前束

      腳尖向內(nèi),所謂“內(nèi)八字腳”的意思,指的是左右前輪分別向內(nèi)。采用這種結(jié)構(gòu)目的是修正上述前輪外傾角引起的車輪向外側(cè)轉(zhuǎn)動。如前所述,由于有外傾,轉(zhuǎn)向變得容易。另一方面,由于車輪傾斜,左右前輪分別向外側(cè)轉(zhuǎn)動,為了修正這個問題,如果左右兩輪帶有向內(nèi)的角度,則正負(fù)為零,左右兩輪可保持直線行進(jìn),減少輪胎磨損,在調(diào)試中,我們發(fā)現(xiàn)將這個角調(diào)整為1度左右,配合主銷后傾,可讓小車既能轉(zhuǎn)向靈活,又能獲得直線良好的沿線能力。

      附上小車圖片一張

      四、輔助部分

      主要的輔助部分由按鍵OLED模塊和藍(lán)牙上位機(jī)模塊 a.按鍵OLED主要用于參數(shù)修改,測量,標(biāo)定等

      大體上,我們采用6個按鍵來控制OLED,一個用于打開或關(guān)閉OLED,一個用于翻頁,另外一個用于上下左右4個方向移動光標(biāo)。通過OLED修改參數(shù)的方法是:先將需要修改的參數(shù)顯示到OLED上;然后通過按鍵和編碼器修改顯示在OLED上的參數(shù)的值;最后再將修改后的值賦給參數(shù)對應(yīng)的變量。

      在具體實現(xiàn)上,我們需要做到以下三點:1.可以掃描到按鍵按下;2.可以將變量顯示到OLED上;3.可以修改OLED上顯示的數(shù)字;4.可以將OLED上顯示的數(shù)字賦值給變量。1.掃描按鍵:

      硬件上:將按鍵、電阻和電源串聯(lián)的電路中合適的點連接到GPIO上,使按鍵按下與否可在相應(yīng)的GPIO端口產(chǎn)生高低電平。

      軟件上:先初始化與按鍵相連的GPIO端口,配置成合適的輸入輸出模式。然后調(diào)用MK60_PORT_GPIO_READ(PORTA,key_pin[x])函數(shù)來讀取對應(yīng)GPIO端口的高低電平。2.顯示變量:

      硬件上:將OLED按照接口規(guī)范與單片機(jī)連好。

      軟件上:1.先將需要顯示的變量乘上合適的倍數(shù)轉(zhuǎn)化為整數(shù);2.在把整數(shù)每一位按照順序存儲到一個數(shù)組中;3.把存儲數(shù)據(jù)的數(shù)組中的每個元素加上’0’便于顯示,然后把對應(yīng)的參數(shù)名接到這個數(shù)組的后面;4.調(diào)用OLED中提供的顯示字符的函數(shù)將這個數(shù)組顯示出來。3.修改變量:

      硬件上:將編碼器接好。軟件上:按下上下左右按鍵時可以選擇所要修改的位置,轉(zhuǎn)動后輪帶動編碼器計數(shù)來修改對應(yīng)的值,修改的是存儲數(shù)據(jù)的數(shù)組 4.變量重新復(fù)制:

      將存儲數(shù)據(jù)的數(shù)組中的數(shù)按位加權(quán)求和賦值給變量。

      至此,我們實現(xiàn)了按鍵OLED的基本功能,實現(xiàn)參數(shù)的顯示和修改。此外我們還實現(xiàn)了利用按鍵來實現(xiàn)傳感器最大值的標(biāo)定和速度檔位的控制,實現(xiàn)方式很簡單,就是先讀取按鍵的值,然后見機(jī)行事。同時我們利用 MK60_FTFL_FLASH_WriteRecords()和MK60_FTFL_FLASH_ReadsRecords();函數(shù)將參數(shù)存儲于dataFlash中,便于使用。

      b.藍(lán)牙上位機(jī)模塊主要用于信號的動態(tài)觀測。

      我們利用藍(lán)牙和串口將程序中需要觀測的變量發(fā)送到上位機(jī),上位機(jī)中繪制出折線圖,便于觀察。

      五、總結(jié)

      和一切智能系統(tǒng)一樣,智能車的智能體現(xiàn)在在反饋信息,對環(huán)境的識別和處理。我們采用電磁傳感器進(jìn)行路徑識別,實用性不廣,很難應(yīng)用與真實環(huán)境。所以我們有兩方面可以為之努力:一是考慮電磁環(huán)境的可行性,二是改用其他傳感器。二者留給日后研究。

      第二篇:智能車電磁組報告

      目錄

      一.學(xué)分認(rèn)定書 …… …………………………………………XX 二.實驗報告 …… ………………………………………………XX 三.智能車制作研究報告 ……………………………………… XX 四.心得體會 ………………………………………………… XX 五.附錄:程序源代碼………………………………………… … XX

      (要求:給出一級目錄,宋體加粗,四號字,1.5倍行距。)

      一.學(xué)分認(rèn)定書(每個隊員1份)二.實驗報告

      實驗一.通用輸入輸出口和定時中斷

      一、實驗?zāi)康?/p>

      1.掌握 MC9S12XS128 匯編語言對通用端口的操作指令。2.掌握程序中指令循環(huán)和跳轉(zhuǎn)的方法。

      3.學(xué)會使用程序延時,并會大概估算延遲時間。

      二、實驗任務(wù)

      1.將 PORTA 口接八位DIP 開關(guān),PORTB口接七段數(shù)碼管顯示,PORTK控制四個數(shù)碼管其中某一個顯示。

      2.采用定時中斷方式,利用八位DIP 開關(guān)輸入二進(jìn)制數(shù),數(shù)碼管顯示其十進(jìn)制數(shù)。

      三、實驗內(nèi)容

      實驗中每個通用輸入輸出端口要用到的寄存器都有兩個,端口定義寄存器和端口方向寄存器。以 A 端口為例,端口定義寄存器為PORTA和端口方向寄存器為DDRA。在MC9S12XS128的DATASHEET 上可以查到DDRA的地址是0x00(輸入), DDRB的地址是0xFF(輸出), DDRK的地址是0xFF(輸出)。則初始化端口PORTA、PORTB、PORTK的語句為: void initGPIO(void){ DDRA = 0x00;DDRB = 0xFF;DDRK= 0xFF;}

      置0 表示該位為接受輸入位,置1 表示該位為輸出位。

      MC9S12DP256/DG128 中可以使用實時時鐘或增強(qiáng)型定時器來完成定時功能,二者是相互獨立的。本實驗中用實時時鐘定時。實時時鐘的可以通過對外部晶振分頻而得到一個定時中斷。RTICTL 是實時時鐘控制寄存器,向該寄存器寫入內(nèi)容,通過查表會得到一個分頻因子,外部晶振除以分頻因子就是中斷的頻率了。因為外部晶振頻率是16MHz,要得到1ms中斷一次,需要16000分頻。在MC9S12XS128的DATASHEET 上可以查到RTICTL設(shè)置為0x8F, 中斷允許寄存器CRGINT設(shè)置為0x80(開中斷)。則初始化中斷程序為: void InitRTI(void){ RTICTL = 0x8F;CRGINT = 0x80;} 一但進(jìn)入中斷,即開始讀PORTA口的二進(jìn)制數(shù),并轉(zhuǎn)換為十進(jìn)制,通過PORTB口顯示出來。由于是數(shù)碼管動態(tài)顯示,PORTK口控制四個數(shù)碼管輪流顯示。具體程序見開發(fā)板例程中——SevenSegmentDigitalTube。

      四、思考題

      1.如果不用PORTA口做輸入,直接讓單片機(jī)內(nèi)部從0—9999自動計數(shù),并在PORTB口顯示出計數(shù)過程,PORTK口控制四個數(shù)碼管輪流顯示,程序該如何改? 對程序的修改如下:

      void interrupt 7 RTI_INT(void){ time++;if(time >=50){ 2 time=0;Count_Num++;LedData[0] = Count_Num/1000%10;LedData[1] = Count_Num/100%10;LedData[2] = Count_Num/10%10;LedData[3] = Count_Num%10;if(Count_Num >=9999){ Count_Num=0;} } PORTK = 0x01 << LedNum;PORTB = LedCode[LedData[LedNum]];LedNum++;if(LedNum >= 4)LedNum = 0;CRGFLG = 0x80;} 這樣便可以在數(shù)碼管中顯示動態(tài)顯示0000—9999,經(jīng)試驗檢測該方法正確。

      實驗二.A/D轉(zhuǎn)換實驗

      一、實驗?zāi)康?/p>

      了解 S12 單片機(jī)ADC 模塊的使用方法。

      二、實驗任務(wù)

      用 S12 的ADC 模塊將一路(或多路)模擬電平轉(zhuǎn)換成數(shù)字量,并將轉(zhuǎn)換結(jié)果顯示在數(shù)碼管上,或者通過SCI 發(fā)送到PC 終端顯示出來。

      三、實驗內(nèi)容

      1、與 S12 的ADC 模塊相關(guān)的寄存器如下,各寄存器的詳細(xì)定義可參閱datasheet。ATDCTL2:控制寄存器。主要設(shè)置A/D 標(biāo)志位清除方式、A/D 采樣觸發(fā)方式、是否允許A/D 采樣完成中斷等。

      ATDCTL3:控制寄存器。主要設(shè)置每次A/D 轉(zhuǎn)換采樣幾路電平、采樣結(jié)果的存儲方式等。

      ATDCTL4:控制寄存器。主要設(shè)置A/D 轉(zhuǎn)換精度、A/D 轉(zhuǎn)換時鐘頻率等。

      ATDCTL5:控制寄存器。主要設(shè)置A/D 轉(zhuǎn)換結(jié)果的對齊方式和數(shù)據(jù)類型,以及A/D 的采樣模式(連續(xù)采樣/單詞采樣,順序轉(zhuǎn)換/單通道轉(zhuǎn)換等)

      ATDSTAT0:狀態(tài)標(biāo)志寄存器。包括A/D 轉(zhuǎn)換完成標(biāo)志,出錯標(biāo)志、轉(zhuǎn)換結(jié)果存儲索引等標(biāo)志位。

      ATDTEST1:測試寄存器。

      ATDSTAT1:標(biāo)志寄存器。標(biāo)識一次A/D 轉(zhuǎn)換中各通道的完成情況。

      以上寄存器的具體內(nèi)容和其他與 ADC 模塊相關(guān)的寄存器請參看datasheet 相應(yīng)章節(jié)。

      2、本實驗采取AN14單通道連續(xù)AD轉(zhuǎn)換模式,且結(jié)果存放在ATD0DR0L中, 轉(zhuǎn)換序列長度為1,轉(zhuǎn)換精度為8位,在freeze模式下繼續(xù)轉(zhuǎn)換。通過查看datasheet,得出ATD0初始化程序如下:void ATD0_init(void){ ATD0CTL1=0x0e;//轉(zhuǎn)換精度為8位,從AN14通道轉(zhuǎn)換 ATD0CTL2=0x40;//禁止外部觸發(fā), 中斷禁止 ATD0CTL2_ASCIE = 1;//允許中斷

      ATD0CTL3=0x88;//轉(zhuǎn)換序列長度為1,在freeze模式下繼續(xù)轉(zhuǎn)換 ATD0CTL4=0xFF;ATD0CTL5=0x2E;//單通道連續(xù)AD轉(zhuǎn)換模式 } 具體程序見開發(fā)板例程中——testAN14。

      四、預(yù)習(xí)要求

      (1)參考datasheet 明確ADC 各寄存器的作用,主要思考以下問題: 1.A/D 轉(zhuǎn)換的時鐘應(yīng)該是多少?如何設(shè)置分頻因子? 答:A/D 轉(zhuǎn)換的時鐘應(yīng)該是如下:

      其中PRS為ATDCLT4中的后五位。

      2.A/D 轉(zhuǎn)換如何啟動?有幾種啟動方式?分別如何設(shè)置相關(guān)寄存器?

      答:可以用ATD0CLT2去給ATD模塊上電,有五種上電(觸發(fā)方式)分別如下:設(shè)置ATD0CLT2中的10~12位。第10位為0時忽略外部觸發(fā),為1時則使用內(nèi)部觸發(fā)。但第十位為1時,前兩位為00,01,10,11,分別對應(yīng)下降沿觸發(fā),上升沿觸發(fā),低電平觸發(fā),高電平觸發(fā)。3.每次A/D 轉(zhuǎn)換啟動那幾路電平采樣?采樣結(jié)果如何存儲(注意FIFO 的A/D 轉(zhuǎn)換模式)?采樣結(jié)果的數(shù)據(jù)類型(8 位/10 位?左對齊/右對齊?有符號數(shù)/無符號數(shù)?)? 答: 每次啟動那一路轉(zhuǎn)化得看ATD0CTL5中的設(shè)置。采樣結(jié)果的儲存也是在該寄存器控制的。采樣結(jié)果的位數(shù)也是該寄存器控制。如ATD0CTL5 = 00110000時該結(jié)果為左對齊無符號型數(shù)據(jù)是連續(xù)轉(zhuǎn)化,多通道轉(zhuǎn)化。并且從0通道開始轉(zhuǎn)化。4.如何判斷A/D 轉(zhuǎn)換是否結(jié)束?如何清標(biāo)志位? 答:從ATD0START1_CCF0 = 0 時轉(zhuǎn)化完成。(2)如何實現(xiàn)多通道轉(zhuǎn)換? 答:ATD0CTL5中的第四位置1。

      五、實驗現(xiàn)象

      開發(fā)板通電后,用起子旋轉(zhuǎn)電位器,發(fā)現(xiàn)數(shù)碼管上數(shù)字從0—255連續(xù)變化。

      實驗

      三、PWM 模塊實驗

      一、實驗?zāi)康?/p>

      1. 學(xué)習(xí)使用 PWM 模塊。

      2. 用 PWM 實現(xiàn)小型直流電機(jī)調(diào)速和舵機(jī)轉(zhuǎn)向。

      二、實驗任務(wù)

      1、使用單片機(jī)內(nèi)部PWM 模塊調(diào)制產(chǎn)生不同脈寬的方波,實現(xiàn)小型直流電機(jī)調(diào) 速和舵機(jī)轉(zhuǎn)向。

      2、將 PORTA 口接八位DIP 開關(guān),PORTB口接七段數(shù)碼管顯示,PORTK控制 四個數(shù)碼管其中某一個顯示,數(shù)碼管動態(tài)顯示原理同實驗1。撥碼開關(guān)高兩位控 制舵機(jī),當(dāng)為00,11代表舵機(jī)轉(zhuǎn)到正中央,為10,01代表舵機(jī)分別左轉(zhuǎn)右轉(zhuǎn)。撥 碼開關(guān)低六位控制電機(jī),表示PWM占空比。數(shù)碼管第一位顯示舵機(jī)控制方向,后 兩位顯示電機(jī)占空比。

      三、實驗內(nèi)容

      1.PWM 模塊共有28 個寄存器,其中8 個為系統(tǒng)保留寄存器,具體介紹如下: PWM 啟動寄存器(PWME)

      本寄存器的 8 個bits 分別用來開關(guān)8 路PWM 的通道。PWM 極性寄存器(PWMPOL)

      本寄存器的 8 位bits 分別用來設(shè)定8 路PWM 通道輸出波形的起點電平。PWM 預(yù)分頻寄存器(PWMPRCLK)

      本寄存器用來設(shè)定 ClockA 和ClockB 的預(yù)分頻因子。ClockA 分頻寄存器(PWMSCLA)

      本寄存器提供 PWM 模塊操作時的幾個控制位。PWM 通道周期寄存器(PWMPERx)

      此 8 個寄存器分別為8 個通道設(shè)定方波的周期。PWM 通道脈寬寄存器(PWMDTYx)此 8 個寄存器分別為8 個通道設(shè)定脈寬。PWM初始化程序如下: void initPWM(void){ PWME=0x00;//關(guān)閉所有PWM通道

      PWMPOL = 0xFF;//PWM極性選擇,選擇一個周期開始時為高電平

      PWMPRCLK = 0x22;//CLOCK A,B時鐘分頻,均選擇從總線四分頻 10M PWMSCLA = 5;//CLOCK SA從CLOCK A十分頻,1M PWMSCLB = 5;//CLOCK SB從CLOCK B十分頻,1M PWMCTL = 0xF0;//01級聯(lián),23級聯(lián),45級聯(lián),67級聯(lián)

      PWMCLK = 0xFF;//PWM始終選擇,選擇CLOCK SA SB為PWM時鐘 PWMPER01=1000;//電機(jī)PWM正轉(zhuǎn)頻率1k PWMDTY01=0;PWMPER23=1000;PWMDTY23=0;//電機(jī)反轉(zhuǎn)頻率為1k PWMPER45=20000;//舵機(jī)PWM頻率為50Hz PWMDTY45=STEER_CENTER;//舵機(jī)占空比 PWME_PWME3=1;PWME_PWME1=1;//電機(jī)PWM波開始輸出 PWME_PWME5=1;//舵機(jī)PWM波開始輸出 } 參考程序參見實驗例程——motorpwm

      四、實驗現(xiàn)象

      撥碼開關(guān)高兩位控制舵機(jī)轉(zhuǎn)向,當(dāng)為00,11舵機(jī)在中央,為10,01舵機(jī)分別左轉(zhuǎn)右轉(zhuǎn)。撥碼開關(guān)低六位控制電機(jī),表示PWM占空比。數(shù)碼管第一位顯示舵機(jī)控制方向,后兩位顯示電機(jī)占空比。占空比越大,轉(zhuǎn)速越大。

      四、電磁組實驗——信號處理

      一、實驗步驟

      1、電磁傳感器檢測到信號

      2、單片機(jī)處理這些信號——判斷是否需要轉(zhuǎn)向、減速

      二、實驗內(nèi)容

      1、電磁感器檢測處理后為一模擬電平,需用到AD 轉(zhuǎn)換程序。將光信號轉(zhuǎn)換為數(shù)字量存在單片機(jī)中。接下來由單片機(jī)處理這些數(shù),判斷是否要轉(zhuǎn)向。最簡單的兩個傳感器布局,當(dāng)導(dǎo)線在傳感器中央時,相應(yīng)的AD數(shù)值相同,導(dǎo)線偏向右邊的傳感器時,右邊傳感器的值變大,左邊傳感器值變小。本實驗關(guān)鍵在于如何確定導(dǎo)線位置。

      2、輸入輸出口和ATD 的初始化同前面的實驗一和實驗二,將程序運行后,打 開Data1 窗口,找出AD 轉(zhuǎn)換后的數(shù)字值,應(yīng)該在0-255 之間。將車子的左邊電感對準(zhǔn)黑色牽引線,觀察兩個傳感器。理論上應(yīng)該該電感的值最大,調(diào)解好放大器的應(yīng)在160左右記錄該數(shù)值(159),再將黑線想又移動,發(fā)現(xiàn)右邊傳感器的值逐漸增大,左邊傳感器的值逐漸減小。黑線一動到右邊電感正下方時,將此電感的值調(diào)解到160左右,記錄該數(shù)值(150)。而黑線偏出兩個電感的范圍時,兩個傳感器的值同時減小。

      正常情況下小車檢測中心線程序如下: //計算Line_center 6 if(ad_data[0]+ad_data[1]<100){ Line_center =(int)(ad_data[0])*160/159-(int)(ad_data[1])*160/150;//歸一化,差值計算中心線 Get_Line = 1;} else{ Get_Line = 0;} 根據(jù)檢測到黑線的位置可以判斷行車方向。參考程序見電磁基本程序。

      三.智能車制作研究報告

      1.原理介紹

      可以確定電感相對于導(dǎo)線的位置,或者說可以確定導(dǎo)線相對于小車的分布

      2.電磁傳感器

      1首先由LC回路檢測磁場○,輸出信號Singal1。

      2通過放大電路INA128將信號放大 ○

      3通過○獲得負(fù)電源。

      4因為放大后的電路頻率依然為20KHz的周期信號,所以我們通過下面電路轉(zhuǎn)換為穩(wěn)○定輸出。

      5在起跑線檢測上我們用干簧管電路?!?幅值測量 ○可以不使用檢波電路,而直接將上述單管放大電路中,三極管集電極電壓接入單片機(jī)的AD 端口,使用單片機(jī)直接采樣交變電壓信號

      只要保證單片機(jī)的 AD 采集速率大于20kHz 的5-10 倍,連續(xù)采集5-10 個周期的電壓信號(大約100 數(shù)據(jù)左右),就可以直接從采集的數(shù)據(jù)中最大值減去最小值獲得信號的峰峰值。假設(shè)采集了128 個數(shù)據(jù): , 1,2, ,128 i x i=,計算信號的峰峰值p p V ? 可以有下式計算:

      上面計算計算方法由于只用應(yīng)用了數(shù)據(jù)的最大值、最小值,所得結(jié)果容易受 到噪聲的影響,所以還可以通過計算數(shù)據(jù)交流信號的平均值、有效值反映信號的 幅值:

      上面所計算得到的 , ave e x x 等都與信號的峰峰值成單調(diào)關(guān)系,所以也可以用來 進(jìn)行計算位置差值信號。

      7軟件設(shè)計 ○程序主要用到 S12 芯片中的PWM 模塊,TIM 模塊、PIT 模塊、AD 模塊、I/O 模塊 以及 SCI 模塊等。PWM 模塊主要用來控制舵機(jī)和電的運轉(zhuǎn); TIM 模塊主要是用在了測速模塊,捕捉中斷并計算瞬時度。PIT模塊用于設(shè)置定時中斷; AD 模塊主要用于讀取傳感器信息以判斷黑線位置; I/O 模塊主要是用來讀取按鍵信息和控制數(shù)碼管顯示; SCI 模塊只要用在無線串口傳送模塊。

      源碼后附

      四.心得體會(每個隊員都要提交心得體會)

      五.附錄:程序源代碼

      #include /* common defines and macros */

      #include “derivative.h” /* derivative-specific definitions */

      /********************************************************************************* * * * *

      *********************************************************************************/ #define StrCnr 1500 /**********************************/ //初始化鎖相環(huán) //將總線頻率調(diào)整到40M

      /**********************************/ void InitPLL(void){ CLKSEL=0x00;//禁止鎖相環(huán),時鐘由外部晶振提供,總線頻率=外部晶振/2

      PLLCTL_PLLON=1;//打開鎖相環(huán) SYNR=0x49;REFDV=0x43;// pllclock=fvco=2*osc*(1+SYNR)/(1+REFDV)=80MHz;POSTDIV = 0x00;_asm(nop);//BUS CLOCK=40M

      _asm(nop);while(!(CRGFLG_LOCK==1));// 等待鎖相環(huán)初始化完成 CLKSEL_PLLSEL =1;// 使用鎖相環(huán) 2012東南大學(xué)智能車競賽電磁組Demo程序 電感信號分別接0,1口 } /**********************************/ //初始化通用IO口 //A口輸入B口和K口輸出

      /**********************************/ void InitGPIO(void){ DDRA = 0x00;//A口輸入 DDRB = 0xFF;//B口輸出 DDRK = 0xFF;//K口輸出 } /**********************************/ //初始化PWM

      /**********************************/ void InitPWM(void){ PWME=0x00;PWMPOL = 0xFF;PWMPRCLK = 0x22;PWMCLK = 0xFF;PWMSCLA =5;PWMSCLB =5;PWMCTL = 0xF0;PWMCAE=0;PWMPER01=100;PWMDTY01=0;PWMPER23=100;PWMDTY23=0;PWMPER45=20000;PWMDTY45=StrCnr;PWME_PWME3=1;PWME_PWME1=1;PWME_PWME5=1;} /**********************************/ //初始化AD

      /**********************************/ void InitATD(void){ ATD0CTL0 = 0x0f;ATD0CTL1_SRES = 2;ATD0CTL1_SMP_DIS=1;ATD0CTL2_AFFC = 1;//ATD0CTL2_ASCIE = 1;//10

      //關(guān)閉所有PWM通道 每位對應(yīng)一個端口 //PWM極性選擇,選擇一個周期開始時為高電平//CLOCK A,B時鐘頻率為10M //選擇CLOCK SA SB為PWM時鐘 //CLOCK SA頻率為1M //CLOCK SB頻率為1M //設(shè)定PWM通道兩兩級聯(lián)使用 //電機(jī)正轉(zhuǎn)頻率10k //電機(jī)反轉(zhuǎn)頻率10k //設(shè)定舵機(jī)控制線的頻率為50Hz //設(shè)定舵機(jī)初始位置 //電機(jī)PWM波開始輸出

      //舵機(jī)PWM波開始輸出 //多路轉(zhuǎn)換時轉(zhuǎn)換 //轉(zhuǎn)換精度為12位 //中斷標(biāo)志位自動清零

      一個序列傳喚結(jié)束觸發(fā)中斷

      //ATD0CTL3 = 0xC0;//結(jié)果寄存器對齊方式右對齊(ATD0CTL3_DJM=1),轉(zhuǎn)換序列長度為8(8路),循環(huán)轉(zhuǎn)換,freeze模式下繼續(xù)轉(zhuǎn)換 ATD0CTL3 = 0x80;ATD0CTL4_SMP = 0;// 采樣周期為4個周期

      ATD0CTL4_PRS = 19;//atdclk=busclk/(2*(19+1))=1M ATD0CTL5_SCAN = 1;//連續(xù)轉(zhuǎn)換模式

      ATD0CTL5_MULT = 1;//多通道采樣

      } /**********************************/ //初始化實時中斷

      /**********************************/ void InitRTI(void){ RTICTL =0x9F;//2ms中斷一次 }

      void main(void){ /* put your own code here */ InitPLL();InitGPIO();InitPWM();

      { _FEED_COP();/* feeds the dog */ } /* loop forever */

      /* please make sure that you never leave main */ }

      float StrP=0.1;float StrD=0.01;float StrPCtl;float StrDCtl;float StrCtl;

      #pragma CODE_SEG __NEAR_SEG NON_BANKED void interrupt 7 RTI_INT(void){ DisableInterrupts;11 InitRTI();InitATD();EnableInterrupts;CRGINT_RTIE = 1;for(;;)CRGFLG = 0x80;

      //可以在此加入合適的數(shù)碼管顯示代碼,讓其中兩位顯示左邊電感的AD值(顯示不下可以顯示其中

      //部分二進(jìn)制位),讓另外兩位顯示右邊電感的AD值,方便調(diào)試。注意需要合適的初始化操作。

      StrCtl=(ATD0DR1-ATD0DR0)*StrP;//如果需要更加精確可以使用ATD中斷,對這兩個值進(jìn)行取平均值,低通濾波等操作。

      /*

      如果使用PD控制的偽代碼: StrPCtl=(Right-Left)*StrP;

      StrDCtl=((Right-Left)-LastValueOf(Right-Left))*StrD;StrCtl=StrPCtl+StrDCtl;*/

      //對舵機(jī)控制輸出限幅,避免燒壞舵機(jī)

      if(StrCtl>1800)StrCtl=1800;else

      if(StrCtl<1200)StrCtl=1200;PWMDTY45=StrCtl;

      //請加入合適的速度控制

      //如果不確定,可以使用撥碼控制速度。這時請注意相關(guān)初始化操作

      EnableInterrupts;}

      第三篇:智能儀器實習(xí)報告

      智能儀器實習(xí)報告

      課題名稱 虛擬數(shù)字電壓表的設(shè)計 院(系)電氣工程與控制科學(xué)學(xué)院專 業(yè) 測控技術(shù)與儀器 姓 名 _____________ 學(xué) 號 _____________ 起止日期 2017/5/10-2017/5/18 指導(dǎo)教師 蔣 書 波

      2017 年 5 月 18 日

      一、實訓(xùn)要求

      在LabVIEW平臺下,掌握虛擬數(shù)字電壓表的前面板設(shè)計和框圖程序設(shè)計。了解被測信號的種類,保證電壓測量的精確度。

      二、實訓(xùn)目的

      1、數(shù)字電壓表的功能。

      2、虛擬數(shù)字電壓表的前面板設(shè)計。

      3、虛擬數(shù)字電壓表的框圖程序設(shè)計。

      4、軟件調(diào)試及誤差分析。

      5、電壓測量值的存儲。

      三、實驗原理

      電壓是電路中常用的電信號,通過電壓測量,利用基本公式可以導(dǎo)出其他的參數(shù)。因此,電壓測量是其他許多電參數(shù)和非電參數(shù)量的基礎(chǔ)。測量電壓相當(dāng)普及的一種測量儀表就是電壓表,但常用的是模擬電壓表。模擬電壓表根據(jù)檢波方式的不同。分為峰值電壓表、均值電壓表和平均值電壓表,它們都各自做成獨立的儀表。這樣,使用模擬電壓表進(jìn)行交流電壓測量時,必須根據(jù)測量要求選擇儀表。另外,多數(shù)電壓表的表頭是按正弦交流有效值刻度的,而測量非正弦波時,必須經(jīng)過換算才能得到正確的測量結(jié)果,從而給實際工作帶來不便。

      采用虛擬電壓表,可將表征交流電壓特征的峰值、平均值和有效值集中顯示在一塊面板上,測量時可根據(jù)波形在面板上選擇儀表,用戶僅通過面板指示值就能對測量結(jié)果進(jìn)行分析比較,大大簡化了測量步驟

      四、實驗內(nèi)容及說明

      1、前面板的界面友好,操作方便。設(shè)計一個數(shù)據(jù)顯示窗口,一個交流/直流選擇按鈕,一個交流電壓測量多選框(PEAK/VIRTUAL VALUE/AVERAGE),一個直流電壓輸入框,一個啟動/停止測量按鈕,一個退出系統(tǒng)按鈕。

      2、顯示窗口由三個部分構(gòu)成,第一個為顯示電壓值的,第二個是顯示AC或DC的,第三個為顯示V或mV的。

      3、交流/直流選擇按鈕用于選擇測量輸入信號的交流成分或者直流成分。

      4、交流電壓測量多選框在(3)中交流選擇情況下可用,分別對應(yīng)于電壓的有效值、峰值和平均值測量,以滿足不同場合下測量的需求。

      5、直流電壓輸入值控制器在(3)中直流選擇情況下可用,可在其內(nèi)輸入任意直流電壓值,單位為V。

      6、程序框圖由數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)顯示和數(shù)據(jù)存儲四個部分組成。作為虛擬數(shù)字電壓表來說,其交流電壓信號由Express VI 仿真信號生成。在數(shù)據(jù)處理中用到交、直流提取;有效值提??;峰值提?。黄骄堤崛?。

      7、數(shù)據(jù)顯示主要用于顯示數(shù)值、AC/DC、V/mV,后面兩個布爾型指示器根據(jù)測量的不同、數(shù)值范圍的變化而發(fā)生變化。主程序包括一個while循環(huán)結(jié)構(gòu)(用于控制啟動或者停止測量)和兩個case選擇結(jié)構(gòu)(一個是進(jìn)行峰值測量、有效值測量還是平均值測量,另一個是對測量結(jié)果是以V還是mV來表示)。

      8、數(shù)據(jù)存儲,以文本或數(shù)據(jù)記錄形式,將電壓測量日期、測量時間、測量值、測量種類(交流/直流)、交流電壓測量選擇(若是直流電壓,此項為0)、電壓值的單位等有效信息,存儲到文件中。且此文件用文本處理軟件可方便瀏覽。

      9、軟件調(diào)試中主要由以下幾種調(diào)試技術(shù):

      (1)找出錯誤:利用查看錯誤清單,點擊任何一個所列錯誤,再選用Find功能,則出錯的對象或窗口就會變成高亮。

      (2)設(shè)置執(zhí)行程序高亮:這種執(zhí)行方式一般用于單步模式,來跟蹤框圖中的數(shù)據(jù)流動。

      (3)VI程序的單步執(zhí)行:設(shè)置單步執(zhí)行模式,將要執(zhí)行的節(jié)點就會閃爍,指示將被執(zhí)行。在次點擊單步按鈕,程序?qū)兂蛇B續(xù)方式。

      (4)探針:利用工具模板中的探針工具,放置于某根連線上,用來指示當(dāng)前數(shù)據(jù)上流動的數(shù)值。

      (5)斷點:工具模板中的斷點工具,用探針或者單步方式查看數(shù)據(jù),點擊希望設(shè)置或者清除斷點的地方。

      10、對于虛擬數(shù)字電壓表來說,其誤差分析部分就可以省略了。而如果為實際數(shù)字電壓表的設(shè)計,需要多次重復(fù)測量某一電壓,考慮重復(fù)性和精確性。

      五、設(shè)計思路

      1、前面板的設(shè)計

      前面板模擬真實電壓表的前面板,用于設(shè)置輸入數(shù)值和觀察輸出量。由于虛擬面板直接面向用戶,是虛擬電壓表控制軟件的核心。設(shè)計這部分時,主要考慮界面美觀、操作簡潔,用戶能通過面板上的各種按鈕、開關(guān)等控件來控制虛擬電壓表進(jìn)行測量工作。根據(jù)傳統(tǒng)電壓表面板控件的功能,利用LabVIEW中的控制模板,分別在設(shè)計面板上放入模擬實際電壓表控件的數(shù)據(jù)顯示窗口,一個交流/直流選擇按鈕,一個交流電壓測量多選框(PEAK/VIRTUAL VALUE/AVERAGE),一個直流電壓輸入框,一個啟動/停止測量按鈕,一個退出系統(tǒng)按鈕

      2、程序框圖的設(shè)計

      (1)、數(shù)據(jù)采集部分

      整個電壓表分為交流和直流兩個部分,為了方便交直流的選擇,此處采用一個case選擇結(jié)構(gòu)作為交直流的切換。其中,直流電壓的輸入采用了一個double型的數(shù)值輸入控件,交流電壓的輸入采用了添加均勻噪聲的正弦仿真信號,如圖:

      (2)、數(shù)據(jù)處理部分

      數(shù)據(jù)處理過程中,在交流部分再次使用case選擇結(jié)構(gòu)來選擇交流電壓峰值、平均值和有效值的輸出,此外還通過電壓值與數(shù)值1的比較來選擇電壓的單位為V還是Mv。

      (3)、數(shù)據(jù)顯示部分

      由于根據(jù)實驗要求輸出電壓值,在數(shù)據(jù)顯示部分只需要輸出電壓數(shù)值,提供單位V或者mV以及交流直流的顯示,比較簡單。

      (4)、數(shù)據(jù)存儲部分

      這部分首先創(chuàng)建文件,之后設(shè)計了一個連接字符串,將需要存儲的電壓值,電壓單位以及交直流說明連接起來,寫入文本。為了使存儲的數(shù)據(jù)簡單易懂,添加了存儲數(shù)據(jù)產(chǎn)生時間;為了使產(chǎn)生的文本美觀,使用了行結(jié)束符、制表符等來換行換列。

      六、實訓(xùn)感悟

      通過這次實訓(xùn),我收獲了很多,一方面學(xué)習(xí)到了許多以前沒學(xué)過的專業(yè)知識與知識的應(yīng)用,另一方面還提高了自己動手做項目的能力。本次實訓(xùn),是對我能力的進(jìn)一步鍛煉,也是一種考驗。從中獲得的諸多收獲,也是很可貴的,是非常有意義的。在實訓(xùn)中我學(xué)到了許多新的知識。是一個讓我把書本上的理論知識運用于實踐中的好機(jī)會,原來,學(xué)的時候感嘆學(xué)的內(nèi)容太難懂,現(xiàn)在想來,有些其實并不難,關(guān)鍵在于理解。在這次實訓(xùn)中還鍛煉了我其他方面的能力,提高了我的綜合素質(zhì)。首先,它鍛煉了我做項目的能力,提高了獨立思考問題、自己動手操作的能力,在工作的過程中,復(fù)習(xí)了以前學(xué)習(xí)過的知識,并掌握了一些應(yīng)用知識的技巧等。

      實訓(xùn)過程中,我同時也深深的感覺到自己所學(xué)的知識的膚淺和在實踐運用中知識的匱乏,剛開始的一段時間里,對一些東西無從下手,茫然不知所措,這讓我感到非常的難過。在學(xué)??傄詾樽约簩W(xué)的不錯,一旦接觸到實踐,才發(fā)現(xiàn)自己知道的是多么少,這才真正領(lǐng)悟到學(xué)無止境的含義。平時在學(xué)習(xí)中不能夠透徹理解的知識,通過動手,會有更好的認(rèn)知。我意識到自己的操作能力的不足,在理論上還存在很多缺陷。所以在以后的學(xué)習(xí)生活中,我會更加努力地加強(qiáng)理論聯(lián)系實踐的學(xué)習(xí),在努力學(xué)好專業(yè)知識的同時努力加強(qiáng)自己的專業(yè)技能方面的能力,使自己的知識在實踐中不斷增長,在實踐中鍛煉自己,培養(yǎng)自己各方面的能力,不斷提高自己的能力。

      第四篇:智能車編程總結(jié)

      智能車編程總結(jié)

      智能車核心是飛思卡爾xs128芯片,盡可能利用單片機(jī)里的硬件資源是程序的核心。程序理應(yīng)要有漂亮的算法,但由于智能車任務(wù)不復(fù)雜,合理管理和配置硬件資源才是最重要的。? 編程步驟(關(guān)鍵找到程序框架)

      I.程序第一步:通過配置寄存器來編寫單片機(jī)資源的底層程序。

      A.配置總線時鐘頻率(通過鎖相環(huán)電路)

      B.配置輸出PWM(脈寬調(diào)制波)功能(占空比)

      C.配置定時中斷功能(PIT定時中斷)

      D.配置輸入捕捉功能(脈沖累加器)

      E.配置基本輸入輸出端口的電平

      II.程序第二步:利用底層程序編寫各種其他硬件的驅(qū)動程序

      A.驅(qū)動電機(jī)、舵機(jī)(通過PWM波)

      B.驅(qū)動傳感器發(fā)射和接收(通過IO端口和PWM波)。

      C.驅(qū)動碼盤測速裝置并接收。(通過輸入捕捉功能)。

      III.程序第三步:連接各種硬件,順序完成巡線任務(wù)。

      IV.程序第四位:利用控制思想,不斷調(diào)試和優(yōu)化程序。

      ? 編程思想(程序關(guān)鍵要清楚)

      I.盡量使各種功能都封裝成函數(shù)。

      II.程序分層次,不同層次盡量寫在不同文檔中(函數(shù)層層調(diào)用)。

      III.主函數(shù)中簡單明了,思路、層次分明。

      IV.各種工具函數(shù)同一管理。(延時,絕對值,取最大最小值等)

      V.重點參數(shù)使用全局變量方便調(diào)試。

      ? 控制方法:使用PID控制方法(關(guān)鍵在調(diào)試)

      I.電機(jī)調(diào)試PID

      (以預(yù)設(shè)速度與實際檢測的速度的差值為偏差值error)

      II.搖頭舵機(jī)PID

      (以傳感器偏離中心距離為偏差值error)

      III.轉(zhuǎn)向舵機(jī)PID

      (以搖頭舵機(jī)偏離中心的角度為偏差值error)

      其他一些都是根據(jù)實際情況的一些細(xì)節(jié)處理,比如過十字交叉線,出道檢測,起點檢測等。

      第五篇:智能車志愿者心得體會

      志愿!永恒的志與愿!

      ------第六屆“飛思卡爾”杯全國大學(xué)生智能汽車競賽志愿者心得

      當(dāng)我聽到有這樣一個機(jī)會,可以參與第六屆全國大學(xué)生智能車競賽志愿者時,我便毫不猶豫的報上了我自己的名字。這不僅僅是我對智能車充滿了興趣,更是因為我喜歡“志愿者”這三個字,它不僅僅代表著一種責(zé)任與榮譽,更是體現(xiàn)著我對生活的理念與追求。

      在我心目中,志愿者是一個高大的形象,就像是晨曦中的太陽,蓬勃朝氣而又散發(fā)著無限的魅力,讓人們不由得去親近。以前我竟沒有想過,我也可以成為這位大群體中的一員,在激動的同時,我也察覺到我肩上所擔(dān)的責(zé)任。無論是在制作跑道還是在鋪設(shè)跑道,我無時無刻不在心里懷揣著一份感激與小心,我不希望這次大賽因為我的過失而有任何差池,我所希望的只是能為這次比賽奉獻(xiàn)我微薄的力量,我會因為我的努力而自豪,因為我的汗水而榮耀!

      今年,我校榮幸的承辦了第六屆全國大學(xué)生智能車競賽的任務(wù),作為一名學(xué)習(xí)自動化的大學(xué)生,我覺得這是一次千載難逢的機(jī)會,適逢院內(nèi)正在招收志愿者,我就馬上報了名,沒想到就這樣我榮幸的成為這些優(yōu)秀志愿者中的一員,從此我便開始了我短暫但卻快樂的志愿者時光。

      由于志愿者活動,是在暑期進(jìn)行的,所以我們變比其他人少了許多與家人相聚的機(jī)會,少了許多游山玩水的機(jī)會。但我們收獲的,卻是其他人所欽羨的。

      在剛放假的時候,我們便被留了下來,來進(jìn)行一些簡單跑道的制作,進(jìn)行一些培訓(xùn),以便讓我們制作出更優(yōu)良的賽會跑道。就這樣我被分到了直道組,初聽到直道組,我高興地不得了,以為可以輕松的勝任這項工作。但是,我錯了,到后來慢慢地才發(fā)現(xiàn)知道的工作比別的組別更加的辛苦。不過在這個時候?qū)W長的悉心教導(dǎo)讓我們越來越投入到工作中去。在短短的三天內(nèi)就制作出了大量的跑道,但學(xué)長說這還差得遠(yuǎn)呢,于是我明白了這是多么任重而道遠(yuǎn)的工作啊。

      在家中過得了一月悠閑地時光,我們便整裝待發(fā)回到校園,奔向那個神圣的崗位去了。剛來的那幾天,我們繼續(xù)制作跑道,熟練操作之后,我們便進(jìn)行了大賽預(yù)賽與決賽的跑道制作。比賽的日子越來越近了,在忙完了跑道的制作,我們又開始了迎接參賽選手的服務(wù)工作。比賽進(jìn)行的那幾天里,白天,我們要負(fù)責(zé)引導(dǎo)參賽選手進(jìn)出場地,并在比賽全程中陪伴選手,為他們解決困難,制止他們比賽的完成,周而復(fù)始直到吃飯時間。在晚上,我們便有投入到工作中去,志愿者們耐心的撤去當(dāng)天的跑道,又鋪設(shè)了第二天比賽要用的賽會跑道。比賽那幾天,往往要工作到凌晨兩點左右,更有一些學(xué)長要工作到三點。我們沒有抱怨,仍堅持不懈得完成自己分內(nèi)的每一項工作,看到了大賽的圓滿落幕,我們甚至比獲了獎的比賽選手都要高興。

      時光似乎走的太過焦急,轉(zhuǎn)眼間我就要回到校園生活,結(jié)束這充沛的志愿者歲月。堅持,也許是因為在付出的過程中看到了最純真的笑容;也許是因為彼此間心心相映的一個眼神。雖然,第一天加入這個團(tuán)隊時永不分離決心現(xiàn)在看來是那么幼稚,沙漏容不下我們想做完事;但這已經(jīng)足夠,足夠把我們?nèi)松暮綐?biāo)穩(wěn)穩(wěn)樹起。讓我們駛向遠(yuǎn)方,讓我向夢想馳騁。或許我們每一個人只是一種單調(diào)的色彩,但只要我們緊緊的連在一起,我相信我們可以為彼此繪出燦爛的圖畫。書博會的成功舉辦,讓我們從心里感到自豪。有一天,也許當(dāng)我們會再次相聚,會一同回憶起這段青春的故事。

      不論我們在哪兒、從事何種職業(yè),我想每個中國人都應(yīng)抱著一顆真誠慈愛和博大的心去創(chuàng)造未來,創(chuàng)造美好的明天,而每一名志愿者,不論從事哪種志愿服務(wù),都能讓世界因為志愿者的微笑更加絢麗多彩。

      志愿!是我們永恒的志與愿!

      下載實習(xí)報告——智能車設(shè)計word格式文檔
      下載實習(xí)報告——智能車設(shè)計.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        上屆智能車主持稿

        主持稿男:尊敬各位領(lǐng)導(dǎo),各位來賓! 女:親愛的老師,同學(xué)們!大家 合:上午好! 男:歡迎大家來到我們“飛思卡爾杯”廣東海洋大學(xué)第二屆智能車大賽的比賽現(xiàn)場!大家好,我是主持人煜霖! 女:我是佳......

        智能小車設(shè)計報告

        機(jī)器人控制技術(shù) 實驗設(shè)計報告書 題 目:基于STC89C52的智能小車的設(shè)計 姓 名:李如發(fā) 學(xué) 號:073321032 專 業(yè):電氣工程及其自動化 指導(dǎo)老師:李東京 設(shè)計時間:2010年 6 月 目 錄 1.......

        智能小車設(shè)計報告

        智能小車設(shè)計報告 魏旭峰、孔凡明、陳夢洋 (河北科技大學(xué) 電氣信息學(xué)院 ) 摘要: AT89S52單片機(jī)是一款八位單片機(jī),他的易用性和多功能性受到了廣大使用者的好評。該設(shè)計是結(jié)合......

        智能車攝像頭組技術(shù)報告五篇

        山 東 工 商 學(xué) 院 課程設(shè)計報告 設(shè) 計 題 目:智能車設(shè)計及實驗 所屬課程名稱:智能車設(shè)計及實驗 班 級: 姓 名: 學(xué) 號: 目錄 目錄 ............................................

        北車實習(xí)報告

        北車集團(tuán)參觀實習(xí)報告一、參觀時間:2013年08月20日 二、參觀地點:長春軌道客車股份有限公司 三、參觀目的: ,掌握北車集團(tuán)的相關(guān)資料,了解動車的自動化裝配過程。分析自動化和控......

        車險實習(xí)報告范文合集

        實習(xí)報告 一.實習(xí)地點:中國平安產(chǎn)險天津分公司 二.實習(xí)時間:2012年2月27日—3月25日 三.實習(xí)目的 熟悉及了解查勘與理賠的工作流程,熟悉工作環(huán)境,掌握理賠的相關(guān)知識,達(dá)到理論與實際......

        智能車實驗報告(5篇范例)

        寧波 大學(xué)創(chuàng)新性開放實驗報告 題目 基于光電傳感器得自動尋跡小車 學(xué) 學(xué) 號 號::姓 姓名:專 專業(yè) 業(yè):: 指導(dǎo)教師: 目錄光電感應(yīng)智能車 ............................................

        捷足智能車科技技術(shù)權(quán)威

        最近幾年,輕便時尚的獨輪車走進(jìn)了我們的日常生活,越來越多的時尚達(dá)人腳踏獨輪車,在眾人驚嘆又羨慕的目光中瀟灑駛過,越來越多的人開始擱置笨重的汽車,以駕駛小巧的獨輪車為榮,獨輪......