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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于雙MCU可故障檢測的安全光幕設(shè)計

          基于雙MCU可故障檢測的安全光幕設(shè)計

          作者: 時間:2016-10-15 來源:網(wǎng)絡(luò) 收藏

          摘要:介紹一種基于雙的安全光幕軟設(shè)計方案,實現(xiàn)了傳統(tǒng)安全光幕檢測給定區(qū)域有無物體的功能,還加入了對關(guān)鍵模塊故障檢測的功能,并采用雙路檢測與安全輸出機制,加強光幕工作的可靠性。該系統(tǒng)主要由紅外發(fā)射模塊、紅外接收模塊、安全輸出模塊組成。整個系統(tǒng)在ICCAVR及AVRStudio環(huán)境下設(shè)計,采用Atmel的ATmega32型AVR芯片設(shè)計實現(xiàn),系統(tǒng)響應(yīng)時間快,可靠性高,滿足高精度、高速度、高可靠性的設(shè)計要求。
          關(guān)鍵詞:安全光幕;雙;紅外發(fā)射;紅外接收;故障檢測

          引言
          安全光幕是一種光電類保護(hù)裝置,也稱安全保護(hù)器、紅外線保護(hù)器、沖床保護(hù)器等。安全光幕目前的應(yīng)用方式中,應(yīng)用于機械點保護(hù)的產(chǎn)品有近70%,應(yīng)用于通道入口及危險周邊區(qū)域保護(hù)的產(chǎn)品有約30%。
          根據(jù)EN954-1歐盟標(biāo)準(zhǔn),將安全產(chǎn)品分為B、1、2、3、4共5種不同的安全等級。其安全性由B到4不斷提升。4級的安全產(chǎn)品具有最短周期的自檢功能,從檢測到輸出線路都是雙線路相互自檢,單個元件的失效不會導(dǎo)致安全功能的喪失,且安全系統(tǒng)在進(jìn)行下一步操作時或之前檢測到失效。國內(nèi)市場上應(yīng)用的安全光幕多以2級及以下產(chǎn)品為主,2級與4級產(chǎn)品的實際比例接近9:1。
          影響光幕系統(tǒng)可靠安全運行的主要因素有系統(tǒng)結(jié)構(gòu)設(shè)計、元件選擇、安裝、制造工藝及外部的電氣干擾等,其中,系統(tǒng)結(jié)構(gòu)設(shè)計影響重大。本方案設(shè)計了一款基于雙的光幕控制系統(tǒng),從選型、軟件設(shè)計、可靠通信和結(jié)構(gòu)設(shè)計等各個方面提高可靠性,安全等級基本達(dá)到4級,實現(xiàn)雙路檢測及雙路互檢,分辨率為14 mm,響應(yīng)速度快,是一款具有故障檢測能力和高可靠性的安全光幕系統(tǒng)。

          1 安全光幕工作原理
          1.1 系統(tǒng)組成
          安全光幕系統(tǒng)主要由紅外發(fā)射模塊、紅外接收模塊及安全輸出模塊組成,如圖1所示。

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

          a.jpg


          紅外發(fā)射模塊由紅外發(fā)射管、控制器及檢測電路3部分組成。發(fā)射模塊中等間距地安裝若干個紅外發(fā)射管,對應(yīng)的接收模塊也安裝有相同數(shù)量、相同順序排列的紅外接收管。以8對紅外管為例,系統(tǒng)采用水平一對一排列方式進(jìn)行工作。紅外管等間距生成光線陣列,形成一個“光幕”,以順序掃描的方式,配合控制盒及軟件,實現(xiàn)進(jìn)入檢測范圍物體的監(jiān)控功能。
          紅外發(fā)射模塊的控制器尋址發(fā)射50 kHz的脈沖信號,控制輸出占空比,產(chǎn)生窄脈沖信號,使紅外發(fā)射管依次發(fā)光。通過控制器調(diào)制紅外管發(fā)光信號,使其對環(huán)境中日光、照明等相似波長的紅外線具有很強的抗干擾能力。
          紅外接收模塊由紅外接收管、信號處理電路、雙控制器、檢測電路、狀態(tài)指示電路組成??刂破魍瓿膳c發(fā)射模塊的同步通信后,紅外發(fā)射模塊開始順序發(fā)射紅外光,同時紅外接收模塊開始接收信號,該信號經(jīng)過信號處理電路后進(jìn)入雙控制器,判斷是否為設(shè)定紅外信號,進(jìn)行輸出控制。紅外接收模塊的雙控制器會在固定周期內(nèi),定期協(xié)同地對安全輸出模塊及其他重要電路進(jìn)行安全檢測。當(dāng)遇到遮擋及故障時,首先控制安全輸出回路的輸出,然后通過數(shù)碼管、指示燈進(jìn)行狀態(tài)指示及警告。
          1.2 雙MCU接收模塊同步工作及故障檢測
          安全光幕紅外接收模塊采用雙單片機MCU1和MCU2協(xié)調(diào)控制來實現(xiàn)對光幕中輸出信號的控制及故障檢測功能,解決了接收和控制與檢測及信息回饋之間的矛盾,從而提高了系統(tǒng)的實時性和穩(wěn)定性。

          b.jpg


          雙MCU系統(tǒng)采用主從式結(jié)構(gòu),共享一個串行通道,結(jié)構(gòu)如圖2所示。主從MCU分別提供I/O口相互連接作為它們之間的通信線,并獨立控制一路OSSD(Output Signal Switching Device)安全輸出,同時控制信號檢測輸出回路及各重要電路并進(jìn)行反饋。兩個MCU之間并行工作,無差別地接收數(shù)據(jù),相互之間獨立工作,任何一個出現(xiàn)故障另一個都會檢測到,同時進(jìn)行安全輸出控制,保證信號的有效輸出。

          2 設(shè)計
          2.1 紅外發(fā)射模塊
          發(fā)射模塊中紅外發(fā)光管對工作效率的影響很大,需要根據(jù)其光度量參數(shù)、工作電流及工作電壓等參數(shù),進(jìn)行適合的配置,提高系統(tǒng)中發(fā)光管的壽命及工作距離。
          光通量全部投射到面無dS的光照度為:
          c.jpg
          式中,η為發(fā)光效率,u為發(fā)射管正向壓降,If為光電流,光源光軸與面元法線夾角為θ,r為光源S到面元dS的距離。
          紅外發(fā)射管的發(fā)光效率η和正向壓降u通常是定值,由式(1)可知,當(dāng)光照度一定時,適當(dāng)減小檢測距離可以大大減小光電流。工作電流及工作電壓對發(fā)射功率起決定性作用,發(fā)射功率用輻照度表示。
          其紅外輻射功率與正向工作電流成正比,電流在接近最大額定值時,器件的溫度上升,使光發(fā)射功率下降,且電流過大易影響其使用壽命。電流過小,將影響其輻射功率的發(fā)揮。當(dāng)電壓越過正向閾值電壓(本系統(tǒng)所使用的約1 V左右)時,電流開始流動,且其工作電流對工作電壓十分敏感,因此要求工作電壓準(zhǔn)確、穩(wěn)定,否則影響輻射功率的發(fā)揮及其可靠性。
          調(diào)制光的有效傳送距離與脈沖的峰值電流成正比,需設(shè)置紅外發(fā)射管工作于脈沖狀態(tài),在電路設(shè)計時,需要盡量提高峰值電流Ip,使其發(fā)射距離更遠(yuǎn)。
          因紅外發(fā)射管的使用壽命與其工作電流相互制約,可對其工作脈沖占空比進(jìn)行合理調(diào)整,使得其峰值電流盡量高,而平均電流比較低,符合其正常工作的功耗要求,最終經(jīng)過調(diào)試該紅外發(fā)射管工作在1:4的占空比時,實驗效果最佳。
          常用的紅外發(fā)射管的發(fā)射角度有30°、45°、60°,角度越小,紅外線越集中,發(fā)射距離越遠(yuǎn)??紤]以上因素,本系統(tǒng)選用的紅外發(fā)射管,其峰值電流可達(dá)到1 A,發(fā)射角度為34°,能很好地滿足系統(tǒng)要求。
          紅外發(fā)射模塊中AVR單片機ATmega32通過PA6端口控制移位寄存器HCF4094的時鐘信號,從而控制紅外發(fā)射管導(dǎo)通的時間;PA7端口控制其數(shù)據(jù)信號,用來選通紅外發(fā)射管;PD4端口是單片機的輸出比較匹配控制口,它連接移位寄存器的使能端OE;PD4端口使用定時器PWM模式,控制紅外發(fā)射管的調(diào)制頻率。單片機控制3個端口配合,使每支管子依次發(fā)光,控制時問為1 ms,實際發(fā)光時間為250μs,并在PD4給出的50 kHz調(diào)制頻率下,有序地進(jìn)行發(fā)射工作。
          2.2 紅外接收模塊
          紅外接收模塊主要任務(wù)是負(fù)責(zé)紅外發(fā)射模塊與接收模塊之間的通信、紅外接收信號的處理及安全輸出口的控制。
          紅外接收管是一種光感電流源,光感電流與光通量成正比,光感電流對電容進(jìn)行充電,通過光通量變化獲得相應(yīng)的電信號。無遮擋物時,光路通暢無阻,接收紅外光,光感電流最大;有遮擋物通過檢測區(qū)域時,光路部分被遮擋,輸出電位升高。越有效遮光,輸出電位越高。利用該原理可以實現(xiàn)對檢測區(qū)域是否存在異物進(jìn)行測定,進(jìn)而可執(zhí)行下一步的安全措施。
          紅外接收模塊兩片MCU之間通過I/O口連接單穩(wěn)態(tài)雙觸發(fā)器4538,定期發(fā)送窄脈沖給觸發(fā)器,其輸出口Q端則應(yīng)在響應(yīng)時段發(fā)送高電平,若有故障則輸出低電平,信號輸入另一個單片機I/O口中,進(jìn)行電平檢測。兩單片機通過定時監(jiān)測,實現(xiàn)實時相互檢測。光幕的報警輸入信
          號要求系統(tǒng)能夠及時響應(yīng),所以報警輸入與單片機的外部中斷引腳相連。整個光幕系統(tǒng)由紅外接收模塊MCU1主控,負(fù)責(zé)紅外發(fā)射模塊、紅外接收模塊的信號同步,并控制MCU2的工作。接收模塊系統(tǒng)框圖如圖3所示。

          d.jpg


          在紅外發(fā)射模塊及紅外接收模塊正常通信后,紅外發(fā)射模塊開始順序發(fā)射紅外光,同時紅外接收模塊控制的相應(yīng)的紅外接收管開始接收紅外信號,進(jìn)行一對一的紅外光發(fā)射接收。紅外接收器將接收到的光信號轉(zhuǎn)化為電信號,經(jīng)過濾波、放大、整形后分別輸入給MCU1、MCU2,通過接收端的中斷服務(wù)程序處理,進(jìn)行同步操作,檢測其窄脈沖與預(yù)設(shè)的是否相同。判斷光幕是否被遮擋,信號是否有效,然后進(jìn)行有效的安全輸出控制。
          2.3 安全輸出模塊
          光幕的輸出電路形式一般分為繼電器輸出、晶體管輸出和晶閘管輸出3種。
          晶體管輸出電路相比于繼電器輸出響應(yīng)快(一般在0.2 ms以下),適用于要求快速響應(yīng)的場合;晶體管無機械觸點,比繼電器輸出電路壽命長。
          晶體管輸出電路的應(yīng)用局限是外接電源只能是直接電源,且其輸出驅(qū)動能力要小于繼電器輸出,允許負(fù)載電壓一般為DC 5~30 V,允許負(fù)載電流為0.2~0.5 A。
          晶體管輸出電路的形式主要有兩種:NPN和PNP型集電極開路輸出。NPN型控制輸出在系統(tǒng)觸發(fā)時,信號輸出線OUT和電源線VCC連接,公共端COM只能接外接電源的負(fù)極,相當(dāng)于輸出高電平,OSSD常態(tài)是高電平。當(dāng)光幕檢測到物體遮擋時,控制安全輸出動作,OSSD變?yōu)榈碗娖?;相反地,PNP型控制輸出在系統(tǒng)觸發(fā)時信號輸出線OUT和0 V線連接,而PNP型的COM端只能接外接電源的正極,相當(dāng)于輸出低電平,OSSD常態(tài)是低電平,當(dāng)光幕檢測到物體遮擋時,OSSD安全輸出動作,變?yōu)楦唠娖健?br /> 本光幕系統(tǒng)的OSSD安全輸出模塊采用的是晶體管NPN集電極開路輸出電路。系統(tǒng)中采用雙路OSSD輸出,保證輸入信號的正確性,且兩個MCU都對安全輸出口進(jìn)行性能監(jiān)測,通過電路具體設(shè)置,單片機定時檢測控制該口的電平狀態(tài),從而判斷是否為正常工作狀態(tài)。確保系統(tǒng)處于正常的工作狀態(tài),保證輸出信號的可靠性,從而對使用者提供有效的保護(hù)。
          2.4 電源可靠性設(shè)計
          系統(tǒng)中需要使用的電源直流電壓為24 V和5 V。外接電源為24 V的直流電源,需要對電源進(jìn)行降壓處理。電源電路如圖4所示。

          e.jpg


          在數(shù)字系統(tǒng)中,易產(chǎn)生尖峰電流,形成瞬間的噪聲電壓。配置旁路電容可以抑制因負(fù)載變化而產(chǎn)生的噪聲,系統(tǒng)中大量濾波電容的使用也保證了各器件電源的良好性能。此外,為防止電源遭到雷擊,在外部直流電源輸入端增加可吸收較大瞬間電流的穩(wěn)壓管D1。電路中采用了屏蔽技術(shù)、信號隔離等抗干擾措施。對于電源干擾,可經(jīng)過直流、交流雙重穩(wěn)壓,多重低通濾波,雙重直流濾波穩(wěn)壓等措施排除電源干擾。
          在本系統(tǒng),單片機可對電源進(jìn)行一定程度的監(jiān)控。圖中D2為30 V穩(wěn)壓管,若兩端電壓高于30 V,則向單片機報警。報警部分的具體工作流程為:若D2上端電位為3l V,D2將吸收1 V電壓,通過電流流向R1來釋放,同時導(dǎo)通Q1,通過OVER—P向單片機報警。
          2.5 使用中注意事項
          紅外對管是決定安全光幕工作性能最重要的元件之一,對工作狀態(tài)起決定作用。對于紅外對管的選擇需要滿足以下要求:電性參數(shù)一致;光學(xué)參數(shù)一致;響應(yīng)時間與控制時間一致;管芯的幾何尺寸、形狀、位置一致。
          在安裝時,要保證紅外對管的位置、方向和軸距的選取,以確保光路對稱,并可減小干擾。在安裝時,需要在管子前端安裝濾光片濾除可見光干擾,結(jié)構(gòu)上需要防水防塵,減少環(huán)境干擾。

          3 軟件設(shè)計
          本控制系統(tǒng)軟件包括發(fā)射控制程序及接收控制程序,采用C語言在ICCAVR環(huán)境下編寫,程序模塊化設(shè)計,兼顧程序的可移植性、可讀性、可靠性及實時性等要求。
          在軟件設(shè)計中最關(guān)鍵的是如何完成兩路移位脈沖的同步工作。發(fā)射控制器在初始化時,開始啟動定時器T1,保持調(diào)制頻率為50 kHz。收到開始命令后,進(jìn)入發(fā)射控制程序模塊。每次發(fā)射一個管子,計數(shù)器加1,當(dāng)計數(shù)器為8時置1,表示小循環(huán)完成,小循環(huán)的次數(shù)根據(jù)總發(fā)射管的數(shù)目確定。
          紅外接收模塊中,MCU1在發(fā)送完開始命令后,根據(jù)發(fā)射管順序及時間控制管子接收,同時,對中斷接收處理過的紅外信號進(jìn)行判斷,檢查該發(fā)射管導(dǎo)通的時間段內(nèi)接收的脈沖數(shù),保證其接收的脈寬及脈沖數(shù)符合要求。
          接收控制程序具有實時多任務(wù)特征,各任務(wù)由相應(yīng)的子程序?qū)崿F(xiàn)。根據(jù)各任務(wù)的實時性及系統(tǒng)安全性要求,設(shè)計任務(wù)優(yōu)先級從高到低為:OSSD安全輸出程序、紅外信號檢測程序、通信程序、報警顯示程序。
          軟件系統(tǒng)設(shè)計響應(yīng)時間快,在同步過程中要實現(xiàn)軟件冗余,增加看門狗以防止進(jìn)入死循環(huán)狀態(tài);且雙路檢測電路保持時序一致,發(fā)射/接收需定時進(jìn)行同步通信。軟件系統(tǒng)流程如圖5所示。

          f.jpg



          結(jié)語
          光幕系統(tǒng)在工廠中使用,要具有較強的抗電磁干擾、抗環(huán)境噪聲及長期抗震能力。針對該要求,本文提出基于雙MCU的安全光幕設(shè)計方案。方案特點是充分利用雙MCU的硬件資源和其編程的靈活性,將復(fù)雜的控制檢測電路用比較合適的方式實現(xiàn),且使用雙路安全輸出端口,提高了系統(tǒng)的安全性。系統(tǒng)的光路設(shè)計及同步設(shè)計很好地解決了光路之間相互干擾的問題,提高了系統(tǒng)精度;添加了物體存在時間的計算功能;同時系統(tǒng)具有故障檢測功能,給使用人員提供最直接有效的保障。系統(tǒng)分辨率是14 mm,保護(hù)區(qū)域為4 m,系統(tǒng)反應(yīng)時間13 ms,具有操作簡單、高效、精確等特點,為安全的工業(yè)生產(chǎn)提供了可靠的保障。



          關(guān)鍵詞: MCU 硬件

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();