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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于單片機AT89C51的時間/位移換向控制器設(shè)計

          基于單片機AT89C51的時間/位移換向控制器設(shè)計

          作者: 時間:2006-12-06 來源:網(wǎng)絡(luò) 收藏
          引言

          在實際生產(chǎn)過程中,常常要用到具有自動換向功能的控制部件,如機械加工中的往返運行(位移),直流電源的正反向輸出,電動機的正反轉(zhuǎn)運行等現(xiàn)象,都是當(dāng)正向(或反向)運行到一定時間或一定位置時,自動換為反向(或正向)運行,周而復(fù)始的過程。實現(xiàn)這一過程的自動化,就是設(shè)計一套控制電路,再配以位移或時間。目前市場現(xiàn)有的時間雖然可以用多個組合來滿足一些使用場合的要求,但仍存在著重復(fù)計時誤差大,穩(wěn)定可靠運行性不高,使用不方便靈活等問題。為此,筆者研發(fā)了以單片機為核心組成的時間/位移換向控制器SWHX-1,該系統(tǒng)具有成本低等特點,可完全且克服以上不足。

          電路組成及工作原理

          SWHX-1的內(nèi)部電路如圖1所示。該系統(tǒng)分為輸入輸出電信號轉(zhuǎn)換、CPU軟件編程控制和定時設(shè)定三部分,整個電路共有14條引出線,其中2、3、4腳為直流地線公共端VGND。該器件可用交直流兩種供電方式工作。當(dāng)用交流供電時,通過引腳13、14輸入交流12 V,經(jīng)橋式整流、穩(wěn)壓后供給內(nèi)部電路恒壓基準電源,并將整流后的直流12 V經(jīng)引腳1、2、3、4送出,以供外部其它電路使用;當(dāng)用直流供電時,引腳1、2、3、4則變?yōu)檩斎攵?,輸入?2V直流電壓經(jīng)穩(wěn)壓后再供給內(nèi)部電路,該方式可省去交流電源,但要注意將引腳14、13置于懸空狀態(tài)。

          圖1 時間/位移換向器電路原理圖

          SWHX-1內(nèi)部電路設(shè)計有1路換向和2路定時輸出,換向時間是指正向(或反向)輸出組被關(guān)斷后延時一段時間后才開通反向(或正)組工作的時間,用戶可在0.5~2s之間任意設(shè)定;2路定時時間分別是指正向和反向組輸出的工作時間,用戶可在1m~7h31m之間任意設(shè)定。若1m~7h31m的定時時間不能滿足使用要求時,另留有4個端口P1~P4,可外接4個時間或4個行程開關(guān)以彌補。Pl和P3為正向組,P2和P4為反向組。

          ◇ 延時時間的設(shè)定

          (1)延時時間設(shè)定法

          圖1中t0~t4為換向延時時間設(shè)定短接開關(guān),t0為對地公共端,t1~t4分別與0.5 s、1 s、1.5 s、2 s相對應(yīng),二者短接時,通過CPU軟件編程可實現(xiàn)相應(yīng)的換向延時。例如t0與t1短接時,延時為0.5 s;t0與t3短接時,延時為1.5 s。

          (2) 定時時間設(shè)定法

          圖1中的S1和S2為8位定時時間設(shè)定撥位開關(guān),每個開關(guān)前三位為小時位,后5位為分鐘位,采用二進制編碼方式,當(dāng)8位撥碼選定后,通過CPU的P1和P2口送入,經(jīng)軟件編程控制,實現(xiàn)相應(yīng)的定時功能。所以每路的定時時間可在1m一7h31m之間任意設(shè)定。

          ◇ 定時換向器的工作原理

          當(dāng)SWHX一1用做定時換向控制時,CPU首先讀入撥位開關(guān)S的定時設(shè)定值,經(jīng)軟件編程識別并通過CPU內(nèi)部定時器和軟件延時實現(xiàn),當(dāng)定時時間到后,將通過P0口經(jīng)引腳12、11送出一個定時到脈沖,當(dāng)引腳12、11分別與5、7腳短接時,該定時到脈沖將向CPU產(chǎn)生一個中斷請求信號,CPU接收到這一中斷請求后會通過引腳Vs1端口輸出一個封鎖電位信號,以停止當(dāng)前正在工作的一組,并經(jīng)0.5~2 s延時后,通過引腳Vs2端口輸出一個啟動信號,來啟動另一組開始工作,從而完成一次換向工作周期。反之亦然,周而復(fù)始。

          ◇ 做位移換向器的工作原理

          當(dāng)SWHX一1用做位移換向控制時,上述定時功能將不起作用,而是將位移檢測(一般為行程開關(guān))送來的“位移到”信號通過引腳5、7端口向CPU發(fā)出中斷請求,當(dāng)CPU接到該中斷請求信號以后,則完成上述換向工作過程。另外,引腳6、8是用于位移限制的,因為絕大多數(shù)實際生產(chǎn)過程中的位移都是有限制的,所以將限位發(fā)出的信號經(jīng)端口6、8送入,CPU在接到該請求信號后,立即通過引腳9、10發(fā)出限位封鎖信號,以停止位移工作。

          軟件設(shè)計

          SWHX—1的軟件程序分為初始化,定時識別及延時處理和中斷換向處理三部分,其程序流程如圖2所示。

          周期換向電源應(yīng)用

          許多生產(chǎn)過程中都要用到周期性換向電源裝置。這里僅以常見的電鍍電源中的一種為例來說明其使用方法。圖3所示為三相雙反星形雙向6脈波周期換向電源的電路原理圖。該電源采用兩套晶閘管可控硅整流電路,但在SWHX—1的控制下,在同一時間內(nèi)只能有一套工作,另外一套被封鎖截止。兩套整流電路的工作時間可通過圖1中的S1和S2來分別設(shè)定。圖3中的CF97088B是雙反星形6脈波晶閘管觸發(fā)專用器件,它除了產(chǎn)生6個同步觸發(fā)脈沖外,內(nèi)部還具有電流、電壓雙P1負反饋調(diào)節(jié)功能,并且還能自動識別輸入三相電中的缺相、以及過電壓保護,過電流限制等功能,當(dāng)有這些現(xiàn)象發(fā)生時,系統(tǒng)可自動封鎖觸發(fā)脈沖的輸出,以起到保護和限制的目的。W1和W3分別為正反向輸出電壓設(shè)定值調(diào)節(jié)旋鈕,而W2和W4則分別為正反向輸出電壓反饋量調(diào)節(jié)旋鈕。

          該電源電路的優(yōu)點是結(jié)構(gòu)簡單,便于組裝、調(diào)試和現(xiàn)場維護。由于CF97088和SWHX一1是全密封式器件,故可用于電鍍、電解和化工行業(yè)中。

          在位移電氣傳動中的應(yīng)用

          在機械加工生產(chǎn)過程中,常常有往返位移運行過程,反映到電器傳動部分的工作現(xiàn)象是電動機的正反轉(zhuǎn)現(xiàn)象,這里僅以常見的龍門刨、銑床為例來說明SWHX一1的應(yīng)用。圖4是刨、銑床直流魎俸妥遠幌虻緶吩磽際道M賈械腟1和S2為正反轉(zhuǎn)行程開關(guān),S3和S4為限位行程開關(guān)。當(dāng)正向位移碰觸開關(guān)S1時,在SWHX一1的控制下,延時0.5~2 s后自動換為反向運行,當(dāng)位移碰觸S2時,又自動換為正向運行,周而復(fù)始。位移碰觸開關(guān)S3或S4可用于表明位移超界受限,在SWHX一1的控制下立即關(guān)閉輸出,停止位移運行。

          結(jié)束語

          基于單片機的控制來取代現(xiàn)行的定時器和時間繼電器是今后的發(fā)展方向,本文介紹的SWHX一1器件可作為一個嘗試。該器件在周期換向電源中的應(yīng)用結(jié)果表明,該定時控制器定時精確,運行可靠,效果較好。

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




          關(guān)鍵詞: 傳感器 繼電器 延時

          評論


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