a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于C8051的大燈儀自動定位系統

基于C8051的大燈儀自動定位系統

作者: 時間:2010-10-21 來源:網絡 收藏

大燈儀是用來檢測前照燈的專用檢測設備,它主要由系統和檢測系統兩大部分組成。在接收檢測指令后,可自動進入被檢前照燈光照區跟蹤光軸,然后自動檢測被檢前照燈發光強度、高度,以及遠、近光的照射方向。并可對四燈制或兩燈制的前照燈進行自動測量。檢測完成后,自動返回初始位置,檢測結果自動送出。
本系統的設計思路為,通過器件將大燈儀在移動過程中處于不同位置時感應到的光強信號經過放大處理,通過適當的控制算法后得到相應的控制信號,再將此控制信號輸出到電機,通過電機將大燈儀定位于恰當的檢測位置,從而完成大燈儀的。該大燈儀硬件結構框圖如圖1所示。

本文引用地址:http://www.j9360.com/article/257907.htm


圖1 大燈儀硬件結構框圖


圖2 環境光補償電路


圖3 光電二極管放大電路

硬件設計

整個系統硬件部分主要包括立柱感光部分、PSD感光部分、直流無刷電機驅動部分、傳感器部分、通訊部分、LED顯示部分和邏輯電路部分,各部分的協調工作和數據傳輸由主微控制器C8051F020來完成。主微控制器是系統的核心,它一方面負責完成大燈儀移動過程中的數據采集和處理,另一方面還要將處理結果傳遞給相應的控制電機以便進行相應的位置調整。因此,對處理器的運行速度和接口功能都有較高的要求。

立柱感光部分

大燈儀的立柱沿垂直于地面的方向上均勻分布有8個光電二極管。大燈儀啟動進入燈照區后,光電二極管將感應到的光照轉換為電信號,然后將這8路電信號經過放大處理后送入C8051F020自帶的ADC進行采樣。C8051F020片內集成了兩個多通道ADC子系統。由于此部分對數據精度要求不高,故選用8位ADC1系統將8路電信號采用單端輸入方式進行轉換。

圖2是環境光電壓補償電路,該電路利用置于環境光下的一個光電二極管根據外界環境光的強弱產生不同的參考電壓Verf,并做為立柱上光電二極管放大電路的反相電壓基準補償。圖3是一對光電二極管的放大電路圖,實際放大倍數根據所使用的光電二極管性能調整R3(R7)和R2(R6)的電阻值即可。

PSD感光部分

PSD傳感器用來完成前照燈中心的精確定位。該傳感器是一種基于橫向光電效應的光電位置敏感元件,當入射光點落在器件感光表面的不同位置時,PSD將對應輸出不同的電信號。通過對輸出信號的處理,即可確定入射光點在PSD器件上的位置。入射光點的強度和尺寸大小與PSD的位置輸出信號無關。同時由于PSD是非分割型元件,對光斑的形狀無嚴格要求,所以可對光斑的位置進行連續測量,從而獲得連續的坐標信號。

前照燈燈光通過大燈儀燈頭的菲涅耳透鏡后投射到燈箱后部的聚光板上,在聚光板的適當位置有一細小孔,光照透過小孔后聚焦為光斑,此光斑照在PSD表面輸出強弱不同的電信號。用運算放大器TLC2272將此4路電信號兩級同相放大后送入12位的ADC0進行轉換。需要注意的是,放大后的電壓值不要超過C8051F020的參考電壓,以免出現電壓飽和的情況。

直流無刷電機驅動部分

控制大燈儀左右及上下的移動是通過驅動兩個直流無刷電機(垂直和水平各一個)來完成的。系統對反饋信號電壓進行周期性采樣,采樣值經過數字信號處理,作為控制器的參數,最后由合適的控制算法得出控制量,并經DAC轉換為直流無刷電機的控制電壓來調節電機的轉速。

傳感器部分

大燈儀采用了增量式光電編碼器作為電機旋轉方向和速度的反饋元件。它是一種通過光電轉換將輸出軸上的機械幾何位移量轉換成脈沖或數字量的傳感器。依靠部件旋轉,用光電編碼器產生電脈沖信號,并送至單片機進行處理。增量式光電編碼器有A、B、Z三相脈沖信號輸出,當正轉時,A相脈沖超前B相脈沖90°(或1/4周期);反轉時,B相脈沖超前A相脈沖90°。本設計中利用A相脈沖觸發外部中斷,然后根據B相脈沖電平的高低來判斷電機的旋轉方向,同時記錄編碼器的脈沖數。

通訊部分

C8051F020有兩個增強型UART串口,其中UART0與PC機的RS-232串口相連,用來接收檢測命令和發送檢測結果 ;UART1與大燈儀檢測裝置的通訊串口相連,根據接收到的PC檢測命令啟動相應的檢測項目,然后將結果返回給主微控制器。

I2C總線LED顯示部分

SAA1064是Philips公司的4位LED驅動器,為雙極型電路,具有I2C接口,專為驅動4位帶有小數點的七段LED顯示器而設計。該器件內部帶有I2C總線從發送接收器,可以通過地址引腳ADR的輸入電平編程為4個不同的從器件地址。在本系統中共使用了兩個SAA1064驅動器。

邏輯電路部分

邏輯電路在單片機系統的設計中不可或缺。一般的邏輯電路都采用了通用邏輯IC(如74系列)來搭建電路,功能越復雜的系統其相應的邏輯電路也越復雜,所需要的邏輯IC也越多。但是如果用可編程邏輯器件來實現的話,只要將邏輯表達式按規定的語法進行描述,經過仿真、編譯等過程,最后下載到可編程邏輯器件中,就可以完成所設計的邏輯功能,從而使得邏輯設計的自由度大大提高。

在本系統中使用了Xilinx公司的CPLD可編程邏輯器件XC9572,該器件內含36個宏單元,并具有1600個邏輯門。開發環境使用的是Xilinx公司的軟件工具包FOUNDATION ISE7.1i。設計過程如下:首先從抽象的角度對電路的功能、接口和總體結構進行描述。接下來使用行為級描述來分析電路的功能、性能、標準兼容性等問題。行為級描述使用了VHDL語言來編寫,分別實現了電機控制模塊、編碼器計數控制模塊和行程限位開關控制模塊的邏輯電路設計。最后通過CPLD譯碼,將命令控制I/O映射到相應的獨立地址。以電機控制模塊為例,兩個電機的使能、剎車、轉向共6個控制量只需對其映射地址的對應位操作即可。

軟件設計

本系統的軟件設計中采用了操作系統。 并選用了最新的KEIL7.50集成開發環境來開發程序。
通過在系統中嵌入,可以把整個程序分成許多任務,每個任務相對獨立,即使一個任務發生問題,也不會影響其他任務的運行。這樣既提高了系統的可靠性,同時也使調試程序變得容易。

任務的創建

根據大燈儀定位過程中不同階段所要實現的目標,軟件設計中劃分了主任務、自動測試任務、位置控制任務、立柱找光任務、PSD找光任務、PC通訊任務、檢測通訊任務、電機制動任務和I2C顯示任務。

每個任務都有自己的名稱、內存空間和優先級。優先級的設置根據不同的系統有不同的設定,本設計中,電機制動任務在系統中起保護設備的作用,如果發生控制失效的情況下不能及時制動電機可能會對大燈儀造成損壞,所以其優先級設為最高; PSD找光任務和立柱找光任務運行較為頻繁,任務執行的好壞直接關系到檢測結果的準確度,優先級分別設為第二級和第三級;其余的任務均是常規運行狀態,只是實現人機交互、顯示狀態和參數,對檢測性能沒有直接影響,優先級的設定沒有嚴格的高低之分,可以隨意設定。

系統運行過程分析

系統運行的首要環節為初始化, 包括兩部分: 第一部分是系統及硬件部分的初始化,創建主任務;第二部分是創建信號量及建立功能任務,并為之分配優先權。

系統初始化后,首先從主任務開始運行,此時各功能任務均處于就緒狀態。上電后檢測人員在PC機上發送檢測指令,此時最先響應的功能任務是PC通訊任務。系統利用中斷接收PC機下達的指令,并根據指令內容發送開始自動檢測的標記量。主任務接收到自動檢測標記后喚醒自動檢測任務,同時發送顯示信號量喚醒I2C顯示任務。進入自動檢測任務后,系統根據檢測的進程在不同的檢測階段調用不同的功能任務。檢測項目完成后,大燈儀自動回到起始位置,等待下一次檢測命令。

結語

本文中的大燈儀自動定位系統充分利用了C8051F020單片機優越性能,使控制系統達到了很好的集成,降低了設計成本。同時實踐表明, 在系統復雜、對實時性和精度要求比較嚴格,并且需要并行處理任務較多的運動控制系統中使用?C/OS-II實時操作系統,會加快嵌入式控制系統的開發速度,降低軟件編寫的復雜度,提高產品的開發效率,并使維護和功能擴展都非常方便。經在山東某汽車檢測站為期半個月的系統實際運行證明,該系統燈光定位準確,響應速度快,運行良好。



評論


相關推薦

技術專區

關閉