基于C8051F020的大燈儀自動定位系統
發布時間:2007/4/23 0:00:00 訪問次數:407
摘要:本文介紹了一種基于C8051F020單片機的大燈儀自動定位系統方案。詳細地描述了該系統的硬件設計,同時也闡述了基于C/OS-II實時操作系統的軟件設計。在實際應用中該系統運行良好。
關鍵詞:大燈儀; C8051F020;自動
大燈儀是用來檢測前照燈的專用檢測設備,它主要由自動定位系統和檢測系統兩大部分組成。在接收檢測指令后,可自動進入被檢前照燈光照區跟蹤光軸,然后自動檢測被檢前照燈發光強度、高度,以及遠、近光的照射方向。并可對四燈制或兩燈制的前照燈進行自動測量。檢測完成后,自動返回初始位置,檢測結果自動送出。
本系統的設計思路為,通過光線感應器件將大燈儀在移動過程中處于不同位置時感應到的光強信號經過放大處理,通過適當的控制算法后得到相應的控制信號,再將此控制信號輸出到電機,通過電機將大燈儀定位于恰當的檢測位置,從而完成大燈儀的自動定位。該大燈儀硬件結構框圖如圖1所示。
圖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串口相連,用來接收檢測命令和發
摘要:本文介紹了一種基于C8051F020單片機的大燈儀自動定位系統方案。詳細地描述了該系統的硬件設計,同時也闡述了基于C/OS-II實時操作系統的軟件設計。在實際應用中該系統運行良好。
關鍵詞:大燈儀; C8051F020;自動
大燈儀是用來檢測前照燈的專用檢測設備,它主要由自動定位系統和檢測系統兩大部分組成。在接收檢測指令后,可自動進入被檢前照燈光照區跟蹤光軸,然后自動檢測被檢前照燈發光強度、高度,以及遠、近光的照射方向。并可對四燈制或兩燈制的前照燈進行自動測量。檢測完成后,自動返回初始位置,檢測結果自動送出。
本系統的設計思路為,通過光線感應器件將大燈儀在移動過程中處于不同位置時感應到的光強信號經過放大處理,通過適當的控制算法后得到相應的控制信號,再將此控制信號輸出到電機,通過電機將大燈儀定位于恰當的檢測位置,從而完成大燈儀的自動定位。該大燈儀硬件結構框圖如圖1所示。
圖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串口相連,用來接收檢測命令和發