《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于C8051的大燈儀自動定位系統(tǒng)
NI-LabVIEW 2025
基于C8051的大燈儀自動定位系統(tǒng)
摘要: 本系統(tǒng)的設計思路為,通過光線感應器件將大燈儀在移動過程中處于不同位置時感應到的光強信號經(jīng)過放大處理,通過適當?shù)目刂扑惴ê蟮玫较鄳目刂菩盘?再將此控制信號輸出到電機,通過電機將大燈儀定位于恰當?shù)臋z測位置,從而完成大燈儀的自動定位。
Abstract:
Key words :

     大燈儀是用來檢測前照燈的專用檢測設備,它主要由自動定位系統(tǒng)和檢測系統(tǒng)兩大部分組成。在接收檢測指令后,可自動進入被檢前照燈光照區(qū)跟蹤光軸,然后自動檢測被檢前照燈發(fā)光強度、高度,以及遠、近光的照射方向。并可對四燈制或兩燈制的前照燈進行自動測量。檢測完成后,自動返回初始位置,檢測結果自動送出。
     本系統(tǒng)的設計思路為,通過光線感應器件將大燈儀在移動過程中處于不同位置時感應到的光強信號經(jīng)過放大處理,通過適當?shù)目刂扑惴ê蟮玫较鄳目刂菩盘?再將此控制信號輸出到電機,通過電機將大燈儀定位于恰當?shù)臋z測位置,從而完成大燈儀的自動定位。該大燈儀硬件結構框圖如圖1所示。 


圖1 大燈儀硬件結構框圖

  


圖2 環(huán)境光補償電路

  


圖3 光電二極管放大電路


硬件設計

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

立柱感光部分

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

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

PSD感光部分

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

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

直流無刷電機驅(qū)動部分

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

傳感器部分

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

通訊部分

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

I2C總線LED顯示部分

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

邏輯電路部分

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

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

軟件設計

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

任務的創(chuàng)建

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

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

系統(tǒng)運行過程分析

     系統(tǒng)運行的首要環(huán)節(jié)為初始化, 包括兩部分: 第一部分是系統(tǒng)及硬件部分的初始化,創(chuàng)建主任務;第二部分是創(chuàng)建信號量及建立功能任務,并為之分配優(yōu)先權。

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

結語

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。