【《汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例》5400字】_第1頁
【《汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例》5400字】_第2頁
【《汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例》5400字】_第3頁
【《汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例》5400字】_第4頁
【《汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例》5400字】_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例目錄TOC\o"1-3"\h\u15371汽車前照燈智能控制系統(tǒng)的硬件和軟件設計案例 17293第1章系統(tǒng)硬件設計 1276431.1單片機最小系統(tǒng)的設計 1174591.2電源電路設計 3235231.3電機控制電路設計 557541.4方向盤轉角檢測電路設計 7311561.5車速檢測電路設計 1038921.6USB轉串口 11267751.7復位電路 11185501.8本章小結 1230642第二章系統(tǒng)軟件設計 1311912.1程序整體架構 13143992.2主程序設計 14201582.3初始化模塊設計 16300442.4方向盤轉角采集程序設計 1623992.5車速采集程序設計 1990072.5電機控制程序設計 25第1章系統(tǒng)硬件設計1.1單片機最小系統(tǒng)的設計本文選用STM32F103VET6單片機作為最小控制系統(tǒng)。STM32F103VET6由意法半導體公司在ARMCotex-M3內核基礎上研發(fā),是一款低成本、低功耗、高性能的互聯(lián)型微型單片機集成處理器,其實物如圖4-1所示,其引腳圖如圖4-2所示。圖4-1STM32F103VET6處理器圖4-2STM32F103VET6引腳圖STM32F103VET6具有以下功能:1)32位RISC結構,有很強的運算能力,工作頻率可達72MHz。2)具有很強的抗干擾性,可在-40℃~+85℃范圍內正常工作。3)可在2V~3.6V正常穩(wěn)定工作4)單片機內有豐富的資源,可擴展性強,內部含有I/O口、定時器、比較器及數(shù)模轉換器等。STM32F103VET6外圍電路如下圖4-3所示。圖4-3STM32F103VET6外圍電路1.2電源電路設計本文中應用的單片機系統(tǒng)在3.3V下工作,傳感器在5V下工作,但是在現(xiàn)實情況下,一班是將12V汽車電池作為主電源進行供電,所以無法直接對系統(tǒng)進行供電,需要經(jīng)過變壓電路轉變成其他電壓后再供電。圖4-4為12V電壓轉5V電壓的變壓電路原理圖,圖4-5為5V電壓轉3.3V電壓的變壓電路原理圖。圖4-412V轉5V的電源電路圖12V轉5V電路選用的線性降壓型DC/DC轉換器為三端穩(wěn)壓器件7805,它使用簡便,價格便宜。圖4-55V轉3.3V的電源電路圖當電源的輸出端超過額定負載或短路時,會對電源造成損壞,導致系統(tǒng)不能正常工作。為了防止這種情況發(fā)生,需要有過流保護電路。過流保護電路采用MT9700芯片。MT9700是一款低成本、低功耗的電子負載開關,常用于USB供電控制。MT9700特性參數(shù)如下:(1)工作電壓范圍:2.4V~2.5V(2)內阻:80mR(3)具備過熱保護、限流保護(通過外部電阻設置電流大小)5V過流保護電路如圖4-6所示,3.3V過流保護電路如圖4-7所示。圖4-65V過流保護電路圖4-73.3V過流保護電路圖1.3電機控制電路設計本系統(tǒng)使用兩個舵機帶動兩個前照燈轉動。舵機可以在程序的控制下,在一定范圍內連續(xù)改變輸出軸角度并且可以保持住。舵機主要由以下幾個部分組成:外殼、舵盤、直流電機、減速齒輪組、角度傳感器、控制驅動電路和接口線纜等。常見的舵機內部結構如下圖4-8所示圖4-8舵機內部結構其中角度傳感器負責舵機的位置反饋,直接裝在舵機的主輸出軸上,能夠將主輸出軸旋轉后產生的角度變化變成電壓信號發(fā)送至控制電路;控制驅動電路負責接收外部接口傳來的信號和角度傳感器反饋的電壓值,以及驅動直流電機旋轉;減速齒輪組則是用來降低直流電機的轉速并且放大扭矩。舵機內部的控制驅動電路板從外界接收控制信號,經(jīng)過處理后變成一個直流偏置電壓,在控制板內部有一個基準電壓,這個基準電壓由電位器產生并反饋到控制板。將外部獲得的直流偏置電壓與電位器的電壓進行比較獲得電壓差,并輸出到電機驅動芯片驅動電機,電壓差的符號決定電機的旋轉方向,電壓差的大小決定旋轉的角度,電壓差為0時,電機停止轉動。大致原理框圖如下圖4-9所示。圖4-9舵機工作原理圖舵機的輸入有三根線,一般的中間的紅色線為電源正極,咖啡色線的為電源負極,黃色色線為控制線號線。如下圖所示。圖4-10舵機輸入線舵機的主要組成部分為伺服電機。接受到信號之前,轉子停止不動;接受到信號之后,轉子開始運動。因此可以通過輸入不同的信號來控制舵機的旋轉角度。舵機接收的脈沖信號類型是PWM信號,當信號進入內部電路時,一個偏置電壓產生,驅動電機轉動,電位器被電機通過減速齒輪帶動移動,當電壓差為零時,電機停止轉動,從而達到伺服的效果。通過將一個特定的PWM信號輸入舵機,就可以控制舵機旋轉到一個指定的位置。本文選用的舵機型號為MG996R,這款舵機的規(guī)格如下:?尺寸:40.5*20*41mm?重量:55g?速度:1.8V@0.12±0.01sec/60°——6.0V@0.11±0.01sec/60°?扭力:1.8V@11kg-cm——6.0V@13kg-cm?電壓:1.8V-6V?空載工作電流:220±20mA?堵轉工作電流:2000±30mA?響應脈寬時間5usec?角度偏差:回中差1°,左右各45°誤差3°。?齒輪:5級金屬齒輪組?連接線長度:300mm?接口規(guī)格:JR/FP舵機驅動接口如圖3-7圖4-11舵機驅動接口1.4方向盤轉角檢測電路設計編碼器,是一種用來測量機械旋轉或位移的傳感器。這種傳感器能夠測量機械部件在旋轉或直線運動時的位移位置或速度等信息,并將其轉換成一系列電信號。旋轉編碼器的原理示意圖如下圖4-12所示。旋轉編碼器內部大都由碼盤、光電檢測裝置和信號處理電路等部分構成。碼盤上刻了若干圈線槽,線槽等距并且可透光,當碼盤旋轉時就會周期性的透過和遮擋來自光電檢測裝置的光線,這樣檢測裝置就會周期性的生成若干電信號。但是這些電信號通常比較微弱,需要加入一套處理電路對信號進行放大和整形,最后把信號整形為脈沖信號并向外輸出。圖4-12編碼器原理示意圖本文采用增量式光電編碼器進行方向盤轉向角度的檢測。增量式旋轉編碼器是將設備運動時的位移信息變成連續(xù)的脈沖信號,脈沖的個數(shù)表示位移量的多少。編碼器一般會把這些信號分為通道A和通道B兩組輸出,并且這兩組信號間有90°的相位差。同時采集這兩組信號就可以知道設備的運動和方向。通道Z用來表示編碼器特定的參考位置,傳感器轉一圈Z軸信號才會輸出一個脈沖。碼盤的具體工作方式如下圖所示。圖中黑色代表透光,白色代表遮光。當碼盤轉動時,內圈和外圈的線槽會依次透過光線,光電檢測裝置檢測到光線通斷的變化,就會相應的輸出脈沖信號。圖4-13增量式編碼器碼盤運作方式1圖4-14增量式編碼器碼盤運作方式2圖4-15增量式編碼器碼盤運作方式3當方向盤轉動時,光電編碼器,會產生與轉角相應的相位差為90°的A、B兩路脈沖,當編碼器正轉時,A路信號的相位超前B路信號90°,如圖4-16(a)所示;當編碼器反轉時,A路信號的相位落后B路信號90°,如圖3-16(b)所示。當A相處于上升沿時,判斷B相的高低電平即可判斷編碼器旋轉方向。若B相為低電平,則編碼器正轉;若B相為高電平,則編碼器反轉。圖4-16光電編碼器脈沖圖編碼器接口電路圖如下圖4-17所示。圖4-17編碼器接口本文選用的光電編碼器型號為EPC--755A,這種光電編碼器具有重量輕、體積小、耐碰撞、易安裝等特點,廣泛應用于角度測量、位移測量。1.5車速檢測電路設計圖4-18為霍爾傳感器電路圖。通過對脈沖信號計數(shù)即可判斷出車速,其輸出波形為正弦波,通過LM393集成電路的信號處理之后波形變?yōu)門TL高低電平方波,該波形可以直接接入單片機。本文采用的ES3144霍爾元件基于半導體工藝設計和生產,內部集成霍爾效應片、電壓調節(jié)口、反向電壓保護器、信號放大、并集電極輸出三極管。ES3144采用集電極開路,能更加靈活地連接各種電路。ES3144霍爾傳感器有以下特性:(1)內部自帶反向電壓保護功能(2)可在1.5V~24V電壓范圍內工作(3)靈敏度高,響應快(4)可在-25℃到85℃溫度范圍內工作(5)抗靜電能力5KV圖4-18車速傳感器及其輸出接口圖1.6USB轉串口CH340G是一個USB總線的轉接芯片,實現(xiàn)USB轉串口。其電路原理圖如圖4-19所示。圖4-19USB轉串口1.7復位電路復位電路是確保\t"/item/%E5%A4%8D%E4%BD%8D%E7%94%B5%E8%B7%AF/_blank"單片機系統(tǒng)中電路能夠正常穩(wěn)定工作的必要條件。復位電路的作用是控制CPU的復位狀態(tài):在上電或復位過程中,讓CPU在這段時間內保持復位狀態(tài),防止CPU發(fā)出錯誤指令、執(zhí)行錯誤操作,同時可以提高電磁兼容性能。電路原理圖如下圖4-20所示。圖4-20復位電路1.8本章小結本章主要介紹了系統(tǒng)的硬件設計部分。完成了單片機選型STM32F103VET6。設計了電源電路及過流保護電路。執(zhí)行機構選擇舵機并介紹了其結構及工作原理。確定了方向盤轉角采集及車速采集的傳感器型號并繪制了電路原理圖。第二章系統(tǒng)軟件設計2.1程序整體架構本文設計的自適應前照燈系統(tǒng)要實現(xiàn)的功能有以下幾點:(1)獲取外部行車路況(2)根據(jù)行車路況,調節(jié)前照燈偏角整個控制系統(tǒng)的功能框圖4-1:圖5-1系統(tǒng)功能框圖程序整體加工包括主函數(shù)、系統(tǒng)初始化設置(包括硬件IO口設置、輸入口設置和輸出口設置)以及主程序定時器設置。汽車的控制系統(tǒng)在上點之后初始化程序,并設置軟硬件系統(tǒng)的初始參數(shù),將各功能模塊進行復位清零,監(jiān)測硬件是否在位,之后進入主函數(shù)開始工作。本文用到的定時器及單片機引腳如下表5-1所示:表5-1單片機引腳引腳PA0PA1PA6PA8PB4PB5定時器TIM5_CH1TIM5_CH2TIM3_CH1TIM1_CH1TIM6_CH1TIM6_CH2接口編碼器A相編碼器B相編碼器Z相車速傳感器舵機1舵機22.2主程序設計在本系統(tǒng)中,主程序包括系統(tǒng)初始化子程序、方向盤轉動角度采集子程序、汽車速度采集子程序、電機控制子程序。系統(tǒng)的主程序流程圖如圖5-2所示。圖5-2主程序流程圖主程序的控制流程為初始化程序,并設置軟硬件系統(tǒng)的初始參數(shù),將各功能模塊進行復位清零,監(jiān)測硬件是否在位,之后進入主函數(shù)開始工作。首先傳感器采集車速和方向盤轉角,系統(tǒng)根據(jù)角度算法計算出所需轉角,將轉角數(shù)據(jù)轉換為相應脈沖寬度的PWM信號輸入轉向執(zhí)行機構控制前照燈轉向。本文設計的程序是通過定時器定時來進行循環(huán),主循環(huán)時間設置為30ms。本文采用基本定時器TIM6來實現(xiàn)定時。宏定義如下:把定時器設置自動重裝載寄存器ARR的值為1000,設置時鐘預分頻器為71,則驅動計數(shù)器的時鐘:CK_CNT=CK_INT/(71+1)=1M,則計數(shù)器計數(shù)一次的時間等于:1/CK_CNT=1us,當計數(shù)器計數(shù)到ARR的值1000時,產生一次中斷,則中斷一次的時間為:1/CK_CNT*ARR=1ms?;径〞r器模式配置如下:定時器中斷一次的時間是1ms,定義一個全局變量time,每當進一次中斷的時候,讓time來記錄進入中斷的次數(shù)。要實現(xiàn)一個30ms的定時,只需要判斷time是否等于30即可然后把time清0,重新計數(shù),以此循環(huán)往復。2.3初始化模塊設計初始化程序設計就是對各寄存器進行清零、復位以及設置系統(tǒng)初始狀態(tài)的參數(shù),并對系統(tǒng)中軟件與硬件的初始狀態(tài)進行設置。初始化程序是為了確保各個模塊軟件程序能夠正常運行,確保能夠準確配置與調用單片機各個模塊,確保主程序能夠正常運行。2.4方向盤轉角采集程序設計當轉動方向盤時,光電編碼器便會發(fā)出A、B兩路相位差為90度的數(shù)字脈沖信號。如下圖5-3所示。圖5-3編碼器輸出信號由圖中可看出編碼器正轉時,A相超前B相90°,在A相脈沖的上升沿處,B相為低電平;在編碼器反轉時,B相超前A相90°,在A相脈沖的上升沿處,B相為高電平。通過檢測A相上升沿時B相的高低電平就可判斷編碼器的旋轉方向。本系統(tǒng)將編碼器A相脈沖接入單片機PA0,B相接入PA1,Z相接入PA6。把外部中斷設置為A相上升沿觸發(fā),當主控制器捕獲到A相上升沿時,進入中斷服務程序,判斷B相脈沖是高電平還是低電平,若B相為低電平,則判斷編碼器為正轉,使脈沖計數(shù)加1;若B相為高電平,則判斷編碼器為反轉,使脈沖計數(shù)減1。然后根據(jù)脈沖計數(shù)和符號得出旋轉角度和方向。符號為正,為正轉,符號為負,為反轉。若方向盤旋轉一周編碼器產生的脈沖個數(shù)為N,采集到的脈沖個數(shù)為n,則方向盤轉角得到計算公式為。Z相的復位條件為當前轉角小于90°且Z相有上升沿。圖4-3方向盤轉角采集流程圖方向盤轉角采集采用脈寬測量輸入捕獲。選擇編碼器接口模式:計數(shù)器只在TI1邊沿計數(shù),置SMS=010。高級定時器宏定義:中斷服務函數(shù):捕捉邊沿配置為上升沿。當?shù)谝淮尾东@到上升沿,把計數(shù)器清0,開始計數(shù),同時把捕獲邊沿改成下降沿捕獲。當再一次捕獲到上升沿,計數(shù)器計數(shù)加1。計時周期過后,讀取寄存器的值即可得出脈沖個數(shù)。2.5車速采集程序設計當車輪轉動時,霍爾傳感器會產生如圖4-4的脈沖信號。對這些脈沖信號進行計數(shù),同時用單片機進行計時。車速采集流程如圖4-5所示。圖4-4傳感器輸出信號傳感器無脈沖信號時為低電平輸出,若檢測到一個脈沖信號代表汽車車輪轉動一周,在主控制器的一個計數(shù)周期內,檢測到的傳感器輸出的脈沖數(shù)量為N,則說明汽車車輪轉動N轉,已知汽車車輪半徑為R,則汽車車輪轉動一圈的時候汽車前進的距離為:S=2(4-1)在一個計數(shù)周期內汽車轉動N轉,則前進距離為:S=2N(4-2)根據(jù)以上數(shù)據(jù)即可計算出汽車的速度為:v=(4-3)式中,N表示單位時間內采集到的脈沖數(shù);R表示車輪半徑;T表示采樣周期;Z表示齒輪的齒數(shù);i表示主傳動比。圖4-5車速采集流程圖車速采集子程序采用高級定時器PWM輸入捕獲功能。高級定時器宏定義如下:在上面的宏定義里面,可以算出計數(shù)器的計數(shù)周期為T=72M/(1000*72)=1MS,即定時器在不溢出的情況下的最大計數(shù)周期,也就是說可以捕獲到周期小于1ms的PWM信號,能捕獲到的最小的頻率為1KHZ。PWM輸入模式:由于是PWM輸入模式,只能使用通道1和通道2,假如使用的是通道1,即TI1,輸入的PWM信號會被分成兩路,分別是TI1FP1和TI1FP2,兩路都可以是觸發(fā)信號。若選擇TI1FP1為觸發(fā)信號,那么IC1捕獲到的是PWM信號的周期,IC2捕獲到的是占空比,輸入捕獲結構體的TIM_ICSelection要配置為TIM_ICSelection_DirectTI。如果選擇TI1FP2為觸發(fā)信號,則IC

溫馨提示

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

評論

0/150

提交評論