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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 充電保護(hù)定時(shí)系統(tǒng)電路設(shè)計(jì)原理解析 —電路圖天天讀(179)

          充電保護(hù)定時(shí)系統(tǒng)電路設(shè)計(jì)原理解析 —電路圖天天讀(179)

          作者: 時(shí)間:2017-10-28 來源:網(wǎng)絡(luò) 收藏

            隨著電子技術(shù)的不斷發(fā)展,人們生活水平的不斷提高,充電型電子設(shè)備的種類和數(shù)量也跟著迅猛發(fā)展,尤其是電動(dòng)車和手機(jī)。這些電子設(shè)備在給我們生活和工作帶來便捷的同時(shí),充電的問題也使得人們不厭其煩,電動(dòng)車大約需要充電8小時(shí)左右,手機(jī)大約需要充電3小時(shí)左右,然而當(dāng)充電結(jié)束后,人們經(jīng)常忘記拔掉電源,更有甚者給電池充電達(dá)數(shù)天,這對(duì)電池的功能和使用壽命無疑是一種破壞。介于此,筆者萌生了自己動(dòng)手設(shè)計(jì)制作一個(gè)數(shù)顯可調(diào)定時(shí)器的想法,來解決一些生活中的問題。

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

            數(shù)顯可調(diào)定時(shí)器數(shù)顯可調(diào)定時(shí)器

            通過小時(shí)和分鐘的“加”“、減”按鍵對(duì)需要的定時(shí)時(shí)間進(jìn)行預(yù)設(shè),確定無誤后,按下啟動(dòng)按鍵,定時(shí)開始,這時(shí),數(shù)碼管便會(huì)從預(yù)設(shè)時(shí)間開始倒計(jì)時(shí),同時(shí)充電發(fā)光二極管每秒閃爍一次,當(dāng)計(jì)時(shí)到零后,充電發(fā)光二極管由閃爍狀態(tài)變成常亮,繼電器動(dòng)作,切斷充電電源。假如電路在運(yùn)行時(shí)出現(xiàn)故障或者運(yùn)行錯(cuò)誤,需要按單片機(jī)的復(fù)位鍵,然后對(duì)定時(shí)時(shí)間重新調(diào)整后,按啟動(dòng)按鍵,重新開始定時(shí)。

            電路框圖如圖1所示。電路原理圖如圖2所示。

            

            圖1 電路方框圖

            

            圖2 電路原理圖

            輸入部分

            輸入部分有五個(gè)按鍵組成,分別是分鐘+10、分鐘-10、小時(shí)+1、小時(shí)-1和設(shè)置完成按鍵。定時(shí)器的初始值是8小時(shí)。使用前,先通過這五個(gè)按鍵進(jìn)行定時(shí)時(shí)間的設(shè)置,分鐘設(shè)置鍵的分辨率之所以10分鐘為一個(gè)步進(jìn)階梯完全是考慮的實(shí)際的需要,因?yàn)闊o論是電動(dòng)車還是手機(jī),都沒有必要以一分鐘為單位,當(dāng)然,使用者可以根據(jù)自己的需要?jiǎng)邮中薷某绦颍堰_(dá)到自己的要求。

            本制作所使用的按鍵均為四腳封裝常開型按鍵,使用前需通過萬用表對(duì)引腳進(jìn)行測(cè)量來確定那組引腳作為開關(guān)使用,當(dāng)然也可以直接使用對(duì)角線引腳作為開關(guān)按鍵,另外兩個(gè)引腳懸空,便不會(huì)出現(xiàn)問題。同時(shí)需要提醒的是,電路板上另外一個(gè)按鍵是單片機(jī)的復(fù)位按鍵,電路正常工作時(shí)不要去觸摸。輸入部分的電路工作原理就是單片機(jī)對(duì)按鍵的識(shí)別,如圖3所示,單片機(jī)的P1口通過上拉電阻接高電平,當(dāng)沒有按鍵按下時(shí),P1.0~P1.4 的管腳電壓為高電平,如果某一個(gè)按鍵按下,相應(yīng)的單片機(jī)并口就會(huì)被拉低為低電平。編程時(shí),只要掃描P1.0~P1.4的狀態(tài),便能完成對(duì)按鍵的識(shí)別。

            

            圖3 輸入部分

            物聯(lián)網(wǎng)操作系統(tǒng)資料集錦,詳情請(qǐng)點(diǎn)擊進(jìn)入》》》

            控制部分

            控制部分采用AT89S51($0.7830)單片機(jī)作為控制器,它把按鍵的信息采集過來后,經(jīng)過單片機(jī)內(nèi)部的定時(shí)計(jì)數(shù)器T0運(yùn)算,完成相應(yīng)的定時(shí),同時(shí)單片機(jī)的并口也會(huì)將信息輸出給顯示部分和輸出部分??刂撇糠值闹饕ぷ髟砭褪抢昧藛纹瑱C(jī)內(nèi)部的定時(shí)/ 計(jì)數(shù)器T 0 , 由于它的最大定時(shí)時(shí)間只有6 5 m s左右,所以,本制作利用T0的方式一,每次定時(shí)50ms,循環(huán)1200次,來實(shí)現(xiàn)精確的一分鐘定時(shí)。誤差在微秒級(jí)。

            

            圖4 單片機(jī)最小系統(tǒng)

            顯示部分

            顯示部分由兩個(gè)發(fā)光二極管和一個(gè)三位一體的數(shù)碼管組成。紅色發(fā)光二極管為電源指示燈,當(dāng)電源通電其發(fā)光,斷電其熄滅。黃色發(fā)光二極管為充電指示燈,充電開始后,它每秒亮滅一次,充電完成后,其亮滅閃爍變?yōu)槌A痢T谠O(shè)計(jì)階段,筆者還建議在輸出繼電器加第三個(gè)發(fā)光二極管,作為繼電器吸合或斷開的指示燈,切忌一開始就加接強(qiáng)電,危險(xiǎn)極大。數(shù)碼管是三位一體共陽極封裝,高位數(shù)碼管顯示小時(shí),其它兩個(gè)數(shù)碼管顯示分鐘。數(shù)碼管電路的主要工作原理就是電路驅(qū)動(dòng)和動(dòng)態(tài)掃描。

            如圖5所示,數(shù)碼管的段驅(qū)動(dòng)采用自帶BCD譯碼的4線7段譯碼驅(qū)動(dòng)器74LS247。位驅(qū)動(dòng)則采用八同相三態(tài)緩沖器/線驅(qū)動(dòng)器的74HC244($0.1062),由于它集成了八個(gè)同相驅(qū)動(dòng)器,所以可以驅(qū)動(dòng)八個(gè)數(shù)碼管。

            

            圖5 顯示部分

            數(shù)碼管動(dòng)態(tài)掃描就是利用人眼的視覺暫留現(xiàn)象,某一時(shí)刻只有一位數(shù)碼管顯示,其它熄滅,通過位選切換,快速的在三個(gè)數(shù)碼管上依次顯示所需信息,由于速度很快,加上數(shù)碼管的余輝現(xiàn)象和人眼的視覺暫留現(xiàn)象,使得人們能夠看到完整流暢的三個(gè)數(shù)字。

            輸出部分

            輸出部分主要是一個(gè)能控制220V市電通斷的繼電器。繼電器的驅(qū)動(dòng)部分則采用達(dá)林頓晶體管陣列ULN2003A($0.1200)(見圖6)。

            

            圖6 輸出部分

            它其實(shí)就是集成了七個(gè)繼電器驅(qū)動(dòng)的集成電路,所以本制作可以擴(kuò)展輸出七個(gè)繼電器,能滿足七個(gè)用電器的七種不同定時(shí),當(dāng)然,要實(shí)現(xiàn)此功能還需要修改程序。讀者也可以用分立元件來替代ULN2003A。



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