電動車蹺蹺板終結版_第1頁
電動車蹺蹺板終結版_第2頁
電動車蹺蹺板終結版_第3頁
電動車蹺蹺板終結版_第4頁
電動車蹺蹺板終結版_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、電動車翹翹板總結報告學校: 組員: 摘要 本系統采用一個能實時測量角度的角度傳感器,采用STC12C5A作為主控芯片,外加四路循跡傳感器,完成了規定時間內定點停車、保持平衡,倒車至指定位置、能夠沿直線行進,指示小車平衡,顯示達到平衡的時間,顯示總行駛時間等基本的功能,并能基本完成在蹺蹺板有配重的情況下的基本動作。關鍵詞單片機STC12C5A,角度傳感器MMA8452,L293D電機驅動,四路循跡傳感器一:方案論證與比較1. 微機控制模塊方案一:采用STM8S208C8單片機,本開發板采用ST公司8位單片機STM8S208CB,原理圖簡單,外部IO口較多,是一款簡單實用高性價比的入門級開發板。方

2、案二:采用STC12C5A單片機,該芯片由宏晶科技生產的單時鐘/機器周期(IT)的單片機,是高速/低功耗的超強抗干擾的新一代的8051單片機,指令代碼完全兼容傳統的51單片機,但速度快8-10倍,內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換,針對電機控制和強干擾。因此,我們采用較為熟悉的STC12C5A單片機,并且它是1T的高速單片機,運算速度完全適合角度傳感器,所以我們選擇方案二2. 車架模塊方案一:自己制作車架,采用鋁板,通用板,木板搭構,結構靈活,能很好的裝相應的傳感器方案二:自行購買車架,這種車架結構牢固,價格低廉,車架上較多的孔,能夠用來裝傳感器和電機因此,

3、我們采用方案二,節省制作時間,提高工作效率3. 電機模塊方案一:采用步進電機,步進電機有較大的扭矩,能通過單片機產生準確的步幅,能夠讓小車移動較小的距離方案二:采用直流電機,直流電機驅動簡單,有較高的轉速和扭矩由于步進電機的價格較高,編程麻煩,且在這個項目中對電機的要求不高,直流電機能滿足要求,因此,我們采用方案二4. 角度傳感器模塊方案一:采用專用的平衡傳感器傾角傳感器。傾角傳感器經常用于系統的水平測量,從工作原理上可分為“固體擺”式、“液體擺”式、“氣體擺”三種傾角傳感器,傾角傳感器是通過測量靜態重力加速度的變化,轉換成傾角變化。測量輸出傳感器相對于水平面的傾角和俯仰角度,角度響應速度最快

4、5次/秒。具有5階濾波。精度高響應速度快。方案二:采用水銀開關探測蹺蹺板平衡度,其原理是蹺板左偏水銀開關電路導通,右偏水銀開關斷開電路不通,這樣控制電動車在平衡點小角度來回擺動來使蹺蹺板動態平衡,此方案測量靈敏、安裝簡單而且成本很低。考慮測量數據的準確性,我們采用方案一,在淘寶上購買了角度傳感器MMA84525. 顯示模塊方案一:采用12864液晶顯示,12864不僅能顯示數字、符號,還能顯示漢字與圖形,操作方法與其他液晶顯示相似方案二:采用1602液晶顯示,1602體積小,能顯示字母、數字、符號,相比與12864顯示的內容較少由于我們只需要顯示電動車行駛的全部時間,已平衡的信號標志,相對顯示

5、內容較少,且考慮到屏幕的大小,因此,我們采用方案二6. 電機驅動模塊我們直接采用L293D電機驅動電路,L293D是一個具有高電壓大電流的全橋驅動芯片,它響應頻率高,功耗大。因此我們選用L293D作為步進電機的驅動,而且還帶有控制使能端。用該芯片作為電機驅動,操作方便,穩定性好,性能優良。二:系統原理圖 電動蹺蹺板采用STC12C5A單片機進行智能控制。開始由手動啟動小車,并復位,當經過規定的起始黑線,紅外光電傳感器檢測,通過單片機控制小車開始避障、調速;在電動車進駛過程中,采用雙極式H型PWM脈寬調制技術,以提高系統的靜動態性能;前進開始系統原理圖如下圖:LCD初始化開始計時是否到達B端尋黑

6、線停止 延時 ms顯示時間 延遲5S讀取角度值后退小車前進判斷是否平衡否是否到達A小車后退否是停止液晶顯示平衡 延時5S停止檢測哪個對管為高電平尋線轉向模塊設計系統初始化否前進向右轉左邊 否 否判斷傳感器是否檢測白線 是向左轉檢測兩邊是否為白線 是 前進是三:硬件設計電路1. 循跡模塊的電路設計由紅外發射管發射信號,當信號遇到反射后,黑色接受管接到信號,此時三極管截至,輸出低電平,發光二極管亮;當信號沒有被發射時,黑色管接收不到信號,此時三極管導通,輸出高電平,發光二極管滅電路圖如下:我們在電動車的前后各裝了兩個光電傳感器,在往前行駛的過程中,車前面的兩個光電傳感器工作。小車向右行駛時,左邊的

7、檢測到黑線,輸出高電平,單片機接受到信號,控制左邊的電機減速,左右兩邊有一定的速差,從而實現小車的尋線。我們在蹺蹺板的前端和末端貼了兩條黑線,當小車行兩邊的傳感器全部檢測到末端的黑線,說明已到達終點,停止5s,5s后小車啟動返回,當同時檢測到起點的黑線時,小車停止,整個行駛過程結束2. 電機驅動電路設計驅動電路如下:L293D四倍高電流H橋驅動程序。 L293D提供雙向驅動電流高達600毫安,電壓是從4.5 V至36 V的。該設備是專為驅動等感性負載繼電器,電磁閥,直流雙極步進和馬達,也可以給其他高電流/高電壓提供電源負載。其中,我們采用兩塊L293D芯片實現四輪

8、驅動,每個電機的INX1,INX2接單-片機,OUT分別接電機的正負極,利用單片機的控制來實現小車的前進、后退與拐彎。3.液晶顯示模塊液晶電路結構如 第一行將顯示小車第一階段、總過程的時間,第二行將會顯示小車平衡的標志4. 電壓轉化模塊電路圖如下: 5V轉3VLM317是應用最為廣泛的電源集成電路之一,它不僅具有固定式三端穩壓電路的最簡單形式,又具備輸出電壓可調的特點。此外,還具有調壓范圍寬、穩壓性能好、噪聲低、紋波抑制比高等優點。lm317是可調節3端正電壓穩壓器,在輸出電壓范圍1.2伏到37伏時能夠提供超過1.5安的電流,此穩壓器非常易于使用。 我們只要調節R2的阻值就能達到想要的電壓3.

9、3V。5. 角度傳感器模塊MMA8452內部測的是X,Y,Z軸的加速度,通過單片機讀取到三個值,通過反正切arctan運算出角度值。因為這是經過運算得到的有較大的誤差,尤其在有外部抖動的情況下,因此我們只是用一個粗略的范圍來判斷小車是否平衡。計算公式為:a=(Vout-Voff)/sensitivity; 角度=arcsin(a);蹺蹺板長約1600mm,高約70mm,理論的傾角為5度左右,平衡時傾角為0度,因此我們只要求當小車測的角度在-3至3即可認為平衡四:軟件設計系統軟件設計說明在進行微機控制系統設計時,除了系統硬件設計外,大量的工作就是如何根據每個生產對象的實際需要設計應用程序。因此,

10、軟件設計在微機控制系統設計中占重要地位。對于本系統,軟件更為重要。在單片機控制系統中,大體上可分為數據處理、過程控制兩個基本類型。數據處理包括:數據的采集、數字濾波、標度變換等。過程控制程序主要是使單片機按一定的方法進行計算,然后再輸出,以便控制生產。為了完成上述任務,在進行軟件設計時,通常把整個過程分成若干個部分,每一部分叫做一個模塊。所謂“模塊”,實質上就是所完成一定功能,相對獨立的程序段,這種程序設計方法叫模塊程序設計法。模塊程序設計法的主要優點是:1、 單個模塊比起一個完整的程序易編寫及調試;2、 模塊可以共存,一個模塊可以被多個任務在不同條件下調用;3、 模塊程序允許設計者分割任務和

11、利用已有程序,為設計者提供方便。本系統軟件采用模塊化結構,由主程序定時子程序、角度子程序中斷子程序、顯示子程序調速子程序轉向子程序構成。具體程序見附錄五:系統調試與測試1. 模式選擇模塊模式一:(按鍵P30)當按下按鍵時,小車將直接進行尋線,在延時一段時間之后,關閉尋線,開啟測角度功能,當現角度大于給定的范圍時,小車向前行駛一段時間,并向后行駛一段距離,以一進一退的方式前進;當角度小于規定的角度時,小車以一退一進的方式前進,直至小車達到平衡模式二:(按鍵P31)(在蹺蹺板有配重的情況下)當按下按鍵時,小車會在蹺蹺板之外30厘米處的任意處開始尋線,當車前的兩個光電管都接受不到信號時,延時,小車開

12、始尋線。我們在蹺蹺板的一段端貼了一條黑膠布,當檢測到黑線時,小車開啟角度測量,開始尋找平衡點,尋平衡的方式與模式一相同。2. 平衡顯示模塊我們首先采用的是小車每步以很小的距離前進,并延時一段時間,再檢測小車是否平衡。如果不平衡的話,小車就繼續前進或后退。但經過幾天的嘗試,我們發現小車的重量較輕,木板較重,當小車到達平衡點時,木板仍處于上翹狀態,只有當小車再往前幾厘米時,有一定的力矩時,木板才會移動,但此時小車已經過平衡點。小車將會進入死循環,很難找出平衡點。我們后來選用了兩個方案:方案一:增大中心軸直徑,用以增大摩擦力;當摩擦力增大時,能夠較好的緩沖木板下落時的速度,能夠很好的削弱下降時的慣性

13、,后經我們實驗,增大中心軸直徑能更加容易找到平衡點方案二:小車以一進一退的方式前進或后退,我們采用這種方式行進的距離也很小,大約在1cm左右,但這方法的好處在于當小車快平衡時,小車前進的距離已超過平衡點,此時木板有向下的趨勢,在前進一段距離之后,小車馬上往后移動一定的距離,此時總的移動距離較小,但在小車后退的過程中,木板又往后壓。通過這個過程能使木板翹起,這樣小車能比較簡單的完成動作。后經過小組討論,我們認為加粗中心軸直徑效果雖好,但有投機取巧的嫌疑,方案二能通過簡單的延時函數就能實現小車的前進和后退,遂我們采用方案二根據題目要求計算得木板的最大傾角在5度左右,但在我們實際用傳感器測得最大傾角

14、在10度左右,經過我們幾天的調試,當角度在-6到6時我們即認為小車達到平衡,此時平衡效果較好,能達到題目要求3:供電模塊L293D電機驅動電路能輸出最大峰值為1A的電流,在調試的過程,我們采用了多種電源,包括1.5V的干電池,8V的充電鋰電池,和數控直流穩壓電源。由于8V的鋰電池輸出電壓較高,電機的轉速較高,很難實現電機的控制,這樣會導致小車在行駛的過程中不穩定,不利于尋找平衡點,在提高電壓的同時會出現電機轉速不一樣的情況;采用數控直流穩壓電源雖然能輸出0250v的電壓,但必須連上電源線,比較麻煩,有時會因為操作不當導致輸出電壓過高,損害儀器;干電池采用串聯的形式,電壓能達到6v左右,經過長時

15、間使用,壓降不會有太大的變化。因此,我們采用4節電池串聯供電五:參考文獻1. 黃根春等編著全國大學生電子設計競賽教程基于TI器件設計方法 電子工業出版社2. 趙建領編著 51系列單片機開發寶典 電子工業出版社3. 張毅剛,彭喜元,新編MCS-51單片機應用設計,第一版 哈爾濱工業大學出版社4. 趙負圖,傳感器集成電路手冊 第一版 化學工業出版社 2004 590591六:附錄1.尋線程序if(xunxian0!=0|xunxian1!=0)stop();DelayMs(1000);break; while(1) if(xunxian0=0&&xunxian1!=0) speed

16、0=90; speed1=7; goright(); if(xunxian0!=0&&xunxian1=0) speed0=7; speed1=90; goleft(); if(xunxian0=0&&xunxian1=0) speed0=speed1=25; go(); if(xunxian0!=0&&xunxian1!=0) DelayMs(300);break;break;2. 角度測量程序 stop(); Multiple_Read_MMA8452(); display_x() RX_DATA=0; DelayMs(430); if(te

17、mpx>=jiaodu) DelayMs(100); if(tempx>=jiaodu) DelayMs(100); if(tempx>=jiaodu) if(tempx<6)speed0=speed1=20;DelayMs(20); else speed0=10; speed1=10; goback(); DelayMs(120); stop(); go(); DelayMs(65); stop(); DelayMs(50); LCD_Write_String(0,1," "); stop(); Multiple_Read_MMA8452(); d

18、isplay_x(); RX_DATA=0; DelayMs(430); if(tempx>=jiaodu) DelayMs(100); if(tempx>=jiaodu) DelayMs(100); if(tempx>=jiaodu) if(tempx<6)speed0=speed1=20;DelayMs(20); else speed0=10; speed1=10; goback(); DelayMs(120); stop(); go(); DelayMs(65); stop(); DelayMs(50); LCD_Write_String(0,1," "); stop(); Multiple_Read_MMA8452();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論