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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Eastsoft HR7P179的脈沖水位檢測電路

          基于Eastsoft HR7P179的脈沖水位檢測電路

          作者: 時間:2018-02-06 來源:電子產(chǎn)品世界 收藏

          作者 / 陳艷麗 姜德志 青島融禾信息技術有限公司 (山東 青島 266000),李燕霞 北華航天工業(yè)學院(河北 廊坊 065000)

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

                采用上海東軟載波微電子有限公司出品的單片機,配合外圍電路實現(xiàn)了脈沖方式的水位檢測,可以有效的避免探針生銹的問題,且檢測可靠性高,電路參數(shù)調整方便。文中給出了非常詳細的應用電路包括電路參數(shù),同時給出了檢測方法的流程圖。

            1的特點

            是上海東軟載波微電子有限公司的一款RISC單片機,在一個10引腳(HR7P179F8RB)芯片的封裝內,集成了4K Words FLASH程序存儲器,8級程序堆棧,512 Words 可配置數(shù)據(jù)FLASH存儲器(可以代替EEPROM使用),256 Bytes SRAM數(shù)據(jù)存儲器,以及最多支持8個I/O。

            內部資源豐富,1個8位定時器,3個12位定時器,3路PWM,7+1路12位ADC,且有一個內部高精度基準電源。

            內嵌上電復位電路POR、掉電復位電路BOR、低電壓檢測模塊(LVD)、獨立硬件看門狗定時器以及支持外部復位N_MRST。

            內部集成了高頻16MHz RC振蕩時鐘源(出廠前校準精度為±1%,常溫25℃)。

            支持在線編程(ISP)接口、支持在線調試(ICD)功能、支持編程代碼加密保護。

            可以說麻雀雖小五臟俱全,功能非常強大,這也是我們這個檢測電路選擇這個芯片的原因。

            2水位檢測的要求

            水位檢測的方法很多,相信大家都能隨便說出多種,但是在許多消費電子產(chǎn)品中,需要采用成本低廉,可靠性高,壽命長的檢測方法,這個要求就限制了我們的設計。

            最簡單的檢測應用中,采用一對電極,當水沒過電極后,電極間電阻變小,通過電路檢測電阻的變化即可檢測出是否有水,例如采用振蕩方式,采用分壓方式的模擬數(shù)字轉換檢測等。

            但這種方法存在最大的問題就是探針生銹的問題,且需要多檔水位檢測時,有的方法電路會變得復雜。有的方法檢測可靠性會大大降低。

            探針生銹的原因是因為持續(xù)給探針通直流電,很快就產(chǎn)生了電化學腐蝕。

            另外,探針生銹的問題嚴重制約了這種方法的應用,因為消費電子應用中,不可能因為水位檢測的問題挨家去定期更換探針。

            是否有一種簡單有效且可以有效避免生銹的方法呢?本文的目的就是解決這個問題,同時本文的方法檢測電路簡單,處理方法也簡單。

            3脈沖方式的水位檢測電路

            3.1電路總體原理圖

            圖1是我們設計的總的電路原理圖,當然我們省略了一些簡單的輔助電路,這樣更方便理解。

            圖1中右邊的IC1是東軟載波微電子有限公司的HR7P179單片機。選擇這款單片機是因為這個單片機資源豐富、封裝小,可以滿足4~6段水位檢測的要求,這在許多實際應用中已經(jīng)足夠了。

            圖1 總體原理圖

            3.2電路說明

            下面我們分別對這個電路的每一部分進行說明,當然,單片機無需多說。

            圖2 信號產(chǎn)生和發(fā)送部分電路

            圖2是信號產(chǎn)生和發(fā)送電路,這個電路中主要的部分是電阻R6和電容C1。N2組成的電路和N3組成的電路的目的就是在電阻R6和電容C1上產(chǎn)生振蕩的信號。

            通過單片機編程,給RR端送出低電平,此時N2截至,通過R5 R6使得C1左端為高電位。

            同時通過單片機編程,給CC端送出高電平,此時N3導通,使得C1右端為低電位。

            經(jīng)過固定時間后,給RR端和CC端送出相反的電平,即給RR端送出高電平,此時N2導通,通過R6使得C1左端為低電位;給CC端送出低電平,此時N3截止,通過R8使得C1右端為高電位。

            如此反復處理,則在R12上就產(chǎn)生了一個正負交替的振蕩信號。

            圖3是各點信號的模式的示意圖。

            圖3 信號發(fā)送電路各點信號模式

            由于電容C1的隔直作用,在探針上的信號變成了有正有負的交流信號,當然探針也就不容易生銹了。

            圖4 水位檢測信號接收電路

            圖4是各檔水位檢測信號的接收電路。需要說明的是,我們只是畫出了一個水位檢測端的電路,如果您需要5檔水位,只需要5個這樣的電路,分別連到單片機剩余的IO口上即可。

            當有水的時候,接收電路各點波形如圖5所示。

            圖5 信號接收電路各點波形

            3.3檢測原理

            1)硬件原理說明

            根據(jù)前面電路的介紹,可以很容易的理解檢測電路的原理。

            信號發(fā)送電路,發(fā)出方波信號,經(jīng)過電容C1的隔直作用,在信號發(fā)送的電極上產(chǎn)生了有正有負的交流信號,這樣可以有效的避免電極探針的電化學腐蝕。

            當有水的時候,產(chǎn)生的信號,通過水傳遞到信號接收端,在信號接收端,經(jīng)過二極管D1的作用,吸收了低于信號地的信號部分,剩下的正電平信號通過二極管N1產(chǎn)生了新的脈沖信號,供單片機檢測。

            當沒有水的時候,信號無法傳遞到接收端,故接收端就沒有相應的脈沖信號出現(xiàn)。

            2)檢測軟件方法

            信號發(fā)送端,可以產(chǎn)生500Hz的信號,只需要我們每1毫秒處理一次信號電平方向即可。實際檢測中,我們也無需時時刻刻發(fā)送信號進行檢測,因為水位的變化不會那么快。一般來說,我們每隔2秒進行一次檢測,一次檢測只產(chǎn)生50個脈沖信號,也就是100ms即可。其余的時間,關閉電路的輸出。使得信號產(chǎn)生電極上電平為0??梢愿鶕?jù)需要調整這些參數(shù)。

            信號接收端,需要在100毫秒內檢測是否收到了50個信號,如果收到了50個脈沖信號,則證明有水。當然,實際檢測中我們不能嚴格的檢測50個脈沖,因為檢測的原因,總是會差一兩個,所以我們實際判斷方法是收到的脈沖個數(shù)大于40個即可。當然,也要注意信號是否多于50個,因為干擾的原因可能會產(chǎn)生多于50個脈沖的情況,因此我們要判斷脈沖個數(shù)是否超過55個,只要脈沖個數(shù)在40~55個之間,即可以可靠的說明有水。

            4檢測流程圖

            水位檢測包括兩個主要的函數(shù),一個是信號產(chǎn)生函數(shù),一個是信號檢測函數(shù)。

            信號產(chǎn)生函數(shù),每1毫秒調用一次,會產(chǎn)生500Hz的方波,最終形成500Hz的檢測信號。

            信號檢測函數(shù)每100微秒調用一次,檢測收到的信號。

            圖6 信號發(fā)送處理函數(shù)流程圖

            圖7 信號接收處理流程圖

            圖8 信號接收處理流程圖

            5結論

            本文介紹的水位檢測電路,是針對分段式水位的檢測,這種檢測方法的檢測結果受水質的影響較小,檢測可靠性高。如果要檢測連續(xù)的水位,則需要采用其它的方法了。本文為拋磚引玉,與各位共同交流提高。



          關鍵詞: Eastsoft HR7P179

          評論


          技術專區(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); })();