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

          新聞中心

          EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 基于CAN總線可通信智能電流繼電器的設(shè)計(jì)

          基于CAN總線可通信智能電流繼電器的設(shè)計(jì)

          作者: 時(shí)間:2011-05-23 來(lái)源:網(wǎng)絡(luò) 收藏

          2.2 存儲(chǔ)監(jiān)控部分
          監(jiān)控包括監(jiān)控電路和軟件監(jiān)控程序2部分,硬件監(jiān)控電路功能主要包括數(shù)據(jù)保護(hù)、上電復(fù)位、掉電復(fù)位、“看門狗”定時(shí)器(選用具有SPI接口的Xicor公司的25043/5系列)和電源監(jiān)測(cè)等部分。
          2.3 按鍵和顯示部分
          所應(yīng)用的繼電保護(hù)系統(tǒng),對(duì)于各個(gè)保護(hù)的節(jié)點(diǎn)的監(jiān)測(cè)都需通過(guò)上位控制PC機(jī)來(lái)實(shí)現(xiàn),采樣成本低、接口簡(jiǎn)單、功耗小的液晶顯示模塊??刂破鞯娘@示部分采用青云公司的LCM061A六位八段模塊作為顯示輸出。使用者只要向LCM送入相應(yīng)的命令和數(shù)據(jù)就可實(shí)現(xiàn)所需要的顯示,模塊與CPU連接簡(jiǎn)單,使用起來(lái)靈活方便。至于按鍵,本系統(tǒng)只需4個(gè)按鍵即可實(shí)現(xiàn)參數(shù)修改和設(shè)定,因此可分別與主控制器的I/O口直接相連即可。
          2.4 信號(hào)部分
          整個(gè)節(jié)點(diǎn)工作情況是先用微控制器完成的比較、時(shí)間的控制,如果所監(jiān)測(cè)線路中的超出設(shè)定的電流值,則開(kāi)始計(jì)時(shí)并繼續(xù)比較電流值。若到了設(shè)定的時(shí)間發(fā)現(xiàn)被采集的電流值仍然大于設(shè)定值,那么微控制器發(fā)出使繼電器動(dòng)作的控制信號(hào)。由于單片機(jī)I/O口輸出電流為1.6 mA,不能達(dá)到繼電器動(dòng)作電流,所以我們通過(guò)7407芯片將驅(qū)動(dòng)電流放大至40 mA以驅(qū)動(dòng)繼電器動(dòng)作。
          2.5 數(shù)據(jù)采集和轉(zhuǎn)換
          因?yàn)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/智能">智能電流繼電器所需采集的電流為線路中的電流值,而針對(duì)電力系統(tǒng)輸、配電線路中通過(guò)的高電壓和大電流,必須選用電流互感器。測(cè)量?jī)x表選用容量為5 VA,二次側(cè)額定電流為1 A的互感器,將互感器二次側(cè)電流通過(guò)采樣電阻轉(zhuǎn)換成對(duì)于一定比例關(guān)系的電壓值。
          A/D轉(zhuǎn)換采用外接MAXIM公司12位精度高速A/D轉(zhuǎn)換芯片,是因?yàn)镻87C591內(nèi)部芯片所帶的10位A/D為單極性轉(zhuǎn)換,不能滿足交變電流采樣雙極性的要求。利用MAX197,P87C591以及驅(qū)動(dòng)與隔離電路構(gòu)成一個(gè)完整的實(shí)時(shí)測(cè)控系統(tǒng)。
          采用查詢的方式通過(guò)P口讀取/INT引腳的電平是否為低,如果不為低就繼續(xù)查詢等待,如果為低電平則可讀取數(shù)據(jù)。A/D轉(zhuǎn)換程序放在T0中斷程序中進(jìn)行,每隔1 ms進(jìn)行一次模擬數(shù)據(jù)采集和轉(zhuǎn)換,在轉(zhuǎn)換的間隙MAX197處于低電流關(guān)斷狀態(tài)。
          2.6 節(jié)點(diǎn)電源
          節(jié)點(diǎn)系統(tǒng)中所需的+5 V直流電源,需將有效值為220 V、頻率為50 Hz的交流電經(jīng)降壓、整流和濾波,再經(jīng)過(guò)降壓和穩(wěn)壓電路后作為節(jié)點(diǎn)的電源。
          2.7 部分
          集成在P87C591中的控制器SJA1000和高速收發(fā)器PCA82C250以及高速光電耦合器6N137構(gòu)成的主要部分,其中SJA1000是實(shí)現(xiàn)
          通信的核心芯片,與收發(fā)器82C250配套使用,組成完整的CAN通信接口。SJA1000工作模式采用BasicCAN模式,滿足數(shù)據(jù)傳輸量不大的一般性工控場(chǎng)合,故被本系統(tǒng)采用。單片機(jī)對(duì)SJA1000進(jìn)行控制及收發(fā)數(shù)據(jù)均通過(guò)對(duì)SJA1000的內(nèi)部寄存器的讀寫(xiě)訪問(wèn)來(lái)實(shí)現(xiàn)的,操作如同訪問(wèn)外部RAM。PCA82C250負(fù)責(zé)與CAN物理層的連接,接收和發(fā)送數(shù)據(jù)。為了增強(qiáng)CAN節(jié)點(diǎn)的抗干擾能力,P87C591的TXDC和RXDC(即SJA1000的TX和RX)通過(guò)高速光耦6N137后與PCA82C250相連,光耦部分電路所采用的兩個(gè)電源必須完全隔離,這樣才能達(dá)到隔離的作用。為了防止PCA82C 250受過(guò)流的沖擊,CANH和CANL引腳各自通過(guò)一個(gè)5 Ω的電阻與CAN相連。另外,在CANH和CANL與地之間并聯(lián)2個(gè)30pF的小電容,以濾除總線上的高頻干擾和防電磁輻射口。

          3 上位控制PC機(jī)節(jié)點(diǎn)軟硬件設(shè)計(jì)
          3.1 硬件接口
          CAN-232采用ZLGCAN-232轉(zhuǎn)換卡,PC只需經(jīng)RS 232接口簡(jiǎn)單連接即可實(shí)現(xiàn)CAN數(shù)據(jù)通信,進(jìn)行CAN信息幀的接收發(fā)送。CAN-232接口卡也可以直接應(yīng)用到嵌入式系統(tǒng)中,可在不改變已有硬件結(jié)構(gòu)的情況下使嵌人式產(chǎn)品具有CAN通信接口。RS 232總線接口部分是轉(zhuǎn)換卡板和PC機(jī)之間交換數(shù)據(jù)的橋梁,PC機(jī)之間的數(shù)據(jù)交換是通過(guò)MAX232實(shí)現(xiàn)的,其將232電平轉(zhuǎn)換成TTL電平。CAN通訊部分實(shí)現(xiàn)了CAN物理層和數(shù)據(jù)鏈路層協(xié)議,板卡中由帶CAN控制器的處理器P87C591構(gòu)成。
          3.2 軟件設(shè)計(jì)
          可通信智能繼電器節(jié)點(diǎn)的主要任務(wù)是能夠獨(dú)立完成線路電流的實(shí)時(shí)監(jiān)控和保護(hù)功能,并且能夠利用CAN總線接口與上位控制PC進(jìn)行雙向數(shù)字通信功能。其中數(shù)據(jù)采集和轉(zhuǎn)換程序在T0中斷服務(wù)程序中進(jìn)行,通信收發(fā)在CAN中斷子程序中進(jìn)行。主程序采用循環(huán)查詢的方法檢測(cè)有無(wú)按鍵,然后定時(shí)處理一些如顯示數(shù)據(jù)更新、通信待發(fā)數(shù)據(jù)準(zhǔn)備和接收數(shù)據(jù)處理等。

          時(shí)間繼電器相關(guān)文章:時(shí)間繼電器


          基爾霍夫電流相關(guān)文章:基爾霍夫電流定律




          評(píng)論


          相關(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); })();