<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 汽車電子 > 設計應用 > 智能型隨機檢測客車超載系統(tǒng)

          智能型隨機檢測客車超載系統(tǒng)

          作者: 時間:2012-03-27 來源:網(wǎng)絡 收藏

          目前客車超載運行是交通控制中要解決的首要問題。本設計可通過行政干預等手段,應用在客車超載的檢查之中,方便了交警的工作[1]。

          本文引用地址:http://www.ex-cimer.com/article/197064.htm

          設計通過單片機和傳感器的組合電路實現(xiàn)對客車超載的檢查和控制。該檢測能夠自動檢查車輛內(nèi)乘客數(shù)目并顯示出來,當車內(nèi)人員超載時,發(fā)出語音提示,并自動關閉汽車啟動裝置,使之無法運行,保障了行車安全。

          1 組成

          系統(tǒng)組成框圖如圖1所示。

          11.jpg

          2 系統(tǒng)原理分析

          本設計充分利用PIC16F877單片機的易編程和驅(qū)動能力強等特點[2],通過查詢指令產(chǎn)生中斷實現(xiàn)系統(tǒng)的顯示、語音報警和汽車發(fā)動機鎖定等功能。

          2.1 傳感器檢測和信號放大濾波部分的設計

          該部分的設計采用了兩個反射式光電眼,安裝在客車的車門處適當位置,根據(jù)乘客經(jīng)過車門時遮擋兩個電子眼發(fā)出的紅外光的不同時序,通過單片機判別乘客是上車還是下車。該部分的硬件電路設計總體電路圖如圖2所示。

          22.jpg

          在圖2的電路中,F(xiàn)1A~F4A是用CMOS集成的六反相放大器CD4069組成的放大濾波部分電路;ICA是CD4013構(gòu)成的CMOS雙D觸發(fā)器,Y1A、Y2A是CD4081四個2輸入端與門,這兩部分與4069輸出的兩路傳感器檢測信號進行邏輯運算,最后在Y1A和Y2A的輸出端輸出合適的電平信號,分別送至PIC單片機的T0CKI腳和T1CKI腳(即計數(shù)器0和計數(shù)器1的時鐘輸入端)。

          兩個傳感器的安裝位置之間要有一定的距離(30cm~50cm之間),當無人經(jīng)過傳感器時(以下用E1和E2表示傳感器),紅外二極管發(fā)出的紅外光照射不到光電三極管上,送給單片機的信號一直是不變的低電平,系統(tǒng)不會計數(shù)。當有人上車時,先遮擋住E1,則E1的紅外二極管發(fā)出的光照射在人身上,反射到受光三極管上,電路中的A1點產(chǎn)生一個高電平信號,經(jīng)過放大濾波、邏輯運算最后在A3端輸出一個低電平信號。隨后人體全部遮擋E1和E2,然后是離開E1遮擋住E2,最后離開。由此類推在整個上車的過程中A3點的電平是高低變化的,即一個上車脈沖信號,送至PIC單片機的STATUS寄存器進行加計數(shù),而此時B3點的輸出狀態(tài)是不變的。具體的檢測方法和脈沖產(chǎn)生時序如圖3所示。

          33.jpg

          當人下車時則是把這個遮擋順序反過來,B3點產(chǎn)生的脈沖時序是相反的,信號送至PIC單片機的STATUS寄存器進行減計數(shù),單片機即可通過程序模擬把車廂內(nèi)實際人數(shù)計算出來并存儲在寄存器中。

          2.2 顯示部分的設計

          由于PIC16F877單片機的I/O口驅(qū)動能力較強,所以顯示部分的電路采用PIC16F877單片機直接驅(qū)動兩位共陽極LED數(shù)碼管的方式[3]。

          RC6和RC7端口分別控制數(shù)碼管的十位和個位的供電,當相應的端口變成低電平時,驅(qū)動相應的三極管會導通,+5V通過IN4148二極管和驅(qū)動三極管給數(shù)碼管相應的位供電,這時只要RB7口送出數(shù)字的顯示代碼,數(shù)碼管就能正常顯示數(shù)字。

          2.3 語音報警部分的設計

          該部分主要采用美國華邦公司10分鐘規(guī)格的ISD4004語音芯片,由PIC16F877 SPI模塊的RC3、RC5端口直接驅(qū)動,電路簡單、不怕掉電、發(fā)音清晰、存儲量大、編程方便,可以適應客車上的環(huán)境。

          由于ISD使用的是3V電源,而PIC使用的是5V電源,因此電路設計中,在單片機的I/O口輸出時,采用了先串接10kΩ電阻再接到ISD的SPI口的方式;而MIS0口是由ISD輸出、PIC16F877輸入的,為了使PIC16F877能準確識別其電平,電路設計中在MIS0腳加了一只NPN三極管接成的反相器,向PIC16F877的MIS0性質(zhì)的RC4腳提供足夠電壓,所以在程序中應該把MIS0的所有讀入信號取反。

          為了方便語音錄入,在ISD4004的17腳加了一個麥克風,由于語音芯片自身的采樣頻率較高,所以不需要另外接AGC電路,就可以錄入較為清晰的語音。

          ISD4004的語音輸出經(jīng)電容耦合濾波后,接至音頻功率放大器芯片TDA2822放大就由揚聲器播放出來。

          2.4 發(fā)動機鎖定部分的電路設計

          因為客車發(fā)動機采用的是汽油機,汽油機的燃燒方式是靠火花塞點燃式,而火花塞的跳火是由于安裝在分電器中的信號發(fā)生器發(fā)出信號,點火模塊依據(jù)收到的信號發(fā)生器的信號來接通和切斷點火系的初級電路,點火系的次級電路感應初級電路電壓的變化而產(chǎn)生高壓點火。因此,對于汽油發(fā)動機只要執(zhí)行電路切斷點火電路的低壓電路,高壓電路就不會感應出電火花來點燃混和氣了。

          本設計中,根據(jù)PIC16F877單片機檢測到的是否超載的信號,在I/O口輸出一個高或低電平信號,放大后驅(qū)動電磁閥的開閉來控制點火電路的低壓電路。

          3 軟件設計

          3.1 計數(shù)功能程序?qū)崿F(xiàn)

          該部分程序的主要功能是將傳感器檢測到的兩路上下車信號送至PIC單片機的STATUS寄存器以進行加減計數(shù),將實時的數(shù)據(jù)和預置在W寄存器的上限人數(shù)(如50人)循環(huán)不間斷地進行查詢比較,一旦等于50則產(chǎn)生中斷控制語音芯片進行語音報警,大于50則執(zhí)行發(fā)動機鎖定電路。

          3.2 LED顯示部分的程序?qū)崿F(xiàn)

          該部分程序的主要功能是對單片機的顯示控制位進行查詢并查表,使數(shù)碼管的高位和低位能不斷刷新,達到實時顯示客車上人數(shù)的目的。

          3.3 語音部分的軟件控制程序設計

          該部分程序的主要功能是不斷地查詢PIC16F877的SPI片選位RA5和語音控制位RC5,一旦有中斷信號,則由單片機的SPI模塊從語音芯片的存儲器中讀出對應的預先錄制好的語音程序。

          3.4 軟件控制程序設計流程圖

          系統(tǒng)的軟件控制程序設計流程圖如圖4所示。

          44.jpg

          本文研究的客車超載系統(tǒng)采用光電傳感器和PIC單片機共同構(gòu)成超載檢測和處理結(jié)構(gòu),驅(qū)動電磁閥控制發(fā)動機的點火電路實現(xiàn)超載控制。現(xiàn)代交通系統(tǒng)中有著復雜的傳感器網(wǎng),傳感器是電子控制系統(tǒng)的“眼睛”和“耳朵”[6],它告知計算機系統(tǒng)檢測車速、車重、實時交通狀況等交通信息,大大提高了交通管理的效率。另一方面汽車自身配置的傳感器裝置使汽車運行狀態(tài)的相關參數(shù)以光速反饋至計算機控制系統(tǒng),使系統(tǒng)做出合理的調(diào)整。這些共同構(gòu)成了智能化的交通系統(tǒng),也是未來交通系統(tǒng)的發(fā)展方向。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();