《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于AT89S52單片機的無線光電靶控制器的設(shè)計
基于AT89S52單片機的無線光電靶控制器的設(shè)計
摘要: 當操炮手訓(xùn)練中,,瞄準靶標時踩動射擊踏板,,激光器發(fā)出一束激光,,照射在靶標上,,靶標上的光敏元件接收到激光,,由單片機采集光敏元件的信息,,利用無線裝置將信息發(fā)送到光電靶控制器,,由控制器顯示激光照射的位置,,同時用語音報告環(huán)數(shù)和偏離的方向系統(tǒng)圖如圖1所示,。
Abstract:
Key words :

0 引言

      針對部隊瞄準訓(xùn)練的實際需要,,這里研制了一套電路簡單、體積小,、重量輕,、造價低、便于移動和自動報靶的無線光電靶系統(tǒng),較好地解決了日常訓(xùn)練中的問題,。

1 整體設(shè)計
    該無線光電靶系統(tǒng)主要由懸掛于移動裝置上的光電靶,;置于操炮手附近的光電靶控制器;一個固定在炮身上并與炮身同步移動的半導(dǎo)體激光器三部分組成,。
    當操炮手訓(xùn)練中,,瞄準靶標時踩動射擊踏板,激光器發(fā)出一束激光,,照射在靶標上,,靶標上的光敏元件接收到激光,由單片機采集光敏元件的信息,,利用無線裝置將信息發(fā)送到光電靶控制器,,由控制器顯示激光照射的位置,同時用語音報告環(huán)數(shù)和偏離的方向系統(tǒng)圖如圖1所示,。

2 光電靶電路設(shè)計
    從圖1可以看出,,光電靶由單片機、光敏元件陣列,、無線通信模塊和夜間指示燈4部分組成,。


2.1 單片機模塊
    這里采用51系列單片機中的新型號AT89S52,因為這款設(shè)計需要擴展5個8位并行口,,主要考慮其具有比較好的擴展能力,,其他特性無需贅述。
2.2 光電測量模塊的設(shè)計
    光敏元件采用光敏二極管,,在反向電壓作用下,,其電流隨光線強度成正比。將光敏二極管在規(guī)定的范圍內(nèi)(直徑60 mm)形成陣列(按照圓環(huán))排列,,由AT89S52單片機擴展的接口電路對光敏元件的輸出信號進行采集,。
    以前有的方案是利用光纖將采集的激光信號傳導(dǎo)到光敏元件,這里為了降低成本減少體積,,將光敏管直接布置在靶面上,,每個光敏元件由一個遮光管套住,可避免大部分散射光的影響,。光敏電路是光電靶的核心,,也是本設(shè)計的創(chuàng)新之處,其他電路圍繞光敏電路展開設(shè)計,。利用比較器進行光電檢測的模數(shù)轉(zhuǎn)換,,圖2是光敏電路的基本原理圖。其中LM324是運算放大器,,作為比較器使用,,當電壓V2>V1時,,運算放大器正向飽和,輸出電壓V,。接近電源電壓,,稱為高電平1;當電壓V2


    在靶面安排上,,參考光檢測元件放在靶標周圍不遠處,使得其接受的環(huán)境光照條件與光電靶測光元件相同,。當沒有激光照射時,,參考光檢測元件和光電靶測光元件同時受到環(huán)境光線的照射,調(diào)整電位器RV1,,使得V1略大于V2,,運算放大器LM3243的輸出電壓V0為O;當有激光照射到光電靶測光元件的時候,,V2就會大于V1,,使V0為1。當激光照射脫離光電靶的范圍,,哪怕只照射到參考光檢測元件,,運放的輸出始終為0。利用這種方法實現(xiàn)光電信號的采集和A/D轉(zhuǎn)換,,省去了速度慢且價格高的模數(shù)轉(zhuǎn)換器,,電路得到簡化,速度得到提高,,同時也排除了環(huán)境光線的變化的影響,。
    在實際電路中,一個參考光檢測元件為多個光電靶測光元件提供參考電壓,,電路得到進一步簡化,。在這種情況下,要求多個光電靶測光元件的光電特性一致,,或者接近一致,,才不至于出現(xiàn)誤差。經(jīng)過篩選的測光元件完全可以滿足這種要求,。
    實際實驗證明,,在陽光強烈的室外,,只要沒有陽光直射到靶面,就工作正常,;在夜晚星光下(遠處有路燈),,也工作正常。
光敏元件的排列與LED的排列方式基本一致,,不同的地方是,,7環(huán)有16個光敏元件均布,6環(huán)有24個光敏元件均布,。這樣排列的目的是減小各個光敏元件的間距,,以免激光束照射不到。
    利用51系列單片機擴展的多個并行接口來讀取光電靶的信息,,然后進行數(shù)據(jù)處理,,就可以判定激光束所照射的中心點,從而給出射擊成績,。擴展電路使用了數(shù)據(jù)收發(fā)器74HC244和譯碼器74HCl388,。
2.3 無線通信模塊
    光電靶需要接收光電靶控制器發(fā)送來的操作命令,還需要把采集的射擊成績發(fā)送給光電靶控制器,,所以無線模塊需要雙向通信(半雙工),。這里采用市場比較常見的工業(yè)無線通信模塊并加以改造,基本滿足功能需要,,并且成本低廉,。無線通信模塊與單片機的連接利用一個擴展的并行口和幾根控制線。2.4 夜間指示燈
    為了夜間訓(xùn)練方便,,設(shè)計了由發(fā)光二極管組成的靶標指示燈,,在夜間可以打開此指示燈,以便觀瞄,。此指示燈是由靶心燈(內(nèi)燈)和靶周燈(外燈)組成,,可以由光電靶控制器無線控制其開關(guān)。

3 光電靶控制器電路設(shè)計
    從圖1可以看出,,光電靶控制器由單片機,、發(fā)光二極管陣列、無線通信模塊,、激光模塊和語音播放模塊組成,。另外還有用于操作的按鍵。
3.1 單片機電路
    使用的單片機仍然是AT89S52,,擴展5個8位并行口,,其中4個并行口用來控制LED發(fā)光,1個用來連接無線通信模塊,。
3.2 發(fā)光二極管顯示陣列
    由AT89S52單片機擴展的并行口來驅(qū)動發(fā)光二極管(LED)的亮和滅,,用來顯示擊中的位置,。LED的排列方式與光敏元件的排列方式一致,便于指示射擊結(jié)果,,如圖3所示,。



    圖3中,一個最小的圓圈代表一個LED,??梢钥闯觯?0環(huán)只用1個LED,,亮的時候表示擊中10環(huán),;9環(huán)只用4個LED,可以指示上下左右4種偏差,,上邊的LED亮表示9環(huán)偏上等,;8,,7,,6環(huán)都是8個LED,可以表示8種偏差,。
3.3 激光器
    購買市場常見的筆形半導(dǎo)體激光器,。
3.4 無線通信裝置
    購買市場常見的無線收發(fā)器,加以改造以適合與單片機匹配,。光電靶和控制器均為雙向收發(fā)(半雙工),。
3.5 語音電路
    在單片機的控制下播放事先錄制好語音內(nèi)容。

4 光電靶程序設(shè)計
4.1 光電靶的主程序
    整個光電靶的程序由開機自檢,,光信號檢測,,數(shù)據(jù)處理,向控制器發(fā)送檢測結(jié)果,,無線命令接收和執(zhí)行等子程序組成,,由主程序根據(jù)條件調(diào)用子程序。主程序框圖如圖4所示,。


    無線接收利用中斷完成,。每次接收到一個有效的命令,就會將命令保存在一個指定地址,,然后建立一個標志位,,通知主程序。主程序根據(jù)命令內(nèi)容,,調(diào)用相應(yīng)的子程序,,完成命令要求的任務(wù)。中斷服務(wù)程序框圖略,。
4.2 數(shù)據(jù)處理程序
    數(shù)據(jù)處理程序的功能是根據(jù)讀取的光敏檢測數(shù)據(jù),,計算出激光擊中的位置,。
    由于民用激光器的光斑直徑有的比較大,有的比較小,。在幾十米的距離上,,一般光斑直徑在10~30 mm。激光照射靶標,,往往是同時照射幾個光敏元件,,該程序就是要確定光斑的中心位置。
    對照圖3,,假設(shè)光斑中心在10環(huán),,可能被照射光敏元件只有10環(huán)的,也可能還有9環(huán)的4個,,還有可能8環(huán)的8個也被照射等,。要確定10環(huán),除了10環(huán)的光敏元件被照射,,還有9環(huán),、8環(huán)、7環(huán)可能被照射,,并且全環(huán)都被照射,,否則不能確定10環(huán)。
    10環(huán)以外的其他環(huán)數(shù)的確定,,需要根據(jù)光斑照射到的環(huán)數(shù)和區(qū)數(shù)來確定,。環(huán)號,就是10,,9,,8,7,,6環(huán),;環(huán)數(shù)就是光斑照射到的環(huán)有幾個,比如光斑照射到9,,8,,7環(huán),環(huán)數(shù)就是3,。區(qū)號和區(qū)數(shù):正上方為1區(qū),,右上方為2區(qū),按照順時針方向分為8個區(qū),,編號為1~8號區(qū),;光斑照射到3,4,,5,,6區(qū),,則區(qū)數(shù)為4。
    中心環(huán)號計算:首先要根據(jù)所有照射到的環(huán)號計算出環(huán)數(shù),,然后計算出中心環(huán)號,。最大環(huán)號減去環(huán)數(shù)除以2取整,這就是光斑中心的環(huán)號,。取整的目的是小數(shù)的環(huán)數(shù)不好顯示,。如果用數(shù)碼顯示則可以保留小數(shù)。
    中心區(qū)號計算:根據(jù)所照射的所有區(qū)號計算出區(qū)數(shù),,再計算出中間區(qū)號,,就是光斑的中心區(qū)號。這里有一個問題:當被照射的區(qū)號是7,,8,,1,2,,3的時候,,要把最大區(qū)號確定為11,最小區(qū)號確定為7,,再計算出區(qū)數(shù)和中心區(qū)號,。如果計算的中心區(qū)號大于8則減去8才是真正結(jié)果。以區(qū)號是7,,8,1,,2,,3為例:區(qū)數(shù)=11-7+1=5,5/2=2.5,,2.5取整=2,,最大區(qū)號減去區(qū)數(shù)的一半取整,即11-2=9,,由于9大于8,,要減去8,即9-8=1,,這就是中心區(qū)號,,即偏上方。
    中心環(huán)號和區(qū)號確定,,數(shù)據(jù)處理完畢,。
    圖5是8個區(qū)的區(qū)號計算子程序框圖,其他子程序略,。

從圖5中可以看出,,如果原始數(shù)據(jù)的最大區(qū)號不是8,,那就直接計算中心區(qū)號。如果原始數(shù)據(jù)的最大區(qū)號是8,,就要判斷1區(qū)是否有被激光照射,,如果沒有,那就直接計算中心區(qū)號,。如果1區(qū)有激光照射,,最大區(qū)號要加1,然后還要判斷2區(qū),,依此類推,,直到?jīng)]有照射,最大區(qū)號確定,。這里判斷到6區(qū),,已經(jīng)留有余地,實際上不大可能出現(xiàn)這種情況(參照圖3分析),。第一次計算的中心區(qū)號,,還要判斷其值是否大于8,如果大于8還要減1,,得到最終的結(jié)果,。
5 光電靶控制器的程序設(shè)計
    光電靶控制器的程序主要由開機自檢,操作命令的接收和執(zhí)行,,無線數(shù)據(jù)信號的接收和顯示,,聲音的播放控制等幾個部分組成,其主程序的框圖如圖6所示,。

 


    從圖6可以看出,,主程序開機自檢之后,進入主循環(huán),。在主循環(huán)中,,除了按照各種標志位來控制LED的顯示和語音播放之外,就是檢查按鍵,,一旦有鍵盤命令,,立即啟動無線發(fā)送模塊進行發(fā)送。這幾個鍵盤命令都是針對光電靶的命令,,內(nèi)燈命令和外燈命令是對光電靶的夜間指示燈的控制命令,,擊發(fā)命令和重發(fā)命令解釋如下:
    擊發(fā)命令 在操炮手瞄準靶標踩下開炮開關(guān)時,接通激光器電源發(fā)出激光,,并同時產(chǎn)生一個信號給光電靶控制器的單片機,,由單片機通過無線信號傳送給光電靶。光電靶接收到擊發(fā)命令,開始對光敏元件進行掃描,,得到原始數(shù)據(jù),。在對掃描的數(shù)據(jù)處理之后得到激光光斑中心位置的信息,就是環(huán)號和區(qū)號,。光電靶將此環(huán)號和區(qū)號通過無線模塊發(fā)送回光電靶控制器,。光電靶控制器據(jù)此控制LED的顯示和語音播放。
    重發(fā)命令 這個命令是要光電靶將上次擊發(fā)產(chǎn)生的信息重新發(fā)送一次,,以便核對,。
    數(shù)據(jù)的接收每當無線模塊接收到一次有效的信號,就會申請一次中斷,。在中斷服務(wù)程序中讀取接收的數(shù)據(jù),,并保存在一個指定的地址里,以便主程序處理,。數(shù)據(jù)的內(nèi)容是激光光斑中心的環(huán)號和區(qū)號,。中斷服務(wù)程序的框圖如圖7所示。



6 結(jié)語
    利用參考光和比較器進行模數(shù)轉(zhuǎn)換,,電路簡單可靠,,速度快。光敏元件圓環(huán)狀排列,,可以充分利用元件,。利用單片機的程序處理可以很容易得到光斑的中心位置。經(jīng)中國人民解放軍高炮某部使用效果很好,,達到了設(shè)計要求,,解決了動態(tài)靶瞄準的訓(xùn)練問題。而且光電靶重量輕,、移動方便,,很適合各種野外訓(xùn)練需要。如果將激光器安裝在其他槍械上,,還可以用在步兵的射擊訓(xùn)練上。現(xiàn)在正在改進,,準備添加射擊成績統(tǒng)計功能,,在光電靶控制器上加一個數(shù)碼顯示器,實時顯示射擊次數(shù),、總環(huán)數(shù)等,,同時還可以與上位機聯(lián)網(wǎng),便于數(shù)據(jù)的儲存和管理,。

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